mmtestenv/mmtesttools/Build/mmbuildrom.pl
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
# All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
# This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
# under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
# which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
# Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
# Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
# Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
# Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
# mmrombuild.pl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
# 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
use strict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
use warnings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
use Env qw(EPOCROOT);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
use File::Copy;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
# literals
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
my $auto_param =  "-a";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
my $dp_param   =  "-d";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
my $wdp_param  =  "-w";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
my $all_param  =  "-f";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
my $help_param =  "-h";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
my $icl_param  =  "-i";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
my $plus_icl_param = "+i";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
my $keep_param =  "-k";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
my $mmf_param  =  "-m";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
my $nand_param =  "-n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
my $addnl_param = "-p";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
my $test_param =  "-t";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
my $extra_param = "-x";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
my $gce_param  =  "-g";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
my $eabi_param =  "-eabi";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
my $h2_param =    "-h2";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
my $h4_param =    "-h4";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
my $h6_param =    "-h6";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
my $lab_param =    "-lab";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
my $lbk_param =   "-lbk";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
my $x86_param =   "-x86pc";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
my $ne_param =    "-ne";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
my $smp_param =    "-smp";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
my $uni_param =    "-uni";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
my $KRomDir     = "epoc32\\rom";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
my $KLubbockImg = "la_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
my $KH2Img =      "om_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
my $KH4Img =      "h4hrp_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
my $KH4RofsImg =      "h4hrp_001.techview.rofs.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
my $KH6Img =      "34xx_sdp_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
my $KH6NandImg =	"34xx_sdp_001.techview.nand.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
my $KH6NandRofsImg =	"34xx_sdp_001.techview.nand.rofs.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
my $KLabImg =      "lab_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
my $KLabNandImg =	"lab_001.techview.nand.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
my $KLabNandRofsImg =	"lab_001.techview.nand.rofs.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
my $KH4NandImg =  "h4hrp_001.techview.nand.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
my $KH4NandRofsImg = "h4hrp_001.techview.nand.rofs.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
my $KH6NandBootLoader =	"h6.nandloader.reltest.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
my $KLabNandBootLoader =	"lab_001.nandloader.reltest.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
my $KH4NandBootLoader = "h4.nandloader.reltest.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
my $KMmcBootLoader = "h4.mmcloader.reltest.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
my $CoreImg =     "core.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
my $Rofs1Img =    "rofs1.img";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
my $KBinName	= 'sys$rom.bin'; # be careful about '$'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
my $KZipName	= 'sys$rom.zip'; # be careful about '$'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
my $KX86Img     =  "x86pc_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
my $KNEImg     =  "NE1_TB_001.techview.IMG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
my $extras = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
my $gce = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
my $test = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
my $component = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
my $keep = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
my $auto = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
my $eabi = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
my $addnl_ibys = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
my $dp = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
my $wdp = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
my $nand = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
my $img = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
my $target = ""; # default target is h6 but start as blank so we can distinguish multiple target requests
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
my $default_target = "h6";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
my $arm = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
my $smp = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
my $uni = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
my $wrong_ne_param = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
my $include_icl_tests = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
my $eka2IdentifyFile  = "$ENV{EPOCROOT}epoc32\\release\\winscw\\udeb\\winsgui.dll"; # if file present, is EKA2 build
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
my $PlatSecIdentifyFile  = "$ENV{EPOCROOT}epoc32\\release\\armv5\\udeb\\mmfdevsoundproxy.dll"; # if file present, is a build with platsec
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
my $StreamingCafIdentifyFile = "$ENV{EPOCROOT}epoc32\\release\\armv5\\udeb\\sraserver.exe";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
my $OptionalFile = "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
# if any of these .iby files are present, then we'll add them to the ROM.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
my @OptionalFiles = ("$ENV{EPOCROOT}epoc32\\rom\\include\\XviDPU.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\XviDhw.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\oggvorbiscodec.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\omxoggvorbiscodec.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\pvopt.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\pvtestsopt.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\RtaUtils.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
			       "$ENV{EPOCROOT}epoc32\\rom\\include\\TestExecute.iby",
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
				   "$ENV{EPOCROOT}epoc32\\rom\\include\\streamingcaf.iby");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
