author | Mike Kinghan <mikek@symbian.org> |
Sat, 17 Jul 2010 15:09:24 +0100 | |
changeset 26 | d10c1f04b2be |
permissions | -rw-r--r-- |
26
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
1 |
# Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
2 |
# All rights reserved. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
3 |
# This component and the accompanying materials are made available |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
4 |
# under the terms of "Eclipse Public License v1.0" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
5 |
# which accompanies this distribution, and is available |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
6 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html". |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
7 |
# |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
8 |
# Initial Contributors: |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
9 |
# Nokia Corporation - initial contribution. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
10 |
# |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
11 |
# Contributors: |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
12 |
# |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
13 |
# Description: |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
14 |
# Module providing platform details for platforms supported |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
15 |
# by Symbian OS |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
16 |
# all data is uppercase |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
17 |
# |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
18 |
# |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
19 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
20 |
package E32Plat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
21 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
22 |
require Exporter; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
23 |
@ISA=qw(Exporter); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
24 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
25 |
@EXPORT=qw( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
26 |
Plat_SetVerbose |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
27 |
Plat_Init |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
28 |
Plat_GetL |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
29 |
Plat_List |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
30 |
Plat_AssocIDE |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
31 |
Plat_Customizations |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
32 |
Plat_Customizes |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
33 |
Plat_Root |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
34 |
Plat_SupportsFeatureVariants |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
35 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
36 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
37 |
use BPABIutl; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
38 |
use E32Variant; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
39 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
40 |
my $variantABIV2Keyword = &Variant_GetMacro(); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
41 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
42 |
my %Mode=( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
43 |
Verbose=>0 |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
44 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
45 |
my $ModulePath; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
46 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
47 |
sub Plat_SetVerbose () { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
48 |
$Mode{Verbose}=1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
49 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
50 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
51 |
my %BldLists=( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
52 |
EPOC32=>['UREL','UDEB'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
53 |
WINS=>['UDEB','UREL'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
54 |
TOOLS=>['DEB','REL'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
55 |
TOOLS2=>['DEB','REL'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
56 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
57 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
58 |
my %BldMacros=( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
59 |
DEB=>['_DEBUG'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
60 |
REL=>['NDEBUG'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
61 |
UDEB=>['_DEBUG','_UNICODE'], |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
62 |
UREL=>['NDEBUG','_UNICODE'] |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
63 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
64 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
65 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
66 |
my @EpocMacros=('__SYMBIAN32__'); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
67 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
68 |
my @BPABIPlats = &BPABIutl_Plat_List; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
69 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
70 |
my %Plat=( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
71 |
ARM4=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
72 |
ABI=>'ARM4', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
73 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
74 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
75 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
76 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
77 |
ARM4SMP=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
78 |
ABI=>'ARM4', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
79 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
80 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
81 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
82 |
SMP=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
83 |
StatLink=>'ARM4SMP', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
84 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
85 |
ARM4T=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
86 |
ABI=>'ARM4T', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
87 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
88 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
89 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
90 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
91 |
ARMI=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
92 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
93 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
94 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
95 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
96 |
SARM4=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
97 |
ABI=>'ARM4', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
98 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
99 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
100 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
101 |
Single=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
102 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
103 |
SARMI=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
104 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
105 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
106 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
107 |
Single=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
108 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
109 |
STHUMB=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
110 |
ABI=>'THUMB', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
111 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
112 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
113 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
114 |
Single=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
115 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
116 |
THUMB=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
117 |
ABI=>'THUMB', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
118 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
119 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
120 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
121 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
122 |
TOOLS=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
123 |
ABI=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
124 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
125 |
Compiler=>'VC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
126 |
CPU=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
127 |
OS=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
128 |
MakeMod=>'Cl_win', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
129 |
MakeCmd=>'nmake', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
130 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
131 |
TOOLS2=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
132 |
ABI=>'TOOLS2', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
133 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
134 |
Compiler=>'GCC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
135 |
CPU=>'TOOLS2', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
136 |
OS=>'TOOLS2', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
137 |
MakeMod=>'Cl_mingw', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
138 |
MakeCmd=>'make', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
139 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
140 |
CWTOOLS=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
141 |
ABI=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
142 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
143 |
Compiler=>'CW32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
144 |
CPU=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
145 |
OS=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
146 |
MakeMod=>'Cl_tools', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
147 |
MakeCmd=>'make', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
148 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
149 |
VC6TOOLS=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
150 |
ABI=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
151 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
152 |
Compiler=>'VC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
153 |
CPU=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
154 |
Ext=>'.DSP', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
155 |
MakeMod=>'Ide_vc6', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
156 |
MakeCmd=>'nmake', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
157 |
OS=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
158 |
Real=>'TOOLS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
159 |
UsrHdrsOnly=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
160 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
161 |
WINS=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
162 |
ABI=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
163 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
164 |
Compiler=>'VC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
165 |
CPU=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
166 |
MakeMod=>'Cl_win', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
167 |
MakeCmd=>'nmake', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
168 |
OS=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
169 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
170 |
VC6=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
171 |
ABI=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
172 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
173 |
Compiler=>'VC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
174 |
CPU=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
175 |
Ext=>'.DSP', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
176 |
MakeMod=>'Ide_vc6', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
177 |
MakeCmd=>'nmake', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
178 |
OS=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
179 |
Real=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
180 |
UsrHdrsOnly=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
181 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
182 |
WINSCW=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
183 |
ABI=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
184 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
185 |
Compiler=>'CW32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
186 |
CPU=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
187 |
MakeMod=>'Cl_codewarrior', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
188 |
OS=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
189 |
DefFile=>'WINS', # use the MSVC def files |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
190 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
191 |
CW_IDE=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
192 |
ABI=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
193 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
194 |
Compiler=>'CW32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
195 |
CPU=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
196 |
Ext=>'.xml', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
197 |
MakeMod=>'Ide_cw', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
198 |
MakeCmd=>'make', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
199 |
OS=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
200 |
Real=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
201 |
DefFile=>'WINS', # use the MSVC def files |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
202 |
UsrHdrsOnly=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
203 |
SupportsMultiplePlatforms=>1, # supports more than one real platform |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
204 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
205 |
X86=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
206 |
ABI=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
207 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
208 |
Compiler=>'VC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
209 |
CPU=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
210 |
MakeMod=>'Cl_x86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
211 |
MakeCmd=>'nmake', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
212 |
OS=>'EPOC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
213 |
DefFile=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
214 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
215 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
216 |
X86SMP=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
217 |
ABI=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
218 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
219 |
Compiler=>'VC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
220 |
CPU=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
221 |
MakeMod=>'Cl_x86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
222 |
MakeCmd=>'nmake', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
223 |
OS=>'EPOC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
224 |
DefFile=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
225 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
226 |
SMP=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
227 |
StatLink=>'X86SMP', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
228 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
229 |
X86GCC=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
230 |
ABI=>'X86gcc', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
231 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
232 |
Compiler=>'X86GCC', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
233 |
CPU=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
234 |
MakeMod=>'Cl_x86gcc', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
235 |
OS=>'EPOC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
236 |
DefFile=>'x86gcc', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
237 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
238 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
239 |
X86GMP=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
240 |
ABI=>'X86gcc', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
241 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
242 |
Compiler=>'X86GCC', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
243 |
CPU=>'X86', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
244 |
MakeMod=>'Cl_x86gcc', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
245 |
OS=>'EPOC32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
246 |
DefFile=>'x86gcc', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
247 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
248 |
SMP=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
249 |
StatLink=>'X86GMP', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
250 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
251 |
ARMV4=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
252 |
ABI=>'ARMV4', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
253 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
254 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
255 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
256 |
MakeMod=>'Cl_arm', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
257 |
Compiler=>'ARMCC', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
258 |
DefFile=>'EABI', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
259 |
EABI=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
260 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
261 |
ARMV4SMP=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
262 |
ABI=>'ARMV4', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
263 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
264 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
265 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
266 |
MakeMod=>'Cl_arm', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
267 |
Compiler=>'ARMCC', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
268 |
DefFile=>'EABI', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
269 |
EABI=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
270 |
SMP=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
271 |
StatLink=>'ARMV4SMP', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
272 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
273 |
ARMV5_ABIV1=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
274 |
ABI=>'ARMV5', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
275 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
276 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
277 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
278 |
MakeMod=>'Cl_arm', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
279 |
Compiler=>'ARMCC', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
280 |
DefFile=>'EABI', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
281 |
EABI=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
282 |
SupportsFeatureVariants=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
283 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
284 |
ABIV2=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
285 |
ABI=>'ARMV5', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
286 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
287 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
288 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
289 |
MakeMod=>'Cl_bpabi', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
290 |
DefFile=>'EABI', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
291 |
EABI=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
292 |
SupportsFeatureVariants=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
293 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
294 |
GCCXML=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
295 |
ABI=>'ARM4', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
296 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
297 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
298 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
299 |
MakeMod=>'cl_gccxml', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
300 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
301 |
VS6=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
302 |
ABI=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
303 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
304 |
Compiler=>'CW32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
305 |
CPU=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
306 |
MakeMod=>'Cl_vscw', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
307 |
OS=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
308 |
Real=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
309 |
DefFile=>'WINS', # use the MSVC def files |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
310 |
Ext=>'.mak' |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
311 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
312 |
VS2003=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
313 |
ABI=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
314 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
315 |
Compiler=>'CW32', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
316 |
CPU=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
317 |
MakeMod=>'Cl_vscw', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
318 |
OS=>'WINS', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
319 |
Real=>'WINSCW', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
320 |
DefFile=>'WINS', # use the MSVC def files |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
321 |
Ext=>'.mak' |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
322 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
323 |
EDG=>{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
324 |
ABI=>'ARMV5', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
325 |
ASSP=>'MARM', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
326 |
ASSPABI=>'', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
327 |
Generic=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
328 |
MakeMod=>'cl_edg', |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
329 |
}, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
330 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
331 |
# ASSP platforms should be described using .ASSP files |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
332 |
# Do not add additional ASSP platforms to this file. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
333 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
334 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
335 |
sub Set_Plat() |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
336 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
337 |
@BPABIPlats = &BPABIutl_Plat_List; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
338 |
foreach my $Candidate (@BPABIPlats) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
339 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
340 |
# All BPABI platforms inherit from ABIV2 properties as listed in the platlist |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
341 |
# and Platlist is updated to include the BPABI platforms. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
342 |
my ( $key, $value); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
343 |
while (($key, $value) = each %{$Plat{ABIV2}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
344 |
$Plat{$Candidate}{$key}=$value; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
345 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
346 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
347 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
348 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
349 |
sub Plat_SupportsFeatureVariants($) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
350 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
351 |
my ($plat) = @_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
352 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
353 |
# In a non-ABIV2 world, ARMV5 means ARMV5_ABIV1 within e32plat content |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
354 |
if (!$variantABIV2Keyword && $plat =~ /^ARMV5$/i) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
355 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
356 |
$plat .= "_ABIV1"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
357 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
358 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
359 |
return ($plat && defined $Plat{$plat}{SupportsFeatureVariants}) ? $Plat{$plat}{SupportsFeatureVariants} : 0; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
360 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
361 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
362 |
sub Plat_Customizations($) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
363 |
my ($plat) = @_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
364 |
my @empty = (); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
365 |
return @{$Plat{$plat}{'CUSTOMIZATIONS'}} if $Plat{$plat}{'CUSTOMIZATIONS'}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
366 |
return @empty; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
367 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
368 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
369 |
sub Plat_Customizes($) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
370 |
my ($plat) = @_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
371 |
return $Plat{$plat}{'CUSTOMIZES'} ? $Plat{$plat}{'CUSTOMIZES'} : ""; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
372 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
373 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
374 |
sub Plat_Root($) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
375 |
my ($plat) = @_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
376 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
377 |
my $RootName = $Plat{$plat}{'ROOTPLATNAME'}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
378 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
379 |
if ($RootName) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
380 |
return $RootName; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
381 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
382 |
else { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
383 |
# A non-BSF platform is its own root. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
384 |
return $plat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
385 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
386 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
387 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
388 |
sub Init_BSFs($) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
389 |
my ($Path)=@_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
390 |
# get a list of modules |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
391 |
opendir DIR, $Path; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
392 |
my @BSFs=grep s/^([^\.].*)\.BSF$/$1/, map { uc $_ } sort readdir DIR; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
393 |
closedir DIR; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
394 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
395 |
my $BSF; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
396 |
foreach $BSF (@BSFs) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
397 |
my $File=$Path.$BSF.'.bsf'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
398 |
# check whether the assp is already defined |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
399 |
if (defined %{$Plat{$BSF}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
400 |
warn( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
401 |
"$File : warning: Platform \"$BSF\" already defined\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
402 |
" ... skipping this spec\n" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
403 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
404 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
405 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
406 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
407 |
# open the module |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
408 |
unless (open FILE, $File) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
409 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
410 |
warn "warning: Can't open BSF specification \"$File\"\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
411 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
412 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
413 |
my $line1 = <FILE>; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
414 |
$line1 = uc($line1); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
415 |
unless ($line1 =~ /^\#\<BSF\>\#/) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
416 |
warn "warning: \"$File\" Invalid BSF specification - missing #<bsf>#\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
417 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
418 |
close FILE; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
419 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
420 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
421 |
my $custom; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
422 |
while ($custom = <FILE>) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
423 |
#skip blank lines and comments |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
424 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
425 |
last unless ($custom =~ /^$|^\#/); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
426 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
427 |
$custom = uc $custom; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
428 |
unless ($custom =~ /^\s*CUSTOMIZES\s+(\S+)/) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
429 |
warn "warning: \"$File\" Invalid BSF specification - 'customizes' missing\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
430 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
431 |
close FILE; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
432 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
433 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
434 |
my $root = $1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
435 |
my $platname = ''; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
436 |
my $CustomizedPlatName = ''; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
437 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
438 |
# In v1 mode, ARMV5 platform implies ARMV5_ABIV1 platform listed in the platlist |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
439 |
my $Armv5Flag = 0; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
440 |
if (!$variantABIV2Keyword && $root =~ /^ARMV5$/i) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
441 |
$Armv5Flag = 1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
442 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
443 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
444 |
# Support for Hierarchy of Customizations (BSF file customization of another BSF file) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
445 |
# 1. Check whether the BSF file customizes another BSF file. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
446 |
# 2. If so, check whether the root BSF file has already been read. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
447 |
# 3. If not read, then defer the current BSF file reading until the root file is read. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
448 |
my $rootPlatFound = 0; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
449 |
if (defined %{$Plat{$root}} || $Armv5Flag) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
450 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
451 |
# BSF platform customizes another valid BSF platform |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
452 |
if (defined $Plat{$root}{'CUSTOMIZES'}) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
453 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
454 |
$rootPlatFound = 1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
455 |
$platname = $root; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
456 |
$CustomizedPlatName = $root; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
457 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
458 |
# Set the root platform name which is same as of customizes platform |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
459 |
$Plat{$BSF}{'ROOTPLATNAME'} = $Plat{$root}{'ROOTPLATNAME'}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
460 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
461 |
# BSF platform customizes to one of the existing ABI platforms |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
462 |
else |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
463 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
464 |
# All BPABI platforms inherits from ABIV2 platform listed in the platlist |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
465 |
if (grep /^$root$/i, @BPABIPlats) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
466 |
$platname = "ABIV2"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
467 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
468 |
elsif ($Armv5Flag) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
469 |
# In v1 mode, ARMV5 platform implies ARMV5_ABIV1 platform listed in the platlist |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
470 |
$platname = "ARMV5_ABIV1"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
471 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
472 |
else { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
473 |
$platname = $root; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
474 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
475 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
476 |
$CustomizedPlatName=$root; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
477 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
478 |
# BSF File check Begins |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
479 |
# The following check is included to handle the existing BSF files which has to behave in different manner |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
480 |
# in default v1 mode and v2 mode. The following code changes the BSF name and the custmoized platform name |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
481 |
# to the implied names. This is done to support switching between v1 and v2 modes by enabling the keyword in |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
482 |
# the variant configuration file. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
483 |
# In v1 mode, the ARMV6_ABIV1 => ARMV6 platform and ARMV6 => ARMV6_ABIV2 platform. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
484 |
if (!$variantABIV2Keyword) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
485 |
if ($BSF =~ /^ARMV6_ABIV1$/i) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
486 |
$BSF = "ARMV6"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
487 |
$CustomizedPlatName = "ARMV5"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
488 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
489 |
elsif ($BSF =~ /^ARMV6$/i) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
490 |
$BSF = "ARMV6_ABIV2"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
491 |
$CustomizedPlatName = "ARMV5_ABIV2"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
492 |
$platname = "ABIV2"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
493 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
494 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
495 |
# BSF File check Ends |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
496 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
497 |
# Set the root platform name |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
498 |
$Plat{$BSF}{'ROOTPLATNAME'} = $CustomizedPlatName; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
499 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
500 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
501 |
else |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
502 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
503 |
my $rootbsf = $Path.$root.".bsf"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
504 |
if ( -e $rootbsf ) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
505 |
# BSF file customizes another BSF file which has not been read yet. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
506 |
# So defer current BSF file reading until the root BSF file is read. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
507 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
508 |
push(@BSFs, $BSF); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
509 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
510 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
511 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
512 |
# If the customizes platform is not a valid BSF platform or BPABI platorm or ARMV5 or ARMV5_ABIV1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
513 |
# then throw warning. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
514 |
unless ($rootPlatFound || $root =~ /^ARMV5(_ABIV1)?$/ || (grep /^$root$/i, @BPABIPlats)) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
515 |
warn "warning: \"$File\" Invalid BSF specification - customization restricted to ARMV5, ABIv2 and valid BSF platforms\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
516 |
close FILE; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
517 |
delete $Plat{$BSF}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
518 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
519 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
520 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
521 |
my ( $key, $value); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
522 |
while (($key, $value) = each %{$Plat{$platname}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
523 |
$Plat{$BSF}{$key}=$value; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
524 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
525 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
526 |
push @{$Plat{$CustomizedPlatName}{'CUSTOMIZATIONS'}}, $BSF; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
527 |
$Plat{$BSF}{'CUSTOMIZES'} = $CustomizedPlatName; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
528 |
while (<FILE>) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
529 |
next if (/^$|^\#/); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
530 |
if (/^\s*SMP\s*$/i) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
531 |
$Plat{$BSF}{'SMP'} = 1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
532 |
$Plat{$BSF}{'StatLink'} = lc $BSF; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
533 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
534 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
535 |
$Plat{$BSF}{'CUSTOMIZATION_DATA'} .= $_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
536 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
537 |
# BSF file statements will have newline character("\n") at the end, except for the last statement. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
538 |
# So append "\n" for the last BSF file statement. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
539 |
# "\n" will be used to split BSF statements to support hierarchy of customizations. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
540 |
$Plat{$BSF}{'CUSTOMIZATION_DATA'} .= "\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
541 |
close FILE; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
542 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
543 |
1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
544 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
545 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
546 |
sub Plat_Init ($) { # takes path to ASSP modules |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
547 |
my ($Path)=@_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
548 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
549 |
my %PlatHashKeys=( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
550 |
ABI=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
551 |
ASSPABI=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
552 |
SINGLE=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
553 |
Compiler=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
554 |
CPU=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
555 |
MakeMod=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
556 |
MakeCmd=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
557 |
OS=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
558 |
DefFile=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
559 |
ASSP=>1, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
560 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
561 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
562 |
# Include the list of BPABI platforms |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
563 |
&Set_Plat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
564 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
565 |
Init_BSFs($Path); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
566 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
567 |
# get a list of modules |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
568 |
opendir DIR, $Path; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
569 |
my @_ASSPs=grep s/^([^\.].*)\.ASSP$/$1/, map { uc $_ } readdir DIR; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
570 |
closedir DIR; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
571 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
572 |
my @ASSPs; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
573 |
foreach (@_ASSPs) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
574 |
if (!$ENV{USEARMCC} and /EDG$/i) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
575 |
# warn( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
576 |
# "Note: ASSP \"$_\" disabled\n" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
577 |
# ); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
578 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
579 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
580 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
581 |
push @ASSPs, $_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
582 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
583 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
584 |
# open each module in turn, and add it to the array |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
585 |
my $ASSP; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
586 |
foreach $ASSP (@ASSPs) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
587 |
my $File=$Path.$ASSP.'.assp'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
588 |
# check whether the assp is already defined |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
589 |
if (defined %{$Plat{$ASSP}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
590 |
warn( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
591 |
"$File : warning: ASSP \"$ASSP\" already defined\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
592 |
" ... skipping this module\n" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
593 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
594 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
595 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
596 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
597 |
# open the module |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
598 |
unless (open FILE, $File) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
599 |
warn "warning: Can't open assp module \"$File\"\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
600 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
601 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
602 |
my %Data=(); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
603 |
my %SingleData=(); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
604 |
my $MatchingSingle=""; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
605 |
my @Errors=(); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
606 |
while (<FILE>) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
607 |
# strip comments |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
608 |
s/^([^#]*)#.*$/$1/o; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
609 |
# skip blank lines |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
610 |
if (/^\s*$/o) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
611 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
612 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
613 |
# get the key-value pair |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
614 |
unless (/^\s*(\w+)\s+(\w+)\s*$/o) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
615 |
push @Errors, "$File($.) : warning: syntax error - only key-value pairs allowed\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
616 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
617 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
618 |
my ($Key, $Val)=($1, $2); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
619 |
if ($PlatHashKeys{$Key}!=1) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
620 |
push @Errors, "$File($.) : warning: unrecognized keyword - $Key\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
621 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
622 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
623 |
if ($Key eq "SINGLE") { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
624 |
$SingleData{Single} = 1; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
625 |
$SingleData{ASSP} = $ASSP; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
626 |
$MatchingSingle = uc $2; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
627 |
} else { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
628 |
$Data{$Key}=$Val; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
629 |
$SingleData{$Key}=$Val; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
630 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
631 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
632 |
close FILE; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
633 |
if (@Errors) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
634 |
warn( |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
635 |
@Errors, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
636 |
" ... skipping this module\n" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
637 |
); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
638 |
next; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
639 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
640 |
# change - Allow ASSPs to pick up all the options of the ABI they specify, |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
641 |
# in particular the compiler they need. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
642 |
$Data{'ASSP'} = $ASSP unless $Data{'ASSP'}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
643 |
if ($Plat{$Data{'ABI'}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
644 |
foreach (keys %{$Plat{$Data{'ABI'}}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
645 |
$Data{$_} = $Plat{$Data{'ABI'}}{$_} unless ($_ =~ /^GENERIC$/i) or $Data{$_}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
646 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
647 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
648 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
649 |
%{$Plat{$ASSP}}=%Data; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
650 |
if ($MatchingSingle ne "") { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
651 |
foreach (keys %Data) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
652 |
$SingleData{$_} = $Data{$_} unless ($_ =~ /^GENERIC$/i) or $SingleData{$_}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
653 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
654 |
%{$Plat{$MatchingSingle}}=%SingleData; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
655 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
656 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
657 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
658 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
659 |
sub Plat_GetL ($$$$) { # takes Platform name, ref to plat hash, ref to bldmacrohash, bldmake plat command notifier |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
660 |
my ($Candidate,$PlatHash_ref,$BldMacrosHash_ref,$platcommand)=@_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
661 |
$Candidate=uc $Candidate; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
662 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
663 |
# is platform in our list? |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
664 |
unless (defined $Plat{$Candidate}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
665 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
666 |
# is platform BPABI compliant one? |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
667 |
if (!$variantABIV2Keyword && $Candidate eq 'ARMV5') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
668 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
669 |
elsif (not(grep /^$Candidate$/i, @BPABIPlats)) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
670 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
671 |
die "ERROR: Platform \"$Candidate\" not supported\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
672 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
673 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
674 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
675 |
my $BPABIPlat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
676 |
my %PlatHash=(); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
677 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
678 |
# check the data |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
679 |
# All BPABI platforms inherit ABIV2 properties |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
680 |
if (grep /^$Candidate$/i, @BPABIPlats) |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
681 |
{ |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
682 |
$BPABIPlat='ABIV2'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
683 |
%PlatHash=%{$Plat{$BPABIPlat}}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
684 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
685 |
# In v1 mode, ARMV5 platform implies ARMV5_ABIV1 platform listed in the platlist |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
686 |
elsif (!$variantABIV2Keyword && $Candidate eq 'ARMV5') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
687 |
%PlatHash=%{$Plat{ARMV5_ABIV1}}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
688 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
689 |
else { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
690 |
%PlatHash=%{$Plat{$Candidate}}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
691 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
692 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
693 |
# set the defaults |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
694 |
$PlatHash{Name}=$Candidate; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
695 |
$PlatHash{Real}=$PlatHash{Name} unless $PlatHash{Real}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
696 |
$PlatHash{Ext}=".$PlatHash{Real}" unless $PlatHash{Ext}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
697 |
$PlatHash{ASSP}=$PlatHash{Real} unless $PlatHash{ASSP}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
698 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
699 |
# Get the root platform name to support hierarchy of customizations |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
700 |
my $CustomizedPlat=$PlatHash{'ROOTPLATNAME'}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
701 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
702 |
if ((defined($Candidate) && ($Candidate =~ /^ARMV5/i)) || (defined($CustomizedPlat) && ($CustomizedPlat =~ /^ARMV5/i))) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
703 |
# Compiler name should be set as ARMCC for all ARMV5 platforms |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
704 |
$PlatHash{Compiler}='ARMCC'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
705 |
$PlatHash{Toolchain}='rvct22'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
706 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
707 |
elsif ($BPABIPlat) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
708 |
# Compiler name should be set as that of platform name for all BPABI platforms |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
709 |
$PlatHash{Compiler}=$Candidate; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
710 |
$PlatHash{Toolchain}=$Candidate; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
711 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
712 |
elsif ($CustomizedPlat) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
713 |
# Compiler name should be set as that of the customized platform name incase of customization |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
714 |
$PlatHash{Compiler}=$CustomizedPlat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
715 |
$PlatHash{Toolchain}=$CustomizedPlat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
716 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
717 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
718 |
$PlatHash{Compiler}='GCC32' unless $PlatHash{Compiler}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
719 |
$PlatHash{OS}='EPOC32' unless $PlatHash{OS}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
720 |
$PlatHash{MakeMod}='Cl_gcc' unless $PlatHash{MakeMod}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
721 |
$PlatHash{MakeCmd}='make' unless $PlatHash{MakeCmd}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
722 |
$PlatHash{CPU}='MARM' unless $PlatHash{CPU}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
723 |
$PlatHash{Single}=0 unless $PlatHash{Single}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
724 |
$PlatHash{UsrHdrsOnly}=0 unless $PlatHash{UsrHdrsOnly}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
725 |
$PlatHash{Generic}=0 unless $PlatHash{Generic}; # generic means "for a target device but no particular ASSP" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
726 |
$PlatHash{SupportsMultiplePlatforms}=0 unless $PlatHash{SupportsMultiplePlatforms}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
727 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
728 |
$PlatHash{ABI}='ARMI' unless $PlatHash{ABI}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
729 |
$PlatHash{ASSPABI}='ARM4' unless defined $PlatHash{ASSPABI}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
730 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
731 |
unless (defined $PlatHash{DefFile}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
732 |
if ($PlatHash{Compiler} eq 'VC32') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
733 |
$PlatHash{DefFile}='WINS'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
734 |
} else { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
735 |
$PlatHash{DefFile}='MARM'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
736 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
737 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
738 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
739 |
# .MMP macros - keeping the order is useful |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
740 |
@{$PlatHash{MmpMacros}}=$PlatHash{Compiler}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
741 |
push @{$PlatHash{MmpMacros}}, $PlatHash{OS}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
742 |
push @{$PlatHash{MmpMacros}}, $PlatHash{CPU} unless $PlatHash{CPU} eq $PlatHash{OS}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
743 |
push @{$PlatHash{MmpMacros}}, $PlatHash{ASSP} unless $PlatHash{ASSP}=~/^($PlatHash{CPU}|$PlatHash{OS})$/; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
744 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
745 |
if ($PlatHash{Single}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
746 |
push @{$PlatHash{MmpMacros}}, 'SINGLE'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
747 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
748 |
if ($PlatHash{SMP}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
749 |
push @{$PlatHash{MmpMacros}}, 'SMP'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
750 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
751 |
if ($PlatHash{EABI}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
752 |
push @{$PlatHash{MmpMacros}}, 'EABI'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
753 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
754 |
if ($PlatHash{Compiler} eq 'VC32') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
755 |
my $MSVCVer = &Winutl_MSVCVer($platcommand); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
756 |
my $MSVCSubVer = &Winutl_MSVCSubVer($platcommand); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
757 |
push @{$PlatHash{MmpMacros}}, 'MSVC'.$MSVCVer; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
758 |
push @{$PlatHash{MmpMacros}}, 'MSVC'.$MSVCVer.$MSVCSubVer; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
759 |
if ($MSVCVer > 6) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
760 |
push @{$PlatHash{MmpMacros}}, 'MSVCDOTNET'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
761 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
762 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
763 |
if ($PlatHash{Compiler} eq 'ARMCC') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
764 |
my ($MajVer, $MinVer) = RVCT_plat2set::get_version_list($Candidate); |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
765 |
push @{$PlatHash{MmpMacros}}, 'ARMCC_'.$MajVer; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
766 |
push @{$PlatHash{MmpMacros}}, 'ARMCC_'.$MajVer.'_'.$MinVer; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
767 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
768 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
769 |
if ($PlatHash{Compiler} eq 'X86GCC') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
770 |
push @{$PlatHash{MmpMacros}}, 'GCC32'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
771 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
772 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
773 |
## TOOLS2 Specific Macros ## |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
774 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
775 |
if ($PlatHash{Compiler} eq 'GCC32') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
776 |
push @{$PlatHash{MmpMacros}}, 'MINGW32'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
777 |
push @{$PlatHash{MmpMacros}}, '_STLP_LITTLE_ENDIAN'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
778 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
779 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
780 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
781 |
# add GCCXML to the mmp macro list, so we can filter out stuff in bld.inf files and mmps. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
782 |
# note that this mean that __GCCXML__ is automacally routed to makefile, so we can take out explicit call. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
783 |
if( $PlatHash{Name} eq "GCCXML") { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
784 |
push @{$PlatHash{MmpMacros}}, 'GCCXML'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
785 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
786 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
787 |
# add specific platform macros for platforms customising others. |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
788 |
if (Plat_Customizes($PlatHash{Name})) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
789 |
push @{$PlatHash{MmpMacros}}, $PlatHash{Name} unless grep /$PlatHash{Name}/, @{$PlatHash{MmpMacros}}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
790 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
791 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
792 |
# compilation macros |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
793 |
@{$PlatHash{Macros}}=@EpocMacros; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
794 |
foreach (@{$PlatHash{MmpMacros}}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
795 |
## If STLP_LTTLE_ENDIAN is used, then dont append __ to the macro name ## |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
796 |
if ($_ =~ m/STLP_LITTLE_ENDIAN/) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
797 |
push @{$PlatHash{Macros}}, $_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
798 |
} else { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
799 |
push @{$PlatHash{Macros}}, '__'.$_.'__'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
800 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
801 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
802 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
803 |
# extra special .MMP macros which aren't applied for compilation |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
804 |
if ($PlatHash{Generic}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
805 |
push @{$PlatHash{MmpMacros}}, "GENERIC_$PlatHash{CPU}"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
806 |
if ($PlatHash{CPU} eq 'MARM') { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
807 |
# we can't define this for ASSP platforms because we won't be sure what |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
808 |
# the ABI is until we've processed the .MMP file |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
809 |
push @{$PlatHash{MmpMacros}}, "MARM_$PlatHash{ABI}"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
810 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
811 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
812 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
813 |
# builds |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
814 |
@{$PlatHash{Blds}}=@{$BldLists{$PlatHash{OS}}}; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
815 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
816 |
# output some information |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
817 |
if ($Mode{Verbose}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
818 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
819 |
"Platform $PlatHash{Name}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
820 |
"Real Name $PlatHash{Real}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
821 |
"Compiler $PlatHash{Compiler}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
822 |
"OS $PlatHash{OS}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
823 |
"CPU $PlatHash{CPU}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
824 |
"ASSP $PlatHash{ASSP}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
825 |
"ABI $PlatHash{ABI}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
826 |
"ASSPABI $PlatHash{ASSPABI}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
827 |
"Makefile Module $PlatHash{MakeMod}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
828 |
"Makefile Type $PlatHash{MakeCmd}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
829 |
"MMP Macros @{$PlatHash{MmpMacros}}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
830 |
"Macros @{$PlatHash{Macros}}\n", |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
831 |
"Blds @{$PlatHash{Blds}}\n" |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
832 |
; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
833 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
834 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
835 |
%{$PlatHash_ref}=%PlatHash; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
836 |
%{$BldMacrosHash_ref}=%BldMacros; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
837 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
838 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
839 |
sub Plat_List () { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
840 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
841 |
# Include the list of BPABI platforms |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
842 |
&Set_Plat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
843 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
844 |
# return list of supported platforms |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
845 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
846 |
#sort keys %Plat; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
847 |
my @PlatList; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
848 |
my $Key; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
849 |
foreach $Key (keys %Plat) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
850 |
if (!$variantABIV2Keyword && $Key =~ /^armv5_abiv1$/i) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
851 |
$Key = 'ARMV5'; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
852 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
853 |
unless (grep /^$Key$/i, @PlatList) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
854 |
push @PlatList, $Key; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
855 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
856 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
857 |
return @PlatList |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
858 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
859 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
860 |
sub Plat_AssocIDE ($$) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
861 |
# return the IDE associated with a "Real" platform if there is one |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
862 |
my ($Candidate, $AssocIDEs)=@_; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
863 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
864 |
unless (defined $Plat{$Candidate}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
865 |
die "ERROR: Platform \"$Candidate\" not supported\n"; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
866 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
867 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
868 |
my $Key; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
869 |
foreach $Key (keys %Plat) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
870 |
if (${Plat{$Key}}{Real}) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
871 |
if (${Plat{$Key}}{Real} eq $Candidate) { |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
872 |
push @$AssocIDEs, $Key; |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
873 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
874 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
875 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
876 |
} |
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
877 |
|
d10c1f04b2be
Linux support for ROM building under Raptor
Mike Kinghan <mikek@symbian.org>
parents:
diff
changeset
|
878 |
1; |