Subversion Repositories DevTools

Rev

Rev 7299 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
255 dpurdie 1
###############################################################################
7300 dpurdie 2
# COPYRIGHT - VIX IP PTY LTD ("VIX"). ALL RIGHTS RESERVED.
255 dpurdie 3
#
4
# File:         PLATFORM/CSHARP.cfg
5
#
6
# Contents:     CSHARP Build support
7
#
8
#               This package is used during the processing of the build.pl file
9
#               Values provided by this package are used to extend the Platform
10
#               information as platforms are being created. This provides a
11
#               powerful set of mechanism to extend the entire JATS toolset
12
#
13
###############################################################################
14
 
15
use strict;
16
use warnings;
17
 
18
package CSHARP2005_Build;
19
use JatsError;
20
 
21
#-------------------------------------------------------------------------------
22
# Function        : new_platform
23
#
24
# Description     : Called when a new platform is being created
25
#                   The function can extend the build information
26
#
27
#                   At the moment it simply removes the build from unsuitable
28
#                   machine types.
29
#
30
# Inputs          : $pInfo          - Reference to the platform build info hash
31
#
32
# Returns         : Nothing yet
33
#
34
 
35
sub new_platform
36
{
37
    my $class = shift;              # Not really a class, but its called like a class
38
    my $pInfo = shift;
39
 
40
    #
41
    #   Ignore this platform if there is no way that it can be built on the
42
    #   current machine.
43
    #
6133 dpurdie 44
    unless ( PlatformConfig::targetHasTag( 'CSHARP2005', 'KNOWN' ) )
255 dpurdie 45
    {
46
        Verbose ("CSHARP2005 will not build on this machine type: $::GBE_MACHTYPE");
47
        $pInfo->{NOT_AVAILABLE} = 1;
48
        return;
49
    }
50
}
51
 
52
#-------------------------------------------------------------------------------
53
# Function        : add_platform
54
#
55
# Description     : This function is invoked just before a 'platform' is about
56
#                   to be added to the build system.
57
#
58
#                   This call is allowed to alter or extend the platform build
59
#                   information.
60
#
61
# Inputs          : $pInfo          - Reference to the platform build info hash
62
#
63
# Returns         : Nothing yet
64
#
65
sub add_platform
66
{
67
    my $class = shift;              # Not really a class, but its called like a class
68
    my $pInfo = shift;
69
 
70
    #   ALSO_USES
71
    #   An array of other platforms that may be 'used' by this platform.
72
    #   The process is not recursive
73
    #   Similar to the --Uses option in BuildPlatforms()
74
    #   Will be subject to product expansion.
75
    #
76
    #   Intended use: CSHARP2005 can use stuff from CSHARP and WIN32, but only if the
77
    #                 CSHARP2005 stuff is not available.
78
    $pInfo->{ALSO_USES} = ['CSHARP','WIN32'];
79
 
80
    #
81
    #   EXT_SHARED
82
    #   Set to the value of the shared library extension
83
    #
84
    #   Intended Use
85
    #   Used to locate shared libraries in packgages for use in the
86
    #   generation set_<PLATFORM>.sh/.bat
87
    #
88
    #   If not set then the set_.sh files will no be created
89
    #
90
    $pInfo->{EXT_SHARED} = '.dll';
91
 
92
    #
93
    #   OS_COMMON
94
    #   Set the name of a directory to be used to package header files to be
95
    #   used on targets that share a common OS
96
    #
97
    #   Note: Should also be a part of EXTRA_USES
98
    #
99
    #   Intended Use
100
    #   Extend the operation of the PackageHdr directive to allow files
101
    #   common files to be packaged
102
    #
103
    $pInfo->{OS_COMMON} = 'WIN32';
104
}
105
 
106
1;
107