internal/boost/genatsmodules.bat
author hgs
Tue, 02 Nov 2010 19:23:22 +0530
changeset 79 564bc7b7ad27
permissions -rw-r--r--
201043
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
79
hgs
parents:
diff changeset
     1
rem
hgs
parents:
diff changeset
     2
rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
hgs
parents:
diff changeset
     3
hgs
parents:
diff changeset
     4
rem Redistribution and use in source and binary forms, with or without 
hgs
parents:
diff changeset
     5
rem modification, are permitted provided that the following conditions are met:
hgs
parents:
diff changeset
     6
hgs
parents:
diff changeset
     7
rem Redistributions of source code must retain the above copyright notice, this 
hgs
parents:
diff changeset
     8
rem list of conditions and the following disclaimer.
hgs
parents:
diff changeset
     9
rem Redistributions in binary form must reproduce the above copyright notice, 
hgs
parents:
diff changeset
    10
rem this list of conditions and the following disclaimer in the documentation 
hgs
parents:
diff changeset
    11
rem and/or other materials provided with the distribution.
hgs
parents:
diff changeset
    12
rem Neither the name of Nokia Corporation nor the names of its contributors 
hgs
parents:
diff changeset
    13
rem may be used to endorse or promote products derived from this software 
hgs
parents:
diff changeset
    14
rem without specific prior written permission.
hgs
parents:
diff changeset
    15
hgs
parents:
diff changeset
    16
rem THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
hgs
parents:
diff changeset
    17
rem AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
hgs
parents:
diff changeset
    18
rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
hgs
parents:
diff changeset
    19
rem DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
hgs
parents:
diff changeset
    20
rem FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
hgs
parents:
diff changeset
    21
rem DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
hgs
parents:
diff changeset
    22
rem SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
hgs
parents:
diff changeset
    23
rem CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
hgs
parents:
diff changeset
    24
rem OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
hgs
parents:
diff changeset
    25
rem OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
hgs
parents:
diff changeset
    26
rem
hgs
parents:
diff changeset
    27
rem Description:      
hgs
parents:
diff changeset
    28
rem
hgs
parents:
diff changeset
    29
@perl -x GenATSModules.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 
hgs
parents:
diff changeset
    30
@goto end
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
#!perl
hgs
parents:
diff changeset
    33
use strict;
hgs
parents:
diff changeset
    34
use File::Find;
hgs
parents:
diff changeset
    35
use File::Copy;
hgs
parents:
diff changeset
    36
use Cwd;
hgs
parents:
diff changeset
    37
use File::Basename;
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
my $target = "winsspd";
hgs
parents:
diff changeset
    41
my $suite;
hgs
parents:
diff changeset
    42
my $install = "no";
hgs
parents:
diff changeset
    43
my $session = "no";
hgs
parents:
diff changeset
    44
my $combinedSession = "no";
hgs
parents:
diff changeset
    45
my $sdkversion="";
hgs
parents:
diff changeset
    46
my $noXmlsGenList = "play_new";
hgs
parents:
diff changeset
    47
my @AllModuleList = ();
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
my %DirHash;
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
my $sendEmail = "no";
hgs
parents:
diff changeset
    52
my $rootDrive = substr(getcwd(), 0,2);
hgs
parents:
diff changeset
    53
my $templateRoot = getcwd();
hgs
parents:
diff changeset
    54
my	$ATSRoot = getcwd()."\\ATSINPUT";
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
if($ENV{'ATS_SETUP'}  ne "")
hgs
parents:
diff changeset
    57
{
hgs
parents:
diff changeset
    58
 $sendEmail = "yes";
hgs
parents:
diff changeset
    59
 $rootDrive = $ENV{'ATS_INDRIVE'};
hgs
parents:
diff changeset
    60
 $templateRoot = $ENV{'ATS_TEMPLATEROOT'};
hgs
parents:
diff changeset
    61
 $ATSRoot = $ENV{'ATS_ATSOUTDRIVE'};
hgs
parents:
diff changeset
    62
}
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
if(scalar @ARGV ==0 || $ARGV[0] =~ /[\-\\\/][h\?]/ || $ARGV[0] =~ /help/ )
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
	print <<EOHelp;
hgs
parents:
diff changeset
    68
genatsmodules.bat - hardcoded script to generate ATSINPUT folders for mobileruntime and ngi projects	
hgs
parents:
diff changeset
    69
Usage:
hgs
parents:
diff changeset
    70
	genatsmodules.bat
hgs
parents:
diff changeset
    71
		Create ATSINPUT for the default testsuite based on 
hgs
parents:
diff changeset
    72
		location it is executed from place in stdlibs/internal 
hgs
parents:
diff changeset
    73
		and run and it generates ATSINPUT for stdlibs
hgs
parents:
diff changeset
    74
		similiarly place it in ssl/internal or glib/internal or 
hgs
parents:
diff changeset
    75
    ngi/internal and run to generate  ATSINPUT for ssl, glib  
hgs
parents:
diff changeset
    76
    and ngi respectively	
hgs
parents:
diff changeset
    77
  
hgs
parents:
diff changeset
    78
  genatsmodules [libname]
hgs
parents:
diff changeset
    79
			where libname can be stdlibs, ssl, glib, etc. Creates 
hgs
parents:
diff changeset
    80
			ats test drop for given library. Valid from any internal
hgs
parents:
diff changeset
    81
			folder of mobileruntime.
hgs
parents:
diff changeset
    82
			
hgs
parents:
diff changeset
    83
  
hgs
parents:
diff changeset
    84
  genatsmodules ngi
hgs
parents:
diff changeset
    85
			create ngi testsuite. Valid inside ngi/internal only
hgs
parents:
diff changeset
    86
			
hgs
parents:
diff changeset
    87
genatsmodules play_new
hgs
parents:
diff changeset
    88
			create play_new testsuite. Valid inside play_new/internal only
hgs
parents:
diff changeset
    89
				
hgs
parents:
diff changeset
    90
	
hgs
parents:
diff changeset
    91
      
hgs
parents:
diff changeset
    92
	genatsmodules ltp
hgs
parents:
diff changeset
    93
			create ltp testsuite. Valid inside stdlibs/internal only
hgs
parents:
diff changeset
    94
	
hgs
parents:
diff changeset
    95
	genatsmodules lsb
hgs
parents:
diff changeset
    96
			create lsb testsuite. Valid inside stdlibs/internal only
hgs
parents:
diff changeset
    97
			
hgs
parents:
diff changeset
    98
	genatsmodules stdcpp
hgs
parents:
diff changeset
    99
			create stdcpp testsuite. Valid inside stdcpp/internal only
hgs
parents:
diff changeset
   100
			
hgs
parents:
diff changeset
   101
	genatsmodules [libname] install 
hgs
parents:
diff changeset
   102
		 where libname can be stdlibs, ssl, glib, ltp, lsb to create a 
hgs
parents:
diff changeset
   103
		 ATSINPUT where the dependent mobileruntime libraries are also 
hgs
parents:
diff changeset
   104
		 copied and used (It copies the dependent libraries using the 
hgs
parents:
diff changeset
   105
		 ATS component files)
hgs
parents:
diff changeset
   106
		
hgs
parents:
diff changeset
   107
	genatsmodules session [libname] [target] 		
hgs
parents:
diff changeset
   108
		where libname is any of the standard libs as shown above and 
hgs
parents:
diff changeset
   109
		target can be winsspd, winscw, scarfe, zeus etc. to create 
hgs
parents:
diff changeset
   110
		session files for scarfe, winsspd etc. 
hgs
parents:
diff changeset
   111
		
hgs
parents:
diff changeset
   112
genatsmodules session combined [target] 				
hgs
parents:
diff changeset
   113
      will look at the existing ATSINPUT(which can have any 
hgs
parents:
diff changeset
   114
      combination of created components and create a combined 
hgs
parents:
diff changeset
   115
      session file. This way you get increased flexibility in 
hgs
parents:
diff changeset
   116
      the libraries you choose to combine into a single session 
hgs
parents:
diff changeset
   117
      file. If the target is a hardware target(that is not winsspd
hgs
parents:
diff changeset
   118
      or winscw), the script will first attempt to find a target 
hgs
parents:
diff changeset
   119
      specific component file and if not found, the generic hw 
hgs
parents:
diff changeset
   120
      component file. 
hgs
parents:
diff changeset
   121
	
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
	Note:
hgs
parents:
diff changeset
   124
	ATSINPUT creation is a 2 stage process. First we create 
hgs
parents:
diff changeset
   125
	the components and then we run (for example) 
hgs
parents:
diff changeset
   126
	"genatsmodules session stdlibs winscw" and 
hgs
parents:
diff changeset
   127
	"genatsmodules session stdlibs scarfe" to create the 
hgs
parents:
diff changeset
   128
	session files.
hgs
parents:
diff changeset
   129
EOHelp
hgs
parents:
diff changeset
   130
		exit();
hgs
parents:
diff changeset
   131
}
hgs
parents:
diff changeset
   132
my $do_armv5 = 1;
hgs
parents:
diff changeset
   133
my $do_winscw = 1;
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
if(scalar @ARGV == 1)
hgs
parents:
diff changeset
   136
{
hgs
parents:
diff changeset
   137
	if($ARGV[0] eq "session")
hgs
parents:
diff changeset
   138
	{
hgs
parents:
diff changeset
   139
		die("parameter session must be followed by libname and target platform");
hgs
parents:
diff changeset
   140
	}
hgs
parents:
diff changeset
   141
	else
hgs
parents:
diff changeset
   142
	{
hgs
parents:
diff changeset
   143
		$suite = $ARGV[0];
hgs
parents:
diff changeset
   144
	}
hgs
parents:
diff changeset
   145
}
hgs
parents:
diff changeset
   146
elsif(scalar @ARGV == 2)
hgs
parents:
diff changeset
   147
{
hgs
parents:
diff changeset
   148
	if($ARGV[0] eq  "session")
hgs
parents:
diff changeset
   149
	{
hgs
parents:
diff changeset
   150
		die("parameter session must be followed by libname and target platform");
hgs
parents:
diff changeset
   151
	}
hgs
parents:
diff changeset
   152
	elsif($ARGV[1] eq "install")
hgs
parents:
diff changeset
   153
	{
hgs
parents:
diff changeset
   154
		$suite = $ARGV[0];
hgs
parents:
diff changeset
   155
		$install = "yes";
hgs
parents:
diff changeset
   156
	}
hgs
parents:
diff changeset
   157
	elsif($ARGV[1] eq "armv5")
hgs
parents:
diff changeset
   158
	{
hgs
parents:
diff changeset
   159
		$do_winscw = 0;
hgs
parents:
diff changeset
   160
	}
hgs
parents:
diff changeset
   161
	elsif($ARGV[1] eq "winscw")
hgs
parents:
diff changeset
   162
	{
hgs
parents:
diff changeset
   163
		$do_armv5 = 0; 
hgs
parents:
diff changeset
   164
	}
hgs
parents:
diff changeset
   165
	else
hgs
parents:
diff changeset
   166
	{
hgs
parents:
diff changeset
   167
		die("second parameter after target platform $ARGV[0] can only be \"install\" ");
hgs
parents:
diff changeset
   168
	}
hgs
parents:
diff changeset
   169
}
hgs
parents:
diff changeset
   170
elsif(scalar @ARGV == 3)
hgs
parents:
diff changeset
   171
{
hgs
parents:
diff changeset
   172
		if($ARGV[0] ne "session")
hgs
parents:
diff changeset
   173
		{
hgs
parents:
diff changeset
   174
			die("invalid combination of parameters. Program expected 1st parameter to be \"session\" ");
hgs
parents:
diff changeset
   175
		}
hgs
parents:
diff changeset
   176
		else
hgs
parents:
diff changeset
   177
		{
hgs
parents:
diff changeset
   178
			$session = "yes";
hgs
parents:
diff changeset
   179
			$suite = $ARGV[1];
hgs
parents:
diff changeset
   180
			$target = $ARGV[2];
hgs
parents:
diff changeset
   181
	
hgs
parents:
diff changeset
   182
			if($suite eq "combined")
hgs
parents:
diff changeset
   183
			{		
hgs
parents:
diff changeset
   184
				$combinedSession = "yes";
hgs
parents:
diff changeset
   185
	  	}
hgs
parents:
diff changeset
   186
			
hgs
parents:
diff changeset
   187
		}
hgs
parents:
diff changeset
   188
}
hgs
parents:
diff changeset
   189
elsif(scalar @ARGV == 4)
hgs
parents:
diff changeset
   190
{
hgs
parents:
diff changeset
   191
		if($ARGV[0] ne "session")
hgs
parents:
diff changeset
   192
		{
hgs
parents:
diff changeset
   193
			die("invalid combination of parameters. Program expected 1st parameter to be \"session\" ");
hgs
parents:
diff changeset
   194
		}
hgs
parents:
diff changeset
   195
		else
hgs
parents:
diff changeset
   196
		{
hgs
parents:
diff changeset
   197
			$session = "yes";
hgs
parents:
diff changeset
   198
			$suite = $ARGV[1];
hgs
parents:
diff changeset
   199
			$target = $ARGV[2];
hgs
parents:
diff changeset
   200
			$sdkversion = $ARGV[3];
hgs
parents:
diff changeset
   201
			if($suite eq "combined")
hgs
parents:
diff changeset
   202
			{		
hgs
parents:
diff changeset
   203
				$combinedSession = "yes";
hgs
parents:
diff changeset
   204
	  	}
hgs
parents:
diff changeset
   205
		}
hgs
parents:
diff changeset
   206
}
hgs
parents:
diff changeset
   207
else
hgs
parents:
diff changeset
   208
{
hgs
parents:
diff changeset
   209
		die("program recieved too many parameters!");
hgs
parents:
diff changeset
   210
}#end of commandline processing
hgs
parents:
diff changeset
   211
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
	
hgs
parents:
diff changeset
   214
if( 0 )
hgs
parents:
diff changeset
   215
{
hgs
parents:
diff changeset
   216
	die("Please run the script from the appropriate internal folder in the mobileruntime /omerta project!!");
hgs
parents:
diff changeset
   217
}
hgs
parents:
diff changeset
   218
else
hgs
parents:
diff changeset
   219
{
hgs
parents:
diff changeset
   220
hgs
parents:
diff changeset
   221
	 my $srcPrefix = getcwd();
hgs
parents:
diff changeset
   222
	 $srcPrefix =~ /(.*)internal.*/;
hgs
parents:
diff changeset
   223
	 $srcPrefix = $1;
hgs
parents:
diff changeset
   224
	 if(rindex($templateRoot, "stdlibs") != -1)
hgs
parents:
diff changeset
   225
	 {
hgs
parents:
diff changeset
   226
	 	$srcPrefix =~ /(.*)stdlibs.*/;
hgs
parents:
diff changeset
   227
	 	$srcPrefix = $1;
hgs
parents:
diff changeset
   228
	 	
hgs
parents:
diff changeset
   229
	 	if($suite eq "glib")
hgs
parents:
diff changeset
   230
	 	{
hgs
parents:
diff changeset
   231
	 		$templateRoot = $srcPrefix."/glib/internal/";
hgs
parents:
diff changeset
   232
	 	}
hgs
parents:
diff changeset
   233
	 	elsif($suite eq "ssl")
hgs
parents:
diff changeset
   234
	 	{
hgs
parents:
diff changeset
   235
	 		$templateRoot = $srcPrefix."/ssl/internal/";
hgs
parents:
diff changeset
   236
	 	}
hgs
parents:
diff changeset
   237
	 	elsif($suite eq "ngi" && $session ne "yes")
hgs
parents:
diff changeset
   238
	 	{
hgs
parents:
diff changeset
   239
	 		print "ngi atsinput creation not supported from mobileruntime\n";
hgs
parents:
diff changeset
   240
	 		exit();
hgs
parents:
diff changeset
   241
	 	}
hgs
parents:
diff changeset
   242
	 }
hgs
parents:
diff changeset
   243
	 
hgs
parents:
diff changeset
   244
	if(rindex($templateRoot, "glib") != -1)
hgs
parents:
diff changeset
   245
	{
hgs
parents:
diff changeset
   246
		$suite = "glib";
hgs
parents:
diff changeset
   247
	}
hgs
parents:
diff changeset
   248
	elsif(rindex($templateRoot, "ssl") != -1)
hgs
parents:
diff changeset
   249
	{
hgs
parents:
diff changeset
   250
		$suite = "ssl";
hgs
parents:
diff changeset
   251
	}
hgs
parents:
diff changeset
   252
	elsif(rindex($templateRoot, "ngi") != -1)
hgs
parents:
diff changeset
   253
	{
hgs
parents:
diff changeset
   254
		$suite = "ngi";
hgs
parents:
diff changeset
   255
	}
hgs
parents:
diff changeset
   256
}
hgs
parents:
diff changeset
   257
hgs
parents:
diff changeset
   258
hgs
parents:
diff changeset
   259
my $optsGroupPath = $templateRoot."/ts/ltp/opts/group/";
hgs
parents:
diff changeset
   260
#$optsGroupPath = getcwd()."/ts/ltp/opts/group/";
hgs
parents:
diff changeset
   261
my $ltpPath =$templateRoot."/ts/ltp/";
hgs
parents:
diff changeset
   262
my $stdcppPath =$templateRoot."/testapps/stlport/";
hgs
parents:
diff changeset
   263
my @stdexeList = ("boost","testapps");
hgs
parents:
diff changeset
   264
#my $gnuPath =getcwd()."/testapps/gnu/";
hgs
parents:
diff changeset
   265
#my $tstdcppPath =getcwd()."/testapps/tstdcpp/";
hgs
parents:
diff changeset
   266
hgs
parents:
diff changeset
   267
hgs
parents:
diff changeset
   268
my @generatedModules;
hgs
parents:
diff changeset
   269
my %cfglocation;
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
my $TDIR = "\\internal\\testapps\\";
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
my @libcModules = ( "libc_loc_blr",  "libc_time_blr", "libc_db_blr","tctype", "tifioctls", "tinet",
hgs
parents:
diff changeset
   274
                      "tlibcwchar", "tlink", "tmkfifo", "tmmap", "tmsgqueue",
hgs
parents:
diff changeset
   275
		      "tnetdb", "tpipe","tregex", "tsemaphore", "tshm","tsocket" ,
hgs
parents:
diff changeset
   276
		      "tstdio", "tstdlib", "tstring", "tsyscalls",
hgs
parents:
diff changeset
   277
		      "tsyssim", "twctype", "tselect", "tsysunistd", "twideapis", "twopen", "twchar",
hgs
parents:
diff changeset
   278
		      "twcharapi",
hgs
parents:
diff changeset
   279
               );
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
my @libdlModules = ("tlibdl");
hgs
parents:
diff changeset
   282
my @libmModules = ("libm_double_blr", "libm_float_blr","libm_ldouble_blr");
hgs
parents:
diff changeset
   283
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
my @pthreadModules = ( "testcondbroadcast", "testconddestroy", "testcondinit", "testcondsignal", "testcondtimedwait", "testcondwait",
hgs
parents:
diff changeset
   286
"tmutex", "tpthread", "testpthreadonce", "testsemclose", "testsemdestroy", "testsemgetvalue", "testseminit", "testsemopen", "testsempost",
hgs
parents:
diff changeset
   287
"testsemtimedwait", "testsemtrywait", "testsemunlink", "testsemwait");
hgs
parents:
diff changeset
   288
hgs
parents:
diff changeset
   289
hgs
parents:
diff changeset
   290
my @stdliblist = ( "libc", "libpthread", "libdl", "libm", "libz", "libcrypt");
hgs
parents:
diff changeset
   291
