|
1 # |
|
2 # Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 # All rights reserved. |
|
4 # This component and the accompanying materials are made available |
|
5 # under the terms of the License "Eclipse Public License v1.0" |
|
6 # which accompanies this distribution, and is available |
|
7 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 # |
|
9 # Initial Contributors: |
|
10 # Nokia Corporation - initial contribution. |
|
11 # |
|
12 # Contributors: |
|
13 # |
|
14 # Description: |
|
15 # |
|
16 |
|
17 |
|
18 use FindBin; # for FindBin::Bin |
|
19 my $PerlLibPath; # fully qualified pathname of the directory containing our Perl modules |
|
20 |
|
21 BEGIN { |
|
22 # check user has a version of perl that will cope |
|
23 require 5.005_03; |
|
24 # establish the path to the Perl libraries |
|
25 $PerlLibPath = $FindBin::Bin; # X:/epoc32/tools |
|
26 $PerlLibPath =~ s/\//\\/g; # X:\epoc32\tools |
|
27 $PerlLibPath .= "\\"; |
|
28 } |
|
29 |
|
30 |
|
31 use lib $PerlLibPath; |
|
32 #Includes the validation perl modules for XML validation against the given DTD. |
|
33 use lib "$PerlLibPath/build/lib"; |
|
34 |
|
35 use buildrom; # for buildrom module |
|
36 use externaltools; #To support External tool invocation |
|
37 |
|
38 |
|
39 # Main block for buildrom module invocation |
|
40 { |
|
41 # Processes the buildrom command line parameters. |
|
42 &process_cmdline_arguments; |
|
43 |
|
44 &image_content_processing_phase; |
|
45 |
|
46 #Processes intermediate oby files. Also processes any new option added to the buildrom in future. |
|
47 &processobyfiles; |
|
48 |
|
49 # Suppress ROM/ROFS/DataDrive Image creation if "-noimage" option is provided. |
|
50 &suppress_image_generation; |
|
51 |
|
52 #Invokes ROMBUILD and ROFSBUILD |
|
53 &invoke_rombuild; |
|
54 |
|
55 &create_smrimage; |
|
56 |
|
57 #Process data drive image. |
|
58 &processData; |
|
59 } |
|
60 |
|
61 |
|
62 sub processobyfiles { |
|
63 |
|
64 |
|
65 # Creates intermediate tmp1.oby file. Preprocessing phase |
|
66 &preprocessing_phase; |
|
67 |
|
68 # Creates intermediate tmp2.oby file. Predefined substitutions |
|
69 &substitution_phase; |
|
70 |
|
71 # Creates intermediate tmp3.oby file. Reorganises the ROM IMAGE[<ID>] |
|
72 &reorganize_phase; |
|
73 |
|
74 # Creates feature registry configuration file/features data file. |
|
75 &featurefile_creation_phase; |
|
76 |
|
77 # Run single Invocation external tool at InvocationPoint1 |
|
78 |
|
79 &externaltools::runExternalTool("InvocationPoint1", &getOBYDataRef); |
|
80 |
|
81 # Creates intermediate tmp4.oby file. Avoids processing of REM ECOM_PLUGIN(xxx,yyy) |
|
82 &plugin_phase; |
|
83 |
|
84 # Creates intermediate tmp5.oby file. Multilinguify phase |
|
85 &multlinguify_phase; |
|
86 |
|
87 # Creates intermediate tmp6.oby file. SPI file creation phase |
|
88 &spi_creation_phase; |
|
89 |
|
90 # Run single Invocation external tool at InvocationPoint2 |
|
91 &externaltools::runExternalTool("InvocationPoint2",&getOBYDataRef); |
|
92 |
|
93 # Creates intermediate tmp7.oby file. Problem Suppression phase |
|
94 &suppress_phase; |
|
95 |
|
96 #Process the patched dll data |
|
97 &process_dlldata; |
|
98 |
|
99 # Creates intermediate tmp8.oby file. For xip and non-xip images |
|
100 &bitmap_aif_converison_phase; |
|
101 |
|
102 # Creates intermediate tmp9.oby file. Cleaning unnecessary data for ROM image creation. |
|
103 &cleaning_phase; |
|
104 |
|
105 # Run single Invocation external tool at InvocationPoint2.5 |
|
106 &externaltools::runExternalTool("InvocationPoint2.5",&getOBYDataRef); |
|
107 |
|
108 #Creates dump OBY file for final oby file |
|
109 &create_dumpfile; |
|
110 |
|
111 # Run single Invocation external tool at InvocationPoint3 |
|
112 &externaltools::runExternalTool("InvocationPoint3",&getOBYDataRef); |
|
113 |
|
114 #ROM directory listing |
|
115 &create_dirlisting; |
|
116 |
|
117 } |
|
118 |