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