--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imgtools/buildrom/tools/buildrom.pl Tue Oct 27 16:36:35 2009 +0000
@@ -0,0 +1,118 @@
+#
+# 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 the License "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 FindBin; # for FindBin::Bin
+my $PerlLibPath; # fully qualified pathname of the directory containing our Perl modules
+
+BEGIN {
+# check user has a version of perl that will cope
+ require 5.005_03;
+# establish the path to the Perl libraries
+ $PerlLibPath = $FindBin::Bin; # X:/epoc32/tools
+ $PerlLibPath =~ s/\//\\/g; # X:\epoc32\tools
+ $PerlLibPath .= "\\";
+}
+
+
+use lib $PerlLibPath;
+#Includes the validation perl modules for XML validation against the given DTD.
+use lib "$PerlLibPath/build/lib";
+
+use buildrom; # for buildrom module
+use externaltools; #To support External tool invocation
+
+
+# Main block for buildrom module invocation
+{
+ # Processes the buildrom command line parameters.
+ &process_cmdline_arguments;
+
+ &image_content_processing_phase;
+
+ #Processes intermediate oby files. Also processes any new option added to the buildrom in future.
+ &processobyfiles;
+
+ # Suppress ROM/ROFS/DataDrive Image creation if "-noimage" option is provided.
+ &suppress_image_generation;
+
+ #Invokes ROMBUILD and ROFSBUILD
+ &invoke_rombuild;
+
+ &create_smrimage;
+
+ #Process data drive image.
+ &processData;
+}
+
+
+sub processobyfiles {
+
+
+ # Creates intermediate tmp1.oby file. Preprocessing phase
+ &preprocessing_phase;
+
+ # Creates intermediate tmp2.oby file. Predefined substitutions
+ &substitution_phase;
+
+ # Creates intermediate tmp3.oby file. Reorganises the ROM IMAGE[<ID>]
+ &reorganize_phase;
+
+ # Creates feature registry configuration file/features data file.
+ &featurefile_creation_phase;
+
+ # Run single Invocation external tool at InvocationPoint1
+
+ &externaltools::runExternalTool("InvocationPoint1", &getOBYDataRef);
+
+ # Creates intermediate tmp4.oby file. Avoids processing of REM ECOM_PLUGIN(xxx,yyy)
+ &plugin_phase;
+
+ # Creates intermediate tmp5.oby file. Multilinguify phase
+ &multlinguify_phase;
+
+ # Creates intermediate tmp6.oby file. SPI file creation phase
+ &spi_creation_phase;
+
+ # Run single Invocation external tool at InvocationPoint2
+ &externaltools::runExternalTool("InvocationPoint2",&getOBYDataRef);
+
+ # Creates intermediate tmp7.oby file. Problem Suppression phase
+ &suppress_phase;
+
+ #Process the patched dll data
+ &process_dlldata;
+
+ # Creates intermediate tmp8.oby file. For xip and non-xip images
+ &bitmap_aif_converison_phase;
+
+ # Creates intermediate tmp9.oby file. Cleaning unnecessary data for ROM image creation.
+ &cleaning_phase;
+
+ # Run single Invocation external tool at InvocationPoint2.5
+ &externaltools::runExternalTool("InvocationPoint2.5",&getOBYDataRef);
+
+ #Creates dump OBY file for final oby file
+ &create_dumpfile;
+
+ # Run single Invocation external tool at InvocationPoint3
+ &externaltools::runExternalTool("InvocationPoint3",&getOBYDataRef);
+
+ #ROM directory listing
+ &create_dirlisting;
+
+}
+