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