Subversion Repositories DevTools

Rev

Rev 6177 | Blame | Compare with Previous | Last modification | View Log | RSS feed

###############################################################################
# COPYRIGHT - VIX IP PTY LTD ("VIX"). ALL RIGHTS RESERVED.
#
# File:         PLATFORM/SOLARIS8_SPARC32.cfg
#
# Contents:     SOLARIS Build support
#
#               This package is used during the processing of the build.pl file
#               Values provided by this package are used to extend the Platform
#               information as platforms are being created. This provides a
#               powerful set of mechanism to extend the entire JATS toolset
#
#
###############################################################################

use strict;
use warnings;

package SOLARIS8_SPARC32_Build;

#-------------------------------------------------------------------------------
# Function        : add_platform
#
# Description     : This function is invoked just before a 'platform' is about
#                   to be added to the build system.
#
#                   This call is allowed to alter or extend the platform build
#                   information.
#
#                   This particular function, in the SOLARIS.CFG file, is called
#                   when the target platform 'SOLARIS'. The SOLARIS target is
#                   a complex as it serves two purposes.
#
#                   1 )SOLARIS is a dynamic platform. It will be chnaged
#                      into a machine specific platform.
#
#                   2) One of the 'dynamic' platforms is itself SOLARIS
#                      This name exists for compatability purposes as it is
#                      really a SOLARIS8_SPARC32, but the name and a stack
#                      of kludges must be retained.
#
# Inputs          : $pInfo          - Reference to the platform build info hash
#
# Returns         : Nothing yet
#
sub add_platform
{
    my $class = shift;              # Not really a class, but its called like a class
    my $pInfo  = shift;

    #
    #   Insert data into the class
    #

    #
    #   Provide alternate alias names for this platform.
    #
    $pInfo->{ALIAS} = ['SOLARIS_SPARC', 'SOLARIS'];

    #
    #   ALSO_USES
    #   An array of other platforms that may be 'used' by this platform.
    #   The process is not recursive
    #   Similar to the --Uses option in BuildPlatforms()
    #   Will be subject to product expansion.
    #
    #   Intended use: VS2003 can use stuff from WIN32, but only if the
    #                 VS2003 stuff is not available.
#    $pInfo->{ALSO_USES} = [];

    #
    #   EXTRA_USES
    #   An array of other platforms to be 'used' by this platform.
    #   This list is not expanded in a PRODUCT as the USERS list is.
    #
    #   Intended use: Extend the SOLARIS on a sparc platform to allow for bad usage.
    #                 ie: Stuff is in SOLARIS, SOLARIS_sparc and sparc
    #
    $pInfo->{EXTRA_USES} = ['SOLARIS', 'SOLARIS_sparc', 'sparc'];

    #
    #   SCMMACHTYPE
    #   Override for ScmMachType which appears in makefiles as GBE_MACHTYPE
    #   Default value is $ScmPlatform
    #
    #   Intended use: Legacy Support only
    #   Many legacy package.pl files use GBE_MACHTYPE to specify bin and lib
    #   subdirectores.
    #       The legacy SOLARIS on sparc sets this to 'sparc'
    #       For some reason WIN32 sets this to 'win32'
    #
    $pInfo->{SCMMACHTYPE} = 'sparc';

    #
    #   EXT_SHARED
    #   Set to the value of the shared library extension
    #
    #   Intended Use
    #   Used to locate shared libraries in packgages for use in the
    #   generation set_<PLATFORM>.sh/.bat
    #
    #   If not set then the set_.sh files will no be created
    #
    $pInfo->{EXT_SHARED} = '.so';

    #
    #   OS_COMMON
    #   Set the name of a directory to be used to package header files to be
    #   used on targets that share a common OS
    #
    #   Note: Should also be a part of EXTRA_USES
    #
    #   Intended Use
    #   Extend the operation of the PackageHdr directive to allow files
    #   common files to be packaged
    #
    $pInfo->{OS_COMMON} = 'SOLARIS';
}
    
1;