my $OggVorbisCodecPresent = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
my $targetToolsDir = "..\\..\\..\\..\\..\\TargetTools\\Build";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
my $targetToolsExists = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
if (-d $targetToolsDir)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
	$targetToolsExists = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
	print "TargetTools directory exists: $targetToolsDir\n"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
# main:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	# Process command-line
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	&ReadArgs();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
	&ProcessArgs();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	&BuildRom();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
# Subroutines
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
sub ReadArgs()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	while (@ARGV)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
		my $param = $ARGV[0]; shift @ARGV; # grab first param and shift along
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
		if ($param eq "") # ignore blank parameters
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
			next;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
		if ($param eq $icl_param || 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
		    $param eq $mmf_param || $param eq $all_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
			$component = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
		elsif ($param eq $plus_icl_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
			$include_icl_tests = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
		elsif ($param eq $test_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
			$test = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
		elsif ($param eq $extra_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
			$extras = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
		elsif ($param eq $gce_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
			$gce = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
		elsif ($param eq $auto_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
			$auto = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
		elsif ($param eq $eabi_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
			$eabi = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
		elsif ($param eq $dp_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
			$dp = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
			$nand = $param; # demand paging implies nand
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
		elsif ($param eq $wdp_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
			$wdp = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
			$dp = $param; # writable data paging implies standard demand paging
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
		elsif ($param eq $nand_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
			$nand = $param;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
		elsif ($param eq $addnl_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
			$addnl_ibys .= " " . $ARGV[0]; shift @ARGV; # grab next param and shift along
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
		elsif ($param eq $h2_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
			$target = "h2";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
			$eabi = $eabi_param; # H2 always EABI
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
 		elsif ($param eq $h4_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
 			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
			$target = "h4";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
 			$eabi = $eabi_param; # H4 always EABI
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
 			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
 		elsif ($param eq $h6_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
			$target = "h6";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
			$eabi = $eabi_param; # H6 always EABI
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
		elsif ($param eq $lab_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
			$target = "lab";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
			$eabi = $eabi_param; # Lab always EABI
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
		elsif ($param eq $lbk_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
			$target = "lbk";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
		elsif ($param eq $x86_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
			&Usage() if (($eabi ne "") || ($nand ne ""));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
			$target = "x86";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
			}			
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
		elsif ($param eq $ne_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
			&Usage() if ($target ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
			&Usage() if ($nand ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
			$target = "naviengine";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
			$eabi = $eabi_param; # NaviEngine always EABI
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
		elsif ($param eq $smp_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
			# Only NaviEngine can be configured to build SMP enabled image
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
			&Usage() if ($target ne "naviengine");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
			$smp = "smp";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
			}						
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
		elsif ($param eq $uni_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
			# '-uni'-flag valid only for NaviEngine
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
			&Usage() if ($target ne "naviengine");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
			$uni = "uni";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
			}									
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
		elsif ($param eq $help_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
			&Usage();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
			# unknown setting
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
			&Usage();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
	&CheckArgs();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
sub CheckArgs()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
	# check that the arguments make sense
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
	$target = $default_target if ($target eq "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
sub ProcessArgs()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
	if ($target eq "h2")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
		$img = $KH2Img;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
	elsif ($target eq "lkb")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
		$img = $KLubbockImg;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
	elsif ($target eq "h4")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
		$img = $KH4Img if ($nand eq "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
		$img = $KH4NandImg if ($nand ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
	elsif ($target eq "h6")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
		$img = $KH6Img;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
	elsif ($target eq "lab")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
		$img = $KLabImg;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
	elsif ($target eq "x86")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
		$img = $KX86Img;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
		}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
	elsif ($target eq "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
		$img = $KNEImg;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
		}			
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
		die "Internal error: unknown image type";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
		}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
	if($target eq "naviengine" && $smp eq "" && $uni eq "" )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
		$wrong_ne_param = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
		&Usage();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
	if($target eq "h2" || $target eq "lkb" || $target eq "h4" || $target eq "naviengine" || $target eq "h6" || $target eq "lab")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
		# procedure to build arm target different so identify a ARM based target
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
		$arm ="arm";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
sub BuildRom()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
	my $command;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
	# note from build 4713 -D_STARTUPMODE5 is replaced with -D_SSMSTARTUPMODE=5. Don't mix
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
	if($target ne "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
		$command = "tools\\buildrom -D__NOWATCHER__ -D_DEBUG -D_SSMSTARTUPMODE=5";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
		#Currently startupmode flag is not used for NaviEngine.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
		$command = "tools\\buildrom -D_DEBUG";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
		$command .= " -DSYMBIAN_MDASOUNDADAPTER_FORCE_STEREO";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
		}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
	if($target ne "x86" && $target ne "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
		$command .= " -D_SERIAL_DOWNLOAD";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
	if($smp ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
		$command .= " -DSMP";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
	if($uni ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
		#Use Flexible Memory Model for UniCore
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
		#Until base have fixed the issue related to this keep commented out.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
		#$command .= " -DWITH_FLEXIBLE_MM";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
	$command .= " -D_NAND2" if ($nand ne "" && $arm ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
	$command .= " -DUSE_24BPP_DISPLAY_VARIANT" if ($target eq "h6" || "lab");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
	if($wdp ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
		$command .= " -DWITH_FLEXIBLE_MM -DUSE_SDIO_SD_MMC -D_INTERNAL_MMC -DUSE_DATA_PAGING"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
	$command .= " -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE" if ($gce ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
	# Needed to prevent Xml.iby errors if these flags are added to techview.oby for example, then remove them here
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
	$command .= " -DSYMBIAN_EXCLUDE_LIBXML2 -DSYMBIAN_EXCLUDE_LIBXML2_SAX_CPARSER_PLUGIN -DSYMBIAN_EXCLUDE_LIBXML2_DOM_XPATH_API";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	# select instruction set type, only applicable for ARM based platforms
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
	#The below flags are currently not used for NaviEngine
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
	if($arm ne "" && $target ne "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
	if ($eabi ne "" || -f $eka2IdentifyFile)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
		$command .= " -DRVCT -D_EABI=ARMV5";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
		$command .= " -D_THUMB";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
	}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
	# Use the default FeatureManager database, not yet supported for x86
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
	if($arm ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
		$command .= " -fm=$ENV{EPOCROOT}epoc32\\rom\\include\\featuredatabase.xml"; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
		$command .= ' -nofm'; #-fm option not supported as of 0708.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
	# select development board (now we build h4 by default)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
	if ($target eq "lbk")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
		$command .= " lubbock";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
 	elsif ($target eq "h2")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
 		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
 		$command .= " h2";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
 		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
	 elsif ($target eq "x86")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
 		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
 		$command .= " x86pc";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
 		}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
 	elsif ($target eq "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
 		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
 		$command .= " naviengine";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
 		}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
 	elsif ($target eq "h6")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
 		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
 		$command .= " pagedrom" if ($dp ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
 		$command .= " 34xx_sdp";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
 		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
	elsif ($target eq "lab")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
 		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
 		$command .= " pagedrom" if ($dp ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
 		$command .= " lab";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
 		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
 	elsif ($target eq "h4")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
 		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
 		$command .= " pagedrom" if ($dp ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
	 	$command .= " h4hrp";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
 		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
		die "target does not exist!!"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
	# devkit.oby not included for NaviEngine currently	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
	if($target ne "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
		$command .= " devkit";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
	$command .= " techview";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
	$command .= " misc.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
	# use platform security, if appropriate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
	if (-f $PlatSecIdentifyFile)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
		$command .= " platsec";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
	if ($extras ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
		$command .= " mmfOpt.iby" ; # mmfOpt.iby should include optional stuff
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
		$command .= " iclOpt.iby" ; # iclOpt.iby should include optional stuff
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
		$command .= " miscOpt.iby" ; # miscOpt.iby should include optional stuff
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
		if ($test ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
			$command .= " mmfOptTest.iby" ; # mmfOptTest.iby should include tests of optional stuff
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
			$command .= " iclOptTest.iby" if $include_icl_tests ne ""; # iclOptTest.iby should include tests of optional stuff
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
			$command .= " miscOptTests.iby"; # miscOptTests.iby should include tests of optional stuff
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
			
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
		# Open source code delivered separately to Symbian OS
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
		foreach $OptionalFile (@OptionalFiles)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
			if (-f $OptionalFile)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
				$OptionalFile =~ s/^.*\\//; # get only the filename
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
				
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
				if ($OptionalFile eq "oggvorbiscodec.iby" 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
					|| $OptionalFile eq "omxoggvorbiscodec.iby")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
					$OggVorbisCodecPresent = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
				
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
				$command .= " ";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
				$command .= $OptionalFile;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
				print "**** WARNING: $OptionalFile not added to ROM ****\n"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
		# Add oggvorbis to ROM only if oggvorbiscodec and omxoggvorbiscodec exist to prevent ROM build errors
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
		if ($OggVorbisCodecPresent)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
			$command .= " oggvorbis.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
	if ($gce ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
		$command .= " videorenderer.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
		if ($test ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
			$command .= " tsu_mmf_videorenderer.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
	if ($test ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
		if ($component eq $icl_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
			$command .= " iclIntTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
			$command .= " iclUnitTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
		elsif ($component eq $mmf_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
			$command .= " mmfUnitTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
			if ($extras eq "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
				$command .= " mmfNotOptTest.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
			{ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
			# -f or default
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
			$command .= " MiscUnitTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
			$command .= " MiscIntTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
			$command .= " MMFUnitTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
			$command .= " MMFIntTests.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
			$command .= " ICLUnitTests.iby" if $include_icl_tests ne "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
			$command .= " ICLIntTests.iby" if $include_icl_tests ne "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
			if ($targetToolsExists)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
				$command .= " ExtraMultimediaTests.iby ecam.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
				$command .= " timageviewer.iby timagedisplay.iby tphotoeditor.iby timagetran.iby" if $include_icl_tests ne "";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
			if ($extras eq "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
				$command .= " mmfNotOptTest.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
	if ($targetToolsExists)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
		if ($auto ne "") 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
			$command .= " MMAutoExec.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
	#pvdecoderaac.iby is somehow not getting included into naviengine roms, the way it is in case of H4 and the rest.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
	if($target eq "naviengine")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
		$command .= " pvdecoderaac.iby";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
	$command .= $addnl_ibys;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
	if ($gce eq "" and $dp eq "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
		$command .= " surfacemanager_ref.iby" if ($target eq "h6" || "lab" || "naviengine");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
	print $command, "\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
	die "EPOCROOT is not set" unless ($EPOCROOT ne "");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
	my $romDir = $EPOCROOT . $KRomDir;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
	die "$romDir does not exist" unless -d $romDir;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
	chdir ($romDir) or die "Could not cd to $romDir - $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
	# delete the expected image, so clear whether worked or not
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
	if (-f $img)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
		my $count = unlink $img;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
		die "Could not delete $KH2Img" unless $count == 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
	# delete any existing zip, otherwise we could end up with multiple ROMs in our zip file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
	if ($arm ne "" && -f $KZipName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
		my $count = unlink $KZipName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
		die "Could not delete $KZipName" unless $count == 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
	my $result = system($command);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
	if ($result != 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
		print "Command failed ($result)\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
		exit 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
	if($arm ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
		if ($nand eq "" and $wdp eq "") # for nand etc you need to use the rofs loder, otherwise conver to sys$rom.zip
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
			my $zipCommand = "zip " . $KZipName . " " . $img;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
			print $zipCommand, "\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
			$result = system($zipCommand);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
			if ($result != 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
				print "Command failed ($result)\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
				exit 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
		elsif ($nand ne "" or $wdp ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
			{	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
			if ($target eq "h6")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
				if ($nand ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
					copy($KH6NandBootLoader,$KBinName) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
					copy($KH6NandImg,$CoreImg) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
					copy($KH6NandRofsImg,$Rofs1Img) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
				else # if ($wdp ne "") - not supported yet but ready for future releases
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
					print "\nWDP is not supported yet on H6\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
					exit 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
#					copy($KMmcBootLoader,$KBinName) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
#					copy($KH6Img,$CoreImg) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
#					copy($KH6RofsImg,$Rofs1Img) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
			elsif ($target eq "lab")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
				if ($nand ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
					copy($KLabNandImg,$CoreImg) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
					copy($KLabNandRofsImg,$Rofs1Img) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
#					copy($KLabNandBootLoader,$KBinName) or die "Copy failed: $!"; Lab Nandloader is still not part of the CBR release hence commenting this command for time being
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
				else # if ($wdp ne "") - not supported yet but ready for future releases
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
					print "\nWDP is not supported yet on Labrador\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
					exit 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
#					copy($KMmcBootLoader,$KBinName) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
#					copy($KLabImg,$CoreImg) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
#					copy($KLabRofsImg,$Rofs1Img) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
					}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
				}				
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
				if ($nand ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
					copy($KH4NandBootLoader,$KBinName) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
					copy($KH4NandImg,$CoreImg) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
					copy($KH4NandRofsImg,$Rofs1Img) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
				else # if ($wdp ne "")
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
					copy($KMmcBootLoader,$KBinName) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
					copy($KH4Img,$CoreImg) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
					copy($KH4RofsImg,$Rofs1Img) or die "Copy failed: $!";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
			print "Generated " . $CoreImg . ", " . $Rofs1Img . " and " . $KBinName . "\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
			$command = "dir " . $CoreImg . " " . $Rofs1Img . " " . $KBinName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
			system($command);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
	}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
sub Usage
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
	# print usage statement and exit
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
	print <<ENDHERESTRING;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
usage:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
 	mmrombuild {-i|-m|-f} [+i] [-d] [-x] [-t] [-a] [-eabi] [-h2] [-h4] [-h6] [-lab] [-lbk] [-p <ibyfile>] [-ne <-uni/-smp>]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
mmbuildrom will build a lubbock / H2 / H4 / NaviEngine / Labrador ROM for multimedia testing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
It will always build a standard rom for the given platform, the various flags
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
support what test and optional software is installed in addition.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
The parameters are as follows:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
-d) Build demand-paging NAND rom - instead of standard NOR build. Implies -n
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
-w) Build writable data paging NAND rom - implies -d but not -n!
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
-i) Build ICL test (unit and integration) software only, if -t is set
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
-m) Build MMF unit test software only, if -t is set
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
+i) ICL tests are now disabled unless this parameter is also given
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
-n) Build NAND rom - otherwise builds NOR
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
-f) Add all tests software, it -t is set (default)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
-t) Add test software
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
-x) Add optional Multimedia modules
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
-g) Add optional Graphics Composition Engine enabled components
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
-eabi) Builds rom for armv5
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
-h2) Builds for H2 board
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
-h4) Builds for H4 board
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
-x86pc) Builds rom for X86 Platform
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
-lab) Builds for labrador board
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
-ne) Builds rom for NaviEngine board(NE (uni/smp) does not support demand paging yet)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
-smp) Builds an SMP-enabled Rom Image(Valid only if -ne flag is used)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
-uni) Builds UniCore Rom Image(Valid only if -ne flag is used)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
-lbk) Builds for lubbock board (default is h2)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
-p <ibyfile>) Append .iby file to list
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
ENDHERESTRING
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
	if ($targetToolsExists)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
		print "-a) Add MMAutoExec iby file (internal Symbian use only)"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
	if($wrong_ne_param)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
		print "\n \n*Did you forget to specify whether you want a UniCore image or an SMP image?*\n\n";
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
	exit 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682