buildframework/helium/tools/compile/compile.ant.xml
changeset 217 0f5e3a7fb6af
parent 179 d8ac696cc51f
child 587 85df38eb4012
equal deleted inserted replaced
181:59bb7c4d6172 217:0f5e3a7fb6af
    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">