--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/haitest/bspsvs/tools/perl/BuildOrbiter/BuildOrbiter.pl Tue Feb 02 01:39:10 2010 +0200
@@ -0,0 +1,104 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+use File::Copy;
+use Getopt::Long;
+use Cwd;
+use Archive::Zip;
+use Archive::Zip::Tree;
+
+sub Usage()
+ {
+ print <<USAGE_EOF;
+Usage
+perl buildorbiter.pl --in=FileNameIn --out=FileNameOut --help
+
+ --in=FileNameIn : Input oby file name
+
+ --out=FileNameOut : Output zip file name
+
+ --help : This help
+USAGE_EOF
+ exit( 0 )
+ }
+
+sub main()
+ {
+ my $help='';
+ my $input="";
+ my $output="";
+
+ GetOptions(
+ 'in=s' => \$input,
+ 'out=s' => \$output,
+ 'help' => \$help
+ );
+
+ if($help or ($input eq "") or ($output eq "") )
+ {
+ Usage();
+ exit(0);
+ }
+
+ my $curdir = cwd;
+ $_ = $curdir;
+ s/\//\\/g;
+ $curdir = $_;
+
+ my $theEpocRoot=$ENV{EPOCROOT};
+ my @epocdir = "$theEpocRoot.\\epoc32";
+
+ open FH, "$input" || die "Couldn't open $input file for Reading: $!\n";
+
+ while ( <FH> )
+ {
+ chomp; # no newline
+ s/#.*//; # no comments
+ s/^\s+//; # no leading white
+ s/\s+$//; # no trailing white
+ next unless length; # anything left?
+ if ( /(^file|^data)\s*=\s*(\S+)\s+(\S+)/ )
+ {
+ my $inputFile=$2;
+
+ $inputFile =~ m/(\S*)(\\|\/)(\S+)$/;
+
+ my $dir=$curdir.$1;
+ unless ( -d $dir )
+ {
+ system("mkdir $dir");
+ }
+ printf "Copying: $inputFile\n";
+ copy($inputFile, $dir) or die "File cannot be copied.";
+ }
+ }
+ close FH;
+
+ my $zip = Archive::Zip->new();
+ if ( $input =~ m/(\S*)(\\|\/)(\S+)$/ )
+ {
+ $zip->addFile("$input", $3);
+ }
+ else
+ {
+ $zip->addFile("$input");
+ }
+ $zip->addTree("epoc32", "epoc32");
+ die 'write error' if $zip->writeToFileNamed( "$output" ) != AZ_OK;
+ printf "Completed\n";
+ }
+
+main();