--- a/common/build.postbuild.xml Wed May 12 13:04:53 2010 +0100
+++ b/common/build.postbuild.xml Thu May 13 14:51:14 2010 +0100
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="SF-POSTBUILD" xmlns:hlm="http://www.nokia.com/helium">
- <target name="sf-postbuild">
+ <target name="sf-postbuild" depends="sf-build-roms">
<stopwatch name="sf-postbuild"/>
<echo>[SF-POSTBUILD]</echo>
@@ -913,4 +913,14 @@
</copy>
</target>
+ <target name="sf-build-roms">
+ <if>
+ <istrue value="${sf.spec.referenceroms.createimages.enable}" />
+ <then>
+ <echo message="INFO Building iMaker configurations"/>
+ <runtarget target="build-roms"/>
+ </then>
+ </if>
+ </target>
+
</project>
--- a/common/templates/run-qmake.ant.xml.ftl Wed May 12 13:04:53 2010 +0100
+++ b/common/templates/run-qmake.ant.xml.ftl Thu May 13 14:51:14 2010 +0100
@@ -2,8 +2,75 @@
<project name="run-qmake-${ant['sysdef.configuration']}" default="all">
<target name="all">
- <if><available file="${r'$'}{build.drive}/epoc32/tools/qmake.bat" type="file"/>
- <then>
+
+ <sequential>
+
+ <#list data["//unit/@bldFile/.."] as unit>
+ <#if (unit.@bldFile=="/sf/mw/qt/src/s60installs/deviceconfiguration")>
+ <echo>INFO: Building and configuring qmake for ${unit.@bldFile}</echo>
+ <if>
+ <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+ <then>
+ <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
+ <arg value="/C"/>
+ <arg line="sbs -c tools2 -j 4 --logfile=${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_qmake.log"/>
+ </exec>
+ </then>
+ <else>
+ <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+ <fail message="Unit /sf/mw/qt/src/s60installs/deviceconfiguration is in the model, but not present on disk. Cannot build qmake!"/>
+ </else>
+ </if>
+ </#if>
+ </#list>
+ </sequential>
+
+ <sequential>
+
+ <#list data["//unit/@bldFile/.."] as unit>
+ <#if (unit.@bldFile=="/sf/mw/qtextensions/group")>
+ <echo>INFO: Configuring qtextensions for ${unit.@bldFile}</echo>
+ <if>
+ <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+ <then>
+ <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
+ <arg value="/C"/>
+ <arg line="sbs -c tools2 -j 4 --logfile=${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_qtextensions.log"/>
+ </exec>
+ </then>
+ <else>
+ <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+ </else>
+ </if>
+ </#if>
+ </#list>
+ </sequential>
+
+ <sequential>
+ <#list data["//unit/@proFile/.."] as unit>
+ <#if (unit.@proFile=="hb.pro")>
+ <echo>Running configure.py for ${unit.@bldFile}/${unit.@proFile}</echo>
+ <if>
+ <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+ <then>
+ <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
+ <arg value="/C"/>
+ <arg value="python"/>
+ <arg line ="configure.py --qmake-bin=\epoc32\tools\qmake.bat --qmake-spec=symbian-sbsv2 --platform=symbian --qmake-options=MMP_RULES+=EXPORTUNFROZEN"/>
+ </exec>
+ </then>
+ <else>
+ <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+ </else>
+ </if>
+ <echo>INFO: Exporting Orbit mkspecs to epoc32\tools for ${unit.@bldFile}/${unit.@proFile}</echo>
+
+ <copy file="${r'$'}{build.drive}/${unit.@bldFile}/hb_install.prf" todir="${r'$'}{build.drive}/epoc32/tools/qt/mkspecs/features" overwrite="true"/>
+ <copy file="${r'$'}{build.drive}/${unit.@bldFile}/hb.prf" todir="${r'$'}{build.drive}/epoc32/tools/qt/mkspecs/features" overwrite="true"/>
+ </#if>
+ </#list>
+
+ </sequential>
<parallel threadCount="${r'$'}{number.of.threads}">
<#list data["//unit/@proFile/.."] as unit>
@@ -30,24 +97,7 @@
<else>
<echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
</else>
- </if>
- <#else>
-
- <echo>Running configure.py for ${unit.@bldFile}/${unit.@proFile}</echo>
- <if>
- <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
- <then>
- <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
- <arg value="/C"/>
- <arg value="python"/>
- <arg line ="configure.py --qmake-bin=\epoc32\tools\qmake.bat --qmake-spec=symbian-sbsv2 --platform=symbian --qmake-options=MMP_RULES+=EXPORTUNFROZEN"/>
- </exec>
- </then>
- <else>
- <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
- </else>
- </if>
-
+ </if>
</#if>
@@ -55,8 +105,6 @@
</#list>
</parallel>
- </then>
- </if>
</target>
</project>
--- a/sf-platform/compile.ant.xml Wed May 12 13:04:53 2010 +0100
+++ b/sf-platform/compile.ant.xml Thu May 13 14:51:14 2010 +0100
@@ -22,11 +22,23 @@
<!-- compile sbs.tools.config and sbs.config. tools built only if its not being unpacked first.
note: must be called from sf-os/s60-compile targets, as sys model input needed -->
- <target name="sf-do-compile" depends="sf-do-full-export">
+ <target name="sf-do-compile" depends="create-canonical-sysdef-file">
<echo message="INFO Using Helium 7+ for sf-do-compile"/>
-
+
<propertyregex property="sf.unpack.tools" override="true" input="${sf.spec.baseline.getenv_options}" regexp="-i tools" select="true" defaultValue="false" casesensitive="false"/>
-
+
+ <!-- explicitly run qmake once, as iterative build will repeat the step. if qmake is not unpacked already, then this step is skipped -->
+ <antcall target="run-qmake" inheritAll="false" inheritRefs="true">
+ <param name="qmake.enabled" value="true"/>
+ <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
+ </antcall>
+
+
+ <!-- perform initial exports -->
+ <antcall target="sf-do-full-export" inheritAll="false" inheritRefs="true">
+ <param name="sf.export.stage.name" value="full_export"/>
+ </antcall>
+
<if> <!-- If tools baseline unpack has not been specified, or its not a "fast" build then try to build them -->
<or>
<isfalse value="${sf.unpack.tools}"/>
@@ -39,14 +51,13 @@
<!-- sf.spec.sbs.tools.config param used. do-target-build will decide to build sequentially/together -->
<antcall target="sf-do-target-compile" inheritAll="false" inheritRefs="true">
<param name="i.sf.spec.sbs.config" value="${sf.spec.sbs.tools.config}" />
- <param name="qmake.enabled" value="false"/> <!-- ensure qmake is not run, before its available -->
</antcall>
</then>
<else>
<echo message="INFO Skipping tools build, tools were unpacked from ${sf.spec.baseline.location}"/>
</else>
</if>
-
+
<!-- sf.spec.sbs.config param used. do-target-build will decide to build sequentially/together -->
<antcall target="sf-do-target-compile" inheritAll="false" inheritRefs="true">
<param name="i.sf.spec.sbs.config" value="${sf.spec.sbs.config}" />
@@ -63,8 +74,8 @@
<arg line="-k" />
<arg line="-j ${sf.spec.sbs.numberofjobs}"/>
<arg line="-t ${sf.spec.sbs.retry.limit}"/>
- <arg name="--logfile" value="${compile.log.dir}/${build.id}_${sf.spec.os.sysdef.clean.configurations.list}_compile_full_export.log" />
- <arg name="--makefile" value="${compile.log.dir}/${build.id}_${sf.spec.os.sysdef.clean.configurations.list}_compile_full_export_Makefile" />
+ <arg name="--logfile" value="${compile.log.dir}/${build.id}_${sf.spec.os.sysdef.clean.configurations.list}_compile_${sf.export.stage.name}.log" />
+ <arg name="--makefile" value="${compile.log.dir}/${build.id}_${sf.spec.os.sysdef.clean.configurations.list}_compile_${sf.export.stage.name}_Makefile" />
<arg line="--export-only"/>
</sbsOptions>
</hlm:sbsinput>
@@ -74,7 +85,6 @@
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="sbs.inputs.list" value="sf.export"/>
- <param name="qmake.enabled" value="false"/> <!-- ensure qmake is not run, before its available -->
</antcall>
</target>