imgtools/romtools/rombuild/E32Plat.pm
author Mike Kinghan <mikek@symbian.org>
Sat, 27 Nov 2010 17:23:11 +0000
changeset 41 1600211976c3
parent 26 d10c1f04b2be
permissions -rw-r--r--
1) Add imgtools/romtools to the targets for which exports are performed by fix_tools_exports.pl 2) Windows compatibility fix to list_targets.pl 3) Modify imgtools\romtools\group\BLD.INF so that Windows-only exports are not performed on Linux hosts or vice versa. 4) Windows compatibility fix for imgtools\romtools\rombuild\romnibus.pl
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
		print
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;