my @dllList = ("backend.dll", "libc.dll", "LibCIpcClient.dll", "LibCIpcServer.exe", "libdl.dll", "libm.dll", "libpthread.dll", "libcrypt.dll", "libz.dll");
hgs
parents:
diff changeset
   292
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
my @stdcpplist = (
hgs
parents:
diff changeset
   295
  		#		 ["fstream1_input.txt", "stlport_fstream", "/../internal/testapps/doc/", "/General/", "C:\\TestFramework\\tstdcpp"],
hgs
parents:
diff changeset
   296
  			#	 ["nextperm1_good.txt", "stlport_nextprm", "/../internal/testapps/doc/", "/General/", "C:\\TestFramework\\tstdcpp"],
hgs
parents:
diff changeset
   297
  				# ["nextperm2_good.txt", "stlport_nextprm", "/../internal/testapps/doc/", "/General/", "C:\\TestFramework\\tstdcpp"],
hgs
parents:
diff changeset
   298
  				 #["ostmit_good.txt", "stlport_ostmit", "/../internal/testapps/doc/", "/General/", "C:\\TestFramework\\tstdcpp"],
hgs
parents:
diff changeset
   299
  				 #["seek.txt", "stlport_seek", "/../internal/testapps/doc/", "/General/", "C:\\TestFramework\\tstdcpp"],
hgs
parents:
diff changeset
   300
  			#	 ["test.txt", "platsectest6", "/../internal/testapps/doc/", "/General/", "C:\\resource"],
hgs
parents:
diff changeset
   301
  			# ["test.txt", "platsectest11", "/../internal/testapps/doc/", "/General/", "C:\\sys"],
hgs
parents:
diff changeset
   302
);
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
my @gliblist = (
hgs
parents:
diff changeset
   305
  				 ["1.gmarkup", "markup_test", "/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   306
   				 ["1.gmarkup", "markup-test", "/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   307
  				 ["iochannel-test-infile", "iochannel_test",  "/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   308
  				 ["iochannel-test-infile", "iochannel-test",  "/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   309
#  				 ["casemap.bin",  "unicode-caseconv",  "/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   310
#  				 ["casefold.bin", "unicode-caseconv",  "/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   311
  				 ["utf8.txt", "unicode-encoding","/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   312
  				 ["casecollate.txt", "unicode-collate","/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   313
  				 ["utf8_hindi.txt", "tutf8","/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   314
  				 ["scanfile.txt", "tscanner","/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   315
  				 ["test.txt", "dir_test","/epoc32/winscw/c/temp/tmp/", "/General/", "C:\\temp\\tmp"],
hgs
parents:
diff changeset
   316
  				 ["NormalizationTest.txt", "unicode-normalize","/epoc32/winscw/c/", "/General/", "C:"],
hgs
parents:
diff changeset
   317
  				 
hgs
parents:
diff changeset
   318
  				 ["helloworld.exe", "spawn_test","/epoc32/release/armv5/urel/", "/armv5_urel/", "C:\\sys\\bin"],
hgs
parents:
diff changeset
   319
  				 ["helloworld.exe", "spawn_test","/epoc32/release/winscw/udeb/", "/winscw_udeb/", "Z:\\sys\\bin"],
hgs
parents:
diff changeset
   320
  				 
hgs
parents:
diff changeset
   321
  				 ["libmoduletestplugin_a.dll", "module-test","/epoc32/release/armv5/urel/", "/armv5_urel/", "C:\\sys\\bin"],
hgs
parents:
diff changeset
   322
  				 ["libmoduletestplugin_a.dll", "module-test","/epoc32/release/winscw/udeb/", "/winscw_udeb/", "Z:\\sys\\bin"],
hgs
parents:
diff changeset
   323
  				 
hgs
parents:
diff changeset
   324
  				 ["libmoduletestplugin_b.dll", "module-test","/epoc32/release/armv5/urel/", "/armv5_urel/", "C:\\sys\\bin"],
hgs
parents:
diff changeset
   325
  				 ["libmoduletestplugin_b.dll", "module-test","/epoc32/release/winscw/udeb/", "/winscw_udeb/", "Z:\\sys\\bin"],
hgs
parents:
diff changeset
   326
  				 
hgs
parents:
diff changeset
   327
  			  				 
hgs
parents:
diff changeset
   328
  				 );
hgs
parents:
diff changeset
   329
  				 
hgs
parents:
diff changeset
   330
my @ngilist = (
hgs
parents:
diff changeset
   331
           ["Test.txt", "ngi_sa_runtimetester", "/EPOC32/winscw/c/Private/10202be9/", "/General/", ""],
hgs
parents:
diff changeset
   332
  				 ["sa_input_repository.txt", "shared","/EPOC32/armv5/c/TestFramework/", "/armv5_urel/", ""],
hgs
parents:
diff changeset
   333
  				 ["sa_input_repository.txt", "shared","/EPOC32/winscw/c/TestFramework/", "/winscw_udeb/", ""],
hgs
parents:
diff changeset
   334
  				 ["audiomixingfiles.ini", "ngi_sa_audiomixing","/EPOC32/winscw/c/TestFramework/", "/general/", ""],
hgs
parents:
diff changeset
   335
  				 ["sa_camera_supported.ini", "ngi_sa_camera","/EPOC32/armv5/c/TestFramework/", "/general/", ""],
hgs
parents:
diff changeset
   336
  				 ["sa_clip.ini", "ngi_sa_clip","/EPOC32/winscw/c/TestFramework/", "/general/", ""],
hgs
parents:
diff changeset
   337
  				 ["devicecapabilitiesdata.ini", "ngi_sa_devicecapabilities","/EPOC32/winscw/c/TestFramework/", "/general/", ""],
hgs
parents:
diff changeset
   338
   				 ["highlevelaudiofiles.ini", "ngi_sa_highlevelaudio","/EPOC32/winscw/c/TestFramework/", "/general/", ""],
hgs
parents:
diff changeset
   339
					 ["lowlevelaudiofiles.ini", "ngi_sa_lowlevelaudio","/EPOC32/winscw/c/TestFramework/", "/general/", ""],
hgs
parents:
diff changeset
   340
					 ["runtimedata.ini", "ngi_sa_runtimetester","/EPOC32/winscw/c/TestFramework/", "/general/", ""],						
hgs
parents:
diff changeset
   341
					 ["sa_stream.ini", "ngi_sa_stream","/EPOC32/winscw/c/TestFramework/", "/general/", ""],						
hgs
parents:
diff changeset
   342
					 #["*", "ngi_sa_videoplayback","/../graphics/video/internal/sa_videoplayback/data/", "/general/", ""],
hgs
parents:
diff changeset
   343
					 ["test.*", "ngi_sa_images","/Epoc32/winscw/c/Data/", "/general/", ""]
hgs
parents:
diff changeset
   344
					);
hgs
parents:
diff changeset
   345
hgs
parents:
diff changeset
   346
  				 
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
hgs
parents:
diff changeset
   349
my $validexpansions = "all stdlibs combined";
hgs
parents:
diff changeset
   350
my $validLibraries = "ltp opts lsb glib ssl ngi pcts stdcpp gcce libc-locale play_new phall boost";
hgs
parents:
diff changeset
   351
if(rindex($validexpansions, $suite)== -1 && rindex($validLibraries, $suite) == -1)
hgs
parents:
diff changeset
   352
{
hgs
parents:
diff changeset
   353
	die("$suite is not a valid library. Valid options are $validexpansions $validLibraries");
hgs
parents:
diff changeset
   354
}
hgs
parents:
diff changeset
   355
hgs
parents:
diff changeset
   356
my $dontStrip = 1;
hgs
parents:
diff changeset
   357
my	@liblist;
hgs
parents:
diff changeset
   358
if($suite eq "all")
hgs
parents:
diff changeset
   359
{
hgs
parents:
diff changeset
   360
		@liblist = split " ", $validLibraries;
hgs
parents:
diff changeset
   361
		@liblist = (@liblist, @stdliblist);
hgs
parents:
diff changeset
   362
		
hgs
parents:
diff changeset
   363
}#suite all
hgs
parents:
diff changeset
   364
elsif($suite eq "ltp")
hgs
parents:
diff changeset
   365
{
hgs
parents:
diff changeset
   366
	 @liblist = ("ltp", "opts");
hgs
parents:
diff changeset
   367
}
hgs
parents:
diff changeset
   368
elsif($suite eq "stdlibs")
hgs
parents:
diff changeset
   369
{
hgs
parents:
diff changeset
   370
		@liblist = @stdliblist;
hgs
parents:
diff changeset
   371
}
hgs
parents:
diff changeset
   372
elsif($suite eq "ssl")
hgs
parents:
diff changeset
   373
{
hgs
parents:
diff changeset
   374
	@liblist = ("libcrypto", "libssl");
hgs
parents:
diff changeset
   375
}
hgs
parents:
diff changeset
   376
else
hgs
parents:
diff changeset
   377
{
hgs
parents:
diff changeset
   378
		@liblist = ("$suite");
hgs
parents:
diff changeset
   379
}
hgs
parents:
diff changeset
   380
hgs
parents:
diff changeset
   381
#	foreach my $l(@liblist)
hgs
parents:
diff changeset
   382
#	{
hgs
parents:
diff changeset
   383
#			print "$l was there\n";
hgs
parents:
diff changeset
   384
#	}
hgs
parents:
diff changeset
   385
hgs
parents:
diff changeset
   386
hgs
parents:
diff changeset
   387
if($combinedSession eq "yes")
hgs
parents:
diff changeset
   388
{
hgs
parents:
diff changeset
   389
	GenerateSessionFile("combined", $target,"combined");
hgs
parents:
diff changeset
   390
	exit();
hgs
parents:
diff changeset
   391
}
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
if($session eq "yes")
hgs
parents:
diff changeset
   394
{
hgs
parents:
diff changeset
   395
	my $file = $templateRoot."/testsession.xml";
hgs
parents:
diff changeset
   396
	opendir(DIRHANDLE, $ATSRoot) || die("Please try to create Session files only after ATSINPUT/components has been created!");
hgs
parents:
diff changeset
   397
	closedir(DIRHANDLE);
hgs
parents:
diff changeset
   398
	$dontStrip = 1;
hgs
parents:
diff changeset
   399
	
hgs
parents:
diff changeset
   400
	if($suite eq "stdlibs")
hgs
parents:
diff changeset
   401
	{
hgs
parents:
diff changeset
   402
		#my $dst = $ATSRoot."/$suite"."_testsession.xml";
hgs
parents:
diff changeset
   403
		#copy($file, $dst);
hgs
parents:
diff changeset
   404
		GenerateSessionFile("combined",$target,$suite);
hgs
parents:
diff changeset
   405
		exit();
hgs
parents:
diff changeset
   406
	}
hgs
parents:
diff changeset
   407
	elsif($suite eq "ssl")
hgs
parents:
diff changeset
   408
	{
hgs
parents:
diff changeset
   409
		my @componentFiles = GetSslXmls();
hgs
parents:
diff changeset
   410
		GenerateSessionFile("combined",$target,$suite,\@componentFiles);
hgs
parents:
diff changeset
   411
		exit();
hgs
parents:
diff changeset
   412
	}
hgs
parents:
diff changeset
   413
	else
hgs
parents:
diff changeset
   414
	{
hgs
parents:
diff changeset
   415
		@generatedModules = GenGenModules($suite);
hgs
parents:
diff changeset
   416
		my @componentFiles = GetXmls($suite);
hgs
parents:
diff changeset
   417
		GenerateSessionFile("combined",$target,$suite,\@componentFiles);
hgs
parents:
diff changeset
   418
		exit();
hgs
parents:
diff changeset
   419
	}
hgs
parents:
diff changeset
   420
	foreach my $lib(@liblist)
hgs
parents:
diff changeset
   421
	{          
hgs
parents:
diff changeset
   422
			@generatedModules = GenGenModules($lib);
hgs
parents:
diff changeset
   423
			if(scalar @generatedModules != 0)
hgs
parents:
diff changeset
   424
			{
hgs
parents:
diff changeset
   425
				#print "Generating for $lib\n";
hgs
parents:
diff changeset
   426
				GenerateSessionFile($lib, $target,$lib);
hgs
parents:
diff changeset
   427
			}
hgs
parents:
diff changeset
   428
	}
hgs
parents:
diff changeset
   429
	
hgs
parents:
diff changeset
   430
	#@generatedModules = GetAllModules();
hgs
parents:
diff changeset
   431
	#if(scalar @generatedModules != 0)
hgs
parents:
diff changeset
   432
	#{
hgs
parents:
diff changeset
   433
	#		GenerateSessionFile("combined",$target, "combined");
hgs
parents:
diff changeset
   434
	#}
hgs
parents:
diff changeset
   435
	exit();
hgs
parents:
diff changeset
   436
}#session generation code
hgs
parents:
diff changeset
   437
hgs
parents:
diff changeset
   438
hgs
parents:
diff changeset
   439
if ($suite eq "ltp" || $suite eq "all")
hgs
parents:
diff changeset
   440
{
hgs
parents:
diff changeset
   441
	my @ltpModules = GetLtpModules();
hgs
parents:
diff changeset
   442
	@generatedModules = @ltpModules;
hgs
parents:
diff changeset
   443
	DoGen("ltp", ".dll");
hgs
parents:
diff changeset
   444
	CopyLtpCfg("ltp");
hgs
parents:
diff changeset
   445
	
hgs
parents:
diff changeset
   446
	
hgs
parents:
diff changeset
   447
	my @saved = @dllList;
hgs
parents:
diff changeset
   448
	@dllList = ("ltplib.dll");
hgs
parents:
diff changeset
   449
	CopySharedDlls("ltp", \@dllList);
hgs
parents:
diff changeset
   450
	TransformXmls("ltp","shared");
hgs
parents:
diff changeset
   451
	@dllList = @saved;
hgs
parents:
diff changeset
   452
	
hgs
parents:
diff changeset
   453
	@generatedModules = GetCompiledModules($optsGroupPath."/bld.inf");
hgs
parents:
diff changeset
   454
	DoGen("opts",".dll");
hgs
parents:
diff changeset
   455
hgs
parents:
diff changeset
   456
}
hgs
parents:
diff changeset
   457
if ($suite eq "glib")
hgs
parents:
diff changeset
   458
{
hgs
parents:
diff changeset
   459
	my $bldfile = $templateRoot."/testapps/group/bld.inf";
hgs
parents:
diff changeset
   460
	my @glibModules = GetCompiledModules($bldfile);
hgs
parents:
diff changeset
   461
	@generatedModules = @glibModules;
hgs
parents:
diff changeset
   462
	DoGen("glib",".exe");
hgs
parents:
diff changeset
   463
	my $gDataRef = \@gliblist;
hgs
parents:
diff changeset
   464
	CopyArbitDatFiles("glib",$gDataRef);
hgs
parents:
diff changeset
   465
	
hgs
parents:
diff changeset
   466
	if($install eq "yes")
hgs
parents:
diff changeset
   467
	{
hgs
parents:
diff changeset
   468
		my @saved = @dllList;
hgs
parents:
diff changeset
   469
		my @glib2dllList = ("glibbackend.dll", "Libgobject.dll", "libgmodule.dll", "libgthread.dll",
hgs
parents:
diff changeset
   470
                "libglib.dll");
hgs
parents:
diff changeset
   471
                
hgs
parents:
diff changeset
   472
   my  @glib1List = ( "libgobject.dll", "libgmodule.dll", "libgthread.dll",  "libglib.dll", );
hgs
parents:
diff changeset
   473
  @dllList = @glib2dllList;
hgs
parents:
diff changeset
   474
  CopySharedDlls("glib",\@dllList);     	
hgs
parents:
diff changeset
   475
  TransformXmls("glib", "shared");
hgs
parents:
diff changeset
   476
   	
hgs
parents:
diff changeset
   477
		@dllList = @saved;
hgs
parents:
diff changeset
   478
	}#if install
hgs
parents:
diff changeset
   479
}#glib
hgs
parents:
diff changeset
   480
hgs
parents:
diff changeset
   481
if ($suite eq "phall")
hgs
parents:
diff changeset
   482
{
hgs
parents:
diff changeset
   483
	my $bldfile = getcwd()."/group/bld.inf";
hgs
parents:
diff changeset
   484
	my @hallModules = GetCompiledModules($bldfile);
hgs
parents:
diff changeset
   485
	@generatedModules = @hallModules;
hgs
parents:
diff changeset
   486
	DoGen($suite,".exe");
hgs
parents:
diff changeset
   487
	#my $gDataRef = \@gliblist;
hgs
parents:
diff changeset
   488
	#CopyArbitDatFiles("glib",$gDataRef);
hgs
parents:
diff changeset
   489
	
hgs
parents:
diff changeset
   490
	if($install eq "yes")
hgs
parents:
diff changeset
   491
	{
hgs
parents:
diff changeset
   492
		my @saved = @dllList;
hgs
parents:
diff changeset
   493
                
hgs
parents:
diff changeset
   494
   my  @phallList = ( "libstdcpp.dll" );
hgs
parents:
diff changeset
   495
   @dllList = @phallList;
hgs
parents:
diff changeset
   496
   CopySharedDlls($suite,\@dllList);     	
hgs
parents:
diff changeset
   497
   TransformXmls($suite, "shared");
hgs
parents:
diff changeset
   498
   @dllList = @saved;
hgs
parents:
diff changeset
   499
   exit;
hgs
parents:
diff changeset
   500
	}#if install
hgs
parents:
diff changeset
   501
}#phall
hgs
parents:
diff changeset
   502
hgs
parents:
diff changeset
   503
if ($suite eq "ssl")
hgs
parents:
diff changeset
   504
{
hgs
parents:
diff changeset
   505
	my $stripStatus = $dontStrip;
hgs
parents:
diff changeset
   506
	$dontStrip = 0;
hgs
parents:
diff changeset
   507
	GenCryptoTest();
hgs
parents:
diff changeset
   508
	if($install eq "yes")
hgs
parents:
diff changeset
   509
	{
hgs
parents:
diff changeset
   510
		@dllList = (@dllList, "libcrypto.dll", "libssl.dll");   
hgs
parents:
diff changeset
   511
	}#if install
hgs
parents:
diff changeset
   512
	$dontStrip = $stripStatus;
hgs
parents:
diff changeset
   513
}#ssl
hgs
parents:
diff changeset
   514
hgs
parents:
diff changeset
   515
if($suite eq "ngi")
hgs
parents:
diff changeset
   516
{
hgs
parents:
diff changeset
   517
hgs
parents:
diff changeset
   518
	GenNgiTest();
hgs
parents:
diff changeset
   519
	CopyNgiXmls();
hgs
parents:
diff changeset
   520
	CopyArbitDatFiles("",\@ngilist);
hgs
parents:
diff changeset
   521
hgs
parents:
diff changeset
   522
}
hgs
parents:
diff changeset
   523
hgs
parents:
diff changeset
   524
if($suite eq "play_new")
hgs
parents:
diff changeset
   525
{
hgs
parents:
diff changeset
   526
	my @play_newModules = ("fonttestmodule", "messagingtestmodule","locationtestmodule", "alertstestmodule", 
hgs
parents:
diff changeset
   527
	"libxmlstiff","ngisvgtestmodule");
hgs
parents:
diff changeset
   528
	@generatedModules = @play_newModules;
hgs
parents:
diff changeset
   529
	DoGen("play_new",".dll");
hgs
parents:
diff changeset
   530
	
hgs
parents:
diff changeset
   531
	 my @list = (
hgs
parents:
diff changeset
   532
  				 			 ["*.cfg", "fonttestmodule", "/../fonts/internal/testmodules/fonttestmodule/group/","/General/", ""],
hgs
parents:
diff changeset
   533
	 				 			 ["*.xml", "fonttestmodule", "/../fonts/internal/testmodules/fonttestmodule/group/","/", ""],
hgs
parents:
diff changeset
   534
	 				 			 
hgs
parents:
diff changeset
   535
	 				 			 ["*.cfg", "messagingtestmodule", "/../ngimessaging/internal/testmodules/messagingtestmodule/group/","/General/", ""],
hgs
parents:
diff changeset
   536
	 				 			 ["*.xml", "messagingtestmodule", "/../ngimessaging/internal/testmodules/messagingtestmodule/group/","/", ""],
hgs
parents:
diff changeset
   537
	 				 			 ["*", "messagingtestmodule", "/EPOC32/winscw/c/messagingtestmodule/","/General/", ""],
hgs
parents:
diff changeset
   538
	 				 			 
hgs
parents:
diff changeset
   539
	 				 			 ["*.cfg", "locationtestmodule", "/../ngilocation/internal/testmodules/locationtestmodule/group/","/General/", ""],
hgs
parents:
diff changeset
   540
	 				 			 ["*.xml", "locationtestmodule", "/../ngilocation/internal/testmodules/locationtestmodule/group/","/", ""],
hgs
parents:
diff changeset
   541
	 				 			 
hgs
parents:
diff changeset
   542
	 				 			 ["*.cfg", "alertstestmodule", "/../ngialerts/internal/testmodules/alertstestmodule/group/","/General/", ""],
hgs
parents:
diff changeset
   543
								 ["*.xml", "alertstestmodule", "/../ngialerts/internal/testmodules/alertstestmodule/group/","/", ""],	 				 			 
hgs
parents:
diff changeset
   544
								 ["vertigo.wav", "alertstestmodule", "/Epoc32/winscw/c/alertstestmodule/","/General/", ""],	 				 			 	 				 			 
hgs
parents:
diff changeset
   545
	 		
hgs
parents:
diff changeset
   546
	 			 			  ["*.cfg", "libxmlstiff", "/../libxmlpp/internal/group/","/General/", ""],
hgs
parents:
diff changeset
   547
	 		 	 			  ["*.xml", "libxmlstiff", "/../libxmlpp/internal/group/","/", ""],
hgs
parents:
diff changeset
   548
	 		 	 			  ["*.*", "libxmlstiff", "/../libxmlpp/internal/data/","/General/", ""],
hgs
parents:
diff changeset
   549
	 		 	 			  
hgs
parents:
diff changeset
   550
	 		 	 			  ["*.cfg", "ngisvgtestmodule", "/../ngisvg/internal/testmodules/ngisvgtestmodule/group/","/General/", ""],
hgs
parents:
diff changeset
   551
   		 	 			  ["*.xml", "ngisvgtestmodule", "/../ngisvg/internal/testmodules/ngisvgtestmodule/group/","/", ""],
hgs
parents:
diff changeset
   552
	 		 	 			  ["*.*", "ngisvgtestmodule", "/epoc32/winscw/c/ngisvgtest/","/General/", ""],
hgs
parents:
diff changeset
   553
	 				 			 
hgs
parents:
diff changeset
   554
  				 );
hgs
parents:
diff changeset
   555
 
hgs
parents:
diff changeset
   556
  my $bDataRef = \@list;  				 
hgs
parents:
diff changeset
   557
	CopyArbitDatFiles("play_new",$bDataRef);  				 
hgs
parents:
diff changeset
   558
	if($install eq "yes")
hgs
parents:
diff changeset
   559
	{
hgs
parents:
diff changeset
   560
		@generatedModules = GenGenModules("play_new");
hgs
parents:
diff changeset
   561
		my @saved = @dllList;
hgs
parents:
diff changeset
   562
		my @playList = (
hgs
parents:
diff changeset
   563
"ngifonts.dll",
hgs
parents:
diff changeset
   564
"ngimessaging.dll",
hgs
parents:
diff changeset
   565
"ngisvg.dll",
hgs
parents:
diff changeset
   566
"ngilocation.dll",
hgs
parents:
diff changeset
   567
"ngialerts.dll",
hgs
parents:
diff changeset
   568
"libstdcpp.dll",
hgs
parents:
diff changeset
   569
"libxmlpp.dll",
hgs
parents:
diff changeset
   570
"FeedsLibXml2xmlpp.dll");
hgs
parents:
diff changeset
   571
       @dllList = @playList;
hgs
parents:
diff changeset
   572
		CopySharedDlls("play_new",\@dllList);     
hgs
parents:
diff changeset
   573
	  TransformXmls("play_new", "shared");
hgs
parents:
diff changeset
   574
		@dllList = @saved;
hgs
parents:
diff changeset
   575
hgs
parents:
diff changeset
   576
	}#end install
hgs
parents:
diff changeset
   577
hgs
parents:
diff changeset
   578
hgs
parents:
diff changeset
   579
}
hgs
parents:
diff changeset
   580
hgs
parents:
diff changeset
   581
if($suite eq "boost")
hgs
parents:
diff changeset
   582
{
hgs
parents:
diff changeset
   583
	#@generatedModules = GetstdcppModules();
hgs
parents:
diff changeset
   584
	#DoGen("stdcpp",".dll");
hgs
parents:
diff changeset
   585
	CopyLtpCfg("boost");
hgs
parents:
diff changeset
   586
	
hgs
parents:
diff changeset
   587
	my $bldfile = getcwd()."/filelist.txt";
hgs
parents:
diff changeset
   588
	#@generatedModules = GetCompiledModules($bldfile);
hgs
parents:
diff changeset
   589
	
hgs
parents:
diff changeset
   590
	recurse("testapps");
hgs
parents:
diff changeset
   591
	
hgs
parents:
diff changeset
   592
	@generatedModules = @AllModuleList;
hgs
parents:
diff changeset
   593
	
hgs
parents:
diff changeset
   594
	DoGen("boost",".exe");
hgs
parents:
diff changeset
   595
	
hgs
parents:
diff changeset
   596
	#my @saved = @dllList;
hgs
parents:
diff changeset
   597
#	@dllList = ("stdcxxtestengine.dll");
hgs
parents:
diff changeset
   598
#	CopySharedDlls("stdcpp", \@dllList);
hgs
parents:
diff changeset
   599
#	TransformXmls("stdcpp","shared");
hgs
parents:
diff changeset
   600
#	@dllList = @saved;
hgs
parents:
diff changeset
   601
	
hgs
parents:
diff changeset
   602
	CopyArbitDatFiles("stdcpp",\@stdcpplist);
hgs
parents:
diff changeset
   603
	
hgs
parents:
diff changeset
   604
	if($install eq "yes")
hgs
parents:
diff changeset
   605
	{
hgs
parents:
diff changeset
   606
		@generatedModules = GenGenModules("boost");
hgs
parents:
diff changeset
   607
		#my @saved = @dllList;
hgs
parents:
diff changeset
   608
		#my @cppList = ("libstdcpp.dll");
hgs
parents:
diff changeset
   609
     #  @dllList = @cppList;
hgs
parents:
diff changeset
   610
	#	CopySharedDlls("stdcpp",\@dllList);     
hgs
parents:
diff changeset
   611
	#  TransformXmls("boost", "shared");
hgs
parents:
diff changeset
   612
	#	@dllList = @saved;
hgs
parents:
diff changeset
   613
	  
hgs
parents:
diff changeset
   614
		my @saved = @dllList;
hgs
parents:
diff changeset
   615
                
hgs
parents:
diff changeset
   616
   my  @phallList = ( "libstdcpp.dll" );
hgs
parents:
diff changeset
   617
   @dllList = @phallList;
hgs
parents:
diff changeset
   618
   CopySharedDlls($suite,\@dllList);     	
hgs
parents:
diff changeset
   619
   TransformXmls($suite, "shared");
hgs
parents:
diff changeset
   620
   @dllList = @saved;
hgs
parents:
diff changeset
   621
   
hgs
parents:
diff changeset
   622
		exit;
hgs
parents:
diff changeset
   623
	}#if install
hgs
parents:
diff changeset
   624
}
hgs
parents:
diff changeset
   625
	
hgs
parents:
diff changeset
   626
hgs
parents:
diff changeset
   627
if($suite eq "lsb" || $suite eq "all")
hgs
parents:
diff changeset
   628
{
hgs
parents:
diff changeset
   629
	my @lsbModules = GetLsbModules();
hgs
parents:
diff changeset
   630
	@generatedModules = @lsbModules;
hgs
parents:
diff changeset
   631
	DoGen("lsb",".exe");
hgs
parents:
diff changeset
   632
	
hgs
parents:
diff changeset
   633
	my @depDlls;
hgs
parents:
diff changeset
   634
	my $dll;
hgs
parents:
diff changeset
   635
	
hgs
parents:
diff changeset
   636
	#copying the common dlls
hgs
parents:
diff changeset
   637
	@depDlls  = 
hgs
parents:
diff changeset
   638
	(
hgs
parents:
diff changeset
   639
	 "libapi.dll",
hgs
parents:
diff changeset
   640
	 "tcm.dll",
hgs
parents:
diff changeset
   641
	 "vlib.dll",
hgs
parents:
diff changeset
   642
	);
hgs
parents:
diff changeset
   643
		
hgs
parents:
diff changeset
   644
	foreach $dll (@depDlls)
hgs
parents:
diff changeset
   645
	{
hgs
parents:
diff changeset
   646
		CopyDeps("lsb",$dll);
hgs
parents:
diff changeset
   647
	}
hgs
parents:
diff changeset
   648
	#now copy the cfg files
hgs
parents:
diff changeset
   649
	CopyLsbCfg("lsb");	
hgs
parents:
diff changeset
   650
	#now copy the extra dependency dlls
hgs
parents:
diff changeset
   651
	
hgs
parents:
diff changeset
   652
	#dlopen
hgs
parents:
diff changeset
   653
	@generatedModules = ("dlopen");
hgs
parents:
diff changeset
   654
	
hgs
parents:
diff changeset
   655
	
hgs
parents:
diff changeset
   656
	
hgs
parents:
diff changeset
   657
	@depDlls  = 
hgs
parents:
diff changeset
   658
	(
hgs
parents:
diff changeset
   659
	 "dynlibtest.1.dll",
hgs
parents:
diff changeset
   660
	 "dynlibtest.11.1.dll",
hgs
parents:
diff changeset
   661
	 "dynlibtest.11.2.dll",
hgs
parents:
diff changeset
   662
	 "dynlibtest.12g.dll",
hgs
parents:
diff changeset
   663
	 "dynlibtest.12r.dll",
hgs
parents:
diff changeset
   664
	 "dynlibtest.14.1.dll",
hgs
parents:
diff changeset
   665
	 "dynlibtest.14.2.dll",
hgs
parents:
diff changeset
   666
	 "dynlibtest.14.3.dll",
hgs
parents:
diff changeset
   667
	 "dynlibtest.3.1.dll",
hgs
parents:
diff changeset
   668
	 "dynlibtest.3.2.dll",
hgs
parents:
diff changeset
   669
	 "dynlibtest.3.dll",
hgs
parents:
diff changeset
   670
	 "dynlibtest.4.dll",
hgs
parents:
diff changeset
   671
	 "dynlibtest.8.dll",
hgs
parents:
diff changeset
   672
	 "dynlibtest.9.dll",
hgs
parents:
diff changeset
   673
	 "dynlibtest.3.dll",
hgs
parents:
diff changeset
   674
	 "dynlibtest.8.dll",
hgs
parents:
diff changeset
   675
	);
hgs
parents:
diff changeset
   676
	
hgs
parents:
diff changeset
   677
	foreach $dll (@depDlls)
hgs
parents:
diff changeset
   678
	{
hgs
parents:
diff changeset
   679
		CopyDeps("lsb",$dll);
hgs
parents:
diff changeset
   680
	}
hgs
parents:
diff changeset
   681
	
hgs
parents:
diff changeset
   682
	#dlclose
hgs
parents:
diff changeset
   683
	@generatedModules = ("dlclose");
hgs
parents:
diff changeset
   684
	@depDlls = ("dynlibclose.1.dll");
hgs
parents:
diff changeset
   685
	foreach $dll (@depDlls)
hgs
parents:
diff changeset
   686
	{
hgs
parents:
diff changeset
   687
		CopyDeps("lsb",$dll);
hgs
parents:
diff changeset
   688
	}
hgs
parents:
diff changeset
   689
	
hgs
parents:
diff changeset
   690
	#dlerror
hgs
parents:
diff changeset
   691
	@generatedModules = ("dlerror");
hgs
parents:
diff changeset
   692
	@depDlls = ("dynlib.dll");
hgs
parents:
diff changeset
   693
	foreach $dll (@depDlls)
hgs
parents:
diff changeset
   694
	{
hgs
parents:
diff changeset
   695
		CopyDeps("lsb",$dll);
hgs
parents:
diff changeset
   696
	}
hgs
parents:
diff changeset
   697
	
hgs
parents:
diff changeset
   698
	#now copy the xmls!
hgs
parents:
diff changeset
   699
	my $srcDir = $templateRoot."/ts/lsbsuites/group/";
hgs
parents:
diff changeset
   700
	
hgs
parents:
diff changeset
   701
	my $dst;
hgs
parents:
diff changeset
   702
	
hgs
parents:
diff changeset
   703
	foreach my $dllib("dlopen", "dlclose", "dlerror")
hgs
parents:
diff changeset
   704
	{
hgs
parents:
diff changeset
   705
		$dst  = $ATSRoot."\\components\\lsb_".$dllib."\\";
hgs
parents:
diff changeset
   706
		copy($srcDir."/lsb_".$dllib."_module_blr_hw_component.xml", $dst) || die("DIED: unable to copy from $srcDir!\n");
hgs
parents:
diff changeset
   707
		copy($srcDir."/lsb_".$dllib."_module_blr_winsspd_component.xml", $dst) || die("DIED: unable to copy from $srcDir!\n");
hgs
parents:
diff changeset
   708
	}
hgs
parents:
diff changeset
   709
	
hgs
parents:
diff changeset
   710
}
hgs
parents:
diff changeset
   711
hgs
parents:
diff changeset
   712
if($suite eq "gcce")
hgs
parents:
diff changeset
   713
{
hgs
parents:
diff changeset
   714
hgs
parents:
diff changeset
   715
	mkdir $ATSRoot;
hgs
parents:
diff changeset
   716
	mkdir $ATSRoot."\\components" || die ("DIED: unable to create component dir");
hgs
parents:
diff changeset
   717
	
hgs
parents:
diff changeset
   718
	@generatedModules = ("gcce-validate", "gcce-load");
hgs
parents:
diff changeset
   719
		
hgs
parents:
diff changeset
   720
	my @depDlls  = 
hgs
parents:
diff changeset
   721
	(
hgs
parents:
diff changeset
   722
		"gcce-lib.dll",
hgs
parents:
diff changeset
   723
	);
hgs
parents:
diff changeset
   724
	
hgs
parents:
diff changeset
   725
	my $suffix = ".exe";
hgs
parents:
diff changeset
   726
	my $libname = "gcce";
hgs
parents:
diff changeset
   727
	
hgs
parents:
diff changeset
   728
	
hgs
parents:
diff changeset
   729
	my $src;
hgs
parents:
diff changeset
   730
	my $dst;
hgs
parents:
diff changeset
   731
	foreach my $module(@generatedModules)
hgs
parents:
diff changeset
   732
	{
hgs
parents:
diff changeset
   733
		my $relroot = $ATSRoot."\\components\\$libname"."_$module";
hgs
parents:
diff changeset
   734
		mkdir $relroot || die("DIED: unable to create dir $module\n");
hgs
parents:
diff changeset
   735
		mkdir $relroot."\\armv5_urel" || die("DIED: unable to create dir $relroot\\armv5_urel\n");
hgs
parents:
diff changeset
   736
		
hgs
parents:
diff changeset
   737
		#GenExeXmls($module,$libname);
hgs
parents:
diff changeset
   738
		
hgs
parents:
diff changeset
   739
		$src = $rootDrive."\\epoc32\\release\\gcce\\urel\\".$module.$suffix;
hgs
parents:
diff changeset
   740
		$dst = $ATSRoot."\\components\\".$libname."_".StripModulePrefix($module);
hgs
parents:
diff changeset
   741
		$dst = $dst."\\armv5_urel\\";
hgs
parents:
diff changeset
   742
		copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
   743
	}
hgs
parents:
diff changeset
   744
	$src = $rootDrive."\\epoc32\\release\\gcce\\urel\\"."gcce-lib.dll";
hgs
parents:
diff changeset
   745
	$dst = $ATSRoot."\\components\\gcce_gcce-load";
hgs
parents:
diff changeset
   746
	$dst = $dst."\\armv5_urel\\";
hgs
parents:
diff changeset
   747
	copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
   748
	
hgs
parents:
diff changeset
   749
	
hgs
parents:
diff changeset
   750
	my @list = (
hgs
parents:
diff changeset
   751
  				 ["gcce_gcce-load_module_blr_hw_component.xml", "gcce-load", "./","/", ""],
hgs
parents:
diff changeset
   752
  				 ["gcce_gcce-validate_module_blr_hw_component.xml", "gcce-validate", "./","/", ""],
hgs
parents:
diff changeset
   753
  				 );
hgs
parents:
diff changeset
   754
 
hgs
parents:
diff changeset
   755
  my $bDataRef = \@list;  				 
hgs
parents:
diff changeset
   756
	CopyArbitDatFiles("gcce",$bDataRef);  				 
hgs
parents:
diff changeset
   757
hgs
parents:
diff changeset
   758
	
hgs
parents:
diff changeset
   759
}#if gcce
hgs
parents:
diff changeset
   760
hgs
parents:
diff changeset
   761
hgs
parents:
diff changeset
   762
hgs
parents:
diff changeset
   763
if($suite eq "libc-locale")
hgs
parents:
diff changeset
   764
{
hgs
parents:
diff changeset
   765
	$dontStrip = 0;
hgs
parents:
diff changeset
   766
	mkdir $ATSRoot;
hgs
parents:
diff changeset
   767
	mkdir $ATSRoot."\\components" || die ("DIED: unable to create component dir");
hgs
parents:
diff changeset
   768
	
hgs
parents:
diff changeset
   769
	@generatedModules = ("tstring");
hgs
parents:
diff changeset
   770
	DoGen("libc",".dll");
hgs
parents:
diff changeset
   771
	
hgs
parents:
diff changeset
   772
	my @localelist = (
hgs
parents:
diff changeset
   773
	  				 ["locales.txt", "string", "../libc/internal/testapps/tstring/data/", "/General/", ""],
hgs
parents:
diff changeset
   774
	  				 ["tstring_locale_component.xml", "string", "../libc/internal/testapps/tstring/group/", "/", ""],
hgs
parents:
diff changeset
   775
	 
hgs
parents:
diff changeset
   776
	  				 );
hgs
parents:
diff changeset
   777
		
hgs
parents:
diff changeset
   778
  my $bDataRef = \@localelist;  				 
hgs
parents:
diff changeset
   779
	CopyArbitDatFiles("libc",$bDataRef);  				 
hgs
parents:
diff changeset
   780
	#delete($ATSRoot."/components/libc_string/"."libc_string_module_blr_hw_component.xml") || die("unable to delete");
hgs
parents:
diff changeset
   781
	my $my_src = $ATSRoot."/components/libc_string/"."tstring_locale_component.xml";
hgs
parents:
diff changeset
   782
	my $my_dst = $ATSRoot."/components/libc_string/"."libc_string_module_blr_hw_component.xml";
hgs
parents:
diff changeset
   783
	
hgs
parents:
diff changeset
   784
	unlink($my_dst) ||warn("unable to delete $my_dst");
hgs
parents:
diff changeset
   785
	rename($my_src,$my_dst) || move($my_src,$my_dst) || die("Unable to rename!");
hgs
parents:
diff changeset
   786
	
hgs
parents:
diff changeset
   787
}#if libc-locale
hgs
parents:
diff changeset
   788
hgs
parents:
diff changeset
   789
hgs
parents:
diff changeset
   790
if($suite eq "pcts")
hgs
parents:
diff changeset
   791
{
hgs
parents:
diff changeset
   792
	my $bldfile = $templateRoot."/group/bld.inf";
hgs
parents:
diff changeset
   793
	my @pctsModules = GetCompiledModules($bldfile);
hgs
parents:
diff changeset
   794
	@generatedModules = @pctsModules;
hgs
parents:
diff changeset
   795
	DoGen("pcts",".exe");
hgs
parents:
diff changeset
   796
	
hgs
parents:
diff changeset
   797
	my @depDlls;
hgs
parents:
diff changeset
   798
	my $dll;
hgs
parents:
diff changeset
   799
	
hgs
parents:
diff changeset
   800
	
hgs
parents:
diff changeset
   801
	#copying the common dlls
hgs
parents:
diff changeset
   802
	@depDlls  = 
hgs
parents:
diff changeset
   803
	(
hgs
parents:
diff changeset
   804
		"vsxlibapi.dll",
hgs
parents:
diff changeset
   805
		"rttm.exe",
hgs
parents:
diff changeset
   806
		"rtlibapi.dll",
hgs
parents:
diff changeset
   807
		"vsxvlib.dll",
hgs
parents:
diff changeset
   808
		"vsxgenlib.dll",
hgs
parents:
diff changeset
   809
		"vsxtsetlib.dll",
hgs
parents:
diff changeset
   810
		"vsxvport.dll",
hgs
parents:
diff changeset
   811
	);
hgs
parents:
diff changeset
   812
	
hgs
parents:
diff changeset
   813
	if($install eq "yes")
hgs
parents:
diff changeset
   814
	{
hgs
parents:
diff changeset
   815
		my @saved = @dllList; 
hgs
parents:
diff changeset
   816
		@dllList = @depDlls;	
hgs
parents:
diff changeset
   817
		CopySharedDlls("pcts", \@depDlls);
hgs
parents:
diff changeset
   818
		TransformXmls("pcts","shared");
hgs
parents:
diff changeset
   819
		@dllList = @saved;
hgs
parents:
diff changeset
   820
		
hgs
parents:
diff changeset
   821
		#now copy the cfg files
hgs
parents:
diff changeset
   822
		my $dst;
hgs
parents:
diff changeset
   823
		my $srcDir = "/epoc32/winscw/c/data/tet/";
hgs
parents:
diff changeset
   824
		my $file1 = $srcDir."tet_code";
hgs
parents:
diff changeset
   825
		my $file2 = $srcDir."tetexec.cfg";
hgs
parents:
diff changeset
   826
		foreach my $module(@generatedModules)
hgs
parents:
diff changeset
   827
		{
hgs
parents:
diff changeset
   828
			$dst = $ATSRoot."\\components\\pcts_".$module;
hgs
parents:
diff changeset
   829
			$dst = $dst."\\General\\";
hgs
parents:
diff changeset
   830
			copy($file1, $dst) or die "copy: $! $file1 $dst";
hgs
parents:
diff changeset
   831
			copy($file2,$dst) or die "copy: $! $file2 $dst";
hgs
parents:
diff changeset
   832
		}
hgs
parents:
diff changeset
   833
	}
hgs
parents:
diff changeset
   834
		
hgs
parents:
diff changeset
   835
	
hgs
parents:
diff changeset
   836
	
hgs
parents:
diff changeset
   837
	
hgs
parents:
diff changeset
   838
	my $dst;	
hgs
parents:
diff changeset
   839
	foreach my $module(@generatedModules)
hgs
parents:
diff changeset
   840
	{
hgs
parents:
diff changeset
   841
		my $file3 = "/epoc32/winscw/c/logs/tet/m.".$module;
hgs
parents:
diff changeset
   842
hgs
parents:
diff changeset
   843
		$dst = $ATSRoot."\\components\\pcts_".$module;
hgs
parents:
diff changeset
   844
		$dst = $dst."\\General\\";
hgs
parents:
diff changeset
   845
		copy($file3, $dst) or die "copy: $! $file3 $dst";
hgs
parents:
diff changeset
   846
	}#module
hgs
parents:
diff changeset
   847
}
hgs
parents:
diff changeset
   848
hgs
parents:
diff changeset
   849
hgs
parents:
diff changeset
   850
hgs
parents:
diff changeset
   851
$dontStrip = 0;
hgs
parents:
diff changeset
   852
hgs
parents:
diff changeset
   853
if($suite eq "stdlibs" || $suite eq "all")
hgs
parents:
diff changeset
   854
{
hgs
parents:
diff changeset
   855
	@generatedModules = ("tzlib");
hgs
parents:
diff changeset
   856
	DoGen("libz", ".dll");
hgs
parents:
diff changeset
   857
hgs
parents:
diff changeset
   858
	@generatedModules = ("tlibcrypt");
hgs
parents:
diff changeset
   859
	DoGen("libcrypt",".dll");
hgs
parents:
diff changeset
   860
hgs
parents:
diff changeset
   861
	@generatedModules = @libcModules;
hgs
parents:
diff changeset
   862
	DoGen("libc",".dll");
hgs
parents:
diff changeset
   863
	GenBackendTest();
hgs
parents:
diff changeset
   864
	
hgs
parents:
diff changeset
   865
	@generatedModules = ("twchar");
hgs
parents:
diff changeset
   866
	CopyDeps("libc","twchar_helloworld.exe");
hgs
parents:
diff changeset
   867
	
hgs
parents:
diff changeset
   868
	@generatedModules = ("twopen");
hgs
parents:
diff changeset
   869
	CopyDeps("libc","twpopenwritechild.exe");
hgs
parents:
diff changeset
   870
	CopyDeps("libc","twpopenreadchild.exe");
hgs
parents:
diff changeset
   871
hgs
parents:
diff changeset
   872
hgs
parents:
diff changeset
   873
	@generatedModules = @libdlModules;
hgs
parents:
diff changeset
   874
	DoGen("libdl",".dll");
hgs
parents:
diff changeset
   875
	CopyDeps("libdl","Dll1.dll");
hgs
parents:
diff changeset
   876
	CopyDeps("libdl","Dll2.dll");
hgs
parents:
diff changeset
   877
	CopyDeps("libdl","DependencyTestDll.dll");
hgs
parents:
diff changeset
   878
hgs
parents:
diff changeset
   879
	@generatedModules = @libmModules;
hgs
parents:
diff changeset
   880
	DoGen("libm",".dll");
hgs
parents:
diff changeset
   881
hgs
parents:
diff changeset
   882
	$TDIR = "\\internal\\";
hgs
parents:
diff changeset
   883
	@generatedModules = @pthreadModules;
hgs
parents:
diff changeset
   884
	DoGen("libpthread",".dll");
hgs
parents:
diff changeset
   885
	CopyDeps("libpthread","testharness.dll");
hgs
parents:
diff changeset
   886
hgs
parents:
diff changeset
   887
	CopyDatFiles();
hgs
parents:
diff changeset
   888
}
hgs
parents:
diff changeset
   889
hgs
parents:
diff changeset
   890
if($install eq "yes")
hgs
parents:
diff changeset
   891
{
hgs
parents:
diff changeset
   892
	foreach my $lib(@liblist)
hgs
parents:
diff changeset
   893
	{   
hgs
parents:
diff changeset
   894
		#print "Transforming lib $lib\n";       
hgs
parents:
diff changeset
   895
		@generatedModules = GenGenModules($lib);
hgs
parents:
diff changeset
   896
		my @oldList = @dllList;
hgs
parents:
diff changeset
   897
		if($do_winscw)
hgs
parents:
diff changeset
   898
  	{
hgs
parents:
diff changeset
   899
  		@dllList = (@dllList, "wsdsoln.dll", "libestw32.dll");
hgs
parents:
diff changeset
   900
  		CopySharedDlls($lib,\@dllList,"winscw");     	
hgs
parents:
diff changeset
   901
	  	TransformXmls($lib, "shared","winscw");
hgs
parents:
diff changeset
   902
  	}
hgs
parents:
diff changeset
   903
  	@dllList = @oldList;
hgs
parents:
diff changeset
   904
  	if($do_armv5)
hgs
parents:
diff changeset
   905
  	{
hgs
parents:
diff changeset
   906
	  	CopySharedDlls($lib,\@dllList,"armv5");     	
hgs
parents:
diff changeset
   907
	  	TransformXmls($lib, "shared","armv5");
hgs
parents:
diff changeset
   908
  	}
hgs
parents:
diff changeset
   909
	}#FOREACH
hgs
parents:
diff changeset
   910
}#if install
hgs
parents:
diff changeset
   911
hgs
parents:
diff changeset
   912
hgs
parents:
diff changeset
   913
# Function added by Roshan G (Dec 4th 2007) - Get list of modules from bld.inf by recursively searching testapps folder
hgs
parents:
diff changeset
   914
sub recurse
hgs
parents:
diff changeset
   915
{
hgs
parents:
diff changeset
   916
  
hgs
parents:
diff changeset
   917
	my $path = shift @_;
hgs
parents:
diff changeset
   918
	$path .= '/' if($path !~ /\/$/);
hgs
parents:
diff changeset
   919
hgs
parents:
diff changeset
   920
  ## print the directory being searched
hgs
parents:
diff changeset
   921
 # print "Path : $path,\n";
hgs
parents:
diff changeset
   922
hgs
parents:
diff changeset
   923
  ## loop through the files contained in the directory
hgs
parents:
diff changeset
   924
  for my $eachFile (glob($path.'*')) {
hgs
parents:
diff changeset
   925
	#	print "Entry : $eachFile\n";
hgs
parents:
diff changeset
   926
    ## if the file is a directory
hgs
parents:
diff changeset
   927
    if( -d $eachFile && basename($eachFile) ne "test_framework") {
hgs
parents:
diff changeset
   928
      ## pass the directory to the routine ( recursion )
hgs
parents:
diff changeset
   929
      recurse($eachFile);
hgs
parents:
diff changeset
   930
    } else {
hgs
parents:
diff changeset
   931
hgs
parents:
diff changeset
   932
      ## print the file ... tabbed for readability
hgs
parents:
diff changeset
   933
      #print "\t",$eachFile,"\n";
hgs
parents:
diff changeset
   934
      if(basename($eachFile) eq "bld.inf")
hgs
parents:
diff changeset
   935
      {
hgs
parents:
diff changeset
   936
        #print "\t",$eachFile,"\n";
hgs
parents:
diff changeset
   937
      	push (@AllModuleList,GetCompiledModules($eachFile));
hgs
parents:
diff changeset
   938
      }
hgs
parents:
diff changeset
   939
    }
hgs
parents:
diff changeset
   940
  }
hgs
parents:
diff changeset
   941
 }
hgs
parents:
diff changeset
   942
#End of recurse - Dec 4th 2007
hgs
parents:
diff changeset
   943
hgs
parents:
diff changeset
   944
#function to generate ModuleList for a compiled bld.inf
hgs
parents:
diff changeset
   945
sub GetCompiledModules($)
hgs
parents:
diff changeset
   946
{
hgs
parents:
diff changeset
   947
	my $file = shift @_;
hgs
parents:
diff changeset
   948
	my @moduleList;
hgs
parents:
diff changeset
   949
	
hgs
parents:
diff changeset
   950
	
hgs
parents:
diff changeset
   951
	# Open input file
hgs
parents:
diff changeset
   952
	open (INFILE, "<".$file ) || die ("DIED: Can not find $file!");
hgs
parents:
diff changeset
   953
hgs
parents:
diff changeset
   954
	while (<INFILE>)
hgs
parents:
diff changeset
   955
	{
hgs
parents:
diff changeset
   956
		if(/(.*)\.mmp/ && $1 !~ /^\s*\/\//) 
hgs
parents:
diff changeset
   957
	  {
hgs
parents:
diff changeset
   958
	  		if($_ !~ /\/\/Not for ATS/)
hgs
parents:
diff changeset
   959
	  		{
hgs
parents:
diff changeset
   960
	  			my $text = $1;
hgs
parents:
diff changeset
   961
	  		  $text =~ s/^\s*//;
hgs
parents:
diff changeset
   962
	  			push @moduleList, $text;
hgs
parents:
diff changeset
   963
	  		}
hgs
parents:
diff changeset
   964
	  }
hgs
parents:
diff changeset
   965
	}
hgs
parents:
diff changeset
   966
	close (INFILE);
hgs
parents:
diff changeset
   967
	return @moduleList;
hgs
parents:
diff changeset
   968
}
hgs
parents:
diff changeset
   969
hgs
parents:
diff changeset
   970
my @groupList;
hgs
parents:
diff changeset
   971
sub GetLtpModules()
hgs
parents:
diff changeset
   972
{
hgs
parents:
diff changeset
   973
        my $prevDir = getcwd();
hgs
parents:
diff changeset
   974
        my @rootList = ("kernel", "misc");
hgs
parents:
diff changeset
   975
        my @totalgroupList;
hgs
parents:
diff changeset
   976
        foreach my $node(@rootList)
hgs
parents:
diff changeset
   977
        {
hgs
parents:
diff changeset
   978
        	chdir $ltpPath."/$node";
hgs
parents:
diff changeset
   979
        	@groupList = ();
hgs
parents:
diff changeset
   980
        	find(\&MakeGroupList, ".");
hgs
parents:
diff changeset
   981
        	@totalgroupList = (@totalgroupList, @groupList);
hgs
parents:
diff changeset
   982
        }
hgs
parents:
diff changeset
   983
        chdir $prevDir;
hgs
parents:
diff changeset
   984
        return @totalgroupList;
hgs
parents:
diff changeset
   985
}
hgs
parents:
diff changeset
   986
hgs
parents:
diff changeset
   987
sub GetstdexeModules()
hgs
parents:
diff changeset
   988
{
hgs
parents:
diff changeset
   989
      my $prevDir = getcwd();
hgs
parents:
diff changeset
   990
      my @fullList = ();
hgs
parents:
diff changeset
   991
      foreach my $group(@stdexeList)
hgs
parents:
diff changeset
   992
      {
hgs
parents:
diff changeset
   993
      	my $groupPath = $templateRoot."/testapps/".$group. "/";
hgs
parents:
diff changeset
   994
      	chdir $groupPath;
hgs
parents:
diff changeset
   995
      	@groupList = ();
hgs
parents:
diff changeset
   996
      	find(\&grovelAllMmpFiles, ".");
hgs
parents:
diff changeset
   997
      	chdir $prevDir;
hgs
parents:
diff changeset
   998
      	@fullList = (@fullList,@groupList);
hgs
parents:
diff changeset
   999
      }
hgs
parents:
diff changeset
  1000
      return @fullList;      
hgs
parents:
diff changeset
  1001
}
hgs
parents:
diff changeset
  1002
hgs
parents:
diff changeset
  1003
sub grovelAllMmpFiles()
hgs
parents:
diff changeset
  1004
{
hgs
parents:
diff changeset
  1005
	if($_ =~ /(.*)\.mmp/ && ! ($_ =~ /manual/))
hgs
parents:
diff changeset
  1006
	{
hgs
parents:
diff changeset
  1007
		push @groupList, $1;#get name of module
hgs
parents:
diff changeset
  1008
	}
hgs
parents:
diff changeset
  1009
}
hgs
parents:
diff changeset
  1010
hgs
parents:
diff changeset
  1011
sub GetstdcppModules()
hgs
parents:
diff changeset
  1012
{
hgs
parents:
diff changeset
  1013
        my $prevDir = getcwd();
hgs
parents:
diff changeset
  1014
        my @rootList = ("auto");
hgs
parents:
diff changeset
  1015
        my @totalgroupList;
hgs
parents:
diff changeset
  1016
        foreach my $node(@rootList)
hgs
parents:
diff changeset
  1017
        {
hgs
parents:
diff changeset
  1018
        	chdir $stdcppPath."/$node";
hgs
parents:
diff changeset
  1019
        	@groupList = ();
hgs
parents:
diff changeset
  1020
        	find(\&MakeGroupList, ".");
hgs
parents:
diff changeset
  1021
        	@totalgroupList = (@totalgroupList, @groupList);
hgs
parents:
diff changeset
  1022
        }
hgs
parents:
diff changeset
  1023
        chdir $prevDir;
hgs
parents:
diff changeset
  1024
        my @newmodules = ("tiostreams", "tlocale", "tstl_1", "tstl_2", "tstl_3", "twiostreams");
hgs
parents:
diff changeset
  1025
        @totalgroupList = (@totalgroupList, @newmodules); 
hgs
parents:
diff changeset
  1026
        foreach my $mod(@newmodules)
hgs
parents:
diff changeset
  1027
        {
hgs
parents:
diff changeset
  1028
         $cfglocation{$mod} = getcwd()."/testapps/bc/$mod/group"."\/$mod.cfg";
hgs
parents:
diff changeset
  1029
         #print "$cfglocation{$mod} - $mod\n";
hgs
parents:
diff changeset
  1030
        }
hgs
parents:
diff changeset
  1031
				return @totalgroupList;
hgs
parents:
diff changeset
  1032
}
hgs
parents:
diff changeset
  1033
hgs
parents:
diff changeset
  1034
sub GetTstdcppModules()
hgs
parents:
diff changeset
  1035
{
hgs
parents:
diff changeset
  1036
      my $prevDir = getcwd();
hgs
parents:
diff changeset
  1037
      #chdir $tstdcppPath;
hgs
parents:
diff changeset
  1038
      @groupList = ();
hgs
parents:
diff changeset
  1039
      find(\&grovelAllMmpFiles, ".");
hgs
parents:
diff changeset
  1040
      chdir $prevDir;
hgs
parents:
diff changeset
  1041
      return @groupList;
hgs
parents:
diff changeset
  1042
}
hgs
parents:
diff changeset
  1043
hgs
parents:
diff changeset
  1044
sub MakeGroupList()
hgs
parents:
diff changeset
  1045
{
hgs
parents:
diff changeset
  1046
	my $currentDir = $File::Find::dir;
hgs
parents:
diff changeset
  1047
	
hgs
parents:
diff changeset
  1048
	#print "Current dir:$currentDir\n";
hgs
parents:
diff changeset
  1049
	if( $currentDir =~ /.*\/(.*)\/group/)
hgs
parents:
diff changeset
  1050
	{
hgs
parents:
diff changeset
  1051
		if($cfglocation{$1} eq "")
hgs
parents:
diff changeset
  1052
		{
hgs
parents:
diff changeset
  1053
			$cfglocation{$1} = getcwd()."\/$1.cfg";
hgs
parents:
diff changeset
  1054
			push @groupList, $1;#get name of module
hgs
parents:
diff changeset
  1055
		}#first time in group
hgs
parents:
diff changeset
  1056
	}#group found
hgs
parents:
diff changeset
  1057
}#subrtn end
hgs
parents:
diff changeset
  1058
hgs
parents:
diff changeset
  1059
hgs
parents:
diff changeset
  1060
#function that generates the ATS setup
hgs
parents:
diff changeset
  1061
sub DoGen($$)
hgs
parents:
diff changeset
  1062
{
hgs
parents:
diff changeset
  1063
	my $libname = shift @_;
hgs
parents:
diff changeset
  1064
	my $ext = shift @_;
hgs
parents:
diff changeset
  1065
	mkdir $ATSRoot;
hgs
parents:
diff changeset
  1066
	mkdir $ATSRoot."\\components" || die ("DIED: unable to create component dir");
hgs
parents:
diff changeset
  1067
	
hgs
parents:
diff changeset
  1068
	
hgs
parents:
diff changeset
  1069
	GenDirs($libname);
hgs
parents:
diff changeset
  1070
	my $module;
hgs
parents:
diff changeset
  1071
	foreach my $listed(@generatedModules)
hgs
parents:
diff changeset
  1072
	{
hgs
parents:
diff changeset
  1073
	my @filesToProcess =
hgs
parents:
diff changeset
  1074
        (
hgs
parents:
diff changeset
  1075
         "LibXXX_ATSTemplateXXX_module_blr_hw_component.xml",
hgs
parents:
diff changeset
  1076
         "LibXXX_ATSTemplateXXX_module_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1077
         "testframework.ini",
hgs
parents:
diff changeset
  1078
        );
hgs
parents:
diff changeset
  1079
		if(rindex($noXmlsGenList, $libname) != -1 )	
hgs
parents:
diff changeset
  1080
		{
hgs
parents:
diff changeset
  1081
			@filesToProcess = ("testframework.ini",);
hgs
parents:
diff changeset
  1082
		}
hgs
parents:
diff changeset
  1083
hgs
parents:
diff changeset
  1084
			if($ext eq ".exe")
hgs
parents:
diff changeset
  1085
			{
hgs
parents:
diff changeset
  1086
				GenExeXmls($listed,$libname);
hgs
parents:
diff changeset
  1087
			}
hgs
parents:
diff changeset
  1088
			else
hgs
parents:
diff changeset
  1089
			{
hgs
parents:
diff changeset
  1090
				#just in case no xml file was supplied
hgs
parents:
diff changeset
  1091
				
hgs
parents:
diff changeset
  1092
        my $ref = \@filesToProcess;
hgs
parents:
diff changeset
  1093
				GenXmls($libname, $listed,$ref);
hgs
parents:
diff changeset
  1094
			}
hgs
parents:
diff changeset
  1095
	}#foreach
hgs
parents:
diff changeset
  1096
	
hgs
parents:
diff changeset
  1097
	CopyDlls($libname,$ext);
hgs
parents:
diff changeset
  1098
	#copy the provided cfg, ini and xmls
hgs
parents:
diff changeset
  1099
	if($libname eq "opts")
hgs
parents:
diff changeset
  1100
	{
hgs
parents:
diff changeset
  1101
		CopyOptsCfg($libname);
hgs
parents:
diff changeset
  1102
	}
hgs
parents:
diff changeset
  1103
	elsif($libname eq "ltp" || $libname eq "lsb" || $libname eq "glib")
hgs
parents:
diff changeset
  1104
	{
hgs
parents:
diff changeset
  1105
	  #copy latter and  dont copy respectively for ltp and lsb
hgs
parents:
diff changeset
  1106
	}
hgs
parents:
diff changeset
  1107
	else
hgs
parents:
diff changeset
  1108
	{
hgs
parents:
diff changeset
  1109
	  CopyCfgIniXmls($libname);
hgs
parents:
diff changeset
  1110
	}
hgs
parents:
diff changeset
  1111
}
hgs
parents:
diff changeset
  1112
hgs
parents:
diff changeset
  1113
sub CopyCfgIniXmls()
hgs
parents:
diff changeset
  1114
{
hgs
parents:
diff changeset
  1115
	my $libname = pop @_;
hgs
parents:
diff changeset
  1116
	
hgs
parents:
diff changeset
  1117
	my $libRoot = $templateRoot;
hgs
parents:
diff changeset
  1118
	$libRoot =~ /(.*)internal.*/;
hgs
parents:
diff changeset
  1119
	$libRoot = $1;
hgs
parents:
diff changeset
  1120
hgs
parents:
diff changeset
  1121
hgs
parents:
diff changeset
  1122
	my $module;
hgs
parents:
diff changeset
  1123
	my $src;
hgs
parents:
diff changeset
  1124
	my $dst;
hgs
parents:
diff changeset
  1125
		
hgs
parents:
diff changeset
  1126
	foreach my $listed(@generatedModules)
hgs
parents:
diff changeset
  1127
	{
hgs
parents:
diff changeset
  1128
	  my $dirname = $listed;
hgs
parents:
diff changeset
  1129
	  $dirname =~ s/test/t/;
hgs
parents:
diff changeset
  1130
	  $module = StripModulePrefix($listed);
hgs
parents:
diff changeset
  1131
	    
hgs
parents:
diff changeset
  1132
		$src = $libRoot.$libname.$TDIR.$dirname."\\group\\";
hgs
parents:
diff changeset
  1133
				
hgs
parents:
diff changeset
  1134
		my $xmlCopied = "0";
hgs
parents:
diff changeset
  1135
		my @globpattern = ("*.ini", "*.xml","*.cfg");
hgs
parents:
diff changeset
  1136
		foreach my $pat(@globpattern)
hgs
parents:
diff changeset
  1137
		{
hgs
parents:
diff changeset
  1138
			$dst = $ATSRoot."\\components\\".$libname."_".$module;
hgs
parents:
diff changeset
  1139
			if($pat ne "*.xml")
hgs
parents:
diff changeset
  1140
			{
hgs
parents:
diff changeset
  1141
				$dst = $dst."\\General\\";
hgs
parents:
diff changeset
  1142
			}
hgs
parents:
diff changeset
  1143
			else
hgs
parents:
diff changeset
  1144
			{
hgs
parents:
diff changeset
  1145
				$dst = $dst."\\";
hgs
parents:
diff changeset
  1146
			}
hgs
parents:
diff changeset
  1147
			my @filesFound = glob($src."\\$pat");
hgs
parents:
diff changeset
  1148
			if(scalar @filesFound eq "0")
hgs
parents:
diff changeset
  1149
			{
hgs
parents:
diff changeset
  1150
				#print "No files found for module $module $pat!\n";
hgs
parents:
diff changeset
  1151
				#print $src;
hgs
parents:
diff changeset
  1152
			}
hgs
parents:
diff changeset
  1153
			
hgs
parents:
diff changeset
  1154
			#handcoded
hgs
parents:
diff changeset
  1155
			if($pat eq "*.cfg" && $xmlCopied eq "0")#rename only if xml not copied
hgs
parents:
diff changeset
  1156
			{
hgs
parents:
diff changeset
  1157
				if(scalar @filesFound > 1)
hgs
parents:
diff changeset
  1158
				{
hgs
parents:
diff changeset
  1159
					print "Multiple cfg files found. Copying all!\n";
hgs
parents:
diff changeset
  1160
				}
hgs
parents:
diff changeset
  1161
				else
hgs
parents:
diff changeset
  1162
				{
hgs
parents:
diff changeset
  1163
						$dst = $dst.$listed.".cfg";
hgs
parents:
diff changeset
  1164
				}
hgs
parents:
diff changeset
  1165
			}				
hgs
parents:
diff changeset
  1166
			elsif($pat eq "*.xml")
hgs
parents:
diff changeset
  1167
			{
hgs
parents:
diff changeset
  1168
				my $folder = $dst;
hgs
parents:
diff changeset
  1169
				foreach my $from (@filesFound) 
hgs
parents:
diff changeset
  1170
				{
hgs
parents:
diff changeset
  1171
					if($from =~ /winscw_component/)
hgs
parents:
diff changeset
  1172
					{
hgs
parents:
diff changeset
  1173
						$dst = $folder.$libname."_".$module."_module_blr_winscw_component.xml";
hgs
parents:
diff changeset
  1174
						copy($from, $dst) or die "DIED: copy: $! $from $dst";
hgs
parents:
diff changeset
  1175
						$xmlCopied = "1";
hgs
parents:
diff changeset
  1176
					}
hgs
parents:
diff changeset
  1177
					elsif($from =~ /winsspd_component/)
hgs
parents:
diff changeset
  1178
					{
hgs
parents:
diff changeset
  1179
						$dst = $folder.$libname."_".$module."_module_blr_winsspd_component.xml";
hgs
parents:
diff changeset
  1180
						copy($from, $dst) or die "DIED: copy: $! $from $dst";
hgs
parents:
diff changeset
  1181
						$xmlCopied = "1";
hgs
parents:
diff changeset
  1182
					}
hgs
parents:
diff changeset
  1183
					elsif($from =~ /hw_component/)
hgs
parents:
diff changeset
  1184
					{
hgs
parents:
diff changeset
  1185
						$dst = $folder.$libname."_".$module."_module_blr_hw_component.xml";
hgs
parents:
diff changeset
  1186
						copy($from, $dst) or die "DIED: copy: $! $from $dst";
hgs
parents:
diff changeset
  1187
						$xmlCopied = "1";
hgs
parents:
diff changeset
  1188
					}
hgs
parents:
diff changeset
  1189
				}#examine individually			
hgs
parents:
diff changeset
  1190
				if(scalar @filesFound > 2)
hgs
parents:
diff changeset
  1191
				{
hgs
parents:
diff changeset
  1192
					#print "Multiple xml files found!!!\n";
hgs
parents:
diff changeset
  1193
				}
hgs
parents:
diff changeset
  1194
				@filesFound = ();
hgs
parents:
diff changeset
  1195
			}	
hgs
parents:
diff changeset
  1196
				
hgs
parents:
diff changeset
  1197
			
hgs
parents:
diff changeset
  1198
			foreach my $from (@filesFound) 
hgs
parents:
diff changeset
  1199
			{
hgs
parents:
diff changeset
  1200
					copy($from, $dst) or die "DIED: copy: $! $from $dst";
hgs
parents:
diff changeset
  1201
			}#copy individually			
hgs
parents:
diff changeset
  1202
		}#globpattern
hgs
parents:
diff changeset
  1203
	}#module
hgs
parents:
diff changeset
  1204
}#fn
hgs
parents:
diff changeset
  1205
hgs
parents:
diff changeset
  1206
#copy the cfg files for the opts test suite
hgs
parents:
diff changeset
  1207
sub CopyOptsCfg()
hgs
parents:
diff changeset
  1208
{
hgs
parents:
diff changeset
  1209
	my $libname = pop @_;
hgs
parents:
diff changeset
  1210
	
hgs
parents:
diff changeset
  1211
	my $libRoot = $optsGroupPath."\\";
hgs
parents:
diff changeset
  1212
	my $module;
hgs
parents:
diff changeset
  1213
	my $src;
hgs
parents:
diff changeset
  1214
	my $dst;
hgs
parents:
diff changeset
  1215
		
hgs
parents:
diff changeset
  1216
	foreach $module(@generatedModules)
hgs
parents:
diff changeset
  1217
	{
hgs
parents:
diff changeset
  1218
		$src = $libRoot.$module."\.cfg";
hgs
parents:
diff changeset
  1219
		$dst = $ATSRoot."\\components\\".$libname."_".$module;
hgs
parents:
diff changeset
  1220
		$dst = $dst."\\General\\";
hgs
parents:
diff changeset
  1221
		copy($src, $dst) or warn "copy: $! $src $dst";
hgs
parents:
diff changeset
  1222
	}#module
hgs
parents:
diff changeset
  1223
}#fn
hgs
parents:
diff changeset
  1224
hgs
parents:
diff changeset
  1225
#copy the lsb cfg files
hgs
parents:
diff changeset
  1226
sub CopyLsbCfg()
hgs
parents:
diff changeset
  1227
{
hgs
parents:
diff changeset
  1228
	my $libname = pop @_;
hgs
parents:
diff changeset
  1229
	
hgs
parents:
diff changeset
  1230
	my $module;
hgs
parents:
diff changeset
  1231
	
hgs
parents:
diff changeset
  1232
	my $dst;
hgs
parents:
diff changeset
  1233
	
hgs
parents:
diff changeset
  1234
	my $srcDir = $templateRoot."/ts/lsbsuites/lsblib/data/";
hgs
parents:
diff changeset
  1235
		
hgs
parents:
diff changeset
  1236
	foreach $module(@generatedModules)
hgs
parents:
diff changeset
  1237
	{
hgs
parents:
diff changeset
  1238
		my $file1 = $srcDir."tet_code.cfg";
hgs
parents:
diff changeset
  1239
		my $file2 = $srcDir."tetexec.cfg";
hgs
parents:
diff changeset
  1240
		$dst = $ATSRoot."\\components\\".$libname."_".$module;
hgs
parents:
diff changeset
  1241
		$dst = $dst."\\General\\";
hgs
parents:
diff changeset
  1242
		copy($file1, $dst) or die "copy: $! $file1 $dst";
hgs
parents:
diff changeset
  1243
		copy($file2, $dst) or die "copy: $! $file2 $dst";
hgs
parents:
diff changeset
  1244
	}#module
hgs
parents:
diff changeset
  1245
}#fn
hgs
parents:
diff changeset
  1246
hgs
parents:
diff changeset
  1247
hgs
parents:
diff changeset
  1248
#copy the ltp cfg files
hgs
parents:
diff changeset
  1249
sub CopyLtpCfg($)
hgs
parents:
diff changeset
  1250
{
hgs
parents:
diff changeset
  1251
	my $libname = pop @_;
hgs
parents:
diff changeset
  1252
	
hgs
parents:
diff changeset
  1253
	my $module;
hgs
parents:
diff changeset
  1254
	my $src;
hgs
parents:
diff changeset
  1255
	my $dst;
hgs
parents:
diff changeset
  1256
		
hgs
parents:
diff changeset
  1257
	foreach $module(@generatedModules)
hgs
parents:
diff changeset
  1258
	{
hgs
parents:
diff changeset
  1259
		$src = $cfglocation{$module};
hgs
parents:
diff changeset
  1260
		$dst = $ATSRoot."\\components\\".$libname."_".$module;
hgs
parents:
diff changeset
  1261
		$dst = $dst."\\General\\";
hgs
parents:
diff changeset
  1262
		copy($src, $dst) or warn "copy: $! $src $dst";
hgs
parents:
diff changeset
  1263
	}#module
hgs
parents:
diff changeset
  1264
}#fn
hgs
parents:
diff changeset
  1265
hgs
parents:
diff changeset
  1266
hgs
parents:
diff changeset
  1267
sub CopyDlls($$)
hgs
parents:
diff changeset
  1268
{
hgs
parents:
diff changeset
  1269
	my $libname = shift @_;
hgs
parents:
diff changeset
  1270
	my $suffix = shift @_;
hgs
parents:
diff changeset
  1271
	
hgs
parents:
diff changeset
  1272
	my $module;
hgs
parents:
diff changeset
  1273
	my $src;
hgs
parents:
diff changeset
  1274
	my $dst;
hgs
parents:
diff changeset
  1275
	
hgs
parents:
diff changeset
  1276
	
hgs
parents:
diff changeset
  1277
	foreach $module(@generatedModules)
hgs
parents:
diff changeset
  1278
	{
hgs
parents:
diff changeset
  1279
	  if($do_winscw == 1)
hgs
parents:
diff changeset
  1280
	  { 	  
hgs
parents:
diff changeset
  1281
			$src = $rootDrive."\\epoc32\\release\\winscw\\udeb\\".$module.$suffix;
hgs
parents:
diff changeset
  1282
			$dst = $ATSRoot."\\components\\".$libname."_".StripModulePrefix($module);
hgs
parents:
diff changeset
  1283
			$dst = $dst."\\winscw_udeb\\";
hgs
parents:
diff changeset
  1284
			copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  1285
		}
hgs
parents:
diff changeset
  1286
	  if($do_armv5 == 1)
hgs
parents:
diff changeset
  1287
	  {
hgs
parents:
diff changeset
  1288
			$src = $rootDrive."\\epoc32\\release\\armv5\\urel\\".$module.$suffix;
hgs
parents:
diff changeset
  1289
			$dst = $ATSRoot."\\components\\".$libname."_".StripModulePrefix($module);
hgs
parents:
diff changeset
  1290
			$dst = $dst."\\armv5_urel\\";
hgs
parents:
diff changeset
  1291
			copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  1292
		}
hgs
parents:
diff changeset
  1293
	}#foreach
hgs
parents:
diff changeset
  1294
}
hgs
parents:
diff changeset
  1295
#fn to generate the session file
hgs
parents:
diff changeset
  1296
sub GenerateSessionFile($$$$)
hgs
parents:
diff changeset
  1297
{
hgs
parents:
diff changeset
  1298
	my $libname = shift @_;
hgs
parents:
diff changeset
  1299
	my $target = shift @_;
hgs
parents:
diff changeset
  1300
	my $name = shift @_;
hgs
parents:
diff changeset
  1301
	my $listptr = shift @_;
hgs
parents:
diff changeset
  1302
	my $outdir = $ATSRoot;
hgs
parents:
diff changeset
  1303
	my $infile = $templateRoot."\\testsession.xml";
hgs
parents:
diff changeset
  1304
	chdir $outdir || die("DIED: Unable to chdir!"); 
hgs
parents:
diff changeset
  1305
	#open INFILE, $infile || die ("DIED: Can not open input file $infile");
hgs
parents:
diff changeset
  1306
	my $prefix = $name."_".$target;
hgs
parents:
diff changeset
  1307
	if($sdkversion ne "")
hgs
parents:
diff changeset
  1308
	{
hgs
parents:
diff changeset
  1309
		$prefix = $prefix."_".$sdkversion;
hgs
parents:
diff changeset
  1310
	}
hgs
parents:
diff changeset
  1311
	
hgs
parents:
diff changeset
  1312
	open OUTFILE, ">".$outdir."\\".$prefix."_testsession.xml" || die ("DIED: Can not open output file");
hgs
parents:
diff changeset
  1313
	my $line;
hgs
parents:
diff changeset
  1314
  my $snippet = $target;
hgs
parents:
diff changeset
  1315
  if($target ne "winscw" && $target ne "winsspd")
hgs
parents:
diff changeset
  1316
  {
hgs
parents:
diff changeset
  1317
  	$snippet = "hw";
hgs
parents:
diff changeset
  1318
  }
hgs
parents:
diff changeset
  1319
hgs
parents:
diff changeset
  1320
print OUTFILE "<?xml version=\"1.0\"?>\n";
hgs
parents:
diff changeset
  1321
print OUTFILE "<testsession>\n";
hgs
parents:
diff changeset
  1322
#print OUTFILE "<symbian-version>$libname"."_".$snippet."_TestDrop_blr_component</symbian-version>\n";	
hgs
parents:
diff changeset
  1323
print OUTFILE "<symbian-version>Boost_combined_test_session</symbian-version>\n";	
hgs
parents:
diff changeset
  1324
print OUTFILE "<testitem>at</testitem>\n";	
hgs
parents:
diff changeset
  1325
print OUTFILE "<resultfile>ATSOUTPUT\\".$prefix."_testsession_results.xml</resultfile>\n";		
hgs
parents:
diff changeset
  1326
if($sendEmail eq "yes")
hgs
parents:
diff changeset
  1327
{
hgs
parents:
diff changeset
  1328
print OUTFILE <<EOEmailNote;
hgs
parents:
diff changeset
  1329
<email_notification>
hgs
parents:
diff changeset
  1330
<include_test_cases>false</include_test_cases>
hgs
parents:
diff changeset
  1331
<message_file>C:\\\\lm.txt </message_file>
hgs
parents:
diff changeset
  1332
<send_after_rerun>false</send_after_rerun>
hgs
parents:
diff changeset
  1333
<subject>Boost $snippet testreport</subject>
hgs
parents:
diff changeset
  1334
<from>swbuild\@nokia.com</from>
hgs
parents:
diff changeset
  1335
<to>ajith.narayanan\@nokia.com</to>
hgs
parents:
diff changeset
  1336
<to>hrishikesh.brahmakal\@nokia.com</to>
hgs
parents:
diff changeset
  1337
<to>santosh.ks\@nokia.com</to>
hgs
parents:
diff changeset
  1338
<to>shilpa.sharma\@nokia.com</to>
hgs
parents:
diff changeset
  1339
<to>kasthuri.n-s\@nokia.com</to>
hgs
parents:
diff changeset
  1340
<to>hema.1.s\@nokia.com</to>
hgs
parents:
diff changeset
  1341
<to>vineetha.hari-pai\@nokia.com</to>
hgs
parents:
diff changeset
  1342
<to>madhusudhan.p.reddy\@nokia.com</to>
hgs
parents:
diff changeset
  1343
</email_notification>
hgs
parents:
diff changeset
  1344
EOEmailNote
hgs
parents:
diff changeset
  1345
}
hgs
parents:
diff changeset
  1346
hgs
parents:
diff changeset
  1347
	if($libname ne "combined")
hgs
parents:
diff changeset
  1348
	{
hgs
parents:
diff changeset
  1349
		AddAssumedIncludes($libname,$snippet);
hgs
parents:
diff changeset
  1350
	}
hgs
parents:
diff changeset
  1351
	else
hgs
parents:
diff changeset
  1352
	{
hgs
parents:
diff changeset
  1353
		if($listptr ne "")
hgs
parents:
diff changeset
  1354
		{
hgs
parents:
diff changeset
  1355
			AddFileList($libname,$listptr);
hgs
parents:
diff changeset
  1356
		}
hgs
parents:
diff changeset
  1357
		else
hgs
parents:
diff changeset
  1358
		{
hgs
parents:
diff changeset
  1359
			AddActualIncludes($libname);
hgs
parents:
diff changeset
  1360
		}
hgs
parents:
diff changeset
  1361
	}
hgs
parents:
diff changeset
  1362
   				
hgs
parents:
diff changeset
  1363
	print OUTFILE "</testsession>\n";
hgs
parents:
diff changeset
  1364
hgs
parents:
diff changeset
  1365
	close(OUTFILE);
hgs
parents:
diff changeset
  1366
	#close(INFILE);
hgs
parents:
diff changeset
  1367
}#fn
hgs
parents:
diff changeset
  1368
hgs
parents:
diff changeset
  1369
hgs
parents:
diff changeset
  1370
sub AddAssumedIncludes($$)
hgs
parents:
diff changeset
  1371
{
hgs
parents:
diff changeset
  1372
	my $libname = shift @_; 
hgs
parents:
diff changeset
  1373
	my $snippet = shift @_;
hgs
parents:
diff changeset
  1374
	
hgs
parents:
diff changeset
  1375
	my $APITest;
hgs
parents:
diff changeset
  1376
	foreach my $listed(@generatedModules)
hgs
parents:
diff changeset
  1377
						{
hgs
parents:
diff changeset
  1378
							$APITest = StripModulePrefix($listed);
hgs
parents:
diff changeset
  1379
							print OUTFILE  "\n";
hgs
parents:
diff changeset
  1380
							print OUTFILE "	<!--Inclusion of $target xml for $APITest -->\n";
hgs
parents:
diff changeset
  1381
							print OUTFILE "	<component>\n";
hgs
parents:
diff changeset
  1382
							print OUTFILE "		<factory>Symbian</factory>\n";
hgs
parents:
diff changeset
  1383
							if($libname eq "all")
hgs
parents:
diff changeset
  1384
							{
hgs
parents:
diff changeset
  1385
									print OUTFILE "		 <testplan>ATSINPUT\\components\\$listed\\$listed"."_module_blr_".$snippet."_component.xml</testplan>\n";	 
hgs
parents:
diff changeset
  1386
							}
hgs
parents:
diff changeset
  1387
							else
hgs
parents:
diff changeset
  1388
							{
hgs
parents:
diff changeset
  1389
									print OUTFILE "		 <testplan>ATSINPUT\\components\\$libname"."_"."$APITest\\$libname"."_$APITest"."_module_blr_".$snippet."_component.xml</testplan>\n";	 
hgs
parents:
diff changeset
  1390
							}
hgs
parents:
diff changeset
  1391
							if($target eq "winscw")
hgs
parents:
diff changeset
  1392
							{
hgs
parents:
diff changeset
  1393
									print OUTFILE "		<target hardware=\"winscw\" build=\"udeb\" />\n";
hgs
parents:
diff changeset
  1394
							}
hgs
parents:
diff changeset
  1395
							elsif($target eq "winsspd")
hgs
parents:
diff changeset
  1396
							{
hgs
parents:
diff changeset
  1397
								print OUTFILE " <target hardware=\"winsspd\" platform=\"winscw\" build=\"udeb\" />\n"; 
hgs
parents:
diff changeset
  1398
							}
hgs
parents:
diff changeset
  1399
							else
hgs
parents:
diff changeset
  1400
							{
hgs
parents:
diff changeset
  1401
										print OUTFILE "		<target hardware=\"$target\" build=\"urel\" />\n";
hgs
parents:
diff changeset
  1402
							}
hgs
parents:
diff changeset
  1403
							print OUTFILE "	</component>\n";
hgs
parents:
diff changeset
  1404
							print OUTFILE "\n";
hgs
parents:
diff changeset
  1405
	           }#foreach @generatedModules
hgs
parents:
diff changeset
  1406
}
hgs
parents:
diff changeset
  1407
hgs
parents:
diff changeset
  1408
hgs
parents:
diff changeset
  1409
sub AddFileList($$)
hgs
parents:
diff changeset
  1410
{
hgs
parents:
diff changeset
  1411
	my $libname = shift @_; 
hgs
parents:
diff changeset
  1412
	my $listptr = shift @_;
hgs
parents:
diff changeset
  1413
	my @componentfiles = @$listptr;
hgs
parents:
diff changeset
  1414
	
hgs
parents:
diff changeset
  1415
			foreach my $listed(@componentfiles)
hgs
parents:
diff changeset
  1416
						{
hgs
parents:
diff changeset
  1417
								print OUTFILE  "\n";
hgs
parents:
diff changeset
  1418
							print OUTFILE "	<!--Inclusion of $target xml -->\n";
hgs
parents:
diff changeset
  1419
							print OUTFILE "	<component>\n";
hgs
parents:
diff changeset
  1420
							print OUTFILE "		<factory>Symbian</factory>\n";
hgs
parents:
diff changeset
  1421
							print OUTFILE "		 <testplan>ATSINPUT\\components\\$listed</testplan>\n";	 
hgs
parents:
diff changeset
  1422
							if($target eq "winscw")
hgs
parents:
diff changeset
  1423
							{
hgs
parents:
diff changeset
  1424
									print OUTFILE "		<target hardware=\"winscw\" build=\"udeb\" />\n";
hgs
parents:
diff changeset
  1425
							}
hgs
parents:
diff changeset
  1426
							elsif($target eq "winsspd")
hgs
parents:
diff changeset
  1427
							{
hgs
parents:
diff changeset
  1428
								print OUTFILE " <target hardware=\"winsspd\" platform=\"winscw\" build=\"udeb\" />\n"; 
hgs
parents:
diff changeset
  1429
							}
hgs
parents:
diff changeset
  1430
							else
hgs
parents:
diff changeset
  1431
							{
hgs
parents:
diff changeset
  1432
										print OUTFILE "		<target hardware=\"$target\" build=\"urel\" />\n";
hgs
parents:
diff changeset
  1433
							}
hgs
parents:
diff changeset
  1434
							print OUTFILE "	</component>\n";
hgs
parents:
diff changeset
  1435
							print OUTFILE "\n";
hgs
parents:
diff changeset
  1436
	           }#foreach @componentfiles
hgs
parents:
diff changeset
  1437
}
hgs
parents:
diff changeset
  1438
hgs
parents:
diff changeset
  1439
hgs
parents:
diff changeset
  1440
hgs
parents:
diff changeset
  1441
sub GetSslXmls()
hgs
parents:
diff changeset
  1442
{
hgs
parents:
diff changeset
  1443
	my $APITest;
hgs
parents:
diff changeset
  1444
	my @componentfiles;
hgs
parents:
diff changeset
  1445
	
hgs
parents:
diff changeset
  1446
	my @emulatorfiles = 
hgs
parents:
diff changeset
  1447
	(
hgs
parents:
diff changeset
  1448
	"libssl_ssltest\\libssl_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1449
	"libcrypto_crypto_test\\libcrypto_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1450
	"libcrypto_openssl\\libcrypto_topenssltestss_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1451
	"libcrypto_openssl\\libcrypto_topenssltestverify_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1452
	"libcrypto_openssl\\libcrypto_topenssltestenc_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1453
	"libcrypto_openssl\\libcrypto_topenssltestgen_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1454
	"libcrypto_openssl\\libcrypto_topenssltpkcs7_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1455
	"libcrypto_openssl\\libcrypto_topenssltpkcs7d_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1456
	"libcrypto_openssl\\libcrypto_topenssltreq_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1457
	"libcrypto_openssl\\libcrypto_topenssltreq2_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1458
	"libcrypto_openssl\\libcrypto_topenssltrsa_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1459
	"libcrypto_openssl\\libcrypto_topenssltcrl_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1460
	"libcrypto_openssl\\libcrypto_topenssltsid_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1461
	"libcrypto_openssl\\libcrypto_topenssltx509_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1462
	"libcrypto_openssl\\libcrypto_topenssltx5091_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1463
	"libcrypto_openssl\\libcrypto_topenssltx5092_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1464
	 );
hgs
parents:
diff changeset
  1465
	 
hgs
parents:
diff changeset
  1466
	my @hwfiles =
hgs
parents:
diff changeset
  1467
	(
hgs
parents:
diff changeset
  1468
		"libcrypto_openssl\\libcrypto_topenssltestss_blr_hw_component.xml",
hgs
parents:
diff changeset
  1469
		"libcrypto_openssl\\libcrypto_topenssltestverify_blr_hw_component.xml",
hgs
parents:
diff changeset
  1470
		"libcrypto_openssl\\libcrypto_topenssltestenc_blr_hw_component.xml",
hgs
parents:
diff changeset
  1471
		"libcrypto_openssl\\libcrypto_topenssltestgen_blr_hw_component.xml",
hgs
parents:
diff changeset
  1472
		"libcrypto_openssl\\libcrypto_topenssltpkcs7_blr_hw_component.xml",
hgs
parents:
diff changeset
  1473
		"libcrypto_openssl\\libcrypto_topenssltpkcs7d_blr_hw_component.xml",
hgs
parents:
diff changeset
  1474
		"libcrypto_openssl\\libcrypto_topenssltreq_blr_hw_component.xml",
hgs
parents:
diff changeset
  1475
		"libcrypto_openssl\\libcrypto_topenssltreq2_blr_hw_component.xml",
hgs
parents:
diff changeset
  1476
		"libcrypto_openssl\\libcrypto_topenssltrsa_blr_hw_component.xml",
hgs
parents:
diff changeset
  1477
		"libcrypto_openssl\\libcrypto_topenssltcrl_blr_hw_component.xml",
hgs
parents:
diff changeset
  1478
		"libcrypto_openssl\\libcrypto_topenssltsid_blr_hw_component.xml",
hgs
parents:
diff changeset
  1479
		"libcrypto_openssl\\libcrypto_topenssltx509_blr_hw_component.xml",
hgs
parents:
diff changeset
  1480
		"libcrypto_openssl\\libcrypto_topenssltx5091_blr_hw_component.xml",
hgs
parents:
diff changeset
  1481
		"libcrypto_openssl\\libcrypto_topenssltx5092_blr_hw_component.xml",		
hgs
parents:
diff changeset
  1482
		"libssl_ssltest\\libssl_blr_hw_component.xml",
hgs
parents:
diff changeset
  1483
		"libcrypto_crypto_test\\libcrypto_blr_hw_component.xml",
hgs
parents:
diff changeset
  1484
	);
hgs
parents:
diff changeset
  1485
	if($target eq "winsspd" || $target eq "winscw")
hgs
parents:
diff changeset
  1486
	{
hgs
parents:
diff changeset
  1487
		@componentfiles = @emulatorfiles;
hgs
parents:
diff changeset
  1488
	}
hgs
parents:
diff changeset
  1489
	else
hgs
parents:
diff changeset
  1490
	{
hgs
parents:
diff changeset
  1491
		@componentfiles = @hwfiles;
hgs
parents:
diff changeset
  1492
	}
hgs
parents:
diff changeset
  1493
	return @componentfiles;
hgs
parents:
diff changeset
  1494
}
hgs
parents:
diff changeset
  1495
hgs
parents:
diff changeset
  1496
hgs
parents:
diff changeset
  1497
hgs
parents:
diff changeset
  1498
sub AddActualIncludes($)
hgs
parents:
diff changeset
  1499
{
hgs
parents:
diff changeset
  1500
	my $libname = shift @_; 
hgs
parents:
diff changeset
  1501
	find(\&XmlComponentFiles, ".");
hgs
parents:
diff changeset
  1502
	my $key;
hgs
parents:
diff changeset
  1503
	my $value;
hgs
parents:
diff changeset
  1504
	while(($key, $value) = each(%DirHash)) 
hgs
parents:
diff changeset
  1505
	{
hgs
parents:
diff changeset
  1506
							$value =~ s/\//\\/g;
hgs
parents:
diff changeset
  1507
							print OUTFILE  "\n";
hgs
parents:
diff changeset
  1508
							print OUTFILE "	<!--Inclusion of dynamically found $target xml -->\n";
hgs
parents:
diff changeset
  1509
							print OUTFILE "	<component>\n";
hgs
parents:
diff changeset
  1510
							print OUTFILE "		<factory>Symbian</factory>\n";
hgs
parents:
diff changeset
  1511
							print OUTFILE "		 <testplan>$value</testplan>\n";	 
hgs
parents:
diff changeset
  1512
							if($target eq "winscw")
hgs
parents:
diff changeset
  1513
							{
hgs
parents:
diff changeset
  1514
									print OUTFILE "		<target hardware=\"winscw\" build=\"udeb\" />\n";
hgs
parents:
diff changeset
  1515
							}
hgs
parents:
diff changeset
  1516
							elsif($target eq "winsspd")
hgs
parents:
diff changeset
  1517
							{
hgs
parents:
diff changeset
  1518
								print OUTFILE " <target hardware=\"winsspd\" platform=\"winscw\" build=\"udeb\" />\n"; 
hgs
parents:
diff changeset
  1519
							}
hgs
parents:
diff changeset
  1520
							else
hgs
parents:
diff changeset
  1521
							{
hgs
parents:
diff changeset
  1522
										print OUTFILE "		<target hardware=\"$target\" build=\"urel\" />\n";
hgs
parents:
diff changeset
  1523
							}
hgs
parents:
diff changeset
  1524
							print OUTFILE "	</component>\n";
hgs
parents:
diff changeset
  1525
							print OUTFILE "\n";
hgs
parents:
diff changeset
  1526
	
hgs
parents:
diff changeset
  1527
	}#while
hgs
parents:
diff changeset
  1528
}#fn
hgs
parents:
diff changeset
  1529
hgs
parents:
diff changeset
  1530
sub XmlComponentFiles()
hgs
parents:
diff changeset
  1531
{
hgs
parents:
diff changeset
  1532
	if($_ !~ /\.xml/ || $_ =~ /manual/)
hgs
parents:
diff changeset
  1533
	{
hgs
parents:
diff changeset
  1534
		return;
hgs
parents:
diff changeset
  1535
	}
hgs
parents:
diff changeset
  1536
	#print "Processing $_\n";
hgs
parents:
diff changeset
  1537
	my $dir = getcwd();
hgs
parents:
diff changeset
  1538
	if($dir =~ /.*(ATSINPUT.*)/)
hgs
parents:
diff changeset
  1539
	{
hgs
parents:
diff changeset
  1540
			$dir = $1;
hgs
parents:
diff changeset
  1541
			if($dir !~ /.*components.*/)
hgs
parents:
diff changeset
  1542
			{
hgs
parents:
diff changeset
  1543
				return;
hgs
parents:
diff changeset
  1544
			}
hgs
parents:
diff changeset
  1545
			#print "The dir is $dir\n";
hgs
parents:
diff changeset
  1546
	}
hgs
parents:
diff changeset
  1547
	else
hgs
parents:
diff changeset
  1548
	{
hgs
parents:
diff changeset
  1549
		return;
hgs
parents:
diff changeset
  1550
	}
hgs
parents:
diff changeset
  1551
	
hgs
parents:
diff changeset
  1552
	if($target eq "winsspd" )
hgs
parents:
diff changeset
  1553
	{
hgs
parents:
diff changeset
  1554
		if($_ =~ /winsspd/)
hgs
parents:
diff changeset
  1555
		{
hgs
parents:
diff changeset
  1556
			#print "Adding $target file $_ for $dir\n";
hgs
parents:
diff changeset
  1557
			$DirHash{$dir} = $dir."/".$_;
hgs
parents:
diff changeset
  1558
		}
hgs
parents:
diff changeset
  1559
	}
hgs
parents:
diff changeset
  1560
	elsif($target eq "winscw")
hgs
parents:
diff changeset
  1561
	{
hgs
parents:
diff changeset
  1562
		if($_ =~ /winscw/)
hgs
parents:
diff changeset
  1563
		{
hgs
parents:
diff changeset
  1564
			#print "Adding $target file $_ for $dir\n";
hgs
parents:
diff changeset
  1565
			$DirHash{$dir} = $dir."/".$_;
hgs
parents:
diff changeset
  1566
		}
hgs
parents:
diff changeset
  1567
	}
hgs
parents:
diff changeset
  1568
	elsif($_ =~ /$target/)
hgs
parents:
diff changeset
  1569
	{
hgs
parents:
diff changeset
  1570
		#print "$_ matched $target \n";
hgs
parents:
diff changeset
  1571
		#print "Adding $target file $_ for $dir\n";
hgs
parents:
diff changeset
  1572
		$DirHash{$dir} = $dir."/".$_;
hgs
parents:
diff changeset
  1573
	}
hgs
parents:
diff changeset
  1574
	elsif($_ =~/hw/)
hgs
parents:
diff changeset
  1575
	{
hgs
parents:
diff changeset
  1576
		#print "$_ matched hw";
hgs
parents:
diff changeset
  1577
		if(scalar $DirHash{$dir} == 0)
hgs
parents:
diff changeset
  1578
		{
hgs
parents:
diff changeset
  1579
			#print "Adding hw file $_ for $dir\n";
hgs
parents:
diff changeset
  1580
			$DirHash{$dir} = $dir."/".$_;
hgs
parents:
diff changeset
  1581
			#print " and added\n"
hgs
parents:
diff changeset
  1582
		}
hgs
parents:
diff changeset
  1583
		else
hgs
parents:
diff changeset
  1584
		{
hgs
parents:
diff changeset
  1585
			#print " and not added\n";
hgs
parents:
diff changeset
  1586
		}
hgs
parents:
diff changeset
  1587
	}
hgs
parents:
diff changeset
  1588
}
hgs
parents:
diff changeset
  1589
hgs
parents:
diff changeset
  1590
hgs
parents:
diff changeset
  1591
hgs
parents:
diff changeset
  1592
sub emptyArray()
hgs
parents:
diff changeset
  1593
{
hgs
parents:
diff changeset
  1594
	@generatedModules = ();
hgs
parents:
diff changeset
  1595
}
hgs
parents:
diff changeset
  1596
hgs
parents:
diff changeset
  1597
sub GenDirs($)
hgs
parents:
diff changeset
  1598
{
hgs
parents:
diff changeset
  1599
 my $libname = shift @_;
hgs
parents:
diff changeset
  1600
 my $dirname;
hgs
parents:
diff changeset
  1601
 foreach my $module(@generatedModules)
hgs
parents:
diff changeset
  1602
 {
hgs
parents:
diff changeset
  1603
  $dirname = StripModulePrefix($module);
hgs
parents:
diff changeset
  1604
	my $relroot = $ATSRoot."\\components\\$libname"."_$dirname";
hgs
parents:
diff changeset
  1605
	mkdir $relroot || die("DIED: unable to create dir $dirname\n");
hgs
parents:
diff changeset
  1606
	mkdir $relroot."\\General" || die("DIED: unable to create dir $relroot\\General\n");
hgs
parents:
diff changeset
  1607
	if($do_armv5 == 1)
hgs
parents:
diff changeset
  1608
	{
hgs
parents:
diff changeset
  1609
		mkdir $relroot."\\armv5_urel" || die("DIED: unable to create dir $relroot\\armv5_urel\n");
hgs
parents:
diff changeset
  1610
	}
hgs
parents:
diff changeset
  1611
	if($do_winscw == 1)
hgs
parents:
diff changeset
  1612
	{
hgs
parents:
diff changeset
  1613
		mkdir $relroot."\\winscw_udeb" || die("DIED: unable to create dir $relroot\\winscw_udeb\n");
hgs
parents:
diff changeset
  1614
	}
hgs
parents:
diff changeset
  1615
 }
hgs
parents:
diff changeset
  1616
}
hgs
parents:
diff changeset
  1617
hgs
parents:
diff changeset
  1618
sub GenXmls($$$)
hgs
parents:
diff changeset
  1619
{
hgs
parents:
diff changeset
  1620
	my $libname = shift @_;
hgs
parents:
diff changeset
  1621
	my $listedName = shift @_;
hgs
parents:
diff changeset
  1622
	my $bref = shift @_;
hgs
parents:
diff changeset
  1623
	my @filesToProcess = @$bref;
hgs
parents:
diff changeset
  1624
	
hgs
parents:
diff changeset
  1625
	#strip leading test and t names from module
hgs
parents:
diff changeset
  1626
	my $moduleName = StripModulePrefix($listedName);
hgs
parents:
diff changeset
  1627
hgs
parents:
diff changeset
  1628
      my $toPath = $ATSRoot."\\components\\$libname"."_$moduleName\\"; 
hgs
parents:
diff changeset
  1629
        
hgs
parents:
diff changeset
  1630
hgs
parents:
diff changeset
  1631
       my $dst;
hgs
parents:
diff changeset
  1632
       my $src;
hgs
parents:
diff changeset
  1633
       foreach $src(@filesToProcess)
hgs
parents:
diff changeset
  1634
       {
hgs
parents:
diff changeset
  1635
               $dst = $src;
hgs
parents:
diff changeset
  1636
               $dst =~ s/ATSTemplateXXX/$moduleName/;
hgs
parents:
diff changeset
  1637
               $dst =~ s/LibXXX/$libname/;
hgs
parents:
diff changeset
  1638
             
hgs
parents:
diff changeset
  1639
hgs
parents:
diff changeset
  1640
               if($src eq "testframework.ini")
hgs
parents:
diff changeset
  1641
               {
hgs
parents:
diff changeset
  1642
					$dst =  $toPath."General\\".$dst;
hgs
parents:
diff changeset
  1643
               }
hgs
parents:
diff changeset
  1644
               else
hgs
parents:
diff changeset
  1645
               {
hgs
parents:
diff changeset
  1646
					$dst =  $toPath.$dst;
hgs
parents:
diff changeset
  1647
               }
hgs
parents:
diff changeset
  1648
               copy($templateRoot."\\".$src, $dst) || die("DIED: Unable to copy $src to $dst\n");
hgs
parents:
diff changeset
  1649
               ExpandModuleMacros($dst, $libname, $listedName);
hgs
parents:
diff changeset
  1650
       }#foreach file
hgs
parents:
diff changeset
  1651
}
hgs
parents:
diff changeset
  1652
hgs
parents:
diff changeset
  1653
hgs
parents:
diff changeset
  1654
sub GenExeXmls()
hgs
parents:
diff changeset
  1655
{
hgs
parents:
diff changeset
  1656
	my $moduleName = shift @_;
hgs
parents:
diff changeset
  1657
	my $libname = shift @_;
hgs
parents:
diff changeset
  1658
			
hgs
parents:
diff changeset
  1659
	my $toPath = $ATSRoot."\\components\\$libname"."_$moduleName\\"; 
hgs
parents:
diff changeset
  1660
  my @filesToProcess =
hgs
parents:
diff changeset
  1661
  (
hgs
parents:
diff changeset
  1662
     "LibXXX_ATSTemplateXXX_exemodule_blr_hw_component.xml",
hgs
parents:
diff changeset
  1663
     "LibXXX_ATSTemplateXXX_exemodule_blr_winsspd_component.xml",
hgs
parents:
diff changeset
  1664
  );
hgs
parents:
diff changeset
  1665
	
hgs
parents:
diff changeset
  1666
	my $dst;
hgs
parents:
diff changeset
  1667
  my $src;
hgs
parents:
diff changeset
  1668
  foreach $src(@filesToProcess)
hgs
parents:
diff changeset
  1669
  {
hgs
parents:
diff changeset
  1670
        $dst = $src;
hgs
parents:
diff changeset
  1671
        $dst =~ s/ATSTemplateXXX/$moduleName/;
hgs
parents:
diff changeset
  1672
        $dst =~ s/LibXXX/$libname/;
hgs
parents:
diff changeset
  1673
        $dst =~ s/_exemodule_/_module_/;
hgs
parents:
diff changeset
  1674
				$dst =  $toPath.$dst;
hgs
parents:
diff changeset
  1675
        copy($templateRoot."\\".$src, $dst) || die("DIED: Unable to copy to $dst\n");
hgs
parents:
diff changeset
  1676
        ExpandModuleMacros($dst, $libname, $moduleName);
hgs
parents:
diff changeset
  1677
   }#foreach file
hgs
parents:
diff changeset
  1678
}
hgs
parents:
diff changeset
  1679
hgs
parents:
diff changeset
  1680
#function to expand the macros existing in a file
hgs
parents:
diff changeset
  1681
#file is replaced by new version
hgs
parents:
diff changeset
  1682
#args are relativePath. filename and  $moduleName
hgs
parents:
diff changeset
  1683
sub ExpandModuleMacros()
hgs
parents:
diff changeset
  1684
{
hgs
parents:
diff changeset
  1685
	# Take module name
hgs
parents:
diff changeset
  1686
	my $moduleName = pop @_;
hgs
parents:
diff changeset
  1687
	my $libname = pop @_;
hgs
parents:
diff changeset
  1688
	my $filename = pop @_;
hgs
parents:
diff changeset
  1689
hgs
parents:
diff changeset
  1690
	my $MODULENAME = $moduleName;
hgs
parents:
diff changeset
  1691
	$MODULENAME =~ tr/[a-z]/[A-Z]/;
hgs
parents:
diff changeset
  1692
hgs
parents:
diff changeset
  1693
	# Open input file
hgs
parents:
diff changeset
  1694
	open (INFILE, $filename ) || die ("DIED: Can not find $filename");
hgs
parents:
diff changeset
  1695
hgs
parents:
diff changeset
  1696
	#Open output file
hgs
parents:
diff changeset
  1697
	my $newOutput = $filename."new";
hgs
parents:
diff changeset
  1698
	open (OUTFILE, ">".$newOutput ) || die ("DIED: Can not open $newOutput");
hgs
parents:
diff changeset
  1699
hgs
parents:
diff changeset
  1700
	# Replace text in files
hgs
parents:
diff changeset
  1701
	while (<INFILE>)
hgs
parents:
diff changeset
  1702
	{
hgs
parents:
diff changeset
  1703
	  s/ATSTemplateXXX/$moduleName/g;
hgs
parents:
diff changeset
  1704
	  s/LibXXX/$libname/g;
hgs
parents:
diff changeset
  1705
    	  print OUTFILE $_;
hgs
parents:
diff changeset
  1706
	}
hgs
parents:
diff changeset
  1707
hgs
parents:
diff changeset
  1708
	# Close filehandles
hgs
parents:
diff changeset
  1709
	close (INFILE);
hgs
parents:
diff changeset
  1710
	close (OUTFILE);
hgs
parents:
diff changeset
  1711
hgs
parents:
diff changeset
  1712
	# Rename result file
hgs
parents:
diff changeset
  1713
	unlink $filename;
hgs
parents:
diff changeset
  1714
	rename $newOutput,$filename;
hgs
parents:
diff changeset
  1715
}
hgs
parents:
diff changeset
  1716
hgs
parents:
diff changeset
  1717
hgs
parents:
diff changeset
  1718
hgs
parents:
diff changeset
  1719
sub CopyDeps($$)
hgs
parents:
diff changeset
  1720
{
hgs
parents:
diff changeset
  1721
  my $libname = shift @_;
hgs
parents:
diff changeset
  1722
  my $copyDll = shift @_;
hgs
parents:
diff changeset
  1723
	my $src;
hgs
parents:
diff changeset
  1724
	my $dst;
hgs
parents:
diff changeset
  1725
	foreach my $listed(@generatedModules)
hgs
parents:
diff changeset
  1726
	{
hgs
parents:
diff changeset
  1727
				my $module = StripModulePrefix($listed);
hgs
parents:
diff changeset
  1728
				if($do_winscw == 1)
hgs
parents:
diff changeset
  1729
				{
hgs
parents:
diff changeset
  1730
					$src = $rootDrive."\\epoc32\\release\\winscw\\udeb\\".$copyDll;
hgs
parents:
diff changeset
  1731
					$dst = $ATSRoot."\\components\\$libname"."_$module";
hgs
parents:
diff changeset
  1732
					$dst = $dst."\\winscw_udeb\\";
hgs
parents:
diff changeset
  1733
					copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  1734
				}
hgs
parents:
diff changeset
  1735
				if($do_armv5 == 1)
hgs
parents:
diff changeset
  1736
				{
hgs
parents:
diff changeset
  1737
					$src = $rootDrive."\\epoc32\\release\\armv5\\urel\\".$copyDll;
hgs
parents:
diff changeset
  1738
					$dst = $ATSRoot."\\components\\$libname"."_$module";
hgs
parents:
diff changeset
  1739
					$dst = $dst."\\armv5_urel\\";
hgs
parents:
diff changeset
  1740
					copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  1741
				}
hgs
parents:
diff changeset
  1742
	}#foreach
hgs
parents:
diff changeset
  1743
}#fn
hgs
parents:
diff changeset
  1744
hgs
parents:
diff changeset
  1745
#dat file copy
hgs
parents:
diff changeset
  1746
sub CopyDatFiles()
hgs
parents:
diff changeset
  1747
{
hgs
parents:
diff changeset
  1748
	my $libRoot = $templateRoot;
hgs
parents:
diff changeset
  1749
	$libRoot =~ /(.*)internal.*/;
hgs
parents:
diff changeset
  1750
	$libRoot = $1;
hgs
parents:
diff changeset
  1751
hgs
parents:
diff changeset
  1752
 my @list = (
hgs
parents:
diff changeset
  1753
  				 ["libcrypt", "tlibcrypt", "group/Test_Data.dat"],
hgs
parents:
diff changeset
  1754
  				 ["libc", "tnetdb", "data/services.txt"],
hgs
parents:
diff changeset
  1755
  				 ["libc", "tstring", "data/locales.txt"],
hgs
parents:
diff changeset
  1756
  				 ["libc", "libc_loc_blr", "data/locales.txt"],
hgs
parents:
diff changeset
  1757
  				 ["libz", "tzlib", "data/*.*"],
hgs
parents:
diff changeset
  1758
  				 ["libc", "tlink", "data/*.*"],
hgs
parents:
diff changeset
  1759
  				 ["libc", "tmmap", "data/*.*"],
hgs
parents:
diff changeset
  1760
           );
hgs
parents:
diff changeset
  1761
hgs
parents:
diff changeset
  1762
	 my $libname;
hgs
parents:
diff changeset
  1763
	 my $dirname;
hgs
parents:
diff changeset
  1764
	 my $glob;
hgs
parents:
diff changeset
  1765
	foreach my $ref(@list)
hgs
parents:
diff changeset
  1766
	{
hgs
parents:
diff changeset
  1767
			my @inarr = @$ref;
hgs
parents:
diff changeset
  1768
			($libname, $dirname, $glob) = @inarr;
hgs
parents:
diff changeset
  1769
			my $modulename = StripModulePrefix($dirname);
hgs
parents:
diff changeset
  1770
			my $src = "$libRoot/$libname/internal/testapps/$dirname/$glob";
hgs
parents:
diff changeset
  1771
			my $dst = $ATSRoot."\\components\\$libname"."_"."$modulename\\General\\";
hgs
parents:
diff changeset
  1772
  		if($dirname eq "libc_loc_blr")
hgs
parents:
diff changeset
  1773
  		{
hgs
parents:
diff changeset
  1774
  			$src = "$libRoot/libc/src/locales.txt";
hgs
parents:
diff changeset
  1775
  		}
hgs
parents:
diff changeset
  1776
  		my @filesFound = glob($src);
hgs
parents:
diff changeset
  1777
  		if(scalar @filesFound == 0)
hgs
parents:
diff changeset
  1778
  		{
hgs
parents:
diff changeset
  1779
  			die("DIED: no Dat file found to copy!");
hgs
parents:
diff changeset
  1780
  		}
hgs
parents:
diff changeset
  1781
  		foreach my $file(@filesFound)
hgs
parents:
diff changeset
  1782
  		{
hgs
parents:
diff changeset
  1783
  			copy($file, $dst) || die("DIED: unable to copy $file to $dst");
hgs
parents:
diff changeset
  1784
  		}
hgs
parents:
diff changeset
  1785
  }#ref processing
hgs
parents:
diff changeset
  1786
}#fn
hgs
parents:
diff changeset
  1787
hgs
parents:
diff changeset
  1788
hgs
parents:
diff changeset
  1789
#glib dat file copy
hgs
parents:
diff changeset
  1790
sub CopyArbitDatFiles($$)
hgs
parents:
diff changeset
  1791
{
hgs
parents:
diff changeset
  1792
	
hgs
parents:
diff changeset
  1793
	 my $libname = shift @_;
hgs
parents:
diff changeset
  1794
	 my $refArr = shift @_;
hgs
parents:
diff changeset
  1795
	 my @list = @$refArr;
hgs
parents:
diff changeset
  1796
	 
hgs
parents:
diff changeset
  1797
 	
hgs
parents:
diff changeset
  1798
	my $fname;
hgs
parents:
diff changeset
  1799
	my $modulename;
hgs
parents:
diff changeset
  1800
	my $location;
hgs
parents:
diff changeset
  1801
	my $atsDst;
hgs
parents:
diff changeset
  1802
	my $targetDst;
hgs
parents:
diff changeset
  1803
	
hgs
parents:
diff changeset
  1804
	#now copy the files appropriately
hgs
parents:
diff changeset
  1805
	foreach my $ref(@list)
hgs
parents:
diff changeset
  1806
	{
hgs
parents:
diff changeset
  1807
			my @inarr = @$ref;
hgs
parents:
diff changeset
  1808
			($fname, $modulename, $location, $atsDst, $targetDst) = @inarr;
hgs
parents:
diff changeset
  1809
			#print "[$fname, $modulename, $location, $atsDst, $targetDst]\n";
hgs
parents:
diff changeset
  1810
			if($location =~ /(.*)\.\.(.*)/)
hgs
parents:
diff changeset
  1811
			{
hgs
parents:
diff changeset
  1812
				$location = GetPathPrefix().$2;
hgs
parents:
diff changeset
  1813
			}
hgs
parents:
diff changeset
  1814
			else
hgs
parents:
diff changeset
  1815
			{
hgs
parents:
diff changeset
  1816
				$location = $rootDrive.$location;
hgs
parents:
diff changeset
  1817
			}
hgs
parents:
diff changeset
  1818
			my $src = $location.$fname;
hgs
parents:
diff changeset
  1819
			my $dst = $ATSRoot."\\components\\$libname"."_".$modulename.$atsDst;
hgs
parents:
diff changeset
  1820
			if($libname eq "")
hgs
parents:
diff changeset
  1821
			{
hgs
parents:
diff changeset
  1822
				$dst = $ATSRoot."\\components\\".$modulename.$atsDst;
hgs
parents:
diff changeset
  1823
				#print "$dst CHANGED!\n"
hgs
parents:
diff changeset
  1824
			}
hgs
parents:
diff changeset
  1825
  		
hgs
parents:
diff changeset
  1826
  		my @filesFound = glob($src);
hgs
parents:
diff changeset
  1827
  		if(scalar @filesFound == 0)
hgs
parents:
diff changeset
  1828
  		{
hgs
parents:
diff changeset
  1829
  			die("DIED: no Dat file  $src found to copy!");
hgs
parents:
diff changeset
  1830
  		}
hgs
parents:
diff changeset
  1831
  		foreach my $file(@filesFound)
hgs
parents:
diff changeset
  1832
  		{
hgs
parents:
diff changeset
  1833
  			copy($file, $dst) || die("DIED: unable to copy $file to $dst");
hgs
parents:
diff changeset
  1834
  		}
hgs
parents:
diff changeset
  1835
  		
hgs
parents:
diff changeset
  1836
  		if($targetDst ne "")
hgs
parents:
diff changeset
  1837
  		{
hgs
parents:
diff changeset
  1838
  			 		my @filesToChange = ();
hgs
parents:
diff changeset
  1839
			  		if($atsDst =~ "armv5")
hgs
parents:
diff changeset
  1840
			  		{
hgs
parents:
diff changeset
  1841
			  			#armv5 component file
hgs
parents:
diff changeset
  1842
			  			unshift @filesToChange, $libname."_".$modulename."_module_blr_hw_component.xml";
hgs
parents:
diff changeset
  1843
			  			
hgs
parents:
diff changeset
  1844
			  		}
hgs
parents:
diff changeset
  1845
			  		elsif($atsDst =~ "winscw")
hgs
parents:
diff changeset
  1846
			  		{
hgs
parents:
diff changeset
  1847
			  			#winscw component file
hgs
parents:
diff changeset
  1848
			  			unshift @filesToChange, $libname."_".$modulename."_module_blr_winsspd_component.xml";
hgs
parents:
diff changeset
  1849
			  		}
hgs
parents:
diff changeset
  1850
			  		else
hgs
parents:
diff changeset
  1851
			  		{
hgs
parents:
diff changeset
  1852
			  			#add entry to both xmls
hgs
parents:
diff changeset
  1853
			  			unshift @filesToChange, $libname."_".$modulename."_module_blr_hw_component.xml";
hgs
parents:
diff changeset
  1854
			  			unshift @filesToChange, $libname."_".$modulename."_module_blr_winsspd_component.xml";
hgs
parents:
diff changeset
  1855
			  		}
hgs
parents:
diff changeset
  1856
			  		foreach my $file(@filesToChange)
hgs
parents:
diff changeset
  1857
			  		{
hgs
parents:
diff changeset
  1858
			  			$src = $ATSRoot."/components/".$libname."_"."$modulename/".$file;
hgs
parents:
diff changeset
  1859
			  			ModifyXml($src,$libname,$fname,$atsDst,$targetDst);
hgs
parents:
diff changeset
  1860
			  		}
hgs
parents:
diff changeset
  1861
			  }#updating the xmls
hgs
parents:
diff changeset
  1862
    		
hgs
parents:
diff changeset
  1863
  }#ref processing
hgs
parents:
diff changeset
  1864
 
hgs
parents:
diff changeset
  1865
  
hgs
parents:
diff changeset
  1866
}#fn
hgs
parents:
diff changeset
  1867
hgs
parents:
diff changeset
  1868
sub ModifyXml($$$$$)
hgs
parents:
diff changeset
  1869
{
hgs
parents:
diff changeset
  1870
	my $filename = shift @_;
hgs
parents:
diff changeset
  1871
	my $lib = shift @_;
hgs
parents:
diff changeset
  1872
	my $fname = shift @_;
hgs
parents:
diff changeset
  1873
	my $atsDst = shift @_;
hgs
parents:
diff changeset
  1874
	my $targetDst = shift @_;
hgs
parents:
diff changeset
  1875
	
hgs
parents:
diff changeset
  1876
	
hgs
parents:
diff changeset
  1877
	#printf("Modifying $filename with lib= $lib fname= $fname atsDst = $atsDst targetDst = $targetDst\n");
hgs
parents:
diff changeset
  1878
	
hgs
parents:
diff changeset
  1879
	# Open input file
hgs
parents:
diff changeset
  1880
	open (INFILE, $filename ) || die ("Can not find $filename");
hgs
parents:
diff changeset
  1881
hgs
parents:
diff changeset
  1882
	#Open output file
hgs
parents:
diff changeset
  1883
	my $newOutput = $filename."new";
hgs
parents:
diff changeset
  1884
	open (OUTFILE, ">".$newOutput ) || die ("Can not open $newOutput");
hgs
parents:
diff changeset
  1885
hgs
parents:
diff changeset
  1886
		
hgs
parents:
diff changeset
  1887
	# Replace text in files
hgs
parents:
diff changeset
  1888
	while (<INFILE>)
hgs
parents:
diff changeset
  1889
	{
hgs
parents:
diff changeset
  1890
	  if(/\<stif\>/ || /\<execute\>/)
hgs
parents:
diff changeset
  1891
	  {
hgs
parents:
diff changeset
  1892
	  	if(/\<stif\>/)
hgs
parents:
diff changeset
  1893
	  	{
hgs
parents:
diff changeset
  1894
	  		print OUTFILE "\<stif\>\n";
hgs
parents:
diff changeset
  1895
	  	}
hgs
parents:
diff changeset
  1896
	  	else
hgs
parents:
diff changeset
  1897
	  	{
hgs
parents:
diff changeset
  1898
	  		print OUTFILE "\<execute\>\n";
hgs
parents:
diff changeset
  1899
	  	}
hgs
parents:
diff changeset
  1900
	  	my $type = "data";
hgs
parents:
diff changeset
  1901
	  	if($atsDst !~ "General")
hgs
parents:
diff changeset
  1902
			{
hgs
parents:
diff changeset
  1903
				$type = "binary";
hgs
parents:
diff changeset
  1904
			}
hgs
parents:
diff changeset
  1905
			print OUTFILE <<EObinary;
hgs
parents:
diff changeset
  1906
				
hgs
parents:
diff changeset
  1907
	  		<install type=\"$type\">
hgs
parents:
diff changeset
  1908
				<src>$fname</src>
hgs
parents:
diff changeset
  1909
				<dst>$targetDst\\$fname</dst>
hgs
parents:
diff changeset
  1910
 				</install>
hgs
parents:
diff changeset
  1911
EObinary
hgs
parents:
diff changeset
  1912
	  }#stif or execute tag found
hgs
parents:
diff changeset
  1913
	  else
hgs
parents:
diff changeset
  1914
	  {
hgs
parents:
diff changeset
  1915
	  	  print OUTFILE $_;
hgs
parents:
diff changeset
  1916
	  }
hgs
parents:
diff changeset
  1917
	}#while
hgs
parents:
diff changeset
  1918
	# Close filehandles
hgs
parents:
diff changeset
  1919
	close (INFILE);
hgs
parents:
diff changeset
  1920
	close (OUTFILE);
hgs
parents:
diff changeset
  1921
hgs
parents:
diff changeset
  1922
	# Rename result file
hgs
parents:
diff changeset
  1923
	unlink $filename;
hgs
parents:
diff changeset
  1924
	rename $newOutput,$filename;
hgs
parents:
diff changeset
  1925
	
hgs
parents:
diff changeset
  1926
}#fn
hgs
parents:
diff changeset
  1927
sub GenGenModules($)
hgs
parents:
diff changeset
  1928
{
hgs
parents:
diff changeset
  1929
	my $libname = shift @_;
hgs
parents:
diff changeset
  1930
	
hgs
parents:
diff changeset
  1931
		
hgs
parents:
diff changeset
  1932
	my $src = $ATSRoot."/components/";
hgs
parents:
diff changeset
  1933
	my @fileList = ();
hgs
parents:
diff changeset
  1934
	opendir(DIRHANDLE, "$src") || die "Cannot opendir $src";
hgs
parents:
diff changeset
  1935
  foreach my $name (readdir(DIRHANDLE)) 
hgs
parents:
diff changeset
  1936
  {
hgs
parents:
diff changeset
  1937
    if($name =~ /^$libname/)
hgs
parents:
diff changeset
  1938
    {
hgs
parents:
diff changeset
  1939
    	if($libname ne "libc" || $name !~ /^libcrypt/) 
hgs
parents:
diff changeset
  1940
    	{
hgs
parents:
diff changeset
  1941
    		$name =~ s/^$libname//;
hgs
parents:
diff changeset
  1942
    		$name =~ s/^_//;
hgs
parents:
diff changeset
  1943
    		unshift @fileList, $name;
hgs
parents:
diff changeset
  1944
    	}#excluded libcrypt from libc list
hgs
parents:
diff changeset
  1945
    }#libname match
hgs
parents:
diff changeset
  1946
  }#foreach
hgs
parents:
diff changeset
  1947
  closedir(DIRHANDLE);
hgs
parents:
diff changeset
  1948
	return @fileList;
hgs
parents:
diff changeset
  1949
}
hgs
parents:
diff changeset
  1950
hgs
parents:
diff changeset
  1951
hgs
parents:
diff changeset
  1952
sub GetAllModules()
hgs
parents:
diff changeset
  1953
{
hgs
parents:
diff changeset
  1954
	
hgs
parents:
diff changeset
  1955
	my $src = $ATSRoot."/components/";
hgs
parents:
diff changeset
  1956
	my @fileList = ();
hgs
parents:
diff changeset
  1957
	opendir(DIRHANDLE, "$src") || die "Cannot opendir $src";
hgs
parents:
diff changeset
  1958
  foreach my $name (readdir(DIRHANDLE)) 
hgs
parents:
diff changeset
  1959
  {
hgs
parents:
diff changeset
  1960
    	if($name ne "." && $name ne ".." && $name ne "shared")
hgs
parents:
diff changeset
  1961
			{
hgs
parents:
diff changeset
  1962
				unshift @fileList, $name;
hgs
parents:
diff changeset
  1963
			}
hgs
parents:
diff changeset
  1964
hgs
parents:
diff changeset
  1965
  }#foreach
hgs
parents:
diff changeset
  1966
  closedir(DIRHANDLE);
hgs
parents:
diff changeset
  1967
	return @fileList;
hgs
parents:
diff changeset
  1968
}
hgs
parents:
diff changeset
  1969
hgs
parents:
diff changeset
  1970
hgs
parents:
diff changeset
  1971
hgs
parents:
diff changeset
  1972
sub TransformXmls($$)
hgs
parents:
diff changeset
  1973
{
hgs
parents:
diff changeset
  1974
	my $libname = shift @_;
hgs
parents:
diff changeset
  1975
	my $shared = shift @_;
hgs
parents:
diff changeset
  1976
	my $target = shift @_;
hgs
parents:
diff changeset
  1977
	my $module;
hgs
parents:
diff changeset
  1978
	my $src;
hgs
parents:
diff changeset
  1979
	my $dst;
hgs
parents:
diff changeset
  1980
hgs
parents:
diff changeset
  1981
	my $armv5 = 0;
hgs
parents:
diff changeset
  1982
	my $winscw = 0;
hgs
parents:
diff changeset
  1983
	if($target eq "armv5")
hgs
parents:
diff changeset
  1984
	{
hgs
parents:
diff changeset
  1985
			$armv5 = 1;
hgs
parents:
diff changeset
  1986
  }	
hgs
parents:
diff changeset
  1987
  elsif($target eq "winscw")
hgs
parents:
diff changeset
  1988
  {
hgs
parents:
diff changeset
  1989
  		$winscw = 1;
hgs
parents:
diff changeset
  1990
  }
hgs
parents:
diff changeset
  1991
  else
hgs
parents:
diff changeset
  1992
  {
hgs
parents:
diff changeset
  1993
  	$armv5  = $do_armv5;
hgs
parents:
diff changeset
  1994
  	$winscw = $do_winscw;
hgs
parents:
diff changeset
  1995
	}
hgs
parents:
diff changeset
  1996
		
hgs
parents:
diff changeset
  1997
hgs
parents:
diff changeset
  1998
	foreach $module(@generatedModules)
hgs
parents:
diff changeset
  1999
	{
hgs
parents:
diff changeset
  2000
	  if($armv5 == 1 && $winscw == 1)
hgs
parents:
diff changeset
  2001
	  {
hgs
parents:
diff changeset
  2002
			$src = $ATSRoot."/components/".$libname."_"."$module/*.xml";
hgs
parents:
diff changeset
  2003
		}
hgs
parents:
diff changeset
  2004
		elsif($armv5 == 1)
hgs
parents:
diff changeset
  2005
		{
hgs
parents:
diff changeset
  2006
			$src = $ATSRoot."/components/".$libname."_"."$module/*_hw_component.xml";
hgs
parents:
diff changeset
  2007
		}
hgs
parents:
diff changeset
  2008
		elsif($winscw == 1)
hgs
parents:
diff changeset
  2009
		{
hgs
parents:
diff changeset
  2010
			$src = $ATSRoot."/components/".$libname."_"."$module/*_winsspd_component.xml";
hgs
parents:
diff changeset
  2011
		}
hgs
parents:
diff changeset
  2012
		my @fileList = glob($src);
hgs
parents:
diff changeset
  2013
		foreach my $file(@fileList)
hgs
parents:
diff changeset
  2014
		{
hgs
parents:
diff changeset
  2015
		 	#print"$file to  be transformed!\n";
hgs
parents:
diff changeset
  2016
			AddLibsInXml($libname,$file,$shared);
hgs
parents:
diff changeset
  2017
		}
hgs
parents:
diff changeset
  2018
   }
hgs
parents:
diff changeset
  2019
}#fn
hgs
parents:
diff changeset
  2020
hgs
parents:
diff changeset
  2021
sub AddLibsInXml($$$)
hgs
parents:
diff changeset
  2022
{
hgs
parents:
diff changeset
  2023
	my $libname = shift @_;
hgs
parents:
diff changeset
  2024
	my $filename = shift @_;
hgs
parents:
diff changeset
  2025
	my $shared = shift @_;
hgs
parents:
diff changeset
  2026
	
hgs
parents:
diff changeset
  2027
	# Open input file
hgs
parents:
diff changeset
  2028
	open (INFILE, $filename ) || die ("Can not find $filename");
hgs
parents:
diff changeset
  2029
hgs
parents:
diff changeset
  2030
	#Open output file
hgs
parents:
diff changeset
  2031
	my $newOutput = $filename."new";
hgs
parents:
diff changeset
  2032
	open (OUTFILE, ">".$newOutput ) || die ("Can not open $newOutput");
hgs
parents:
diff changeset
  2033
hgs
parents:
diff changeset
  2034
	my $drive = "c:";
hgs
parents:
diff changeset
  2035
	
hgs
parents:
diff changeset
  2036
	# Replace text in files
hgs
parents:
diff changeset
  2037
	while (<INFILE>)
hgs
parents:
diff changeset
  2038
	{
hgs
parents:
diff changeset
  2039
	  if(/\<stif\>/ || /\<execute\>/)
hgs
parents:
diff changeset
  2040
	  {
hgs
parents:
diff changeset
  2041
	  	if(/\<stif\>/)
hgs
parents:
diff changeset
  2042
	  	{
hgs
parents:
diff changeset
  2043
	  		print OUTFILE "\<stif\>\n";
hgs
parents:
diff changeset
  2044
	  	}
hgs
parents:
diff changeset
  2045
	  	else
hgs
parents:
diff changeset
  2046
	  	{
hgs
parents:
diff changeset
  2047
	  		print OUTFILE "\<execute\>\n";
hgs
parents:
diff changeset
  2048
	  		if($filename =~ /winsspd/)
hgs
parents:
diff changeset
  2049
				{
hgs
parents:
diff changeset
  2050
					$drive = "z:";
hgs
parents:
diff changeset
  2051
				}
hgs
parents:
diff changeset
  2052
	  	}
hgs
parents:
diff changeset
  2053
	  	foreach my $installable(@dllList)
hgs
parents:
diff changeset
  2054
			{
hgs
parents:
diff changeset
  2055
				print OUTFILE <<EOLine;
hgs
parents:
diff changeset
  2056
				
hgs
parents:
diff changeset
  2057
	  		<install type=\"$shared binary\">
hgs
parents:
diff changeset
  2058
				<src>$installable</src>
hgs
parents:
diff changeset
  2059
				<dst>$drive\\sys\\bin\\$installable</dst>
hgs
parents:
diff changeset
  2060
 				</install>
hgs
parents:
diff changeset
  2061
EOLine
hgs
parents:
diff changeset
  2062
			}
hgs
parents:
diff changeset
  2063
hgs
parents:
diff changeset
  2064
	  }
hgs
parents:
diff changeset
  2065
	  else
hgs
parents:
diff changeset
  2066
	  {
hgs
parents:
diff changeset
  2067
	  	  print OUTFILE $_;
hgs
parents:
diff changeset
  2068
	  }
hgs
parents:
diff changeset
  2069
	}#while
hgs
parents:
diff changeset
  2070
	# Close filehandles
hgs
parents:
diff changeset
  2071
	close (INFILE);
hgs
parents:
diff changeset
  2072
	close (OUTFILE);
hgs
parents:
diff changeset
  2073
hgs
parents:
diff changeset
  2074
	# Rename result file
hgs
parents:
diff changeset
  2075
	unlink $filename;
hgs
parents:
diff changeset
  2076
	rename $newOutput,$filename;
hgs
parents:
diff changeset
  2077
}
hgs
parents:
diff changeset
  2078
hgs
parents:
diff changeset
  2079
sub CopySharedDlls()
hgs
parents:
diff changeset
  2080
{
hgs
parents:
diff changeset
  2081
  my $libname = shift @_;
hgs
parents:
diff changeset
  2082
  my $ref = shift @_;
hgs
parents:
diff changeset
  2083
  my @ListOfDlls = @$ref;
hgs
parents:
diff changeset
  2084
  my $target = shift @_;
hgs
parents:
diff changeset
  2085
	my $module;
hgs
parents:
diff changeset
  2086
	my $src;
hgs
parents:
diff changeset
  2087
	my $dst;
hgs
parents:
diff changeset
  2088
	
hgs
parents:
diff changeset
  2089
	my $do_armv5 = 0;
hgs
parents:
diff changeset
  2090
	my $do_winscw = 0;
hgs
parents:
diff changeset
  2091
	if($target eq "armv5")
hgs
parents:
diff changeset
  2092
	{
hgs
parents:
diff changeset
  2093
		$do_armv5 = 1;
hgs
parents:
diff changeset
  2094
	}
hgs
parents:
diff changeset
  2095
	elsif($target eq "winscw")
hgs
parents:
diff changeset
  2096
	{
hgs
parents:
diff changeset
  2097
		$do_winscw =  1;
hgs
parents:
diff changeset
  2098
	}
hgs
parents:
diff changeset
  2099
	else
hgs
parents:
diff changeset
  2100
	{
hgs
parents:
diff changeset
  2101
		$do_armv5  = 1;
hgs
parents:
diff changeset
  2102
		$do_winscw = 1;
hgs
parents:
diff changeset
  2103
	}
hgs
parents:
diff changeset
  2104
	
hgs
parents:
diff changeset
  2105
	
hgs
parents:
diff changeset
  2106
	mkdir  $ATSRoot."\\components\\shared" || die("Wouldn't make shared folder in $ATSRoot\\components");
hgs
parents:
diff changeset
  2107
	if($do_winscw == 1)
hgs
parents:
diff changeset
  2108
	{
hgs
parents:
diff changeset
  2109
		mkdir  $ATSRoot."\\components\\shared\\winscw_udeb" || die("Wouldn't make shared folder in $ATSRoot\\components\winscw_udeb");
hgs
parents:
diff changeset
  2110
	}
hgs
parents:
diff changeset
  2111
	if($do_armv5 == 1)
hgs
parents:
diff changeset
  2112
	{
hgs
parents:
diff changeset
  2113
		mkdir  $ATSRoot."\\components\\shared\\armv5_urel" || die("Wouldn't make shared folder in $ATSRoot\\components\armv5_urel");
hgs
parents:
diff changeset
  2114
	}
hgs
parents:
diff changeset
  2115
	
hgs
parents:
diff changeset
  2116
	foreach my $copyDll(@ListOfDlls)
hgs
parents:
diff changeset
  2117
	{
hgs
parents:
diff changeset
  2118
		if($do_winscw == 1)
hgs
parents:
diff changeset
  2119
		{
hgs
parents:
diff changeset
  2120
			$src = $rootDrive."\\epoc32\\release\\winscw\\udeb\\".$copyDll;
hgs
parents:
diff changeset
  2121
			$dst = $ATSRoot."\\components\\shared";
hgs
parents:
diff changeset
  2122
			$dst = $dst."\\winscw_udeb\\";
hgs
parents:
diff changeset
  2123
			copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  2124
		}	
hgs
parents:
diff changeset
  2125
		if($do_armv5 == 1)
hgs
parents:
diff changeset
  2126
		{	
hgs
parents:
diff changeset
  2127
			$src = $rootDrive."\\epoc32\\release\\armv5\\urel\\".$copyDll;
hgs
parents:
diff changeset
  2128
			$dst = $ATSRoot."\\components\\shared";
hgs
parents:
diff changeset
  2129
			$dst = $dst."\\armv5_urel\\";
hgs
parents:
diff changeset
  2130
			copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  2131
		}
hgs
parents:
diff changeset
  2132
	}#foreach
hgs
parents:
diff changeset
  2133
}#fn
hgs
parents:
diff changeset
  2134
hgs
parents:
diff changeset
  2135
hgs
parents:
diff changeset
  2136
sub CopyMultiDlls($)
hgs
parents:
diff changeset
  2137
{
hgs
parents:
diff changeset
  2138
  my $libname = shift @_;
hgs
parents:
diff changeset
  2139
	my $module;
hgs
parents:
diff changeset
  2140
	my $src;
hgs
parents:
diff changeset
  2141
	my $dst;
hgs
parents:
diff changeset
  2142
	foreach my $listed(@generatedModules)
hgs
parents:
diff changeset
  2143
	{
hgs
parents:
diff changeset
  2144
		foreach my $copyDll(@dllList)
hgs
parents:
diff changeset
  2145
		{
hgs
parents:
diff changeset
  2146
			if($do_winscw == 1)
hgs
parents:
diff changeset
  2147
			{
hgs
parents:
diff changeset
  2148
				$src = $rootDrive."\\epoc32\\release\\winscw\\udeb\\".$copyDll;
hgs
parents:
diff changeset
  2149
				$dst = $ATSRoot."\\components\\$libname"."_$listed";
hgs
parents:
diff changeset
  2150
				$dst = $dst."\\winscw_udeb\\";
hgs
parents:
diff changeset
  2151
				copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  2152
			}
hgs
parents:
diff changeset
  2153
			if($do_armv5 == 1)
hgs
parents:
diff changeset
  2154
			{
hgs
parents:
diff changeset
  2155
				$src = $rootDrive."\\epoc32\\release\\armv5\\urel\\".$copyDll;
hgs
parents:
diff changeset
  2156
				$dst = $ATSRoot."\\components\\$libname"."_$listed";
hgs
parents:
diff changeset
  2157
				$dst = $dst."\\armv5_urel\\";
hgs
parents:
diff changeset
  2158
				copy($src, $dst)  || warn("unable to copy $src to $dst");
hgs
parents:
diff changeset
  2159
			}
hgs
parents:
diff changeset
  2160
		}#foreach
hgs
parents:
diff changeset
  2161
	}
hgs
parents:
diff changeset
  2162
}#fn
hgs
parents:
diff changeset
  2163
hgs
parents:
diff changeset
  2164
sub StripModulePrefix($)
hgs
parents:
diff changeset
  2165
{
hgs
parents:
diff changeset
  2166
	my $listed = pop @_;
hgs
parents:
diff changeset
  2167
	my $module = $listed;
hgs
parents:
diff changeset
  2168
	if($dontStrip == 0)
hgs
parents:
diff changeset
  2169
	{
hgs
parents:
diff changeset
  2170
		$module =~ s/^test//;
hgs
parents:
diff changeset
  2171
		$module =~ s/^t//;
hgs
parents:
diff changeset
  2172
		$module =~ s/^libc_//;
hgs
parents:
diff changeset
  2173
		$module =~ s/^libm_//;
hgs
parents:
diff changeset
  2174
  }
hgs
parents:
diff changeset
  2175
  return $module;
hgs
parents:
diff changeset
  2176
  	
hgs
parents:
diff changeset
  2177
}
hgs
parents:
diff changeset
  2178
hgs
parents:
diff changeset
  2179
sub GetLsbModules()
hgs
parents:
diff changeset
  2180
{
hgs
parents:
diff changeset
  2181
	my @lsbList = 
hgs
parents:
diff changeset
  2182
	(
hgs
parents:
diff changeset
  2183
	 "abs",
hgs
parents:
diff changeset
  2184
"acos",
hgs
parents:
diff changeset
  2185
"asctime",
hgs
parents:
diff changeset
  2186
"asin",
hgs
parents:
diff changeset
  2187
"atan",
hgs
parents:
diff changeset
  2188
"atan2",
hgs
parents:
diff changeset
  2189
"atof",
hgs
parents:
diff changeset
  2190
"atoi",
hgs
parents:
diff changeset
  2191
"atol",
hgs
parents:
diff changeset
  2192
"bsearch",
hgs
parents:
diff changeset
  2193
"calloc",
hgs
parents:
diff changeset
  2194
"ceil",
hgs
parents:
diff changeset
  2195
"chdir",
hgs
parents:
diff changeset
  2196
"clearerr",
hgs
parents:
diff changeset
  2197
"close",
hgs
parents:
diff changeset
  2198
"closedir",
hgs
parents:
diff changeset
  2199
"cos",
hgs
parents:
diff changeset
  2200
"cosh",
hgs
parents:
diff changeset
  2201
"creat",
hgs
parents:
diff changeset
  2202
"lsb_ctime",
hgs
parents:
diff changeset
  2203
"lsb_difftime",
hgs
parents:
diff changeset
  2204
"dlclose",
hgs
parents:
diff changeset
  2205
"dlerror",
hgs
parents:
diff changeset
  2206
"dlopen",
hgs
parents:
diff changeset
  2207
"dup",
hgs
parents:
diff changeset
  2208
"dup2",
hgs
parents:
diff changeset
  2209
"exp",
hgs
parents:
diff changeset
  2210
"fabs",
hgs
parents:
diff changeset
  2211
"fclose",
hgs
parents:
diff changeset
  2212
"fcntl_x",
hgs
parents:
diff changeset
  2213
"fdopen",
hgs
parents:
diff changeset
  2214
"feof",
hgs
parents:
diff changeset
  2215
"ferror",
hgs
parents:
diff changeset
  2216
"fflush",
hgs
parents:
diff changeset
  2217
"fgetpos",
hgs
parents:
diff changeset
  2218
"fgets",
hgs
parents:
diff changeset
  2219
"fileno",
hgs
parents:
diff changeset
  2220
"floor",
hgs
parents:
diff changeset
  2221
"fmod",
hgs
parents:
diff changeset
  2222
"fopen",
hgs
parents:
diff changeset
  2223
"fopen_X",
hgs
parents:
diff changeset
  2224
"fprintf",
hgs
parents:
diff changeset
  2225
"fputs",
hgs
parents:
diff changeset
  2226
"fread",
hgs
parents:
diff changeset
  2227
"free",
hgs
parents:
diff changeset
  2228
"freopen",
hgs
parents:
diff changeset
  2229
"freopen_X",
hgs
parents:
diff changeset
  2230
"frexp",
hgs
parents:
diff changeset
  2231
"fseek",
hgs
parents:
diff changeset
  2232
"fsetpos",
hgs
parents:
diff changeset
  2233
"fstat",
hgs
parents:
diff changeset
  2234
"ftell",
hgs
parents:
diff changeset
  2235
"ftok",
hgs
parents:
diff changeset
  2236
"ftok_l",
hgs
parents:
diff changeset
  2237
"fwrite",
hgs
parents:
diff changeset
  2238
"getc",
hgs
parents:
diff changeset
  2239
"getcwd",
hgs
parents:
diff changeset
  2240
"gets",
hgs
parents:
diff changeset
  2241
"lsb_gmtime",
hgs
parents:
diff changeset
  2242
"ldexp",
hgs
parents:
diff changeset
  2243
"link",
hgs
parents:
diff changeset
  2244
"lsb_localtime",
hgs
parents:
diff changeset
  2245
"log",
hgs
parents:
diff changeset
  2246
"log10",
hgs
parents:
diff changeset
  2247
"longjmp",
hgs
parents:
diff changeset
  2248
"lseek",
hgs
parents:
diff changeset
  2249
"malloc",
hgs
parents:
diff changeset
  2250
"memchr_X",
hgs
parents:
diff changeset
  2251
"memcmp_X",
hgs
parents:
diff changeset
  2252
"memcpy_X",
hgs
parents:
diff changeset
  2253
"memmove",
hgs
parents:
diff changeset
  2254
"memset_X",
hgs
parents:
diff changeset
  2255
"mkdir",
hgs
parents:
diff changeset
  2256
"mkfifo",
hgs
parents:
diff changeset
  2257
"lsb_mktime",
hgs
parents:
diff changeset
  2258
"modf",
hgs
parents:
diff changeset
  2259
"msgctl",
hgs
parents:
diff changeset
  2260
"msgget",
hgs
parents:
diff changeset
  2261
"msgsnd",
hgs
parents:
diff changeset
  2262
"open",
hgs
parents:
diff changeset
  2263
"opendir",
hgs
parents:
diff changeset
  2264
"open_x",
hgs
parents:
diff changeset
  2265
"perror",
hgs
parents:
diff changeset
  2266
"pipe",
hgs
parents:
diff changeset
  2267
"pow",
hgs
parents:
diff changeset
  2268
"printf",
hgs
parents:
diff changeset
  2269
"qsort",
hgs
parents:
diff changeset
  2270
"rand",
hgs
parents:
diff changeset
  2271
"read",
hgs
parents:
diff changeset
  2272
"readdir",
hgs
parents:
diff changeset
  2273
"readv_l",
hgs
parents:
diff changeset
  2274
"realloc",
hgs
parents:
diff changeset
  2275
"remove",
hgs
parents:
diff changeset
  2276
"rename",
hgs
parents:
diff changeset
  2277
"rewind",
hgs
parents:
diff changeset
  2278
"rewinddir",
hgs
parents:
diff changeset
  2279
"rmdir",
hgs
parents:
diff changeset
  2280
"scanf",
hgs
parents:
diff changeset
  2281
"scanf_X",
hgs
parents:
diff changeset
  2282
"seekdir",
hgs
parents:
diff changeset
  2283
"semctl",
hgs
parents:
diff changeset
  2284
"semget",
hgs
parents:
diff changeset
  2285
"semop",
hgs
parents:
diff changeset
  2286
"setbuf",
hgs
parents:
diff changeset
  2287
"setjmp",
hgs
parents:
diff changeset
  2288
"shmat",
hgs
parents:
diff changeset
  2289
"shmdt",
hgs
parents:
diff changeset
  2290
"shmget",
hgs
parents:
diff changeset
  2291
"sin",
hgs
parents:
diff changeset
  2292
"sinh",
hgs
parents:
diff changeset
  2293
"sqrt",
hgs
parents:
diff changeset
  2294
"srand",
hgs
parents:
diff changeset
  2295
"stat",
hgs
parents:
diff changeset
  2296
"strcat",
hgs
parents:
diff changeset
  2297
"strchr",
hgs
parents:
diff changeset
  2298
"strcmp",
hgs
parents:
diff changeset
  2299
"strcoll_X",
hgs
parents:
diff changeset
  2300
"strcpy",
hgs
parents:
diff changeset
  2301
"strcspn",
hgs
parents:
diff changeset
  2302
"strerror_X",
hgs
parents:
diff changeset
  2303
"strftime",
hgs
parents:
diff changeset
  2304
"strftime_X",
hgs
parents:
diff changeset
  2305
"strlen",
hgs
parents:
diff changeset
  2306
"strncat",
hgs
parents:
diff changeset
  2307
"strncmp",
hgs
parents:
diff changeset
  2308
"strncpy",
hgs
parents:
diff changeset
  2309
"strpbrk",
hgs
parents:
diff changeset
  2310
"strptime",
hgs
parents:
diff changeset
  2311
"strrchr",
hgs
parents:
diff changeset
  2312
"strspn",
hgs
parents:
diff changeset
  2313
"strstr",
hgs
parents:
diff changeset
  2314
"strtod_X",
hgs
parents:
diff changeset
  2315
"strtok",
hgs
parents:
diff changeset
  2316
"strtol_X",
hgs
parents:
diff changeset
  2317
"strxfrm_X",
hgs
parents:
diff changeset
  2318
"tan",
hgs
parents:
diff changeset
  2319
"tanh",
hgs
parents:
diff changeset
  2320
"telldir",
hgs
parents:
diff changeset
  2321
"telldir_l",
hgs
parents:
diff changeset
  2322
"lsb_time",
hgs
parents:
diff changeset
  2323
"tmpfile",
hgs
parents:
diff changeset
  2324
"tmpnam",
hgs
parents:
diff changeset
  2325
"ungetc",
hgs
parents:
diff changeset
  2326
"unlink",
hgs
parents:
diff changeset
  2327
"utime",
hgs
parents:
diff changeset
  2328
"vfprintf",
hgs
parents:
diff changeset
  2329
"vprintf",
hgs
parents:
diff changeset
  2330
"write",
hgs
parents:
diff changeset
  2331
"writev_l",
hgs
parents:
diff changeset
  2332
hgs
parents:
diff changeset
  2333
	);
hgs
parents:
diff changeset
  2334
  return @lsbList;
hgs
parents:
diff changeset
  2335
}
hgs
parents:
diff changeset
  2336
hgs
parents:
diff changeset
  2337
hgs
parents:
diff changeset
  2338
hgs
parents:
diff changeset
  2339
sub GenBackendTest()
hgs
parents:
diff changeset
  2340
{
hgs
parents:
diff changeset
  2341
hgs
parents:
diff changeset
  2342
	my @datList = 
hgs
parents:
diff changeset
  2343
	(
hgs
parents:
diff changeset
  2344
	["libc", "tlibcbackend"],
hgs
parents:
diff changeset
  2345
	);
hgs
parents:
diff changeset
  2346
	
hgs
parents:
diff changeset
  2347
	mkdir $ATSRoot;
hgs
parents:
diff changeset
  2348
	mkdir $ATSRoot."\\components" || die ("DIED: unable to create component dir");
hgs
parents:
diff changeset
  2349
		
hgs
parents:
diff changeset
  2350
	my $lib;
hgs
parents:
diff changeset
  2351
	my $module;
hgs
parents:
diff changeset
  2352
	my $ext;
hgs
parents:
diff changeset
  2353
	foreach my $ref(@datList)
hgs
parents:
diff changeset
  2354
	{
hgs
parents:
diff changeset
  2355
			my @inarr = @$ref;
hgs
parents:
diff changeset
  2356
			($lib, $module,$ext) = @inarr;
hgs
parents:
diff changeset
  2357
			@generatedModules = ($module);
hgs
parents:
diff changeset
  2358
			GenDirs($lib);
hgs
parents:
diff changeset
  2359
			CopyDlls($lib,".dll");
hgs
parents:
diff changeset
  2360
	}
hgs
parents:
diff changeset
  2361
 #now copy xmls			
hgs
parents:
diff changeset
  2362
 CopyAtsSetup();
hgs
parents:
diff changeset
  2363
 #extra exes
hgs
parents:
diff changeset
  2364
 @generatedModules = ("tlibcbackend");
hgs
parents:
diff changeset
  2365
 CopyDeps("libc","TPopenReadChild.exe");
hgs
parents:
diff changeset
  2366
 CopyDeps("libc","TPopenWriteChild.exe");
hgs
parents:
diff changeset
  2367
			
hgs
parents:
diff changeset
  2368
}#fn
hgs
parents:
diff changeset
  2369
hgs
parents:
diff changeset
  2370
sub CopyAtsSetup()
hgs
parents:
diff changeset
  2371
{
hgs
parents:
diff changeset
  2372
	 my $libname = "libc"; 
hgs
parents:
diff changeset
  2373
	 my @list = (
hgs
parents:
diff changeset
  2374
  				 ["*.xml", "libcbackend", "/../backend/internal/tlibcbackend/group/","/", ""],
hgs
parents:
diff changeset
  2375
  				 ["*.cfg", "libcbackend", "/../backend/internal/tlibcbackend/group/","/General/", ""],
hgs
parents:
diff changeset
  2376
  				 ["*.ini", "libcbackend", "/../backend/internal/tlibcbackend/group/","/General/", ""],
hgs
parents:
diff changeset
  2377
  				 );
hgs
parents:
diff changeset
  2378
 
hgs
parents:
diff changeset
  2379
  my $bDataRef = \@list;  				 
hgs
parents:
diff changeset
  2380
	CopyArbitDatFiles("libc",$bDataRef);  				 
hgs
parents:
diff changeset
  2381
hgs
parents:
diff changeset
  2382
}#fn
hgs
parents:
diff changeset
  2383
sub GetPathPrefix()
hgs
parents:
diff changeset
  2384
{
hgs
parents:
diff changeset
  2385
	 my $srcPrefix = $templateRoot;
hgs
parents:
diff changeset
  2386
	 $srcPrefix =~ /(.*)internal.*/;
hgs
parents:
diff changeset
  2387
	 $srcPrefix = $1;
hgs
parents:
diff changeset
  2388
	 return $srcPrefix;
hgs
parents:
diff changeset
  2389
}
hgs
parents:
diff changeset
  2390
	
hgs
parents:
diff changeset
  2391
hgs
parents:
diff changeset
  2392
#dat file copy
hgs
parents:
diff changeset
  2393
sub CopyCryptoDat()
hgs
parents:
diff changeset
  2394
{
hgs
parents:
diff changeset
  2395
	my $libRoot = $templateRoot;
hgs
parents:
diff changeset
  2396
	$libRoot =~ /(.*)internal.*/;
hgs
parents:
diff changeset
  2397
	$libRoot = $1;
hgs
parents:
diff changeset
  2398
hgs
parents:
diff changeset
  2399
 my @list = (
hgs
parents:
diff changeset
  2400
 								 ["libssl", "ssltest", "libssl/internal/testapps/ssl_test/data/*"],
hgs
parents:
diff changeset
  2401
 								 ["libcrypto", "topenssl", "/libcrypto/internal/testapps/topenssl/data/*"],
hgs
parents:
diff changeset
  2402
           );
hgs
parents:
diff changeset
  2403
hgs
parents:
diff changeset
  2404
	 my $libname;
hgs
parents:
diff changeset
  2405
	 my $dirname;
hgs
parents:
diff changeset
  2406
	 my $glob;
hgs
parents:
diff changeset
  2407
	foreach my $ref(@list)
hgs
parents:
diff changeset
  2408
	{
hgs
parents:
diff changeset
  2409
			my @inarr = @$ref;
hgs
parents:
diff changeset
  2410
			($libname, $dirname, $glob) = @inarr;
hgs
parents:
diff changeset
  2411
			my $modulename = StripModulePrefix($dirname);
hgs
parents:
diff changeset
  2412
			my	$srcPrefix = GetPathPrefix();
hgs
parents:
diff changeset
  2413
			
hgs
parents:
diff changeset
  2414
			my $src = "$srcPrefix"."$glob";
hgs
parents:
diff changeset
  2415
			
hgs
parents:
diff changeset
  2416
			my $dst = $ATSRoot."\\components\\$libname"."_"."$modulename\\General\\";
hgs
parents:
diff changeset
  2417
  		my @filesFound = glob($src);
hgs
parents:
diff changeset
  2418
  		if(scalar @filesFound == 0)
hgs
parents:
diff changeset
  2419
  		{
hgs
parents:
diff changeset
  2420
  			die("DIED: no Dat file found to copy!");
hgs
parents:
diff changeset
  2421
  		}
hgs
parents:
diff changeset
  2422
  		foreach my $file(@filesFound)
hgs
parents:
diff changeset
  2423
  		{
hgs
parents:
diff changeset
  2424
  			copy($file, $dst) || die("DIED: unable to copy $file to $dst");
hgs
parents:
diff changeset
  2425
  		}
hgs
parents:
diff changeset
  2426
  }#ref processing
hgs
parents:
diff changeset
  2427
}#fn
hgs
parents:
diff changeset
  2428
hgs
parents:
diff changeset
  2429
#Crypto xmls copy
hgs
parents:
diff changeset
  2430
sub CopyCryptoXmls()
hgs
parents:
diff changeset
  2431
{
hgs
parents:
diff changeset
  2432
	  my @list = (
hgs
parents:
diff changeset
  2433
  				 ["*.xml", "libssl_ssltest/", "/libssl/internal/testapps/ssl_test/group/"],
hgs
parents:
diff changeset
  2434
   				 ["*.xml", "libcrypto_crypto_test/", "/libcrypto/internal/testapps/crypto_test/group/"],
hgs
parents:
diff changeset
  2435
   				 ["*.xml", "libcrypto_openssl/", "/libcrypto/internal/testapps/topenssl/group/"],   				    				 			 
hgs
parents:
diff changeset
  2436
  				 );
hgs
parents:
diff changeset
  2437
hgs
parents:
diff changeset
  2438
	
hgs
parents:
diff changeset
  2439
	my $fname;
hgs
parents:
diff changeset
  2440
	my $moduleDst;
hgs
parents:
diff changeset
  2441
	my $location;
hgs
parents:
diff changeset
  2442
	
hgs
parents:
diff changeset
  2443
	#now copy the files appropriately
hgs
parents:
diff changeset
  2444
	foreach my $ref(@list)
hgs
parents:
diff changeset
  2445
	{
hgs
parents:
diff changeset
  2446
			my @inarr = @$ref;
hgs
parents:
diff changeset
  2447
			($fname, $moduleDst, $location) = @inarr;
hgs
parents:
diff changeset
  2448
			my $src = GetPathPrefix().$location.$fname;
hgs
parents:
diff changeset
  2449
			my $dst = $ATSRoot."\\components\\$moduleDst";
hgs
parents:
diff changeset
  2450
  		
hgs
parents:
diff changeset
  2451
  		my @filesFound = glob($src);
hgs
parents:
diff changeset
  2452
  		if(scalar @filesFound == 0)
hgs
parents:
diff changeset
  2453
  		{
hgs
parents:
diff changeset
  2454
  			die("DIED: no xml file found to copy!");
hgs
parents:
diff changeset
  2455
  		}
hgs
parents:
diff changeset
  2456
  		foreach my $file(@filesFound)
hgs
parents:
diff changeset
  2457
  		{
hgs
parents:
diff changeset
  2458
  			copy($file, $dst) || die("DIED: unable to copy $file to $dst");
hgs
parents:
diff changeset
  2459
  		}
hgs
parents:
diff changeset
  2460
  	}#ref
hgs
parents:
diff changeset
  2461
  	
hgs
parents:
diff changeset
  2462
  	my @crypto_copyList = ("*.txt", "*cfg", "*.ini");
hgs
parents:
diff changeset
  2463
  	
hgs
parents:
diff changeset
  2464
  	foreach my $item(@crypto_copyList)
hgs
parents:
diff changeset
  2465
  	{
hgs
parents:
diff changeset
  2466
  			$location = "/libcrypto/internal/testapps/crypto_test/group/";
hgs
parents:
diff changeset
  2467
  			$fname = GetPathPrefix().$location.$item;
hgs
parents:
diff changeset
  2468
  			my @filesFound = glob($fname);
hgs
parents:
diff changeset
  2469
  			foreach my $file(@filesFound)
hgs
parents:
diff changeset
  2470
  			{
hgs
parents:
diff changeset
  2471
    			$moduleDst = "libcrypto_crypto_test/";	
hgs
parents:
diff changeset
  2472
  				my $dst = $ATSRoot."\\components\\".$moduleDst."/General/";
hgs
parents:
diff changeset
  2473
  				copy($file, $dst);
hgs
parents:
diff changeset
  2474
  			}
hgs
parents:
diff changeset
  2475
  	}
hgs
parents:
diff changeset
  2476
}#fn
hgs
parents:
diff changeset
  2477
hgs
parents:
diff changeset
  2478
sub GenCryptoTest()
hgs
parents:
diff changeset
  2479
{
hgs
parents:
diff changeset
  2480
hgs
parents:
diff changeset
  2481
	my @datList = 
hgs
parents:
diff changeset
  2482
	(
hgs
parents:
diff changeset
  2483
	["libssl", "ssltest", ".exe"],
hgs
parents:
diff changeset
  2484
	["libcrypto", "crypto_test",".dll"],
hgs
parents:
diff changeset
  2485
	["libcrypto", "openssl",".exe"],
hgs
parents:
diff changeset
  2486
	);
hgs
parents:
diff changeset
  2487
	
hgs
parents:
diff changeset
  2488
	mkdir $ATSRoot;
hgs
parents:
diff changeset
  2489
	mkdir $ATSRoot."\\components" || die ("DIED: unable to create component dir");
hgs
parents:
diff changeset
  2490
		
hgs
parents:
diff changeset
  2491
	my $lib;
hgs
parents:
diff changeset
  2492
	my $module;
hgs
parents:
diff changeset
  2493
	my $ext;
hgs
parents:
diff changeset
  2494
	foreach my $ref(@datList)
hgs
parents:
diff changeset
  2495
	{
hgs
parents:
diff changeset
  2496
			my @inarr = @$ref;
hgs
parents:
diff changeset
  2497
			($lib, $module,$ext) = @inarr;
hgs
parents:
diff changeset
  2498
			@generatedModules = ($module);
hgs
parents:
diff changeset
  2499
			GenDirs($lib);
hgs
parents:
diff changeset
  2500
			CopyDlls($lib,$ext);
hgs
parents:
diff changeset
  2501
	}
hgs
parents:
diff changeset
  2502
	CopyCryptoDat();
hgs
parents:
diff changeset
  2503
	CopyCryptoXmls();
hgs
parents:
diff changeset
  2504
	
hgs
parents:
diff changeset
  2505
			
hgs
parents:
diff changeset
  2506
}#fn
hgs
parents:
diff changeset
  2507
hgs
parents:
diff changeset
  2508
hgs
parents:
diff changeset
  2509
#ngi xml copy
hgs
parents:
diff changeset
  2510
sub CopyNgiXmls()
hgs
parents:
diff changeset
  2511
{
hgs
parents:
diff changeset
  2512
	  my @list = (
hgs
parents:
diff changeset
  2513
   				 ["*.xml", "ngi_sa_amrrecording", "/audio/lowlevelaudio/internal/sa_amrrecording/group/"],
hgs
parents:
diff changeset
  2514
   				 ["*.xml", "ngi_sa_highlevelaudio", "/audio/highlevelaudio/internal/sa_highlevelaudio/group/"],
hgs
parents:
diff changeset
  2515
  				 ["*.xml", "ngi_sa_audiomixing", "/audio/lowlevelaudio/internal/sa_audiomixing/group/"],
hgs
parents:
diff changeset
  2516
  				 ["*.xml", "ngi_sa_audiorecording", "/audio/lowlevelaudio/internal/sa_audiorecording/group/"],
hgs
parents:
diff changeset
  2517
  				 ["*.xml", "ngi_sa_clip", "/audio/lowlevelaudio/internal/sa_clip/group/"],
hgs
parents:
diff changeset
  2518
  				 ["*.xml", "ngi_sa_lowlevelaudio", "/audio/lowlevelaudio/internal/sa_lowlevelaudio/group/"],
hgs
parents:
diff changeset
  2519
  				 ["*.xml", "ngi_sa_stream", "/audio/lowlevelaudio/internal/sa_stream/group/"],
hgs
parents:
diff changeset
  2520
  				 
hgs
parents:
diff changeset
  2521
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_antitearing/group/"],
hgs
parents:
diff changeset
  2522
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_colortranslation/group/"],
hgs
parents:
diff changeset
  2523
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_createfb565/group/"],
hgs
parents:
diff changeset
  2524
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_createfb888/group/"],
hgs
parents:
diff changeset
  2525
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_heapusage/group/"],
hgs
parents:
diff changeset
  2526
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_multibb/group/"],
hgs
parents:
diff changeset
  2527
  				 ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_performance/group/"],
hgs
parents:
diff changeset
  2528
           ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_plswitching/group/"],
hgs
parents:
diff changeset
  2529
           ["*.xml", "ngi_sa_backbuffer", "/graphics/backbuffer/internal/sa_bb_misc/group/"],
hgs
parents:
diff changeset
  2530
  				 ["*.xml", "ngi_sa_bitmap", "/graphics/bitmap/internal/sa_bitmap/group/"],
hgs
parents:
diff changeset
  2531
  				 ["*.xml", "ngi_sa_camera", "/graphics/camera/internal/sa_camera/group/"],
hgs
parents:
diff changeset
  2532
  				 ["*.xml", "ngi_sa_images", "/graphics/images/internal/sa_images/group/"],
hgs
parents:
diff changeset
  2533
  				 ["*.xml", "ngi_sa_display", "/graphics/display/internal/sa_display/group/"],
hgs
parents:
diff changeset
  2534
  				 ["*.xml", "ngi_sa_lights", "/graphics/lights/internal/sa_lights/group/"],
hgs
parents:
diff changeset
  2535
  				 ["*.xml", "ngi_sa_videoplayback", "/graphics/video/internal/sa_videoplayback/group/"],
hgs
parents:
diff changeset
  2536
  				 
hgs
parents:
diff changeset
  2537
  				 ["*.xml", "ngi_sa_input", "/input/input/internal/sa_input/group/"],
hgs
parents:
diff changeset
  2538
  				 ["*.xml", "ngi_sa_textinput", "/input/textinput/internal/sa_textinput/group/"],
hgs
parents:
diff changeset
  2539
  				 ["*.xml", "ngi_sa_devicecapabilities", "/system/devicecapabilities/internal/sa_devicecapabilities/group/"],
hgs
parents:
diff changeset
  2540
  				 ["*.xml", "ngi_sa_devicestatus", "/system/devicestatus/internal/sa_phone/group/"],
hgs
parents:
diff changeset
  2541
  				 ["*.xml", "ngi_sa_runtimetester", "/system/runtime/internal/sa_runtimetester/group/"],
hgs
parents:
diff changeset
  2542
  				 ["*.xml", "ngi_sa_timing", "/timing/internal/sa_timing/group/"],
hgs
parents:
diff changeset
  2543
	  				 );
hgs
parents:
diff changeset
  2544
hgs
parents:
diff changeset
  2545
	
hgs
parents:
diff changeset
  2546
	my $fname;
hgs
parents:
diff changeset
  2547
	my $moduleDst;
hgs
parents:
diff changeset
  2548
	my $location;
hgs
parents:
diff changeset
  2549
	
hgs
parents:
diff changeset
  2550
	#now copy the files appropriately
hgs
parents:
diff changeset
  2551
	foreach my $ref(@list)
hgs
parents:
diff changeset
  2552
	{
hgs
parents:
diff changeset
  2553
			my @inarr = @$ref;
hgs
parents:
diff changeset
  2554
			($fname, $moduleDst, $location) = @inarr;
hgs
parents:
diff changeset
  2555
			my $src = GetPathPrefix().$location.$fname;
hgs
parents:
diff changeset
  2556
			my $dst = $ATSRoot."\\components\\$moduleDst";
hgs
parents:
diff changeset
  2557
			
hgs
parents:
diff changeset
  2558
			#print "My src is $src\n";
hgs
parents:
diff changeset
  2559
			#print "My dst is $dst\n";
hgs
parents:
diff changeset
  2560
			  		
hgs
parents:
diff changeset
  2561
  		my @filesFound = glob($src);
hgs
parents:
diff changeset
  2562
  		if(scalar @filesFound == 0)
hgs
parents:
diff changeset
  2563
  		{
hgs
parents:
diff changeset
  2564
  			warn("warning: no xml file found to copy from $src!");
hgs
parents:
diff changeset
  2565
  		}
hgs
parents:
diff changeset
  2566
  		foreach my $file(@filesFound)
hgs
parents:
diff changeset
  2567
  		{
hgs
parents:
diff changeset
  2568
  			copy($file, $dst) || die("DIED: unable to copy $file to $dst");
hgs
parents:
diff changeset
  2569
  		}
hgs
parents:
diff changeset
  2570
  	}#ref
hgs
parents:
diff changeset
  2571
    	
hgs
parents:
diff changeset
  2572
}#fn
hgs
parents:
diff changeset
  2573
hgs
parents:
diff changeset
  2574
hgs
parents:
diff changeset
  2575
sub GenNgiTest()
hgs
parents:
diff changeset
  2576
{
hgs
parents:
diff changeset
  2577
hgs
parents:
diff changeset
  2578
	my @datList = 
hgs
parents:
diff changeset
  2579
	(
hgs
parents:
diff changeset
  2580
	["ngi", "sa_amrrecording", ".dll"],
hgs
parents:
diff changeset
  2581
	["ngi", "sa_highlevelaudio", ".dll"],
hgs
parents:
diff changeset
  2582
	["ngi", "sa_audiomixing", ".dll"],
hgs
parents:
diff changeset
  2583
	["ngi", "sa_audiorecording", ".dll"],
hgs
parents:
diff changeset
  2584
	["ngi", "sa_clip", ".dll"],
hgs
parents:
diff changeset
  2585
	["ngi", "sa_lowlevelaudio", ".dll"],
hgs
parents:
diff changeset
  2586
	["ngi", "sa_stream", ".dll"],
hgs
parents:
diff changeset
  2587
	["ngi", "sa_bitmap", ".dll"],
hgs
parents:
diff changeset
  2588
	["ngi", "sa_camera", ".dll"],
hgs
parents:
diff changeset
  2589
	["ngi", "sa_images", ".dll"],
hgs
parents:
diff changeset
  2590
	["ngi", "sa_display", ".dll"],
hgs
parents:
diff changeset
  2591
	["ngi", "sa_lights", ".dll"],	
hgs
parents:
diff changeset
  2592
	["ngi", "sa_videoplayback", ".dll"],	
hgs
parents:
diff changeset
  2593
	["ngi", "sa_input", ".dll"],	
hgs
parents:
diff changeset
  2594
	["ngi", "sa_textinput", ".dll"],
hgs
parents:
diff changeset
  2595
	["ngi", "sa_devicecapabilities", ".dll"],	
hgs
parents:
diff changeset
  2596
	["ngi", "sa_devicestatus", ".dll"],	
hgs
parents:
diff changeset
  2597
	["ngi", "sa_runtimetester", ".dll"],	
hgs
parents:
diff changeset
  2598
	["ngi", "sa_timing", ".dll"],	
hgs
parents:
diff changeset
  2599
		
hgs
parents:
diff changeset
  2600
	);
hgs
parents:
diff changeset
  2601
	
hgs
parents:
diff changeset
  2602
	mkdir $ATSRoot;
hgs
parents:
diff changeset
  2603
	mkdir $ATSRoot."\\components" || die ("DIED: unable to create component dir");
hgs
parents:
diff changeset
  2604
hgs
parents:
diff changeset
  2605
		
hgs
parents:
diff changeset
  2606
	my $lib;
hgs
parents:
diff changeset
  2607
	my $module;
hgs
parents:
diff changeset
  2608
	my $ext;
hgs
parents:
diff changeset
  2609
	foreach my $ref(@datList)
hgs
parents:
diff changeset
  2610
	{
hgs
parents:
diff changeset
  2611
			my @inarr = @$ref;
hgs
parents:
diff changeset
  2612
			($lib, $module,$ext) = @inarr;
hgs
parents:
diff changeset
  2613
			@generatedModules = ($module);
hgs
parents:
diff changeset
  2614
			GenDirs($lib);
hgs
parents:
diff changeset
  2615
			CopyDlls($lib,$ext);
hgs
parents:
diff changeset
  2616
	}
hgs
parents:
diff changeset
  2617
	
hgs
parents:
diff changeset
  2618
   @generatedModules =("sa_backbuffer");
hgs
parents:
diff changeset
  2619
   GenDirs($lib);
hgs
parents:
diff changeset
  2620
   @dllList = 
hgs
parents:
diff changeset
  2621
   (
hgs
parents:
diff changeset
  2622
   	"sa_bb_antitearing.dll",
hgs
parents:
diff changeset
  2623
   	"sa_bb_colortranslation.dll",
hgs
parents:
diff changeset
  2624
   	"sa_bb_createfb444.dll",
hgs
parents:
diff changeset
  2625
   	"sa_bb_createfb565.dll",
hgs
parents:
diff changeset
  2626
   	"sa_bb_createfb888.dll",
hgs
parents:
diff changeset
  2627
   	"sa_bb_misc.dll",
hgs
parents:
diff changeset
  2628
   	"sa_bb_heapusage.dll",
hgs
parents:
diff changeset
  2629
   	"sa_bb_multibb.dll",
hgs
parents:
diff changeset
  2630
   	"sa_bb_performance.dll",
hgs
parents:
diff changeset
  2631
   	"sa_bb_plswitch.dll",
hgs
parents:
diff changeset
  2632
   	"sa_bb_testenv.dll"
hgs
parents:
diff changeset
  2633
   );
hgs
parents:
diff changeset
  2634
   CopyMultiDlls("ngi");
hgs
parents:
diff changeset
  2635
hgs
parents:
diff changeset
  2636
	
hgs
parents:
diff changeset
  2637
 	mkdir  $ATSRoot."\\components\\shared" || die("Wouldn't make shared folder in $ATSRoot\\components");
hgs
parents:
diff changeset
  2638
  mkdir  $ATSRoot."\\components\\shared\\winscw_udeb" || die("Wouldn't make shared folder in $ATSRoot\\components\winscw_udeb");
hgs
parents:
diff changeset
  2639
  mkdir  $ATSRoot."\\components\\shared\\armv5_urel" || die("Wouldn't make shared folder in $ATSRoot\\components\armv5_urel");
hgs
parents:
diff changeset
  2640
			
hgs
parents:
diff changeset
  2641
}#fn
hgs
parents:
diff changeset
  2642
hgs
parents:
diff changeset
  2643
hgs
parents:
diff changeset
  2644
sub GetXmls()
hgs
parents:
diff changeset
  2645
{
hgs
parents:
diff changeset
  2646
  my @foundList;
hgs
parents:
diff changeset
  2647
  my $libname = shift @_;
hgs
parents:
diff changeset
  2648
	my @globlist = ();
hgs
parents:
diff changeset
  2649
	if($target eq "winsspd" && $sdkversion ne "")
hgs
parents:
diff changeset
  2650
	{
hgs
parents:
diff changeset
  2651
		@globlist = ("winsspd_".$sdkversion);
hgs
parents:
diff changeset
  2652
		#print "winsspd ".$sdkversion." selected\n";
hgs
parents:
diff changeset
  2653
	}
hgs
parents:
diff changeset
  2654
	elsif($target eq "winsspd")
hgs
parents:
diff changeset
  2655
	{
hgs
parents:
diff changeset
  2656
		@globlist = ("winsspd");
hgs
parents:
diff changeset
  2657
		#print "winsspd selected\n";
hgs
parents:
diff changeset
  2658
	}
hgs
parents:
diff changeset
  2659
	elsif($sdkversion ne "")
hgs
parents:
diff changeset
  2660
	{
hgs
parents:
diff changeset
  2661
		@globlist = ($target,"hw_".$sdkversion);
hgs
parents:
diff changeset
  2662
		#print "$target $sdkversion selected\n";
hgs
parents:
diff changeset
  2663
	}
hgs
parents:
diff changeset
  2664
	else
hgs
parents:
diff changeset
  2665
	{
hgs
parents:
diff changeset
  2666
		@globlist = ($target,"hw");
hgs
parents:
diff changeset
  2667
		#print "$target $sdkversion selected\n";
hgs
parents:
diff changeset
  2668
	}
hgs
parents:
diff changeset
  2669
	
hgs
parents:
diff changeset
  2670
	foreach my $module(@generatedModules)
hgs
parents:
diff changeset
  2671
	{
hgs
parents:
diff changeset
  2672
	  my $glob_to_use = "";
hgs
parents:
diff changeset
  2673
	  my @fileList;
hgs
parents:
diff changeset
  2674
	  foreach my $glob(@globlist)
hgs
parents:
diff changeset
  2675
	  {
hgs
parents:
diff changeset
  2676
			my $src = $ATSRoot."/components/".$libname."_"."$module/*.xml";
hgs
parents:
diff changeset
  2677
			#print "Analysing $module and  $glob\n";
hgs
parents:
diff changeset
  2678
			@fileList = glob($src);
hgs
parents:
diff changeset
  2679
			foreach my $file(@fileList)
hgs
parents:
diff changeset
  2680
			{
hgs
parents:
diff changeset
  2681
			 my $pat = $glob."\_component\.xml";
hgs
parents:
diff changeset
  2682
			 #print "[$file - $glob"."_component.xml"."]\n";
hgs
parents:
diff changeset
  2683
				if($file =~ /$pat/)
hgs
parents:
diff changeset
  2684
				{
hgs
parents:
diff changeset
  2685
					$glob_to_use = $pat;
hgs
parents:
diff changeset
  2686
					#print "[$file - $glob"."_component.xml"."]\n";
hgs
parents:
diff changeset
  2687
					last
hgs
parents:
diff changeset
  2688
				}
hgs
parents:
diff changeset
  2689
			}#foreach FILE
hgs
parents:
diff changeset
  2690
			if($glob_to_use ne "")
hgs
parents:
diff changeset
  2691
			{
hgs
parents:
diff changeset
  2692
				last;
hgs
parents:
diff changeset
  2693
			}
hgs
parents:
diff changeset
  2694
		}#finding glob	
hgs
parents:
diff changeset
  2695
		if($glob_to_use ne "")
hgs
parents:
diff changeset
  2696
		{
hgs
parents:
diff changeset
  2697
				#print "Using the glob $glob_to_use\n";
hgs
parents:
diff changeset
  2698
				my $src = $ATSRoot."/components/".$libname."_"."$module/*.xml";
hgs
parents:
diff changeset
  2699
				@fileList = glob($src);
hgs
parents:
diff changeset
  2700
				foreach my $file(@fileList)
hgs
parents:
diff changeset
  2701
				{
hgs
parents:
diff changeset
  2702
					#print "[$file - $glob_to_use]\n";
hgs
parents:
diff changeset
  2703
					if($file =~ /$glob_to_use/)
hgs
parents:
diff changeset
  2704
					{
hgs
parents:
diff changeset
  2705
				  	$file =~ /.*components[\\\/](.*)/;
hgs
parents:
diff changeset
  2706
				  	my $value = $1;
hgs
parents:
diff changeset
  2707
				  	$value =~ s/\//\\/g;
hgs
parents:
diff changeset
  2708
				  	#print "adding $value for $module with $glob_to_use\n";
hgs
parents:
diff changeset
  2709
						unshift @foundList,$value;
hgs
parents:
diff changeset
  2710
				  }#if
hgs
parents:
diff changeset
  2711
				}#foreach
hgs
parents:
diff changeset
  2712
		}#glob is present
hgs
parents:
diff changeset
  2713
		else
hgs
parents:
diff changeset
  2714
		{
hgs
parents:
diff changeset
  2715
			warn("Unable to figure out glob to use for $module. Skipping...\n");
hgs
parents:
diff changeset
  2716
		}
hgs
parents:
diff changeset
  2717
	}#each module
hgs
parents:
diff changeset
  2718
  return @foundList;
hgs
parents:
diff changeset
  2719
 }#fn
hgs
parents:
diff changeset
  2720
hgs
parents:
diff changeset
  2721
__END__
hgs
parents:
diff changeset
  2722
:end
hgs
parents:
diff changeset
  2723
hgs
parents:
diff changeset
  2724
hgs
parents:
diff changeset
  2725
hgs
parents:
diff changeset
  2726