Merge
authorShabe Razvi <shaber@symbian.org>
Wed, 28 Apr 2010 19:11:35 +0100
changeset 1019 4bfee1aab881
parent 997 92dd719cc91b (current diff)
parent 1018 334e3f2f79e5 (diff)
child 1020 bc818b5bb6d9
Merge
--- a/common/templates/run-qmake.ant.xml.ftl	Wed Apr 28 19:04:45 2010 +0100
+++ b/common/templates/run-qmake.ant.xml.ftl	Wed Apr 28 19:11:35 2010 +0100
@@ -2,8 +2,33 @@
 <project name="run-qmake-${ant['sysdef.configuration']}" default="all">
 
     <target name="all">
-    <if><available file="${r'$'}{build.drive}/epoc32/tools/qmake.bat" type="file"/>
+    <if><available file="${r'$'}{build.drive}/epoc32/tools/qt/qmake.exe" type="file"/>
     <then>
+            <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 +55,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>
 
 
--- a/sf-platform/compile.ant.xml	Wed Apr 28 19:04:45 2010 +0100
+++ b/sf-platform/compile.ant.xml	Wed Apr 28 19:11:35 2010 +0100
@@ -22,11 +22,16 @@
   
   <!-- 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">
     <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"/>
-  
+
+    <!-- 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,7 +44,6 @@
         <!-- 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>
@@ -47,6 +51,17 @@
       </else>
       </if>
       
+	  <!-- explicitly run qmake once, as iterative build will repeat the step  -->
+	  <antcall target="run-qmake" inheritAll="false" inheritRefs="true">
+	      <param name="qmake.enabled" value="true"/>
+              <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
+	  </antcall>
+	  
+	  <!-- perform exports for bld.infs generated by qmake -->
+	  <antcall target="sf-do-full-export" inheritAll="false" inheritRefs="true">
+	      <param name="sf.export.stage.name" value="post_qmake_export"/>
+	  </antcall>	  
+	  
       <!-- 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 +78,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 +89,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>