Subversion Repositories DevTools

Rev

Rev 7322 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7322 Rev 7323
Line 37... Line 37...
37
our @BuildKeywords = ( qw (TOOLSET GENERIC GENERIC_MACHTYPE BASE_TARGET), @BuildAliases );
37
our @BuildKeywords = ( qw (TOOLSET GENERIC GENERIC_MACHTYPE BASE_TARGET), @BuildAliases );
38
 
38
 
39
#
39
#
40
#   An array of platform aliases that will be expanded into multiple platforms
40
#   An array of platform aliases that will be expanded into multiple platforms
41
#
41
#
42
our @BuildFamilies = qw (ANDROIDNDK DEVLINUX GENERICS LINUX LMOS LMOS_DEVLINUX MSWIN32 MSWIN64 SOLARIS WINCE WINCE6 SK);
42
our @BuildFamilies = qw (ANDROIDNDK DEVLINUX GENERICS LINUX LMOS LMOS_DEVLINUX MSWIN32 MSWIN64 SOLARIS WINCE WINCE6 WINCE7 SK);
43
 
43
 
44
#
44
#
45
#   The following structure is a hash of arrays
45
#   The following structure is a hash of arrays
46
#   The hash key is a supported machine type - one per machine
46
#   The hash key is a supported machine type - one per machine
47
#   The data is an array of supported PLATFORMS
47
#   The data is an array of supported PLATFORMS
48
#   Each platform may have a : seperated list of tags
48
#   Each platform may have a : seperated list of tags
49
#   Known tags include:
49
#   Known tags include:
50
#       TOOLSET - Sutable for building JATS tools
50
#       TOOLSET - Suitable for building JATS tools
51
#       NATIVE  - Can be expected to run on the build machine
51
#       NATIVE  - Can be expected to run on the build machine
52
#       KNOWN - Indicated platform is known to this machine type. Used to test existence 
52
#       KNOWN - Indicated platform is known to this machine type. Used to test existence 
53
#       GENERIC - Can be built on any machine
53
#       GENERIC - Can be built on any machine
54
#       GENERIC_MACHTYPE - Can be built on a specific machine type (Auto generated)
54
#       GENERIC_MACHTYPE - Can be built on a specific machine type (Auto generated)
55
#       DEVLINUX - Part of the DEVLINUX alias
55
#       DEVLINUX - Part of the DEVLINUX alias
Line 61... Line 61...
61
#       SK - The SK familty of platforms
61
#       SK - The SK familty of platforms
62
#       SOLARIS - Part of the SOLARIS alias
62
#       SOLARIS - Part of the SOLARIS alias
63
#       MACHTYPE - Machine Type to build on (Auto generated)
63
#       MACHTYPE - Machine Type to build on (Auto generated)
64
#       BASE_TARGET - Underling platform
64
#       BASE_TARGET - Underling platform
65
#
65
#
-
 
66
#
-
 
67
#   Platforms that are nolonger supported. We have no compilers for them and they have never been in the build system. 
-
 
68
#   ACEX AMX CMOS386 CMOS68K DF4OBE DOS16 DOS32 EEPP386 EETP386 EOS EOSM68K EOSP386 GMPCA GO32 HK386PC HKAVM HKAVM2 HKBCP HKDDU HKGAK HKMPR HKPCA LINUX86 LINUX_ARMV4 MERG NGBCP NGDDU PHARLAP
-
 
69
#
-
 
