sf-platform/build.xml
changeset 913 eeffe74cd1b2
parent 899 d80a65072ed8
child 914 e4c5389160b3
equal deleted inserted replaced
903:4ccad00aa05d 913:eeffe74cd1b2
     9   <!-- import common properties/targets/references -->
     9   <!-- import common properties/targets/references -->
    10   <import file="../common/build.xml" />
    10   <import file="../common/build.xml" />
    11   
    11   
    12   <!-- import package references -->
    12   <!-- import package references -->
    13   <import file="${sf.platform.config.dir}/platform_refs.ant.xml"  optional="true"/>
    13   <import file="${sf.platform.config.dir}/platform_refs.ant.xml"  optional="true"/>
    14   
    14  
    15   <!--
    15   <!-- make this conditional! -->
    16   * Property defaults
    16   <import file="${sf.platform.config.dir}/compile.ant.xml"/>
    17    -->
    17     <!-- pre helium 7+ should import compile targets from compile-hlm-5.ant.xml >
       
    18     <if>
       
    19         <or>
       
    20           <equals arg1="${helium.version}" arg2="7.0"/>
       
    21           <equals arg1="${last.major.helium.version}" arg2="7.0"/>
       
    22         </or>
       
    23         <then>
       
    24             
       
    25         </then>
       
    26         <else>
       
    27             <import file="${sf.platform.config.dir}/compile-hlm-5.ant.xml"/>
       
    28         </else>
       
    29     </if-->
    18 
    30 
    19   <!-- MattD - workaround until generating a model from package definitions works-->
    31   <!-- MattD - workaround until generating a model from package definitions works-->
    20   <target name="sf-build-noprep" depends="sf-platform-bootstrap,sf-compile,sf-postbuild">
    32   <target name="sf-build-noprep" depends="sf-platform-bootstrap,sf-compile,sf-postbuild">
    21     <echo>[SF-BUILD-NOPREP] (platform)</echo>
    33     <echo>[SF-BUILD-NOPREP] (platform)</echo>
    22     <echo>[SF-BUILD-NOPREP] WARNING: Not generating model from packages</echo>
    34     <echo>[SF-BUILD-NOPREP] WARNING: Not generating model from packages</echo>
   126     ==
   138     ==
   127     ==       os  build will be skipped if sf.spec.os.skipbuild=true
   139     ==       os  build will be skipped if sf.spec.os.skipbuild=true
   128     ==       s60 build will be skipped if sf.spec.s60.skipbuild=true
   140     ==       s60 build will be skipped if sf.spec.s60.skipbuild=true
   129     ==
   141     ==
   130     -->
   142     -->
   131   <target name="sf-compile">
   143     <target name="sf-compile">
   132     <stopwatch name="sf-compile"/>
   144     <stopwatch name="sf-compile"/>
   133 
   145 
   134     <!-- TODO clean up to single target once genxml v2.0.0 merge is fixed -->
   146     <!-- TODO clean up to single target once genxml v2.0.0 merge is fixed -->
   135     <if><istrue value="${sf.spec.splitbuild}"/>
   147     <if><istrue value="${sf.spec.splitbuild}"/>
   136       <then>
   148       <then>
   161     </else>
   173     </else>
   162     </if>
   174     </if>
   163     <stopwatch name="sf-compile" action="elapsed"/>
   175     <stopwatch name="sf-compile" action="elapsed"/>
   164   </target>
   176   </target>
   165 
   177 
   166   <!--
   178     <target name="sf-s60-create-cenrep">
   167     == Name: SF-OS-COMPILE
       
   168     ==
       
   169     == Desc: Compile OS part of build using the spec defined in:
       
   170     ==
       
   171     ==         - job_props.ant.xml
       
   172     ==         - job_refs.ant.xml
       
   173     ==
       
   174     -->
       
   175   <target name="sf-os-compile" depends="sf-compile-options">
       
   176 
       
   177     <!-- generate baseline dir list to allow delta creation -->
       
   178     <if><isset property="sf.os.compile.fast"/>
       
   179       <then>
       
   180         <echo message="INFO [FAST COMPILE] Skipping baseline dir list generation"/>
       
   181       </then>
       
   182       <else>
       
   183         <antcall target="sf-list-dir" inheritAll="false">
       
   184           <param name="sf.list.name" value="baseline"/>
       
   185         </antcall>
       
   186       </else>
       
   187     </if>
       
   188     
       
   189     <!-- OS clean main build -->
       
   190     <if><istrue value="${sf.spec.baseline.clean}"/>
       
   191       <then>
       
   192         <hlm:argSet id="sbs.main.clean.sbs.var">
       
   193           <hlm:arg name="config" value="${sf.spec.sbs.config}" />
       
   194           <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   195           <hlm:arg name="command" value="CLEAN --check" />
       
   196         </hlm:argSet>
       
   197         <antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   198           <param name="build.system" value="${sf.spec.build.system}" />
       
   199           <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
       
   200           <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
       
   201           <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
       
   202           <reference refid="sbs.main.clean.sbs.var" torefid="sbs.var" />
       
   203           <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
       
   204           <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
       
   205         </antcall>
       
   206       </then>
       
   207     </if>
       
   208 
       
   209     <if><isset property="sf.os.compile.fast"/>
       
   210       <then>
       
   211         <echo message="INFO [FAST COMPILE] Skipping baseline vs post-clean delta generation"/>
       
   212       </then>
       
   213       <else>
       
   214         <antcall target="sf-list-dir" inheritAll="false">
       
   215           <param name="sf.list.name" value="post-clean"/>
       
   216         </antcall>
       
   217         <!-- what has been cleaned from baseline PDK by sos model -->
       
   218         <antcall target="sf-delta-dir" inheritAll="false">
       
   219           <param name="sf.list_a.name" value="baseline"/>
       
   220           <param name="sf.list_b.name" value="post-clean"/>
       
   221         </antcall>
       
   222       </else>
       
   223     </if>
       
   224     
       
   225     <if><isset property="sf.os.compile.fast"/>
       
   226       <then>
       
   227         <echo message="INFO [FAST COMPILE] Skipping Tools/Tools2 builds"/>
       
   228       </then>
       
   229       <else>
       
   230       
       
   231         <for list="${sf.spec.sbs.tools.config}" delimiter="," param="sf.spec.sbs.tools.splitconfig">
       
   232           <sequential>
       
   233             <echo message="INFO [Iterative tools compile] @{sf.spec.sbs.tools.splitconfig}"/>
       
   234             <propertyregex property="sf.building.tools2" override="true" input="@{sf.spec.sbs.tools.splitconfig}" regexp="^tools2" select="true" defaultValue="false"/>
       
   235 
       
   236             <if>
       
   237               <istrue value="${sf.building.tools2}"/>
       
   238               <then>
       
   239                 <!-- "tools2" build -->
       
   240                 <hlm:argSet id="sbs.tools2.var">
       
   241                   <hlm:arg name="config" value="@{sf.spec.sbs.tools.splitconfig}" />
       
   242                   <hlm:arg name="singlejob" value="false" />
       
   243                   <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   244                   <hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
       
   245                 </hlm:argSet>
       
   246                 <antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   247                   <param name="build.system" value="${sf.spec.build.system}" />
       
   248                   <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
       
   249                   <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
       
   250                   <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
       
   251                   <reference refid="sbs.tools2.var" torefid="sbs.var" />
       
   252                   <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
       
   253                   <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
       
   254                 </antcall>
       
   255 
       
   256                 <antcall target="sf-list-dir" inheritAll="false">
       
   257                   <param name="sf.list.name" value="post-build-tools2"/>
       
   258                 </antcall>
       
   259               </then>
       
   260 
       
   261               <else>
       
   262                 <!-- "tools" build -->
       
   263                 <hlm:argSet id="sbs.tools.var">
       
   264                   <hlm:arg name="config" value="@{sf.spec.sbs.tools.splitconfig}" />
       
   265                   <hlm:arg name="singlejob" value="true" />
       
   266                   <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   267                   <hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
       
   268                 </hlm:argSet>
       
   269                 <antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   270                   <param name="build.system" value="${sf.spec.build.system}" />
       
   271                   <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
       
   272                   <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
       
   273                   <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
       
   274                   <reference refid="sbs.tools.var" torefid="sbs.var" />
       
   275                   <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
       
   276                   <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
       
   277                 </antcall>
       
   278 
       
   279                 <antcall target="sf-list-dir" inheritAll="false">
       
   280                   <param name="sf.list.name" value="post-build-tools"/>
       
   281                 </antcall>
       
   282               </else>
       
   283 	    </if>
       
   284           </sequential>    
       
   285         </for>
       
   286 
       
   287       </else>
       
   288     </if>
       
   289 
       
   290     <if><istrue value="${sf.os.compile.iterate}"/>
       
   291       <then>
       
   292         <for list="${sf.spec.sbs.config}" delimiter="," param="sf.spec.sbs.splitconfig">
       
   293           <sequential>
       
   294             <echo message="INFO [Iterative compile] @{sf.spec.sbs.splitconfig}"/>
       
   295 
       
   296             <hlm:argSet id="sbs.main.iterate.sbs.var">
       
   297               <hlm:arg name="config" value="@{sf.spec.sbs.splitconfig}" />
       
   298               <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   299               <hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
       
   300             </hlm:argSet>
       
   301             <antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   302               <param name="build.system" value="${sf.spec.build.system}" />
       
   303               <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
       
   304               <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
       
   305               <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
       
   306               <reference refid="sbs.main.iterate.sbs.var" torefid="sbs.var" />
       
   307               <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
       
   308               <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
       
   309             </antcall>
       
   310           </sequential>
       
   311         </for>
       
   312       </then>
       
   313       <else>
       
   314         <!-- OS main build -->
       
   315         <hlm:argSet id="sbs.main.sbs.var">
       
   316           <hlm:arg name="config" value="${sf.spec.sbs.config}" />
       
   317           <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   318           <hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
       
   319         </hlm:argSet>
       
   320         <antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   321           <param name="build.system" value="${sf.spec.build.system}" />
       
   322           <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
       
   323           <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
       
   324           <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
       
   325           <reference refid="sbs.main.sbs.var" torefid="sbs.var" />
       
   326           <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
       
   327           <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
       
   328         </antcall>
       
   329       </else>
       
   330     </if>
       
   331 
       
   332     <if><isset property="sf.os.compile.fast"/>
       
   333       <then>
       
   334         <echo message="INFO [FAST COMPILE] Skipping delta and intersect list generation"/>
       
   335       </then>
       
   336       <else>
       
   337         <antcall target="sf-list-dir" inheritAll="false">
       
   338           <param name="sf.list.name" value="post-build-main"/>
       
   339         </antcall>
       
   340         
       
   341         <!-- what has been built in tools2+tools+main -->
       
   342         <antcall target="sf-delta-dir" inheritAll="false">
       
   343           <param name="sf.list_a.name" value="post-clean"/>
       
   344           <param name="sf.list_b.name" value="post-build-main"/>
       
   345         </antcall>
       
   346         
       
   347         <!-- what has been cleaned and rebuilt -->
       
   348         <antcall target="sf-intersect-dir" inheritAll="false">
       
   349           <param name="sf.list_a.name" value="post-clean_delta"/>       <!-- clean list -->
       
   350           <param name="sf.list_b.name" value="post-build-main_delta"/>  <!-- built list -->
       
   351         </antcall>
       
   352       </else>
       
   353     </if>
       
   354     
       
   355   </target>
       
   356 
       
   357   <!--
       
   358     == Name: SF-S60-COMPILE
       
   359     ==
       
   360     == Desc: Compile S60 part of build using the spec defined in:
       
   361     ==
       
   362     ==         - job_props.ant.xml
       
   363     ==         - job_refs.ant.xml
       
   364     ==
       
   365     -->
       
   366   <target name="sf-s60-compile" depends="sf-compile-options">
       
   367 
       
   368         <hlm:argSet id="sbs.tools.var">
       
   369           			<hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
       
   370           			<hlm:arg name="singlejob" value="true" />
       
   371           			<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   372                                 <hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
       
   373     		</hlm:argSet>
       
   374 
       
   375 			<hlm:argSet id="sbs.tools.clean.var">
       
   376           			<hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
       
   377           			<hlm:arg name="singlejob" value="true" />
       
   378           			<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   379     		</hlm:argSet>
       
   380 
       
   381     		<hlm:argSet id="sbs.main.sbs.var">
       
   382           			<hlm:arg name="config" value="${sf.spec.sbs.config}" />
       
   383           			<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   384                                 <hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
       
   385     		</hlm:argSet>
       
   386 
       
   387 			<hlm:argSet id="sbs.main.clean.sbs.var">
       
   388           			<hlm:arg name="config" value="${sf.spec.sbs.config}" />
       
   389           			<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   390 				<hlm:arg name="command" value="CLEAN --check" />
       
   391     		</hlm:argSet>
       
   392 			
       
   393           			<hlm:argSet id="sbs.main.what.sbs.var">
       
   394           			<hlm:arg name="config" value="${sf.spec.sbs.config}" />
       
   395           			<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
       
   396 				<hlm:arg name="command" value="WHAT" />
       
   397     		</hlm:argSet>
       
   398 
       
   399     		<hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options" />
       
   400     		<hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options" />
       
   401 
       
   402 		<antcall target="sf-list-dir" inheritAll="false">
       
   403 			<param name="sf.list.name" value="s60-baseline"/>
       
   404 		</antcall>
       
   405 		
       
   406 			<!-- s60 what  -->
       
   407 			<!--
       
   408     		<antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   409           			<param name="build.system" value="${sf.spec.build.system}" />
       
   410           			<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
       
   411                     <param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
       
   412           			<reference refid="sbs.main.what.sbs.var" torefid="sbs.var" />
       
   413           			<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
       
   414           			<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
       
   415     		</antcall>
       
   416 			-->
       
   417 			<!-- s60 clean main build -->
       
   418 			<if><istrue value="${sf.spec.baseline.clean}"/>
       
   419 				<then>
       
   420 					<antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   421 							<param name="build.system" value="${sf.spec.build.system}" />
       
   422 							<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
       
   423 							<param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
       
   424 							<reference refid="sbs.main.clean.sbs.var" torefid="sbs.var" />
       
   425 							<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
       
   426 							<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
       
   427 					</antcall>
       
   428 				</then>
       
   429 			</if>
       
   430 
       
   431 			<antcall target="sf-list-dir" inheritAll="false">
       
   432 				<param name="sf.list.name" value="post-s60-clean"/>
       
   433 			</antcall>
       
   434 			
       
   435 			<!-- what has been cleaned from baseline PDK by s60 model -->
       
   436 			<antcall target="sf-delta-dir" inheritAll="false">
       
   437 				<param name="sf.list_a.name" value="s60-baseline"/>
       
   438 				<param name="sf.list_b.name" value="post-s60-clean"/>
       
   439 			</antcall>		
       
   440 			
       
   441 
       
   442             <!-- s60  tools build -->
       
   443     		<antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   444           			<param name="build.system" value="${sf.spec.build.system}" />
       
   445           			<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
       
   446 					<param name="sf.spec.sysdef.version" value ="${sf.spec.s60.sysdef.version}"/>
       
   447           			<reference refid="sbs.tools.var" torefid="sbs.var" />
       
   448           			<reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
       
   449           			<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
       
   450     		</antcall>
       
   451 
       
   452 			<antcall target="sf-list-dir" inheritAll="false">
       
   453 				<param name="sf.list.name" value="post-s60-build-tools"/>
       
   454 			</antcall>
       
   455 
       
   456     		<!-- s60 main build -->
       
   457     		<antcall target="compile-main" inheritAll="false" inheritRefs="true">
       
   458           			<param name="build.system" value="${sf.spec.build.system}" />
       
   459           			<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
       
   460                                 <param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
       
   461           			<reference refid="sbs.main.sbs.var" torefid="sbs.var" />
       
   462           			<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
       
   463           			<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
       
   464     		</antcall>
       
   465 			
       
   466 			
       
   467 			<antcall target="sf-list-dir" inheritAll="false">
       
   468 				<param name="sf.list.name" value="post-s60-build-main"/>
       
   469 			</antcall>
       
   470 
       
   471 			<!-- what has been built by tools+2+main -->
       
   472 			<antcall target="sf-delta-dir" inheritAll="false">
       
   473 				<param name="sf.list_a.name" value="s60-baseline"/>
       
   474 				<param name="sf.list_b.name" value="post-s60-build-main"/>
       
   475 			</antcall>		
       
   476 			
       
   477 			<!-- what has been cleaned and rebuilt -->
       
   478 			<antcall target="sf-intersect-dir" inheritAll="false">
       
   479 				<param name="sf.list_a.name" value="post-s60-clean_delta"/>       <!-- clean list -->
       
   480 				<param name="sf.list_b.name" value="post-s60-build-main_delta"/>  <!-- built list -->
       
   481 			</antcall>
       
   482 		
       
   483 	</target>
       
   484 
       
   485 	<target name="sf-s60-create-cenrep">
       
   486     <echo message="INFO Generating CenRep"/>
   179     <echo message="INFO Generating CenRep"/>
   487     <echo message="Move 'sf.spec.s60.cenrep.export.location' out of the build..."/>
   180     <echo message="Move 'sf.spec.s60.cenrep.export.location' out of the build..."/>
   488     <property name="sf.spec.s60.cenrep.export.location.1" value="/epoc32/rom/config/confml_data/s60"/>
   181     <property name="sf.spec.s60.cenrep.export.location.1" value="/epoc32/rom/config/confml_data/s60"/>
   489     <property name="sf.spec.s60.cenrep.export.location.2" value="/epoc32/rom/config/assets"/>
   182     <property name="sf.spec.s60.cenrep.export.location.2" value="/epoc32/rom/config/assets"/>
   490 
   183