18 |
18 |
19 Description: |
19 Description: |
20 |
20 |
21 ============================================================================ |
21 ============================================================================ |
22 --> |
22 --> |
|
23 <!--* @package compile --> |
23 <project name="compile" xmlns:hlm="http://www.nokia.com/helium"> |
24 <project name="compile" xmlns:hlm="http://www.nokia.com/helium"> |
24 <description> |
25 <description> |
25 Targets related to compile stage. It includes cmaker, |
26 Targets related to compile stage. It includes cmaker, |
26 ec, ebs, sbs, sbs-ec build system. |
27 ec, ebs, sbs, sbs-ec build system. |
27 </description> |
28 </description> |
|
29 |
|
30 <!--* @property sysdef.configurations.list |
|
31 Comma-separated list of System Definition configuration names to be built in the compile-main stage. |
|
32 @type string |
|
33 @editable required |
|
34 @scope public |
|
35 --> |
28 |
36 |
29 <!-- Property declaration --> |
37 <!-- Property declaration --> |
|
38 <!-- Suffix used in genxml related output files. This value is added into file names to show that they are genxml related. Used in log files, genxml output files and component list for EE images. Normally does not need to be set. |
|
39 @type string |
|
40 @scope private |
|
41 --> |
30 <property name="genxml.output.file.suffix" value="genxml" /> |
42 <property name="genxml.output.file.suffix" value="genxml" /> |
|
43 <!-- Path of sysdef dtd |
|
44 @type string |
|
45 --> |
31 <property name="compile.sysdef.dtd.stub" location="${helium.dir}/tools/common/dtd/sysdef_dtd_1_4_0.xml" /> |
46 <property name="compile.sysdef.dtd.stub" location="${helium.dir}/tools/common/dtd/sysdef_dtd_1_4_0.xml" /> |
|
47 <!-- Name of the signal input to be able to override the compile-main target. |
|
48 @type string |
|
49 @scope private |
|
50 --> |
32 <property name="compile.signal.input" value="compileSignalInput" /> |
51 <property name="compile.signal.input" value="compileSignalInput" /> |
|
52 <!-- Compilation summary file for diamonds. |
|
53 @type string |
|
54 @scope private |
|
55 --> |
33 <property name="diamonds.compile.summary" location="${compile.log.dir}/${build.id}_compile_diamonds.xml" /> |
56 <property name="diamonds.compile.summary" location="${compile.log.dir}/${build.id}_compile_diamonds.xml" /> |
34 |
57 |
35 |
|
36 <!-- including common compilation macros --> |
58 <!-- including common compilation macros --> |
37 <hlm:typedef file="${helium.dir}/tools/compile/compile.antlib.xml" uri="http://www.nokia.com/helium"/> |
59 <hlm:typedef file="${helium.dir}/tools/compile/compile.antlib.xml" uri="http://www.nokia.com/helium"/> |
38 <import file="cmaker.ant.xml" /> |
60 <import file="cmaker.ant.xml" /> |
39 <import file="ec/ec.ant.xml" /> |
61 <import file="ec/ec.ant.xml" /> |
40 <import file="ebs/ebs.ant.xml" /> |
62 <import file="ebs/ebs.ant.xml" /> |
41 <import file="sbs/sbs.ant.xml" /> |
63 <import file="sbs/sbs.ant.xml" /> |
42 <import file="sis.ant.xml" /> |
64 <import file="sis.ant.xml" /> |
43 <import file="qt/qt.ant.xml" /> |
65 <import file="qt/qt.ant.xml" /> |
|
66 <import file="coverity.ant.xml" /> |
44 |
67 |
45 <!-- A few basic steps (directory creation) that are needed before starting compilation. --> |
68 <!-- A few basic steps (directory creation) that are needed before starting compilation. --> |
46 <target name="prebuild"> |
69 <target name="prebuild"> |
47 <!-- Needed for the emulator to work. --> |
70 <!-- Needed for the emulator to work. --> |
48 <mkdir dir="${build.drive}/epoc32/winscw/d"/> |
71 <mkdir dir="${build.drive}/epoc32/winscw/d"/> |
51 <mkdir dir="${build.drive}/epoc32/release/winscw/urel/z/resource/fonts"/> |
74 <mkdir dir="${build.drive}/epoc32/release/winscw/urel/z/resource/fonts"/> |
52 <mkdir dir="${build.drive}/epoc32/include/osextensions"/> |
75 <mkdir dir="${build.drive}/epoc32/include/osextensions"/> |
53 </target> |
76 </target> |
54 |
77 |
55 <!-- Does all the necessary steps before starting the component build --> |
78 <!-- Does all the necessary steps before starting the component build --> |
56 <target name="precompile" depends="record-compile-start-time,create-canonical-sysdef-file,precompile-ec"/> |
79 <target name="precompile" depends="record-compile-start-time,create-canonical-sysdef-file,precompile-ec,run-coverity-configure"/> |
57 |
80 |
58 <!-- post operation for EC builds, submits the compile time and lists all the built components--> |
81 <!-- post operation for EC builds, submits the compile time and lists all the built components--> |
59 <target name="postcompile" depends="postcompile-ec,render-build-duplicates" unless="env.HLM_SUBCON"> |
82 <target name="postcompile" depends="postcompile-ec,render-build-duplicates,post-coverity" unless="env.HLM_SUBCON"> |
60 <runtarget target="submit-compile-time"/> |
83 <runtarget target="submit-compile-time"/> |
61 </target> |
84 </target> |
|
85 |
62 |
86 |
63 <!-- Pre-processes all System Definition input files. |
87 <!-- Pre-processes all System Definition input files. |
64 |
88 |
65 Any Ant properties used in the files will be replaced by their values. |
89 Any Ant properties used in the files will be replaced by their values. |
66 Also the Symbian System Definition files needs to have \src inserted |
90 Also the Symbian System Definition files needs to have \src inserted |
106 </target> |
130 </target> |
107 |
131 |
108 |
132 |
109 <!-- Merges all preprocessed System Definition files into one combined file. --> |
133 <!-- Merges all preprocessed System Definition files into one combined file. --> |
110 <target name="create-canonical-sysdef-file" depends="preprocess-sysdef-files"> |
134 <target name="create-canonical-sysdef-file" depends="preprocess-sysdef-files"> |
|
135 <mkdir dir="${compile.log.dir}" /> |
111 <if> |
136 <if> |
112 <istrue value="${schema.new}" /> |
137 <istrue value="${schema.new}" /> |
113 <then> |
138 <then> |
114 <echo message="system model file: ${system.model.file}" /> |
139 <echo message="system model file: ${system.model.file}" /> |
115 <copy file="${system.model.file}" tofile="${build.drive}/sf/os/deviceplatformrelease/foundation_system/system_model/system_model.xml"/> |
140 <copy file="${system.model.file}" tofile="${build.drive}/sf/os/deviceplatformrelease/foundation_system/system_model/system_model.xml"/> |
121 </then> |
146 </then> |
122 <else> |
147 <else> |
123 <pathconvert pathsep=" " property="system.definition.files.list"> |
148 <pathconvert pathsep=" " property="system.definition.files.list"> |
124 <fileset dir="${build.output.dir}/build/input/" includes="**"/> |
149 <fileset dir="${build.output.dir}/build/input/" includes="**"/> |
125 <chainedmapper> |
150 <chainedmapper> |
126 <globmapper from="*" to="-x *" casesensitive="no"/> |
151 <globmapper from="*" to="-x '*'" casesensitive="no"/> |
127 </chainedmapper> |
152 </chainedmapper> |
128 </pathconvert> |
153 </pathconvert> |
129 <hlm:compileGenxmlMergeMacro input="-x ${compile.sysdef.dtd.stub} ${system.definition.files.list}" |
154 <hlm:compileGenxmlMergeMacro input="-x ${compile.sysdef.dtd.stub} ${system.definition.files.list}" |
130 output="${canonical.sysdef.file}" logfile="${compile.log.dir}/${build.id}.sysdef_GenxmlMerge.log"/> |
155 output="${canonical.sysdef.file}" logfile="${compile.log.dir}/${build.id}.sysdef_GenxmlMerge.log"/> |
131 </else> |
156 </else> |
132 </if> |
157 </if> |
133 </target> |
158 </target> |
134 |
159 |
135 <!-- |
160 <!-- Supports a cleaning of binaries before starting compilation, based on a SysDef configuration. |
136 Supports a cleaning of binaries before starting compilation, based on a SysDef configuration. |
161 @deprecated Please consider using ido-prep-clean target. |
137 <deprecated>Please consider using ido-prep-clean target.</deprecated> |
|
138 --> |
162 --> |
139 <target name="compile-clean" depends="create-canonical-sysdef-file" |
163 <target name="compile-clean" depends="create-canonical-sysdef-file" |
140 if="sysdef.clean.configuration"> |
164 if="sysdef.clean.configuration"> |
141 <antcall target="compile-configuration" inheritRefs="true"> |
165 <antcall target="compile-configuration" inheritRefs="true"> |
142 <param name="sysdef.configuration" value="${sysdef.clean.configuration}"/> |
166 <param name="sysdef.configuration" value="${sysdef.clean.configuration}"/> |
362 ]]></scriptdef> |
386 ]]></scriptdef> |
363 |
387 |
364 <!-- Creates a .csv log of the sizes of all the binaries created in the build. --> |
388 <!-- Creates a .csv log of the sizes of all the binaries created in the build. --> |
365 <target name="binary-sizes-log" if="binary.sizes.output"> |
389 <target name="binary-sizes-log" if="binary.sizes.output"> |
366 <hlm:startSpecificLogMacro name="${compile.log.dir}/${build.id}_binary_sizes.log" phase="compile"/> |
390 <hlm:startSpecificLogMacro name="${compile.log.dir}/${build.id}_binary_sizes.log" phase="compile"/> |
|
391 <!-- File containing data related to flash image size |
|
392 @type string |
|
393 @scope private |
|
394 --> |
367 <property name="binary.sizes.output.file" location="${build.log.dir}/${build.id}_flash_image_size_data.csv"/> |
395 <property name="binary.sizes.output.file" location="${build.log.dir}/${build.id}_flash_image_size_data.csv"/> |
368 <pathconvert pathsep=";" property="build.logs.list"> |
396 <pathconvert pathsep=";" property="build.logs.list"> |
369 <fileset dir="${compile.log.dir}" includes="*_build.log" excludes="*ant_build.log;*_zipup_build.log"/> |
397 <fileset dir="${compile.log.dir}" includes="*_build.log" excludes="*ant_build.log;*_zipup_build.log"/> |
370 </pathconvert> |
398 </pathconvert> |
371 <pathconvert pathsep=";" property="binary.sizes.rom.logs.list"> |
399 <pathconvert pathsep=";" property="binary.sizes.rom.logs.list"> |