70
#
66
our %BuildAvailability = (
71
our %BuildAvailability = (
67
    'linux_i386' => [
72
    'linux_i386' => [
68
        'ANDROIDARM:ANDROIDNDK',
73
        'ANDROIDARM:ANDROIDNDK',
69
        'ANDROIDMIPS:ANDROIDNDK',
74
        'ANDROIDMIPS:ANDROIDNDK',
70
        'ANDROIDX86:ANDROIDNDK',
75
        'ANDROIDX86:ANDROIDNDK',
Line 72... Line 77...
72
        'ARM9TDMI:DEVLINUX:LMOS:PKG_DEB',
77
        'ARM9TDMI:DEVLINUX:LMOS:PKG_DEB',
73
        'COBRA:DEVLINUX:LMOS:PKG_DEB',
78
        'COBRA:DEVLINUX:LMOS:PKG_DEB',
74
        'COBRA2:DEVLINUX:LMOS:PKG_DEB',
79
        'COBRA2:DEVLINUX:LMOS:PKG_DEB',
75
        'HAMMERHEAD:PKG_DEB',
80
        'HAMMERHEAD:PKG_DEB',
76
        'JAVA:NATIVE',
81
        'JAVA:NATIVE',
77
        'LINUX86',
-
 
78
        'LINUX_ARMV4:LMOS',
-
 
79
        'LINUX_EMU:LMOS',
82
        'LINUX_EMU:LMOS',
80
        'LINUX_ETX:DEVLINUX:LMOS',
83
        'LINUX_ETX:DEVLINUX:LMOS',
81
        'LINUX_I386:LMOS:NATIVE:TOOLSET',
84
        'LINUX_I386:LMOS:NATIVE:TOOLSET',
82
        'PPC_603E:DEVLINUX:LMOS:PKG_DEB',
85
        'PPC_603E:DEVLINUX:LMOS:PKG_DEB',
83
        'SK20:DEVLINUX:PKG_DEB:SK',
86
        'SK20:DEVLINUX:PKG_DEB:SK',
Line 110... Line 113...
110
        'HAMMERHEAD:PKG_DEB',
113
        'HAMMERHEAD:PKG_DEB',
111
        'LINUX_ETX:DEVLINUX:LMOS',
114
        'LINUX_ETX:DEVLINUX:LMOS',
112
        'PPC_603E:DEVLINUX:LMOS:PKG_DEB',
115
        'PPC_603E:DEVLINUX:LMOS:PKG_DEB',
113
        'SK20:DEVLINUX:PKG_DEB:SK',
116
        'SK20:DEVLINUX:PKG_DEB:SK',
114
        'SK20V41:DEVLINUX:PKG_DEB:SK',
117
        'SK20V41:DEVLINUX:PKG_DEB:SK',
-
 
118
        'STIBAXIO:DEVLINUX:PKG_DEB',
115
        'SK100:DEVLINUX:PKG_DEB:SK',
119
        'SK100:DEVLINUX:PKG_DEB:SK',
116
        'UBUNTU12C11:NATIVE:DEVLINUX:PKG_DEB',
120
        'UBUNTU12C11:NATIVE:DEVLINUX:PKG_DEB',
117
        'UBUNTU12C11_INSTRUMENT:NATIVE:DEVLINUX:INSTRUMENT',
121
        'UBUNTU12C11_INSTRUMENT:NATIVE:DEVLINUX:INSTRUMENT',
118
        'VIPER2:DEVLINUX:PKG_DEB',
122
        'VIPER2:DEVLINUX:PKG_DEB',
-
 
123
        'MANSIG',
119
        ],
124
        ],
120
 
125
 
121
    'linux_el7_x64' => [
126
    'linux_el7_x64' => [
122
        'RHEL7:LINUX:TOOLSET:NATIVE:PKG_RPM',
127
        'RHEL7:LINUX:TOOLSET:NATIVE:PKG_RPM',
123
        'RHEL7_INSTRUMENT:NATIVE:LINUX:INSTRUMENT',
128
        'RHEL7_INSTRUMENT:NATIVE:LINUX:INSTRUMENT',
Line 140... Line 145...
140
        'JAVA:NATIVE',
145
        'JAVA:NATIVE',
141
        ],
146
        ],
142
 
147
 
143
    'win32' => [
148
    'win32' => [
144
        'ANDROID',
149
        'ANDROID',
145
        'ACEX',
-
 
146
        'AMX',
-
 
147
        'ARM_I5100',
150
        'ARM_I5100',
148
        'AVR_IAR',
151
        'AVR_IAR',
149
        'BORLAND',
152
        'BORLAND',
150
        'CMOS386',
-
 
151
        'CMOS68K',
-
 
152
        'CORTEXM3_IAR',
153
        'CORTEXM3_IAR',
153
        'CSHARP:NATIVE',
154
        'CSHARP:NATIVE',
154
        'CSHARP2005:NATIVE',
155
        'CSHARP2005:NATIVE',
155
        'CSHARP2008:NATIVE',
156
        'CSHARP2008:NATIVE',
156
        'CSHARP2010:NATIVE',
157
        'CSHARP2010:NATIVE',
157
        'CSHARP2012:NATIVE',
158
        'CSHARP2012:NATIVE',
158
        'CSHARP2015:NATIVE',
159
        'CSHARP2015:NATIVE',
159
        'DAFBR_MOS',
160
        'DAFBR_MOS',
160
        'DAFBR_WIN',
161
        'DAFBR_WIN',
161
        'DELPHI7',
162
        'DELPHI7',
162
        'DF4OBE',
-
 
163
        'DOS16',
-
 
164
        'DOS32',
-
 
165
        'EEPP386',
-
 
166
        'EETP386',
-
 
167
        'EOS',
-
 
168
        'EOSM68K',
-
 
169
        'EOSP386',
-
 
170
        'GMPCA',
-
 
171
        'GO32',
-
 
172
        'H8S',
163
        'H8S',
173
        'H400',
164
        'H400',
174
        'HK386PC',
-
 
175
        'HKAVM',
-
 
176
        'HKAVM2',
-
 
177
        'HKBCP',
-
 
178
        'HKDDU',
-
 
179
        'HKGAK',
-
 
180
        'HKMPR',
-
 
181
        'HKPCA',
-
 
182
        'INGEN',
165
        'INGEN',
183
        'INTELLECT',
166
        'INTELLECT',
184
        'JAVA:NATIVE',
167
        'JAVA:NATIVE',
185
        'MCR',
168
        'MCR',
186
        'MERG',
-
 
187
        'MOS68K',
169
        'MOS68K',
188
        'MOS68KRM',
170
        'MOS68KRM',
189
        'MOSCF',
171
        'MOSCF',
190
        'MPT',
172
        'MPT',
191
        'VSDEVRC',
173
        'VSDEVRC',
192
        'NGBCP',
-
 
193
        'NGDDU',
-
 
194
        'PHARLAP',
-
 
195
        'PHP',
174
        'PHP',
196
        'RIORDS',
175
        'RIORDS',
197
        'THYRON',
176
        'THYRON',
198
        'VB6',
177
        'VB6',
199
        'VERIX',
178
        'VERIX',
Line 218... Line 197...
218
        'WCEPSPC_arm:WINCE',
197
        'WCEPSPC_arm:WINCE',
219
        'WCEPSPC_emu:WINCE',
198
        'WCEPSPC_emu:WINCE',
220
        'WCEX86A420:WINCE',
199
        'WCEX86A420:WINCE',
221
        'WCEX86A500:WINCE',
200
        'WCEX86A500:WINCE',
222
        'WCEX86A500_SOM4455:WINCE',
201
        'WCEX86A500_SOM4455:WINCE',
-
 
202
        'WCEX86A700_SOM4466:WINCE7:WINCE',
223
        'WCE6ARMV4I:WINCE6',
203
        'WCE6ARMV4I:WINCE6',
224
        'WIN32:NATIVE:TOOLSET:MSWIN32:LMOS:PKG_WIN',
204
        'WIN32:NATIVE:TOOLSET:MSWIN32:LMOS:PKG_WIN',
225
        'VS2012_X64:NATIVE:MSWIN64:PKG_WIN',
205
        'VS2012_X64:NATIVE:MSWIN64:PKG_WIN',
226
        'VS2015_X64:NATIVE:MSWIN64:PKG_WIN',
206
        'VS2015_X64:NATIVE:MSWIN64:PKG_WIN',
227
        ],
207
        ],
Line 407... Line 387...
407
    }
387
    }
408
    Debug3("targetHasTag: @_ -> $value");
388
    Debug3("targetHasTag: @_ -> $value");
409
    return $value;
389
    return $value;
410
}
390
}
411
 
391
 
-
 
392
#-------------------------------------------------------------------------------
-
 
393
# Function        : validMachType 
-
 
394
#
-
 
395
# Description     : Determine if a given machType is known to the system 
-
 
396
#
-
 
397
# Inputs          : machType - to be tested 
-
 
398
#
-
 
399
# Returns         : true - known to the system
-
 
400
#                   false - no known. 
-
 
401
#
-
 
402
sub validMachType {
-
 
403
    my ($machType) = @_;
-
 
404
    return exists $BuildAvailability{lc $machType};
-
 
405
}
-
 
406
 
-
 
407
#-------------------------------------------------------------------------------
-
 
408
# Function        : getGenericMachType 
-
 
409
#
-
 
410
# Description     : Calculate the generic machine type(s) for a specified target(s)    
-
 
411
#
-
 
412
# Inputs          : A target to process
-
 
413
#
-
 
414
# Returns         : An array of machine types 
-
 
415
#
-
 
416
sub getGenericMachType {
-
 
417
    my ($target) = @_;
-
 
418
    my $machType;
-
 
419
 
-
 
420
    if (exists $TagByTarget{$target}) {
-
 
421
        $machType =  'GENERIC_' . uc ($TagByTarget{$target}{MACHTYPE});
-
 
422
    }
-
 
423
 
-
 
424
    return $machType; 
-
 
425
}
-
 
426
 
-
 
427
 
412
1;
428
1;
413
 
429