sf-platform/compile.ant.xml
author Shabe Razvi <shaber@symbian.org>
Mon, 11 Oct 2010 12:07:02 +0100
changeset 1289 5a13d0332890
parent 1288 de3bf79206c8
child 1300 fe97a9594f6c
permissions -rw-r--r--
Add properties to enable C100797 for Smoke testing
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     1
<?xml version="1.0" encoding="UTF-8"?>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     2
<project name="SF-COMPILE" xmlns:hlm="http://www.nokia.com/helium">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     3
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     4
 <math result="sf.spec.sbs.numberofjobs" operand1="${env.NUMBER_OF_PROCESSORS}" operation="*" operand2="2" datatype="int"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     5
 
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     6
  <!-- compile specified sysdef file. called from sf-compile target in sf-platform/build.xml -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     7
  <target name="sf-os-compile">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     8
    
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     9
    <antcall target="sf-do-compile" inheritAll="false" inheritRefs="true">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    10
        <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    11
        <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    12
    </antcall>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    13
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    14
      <!-- Export model to BOM, as generate-layers target is no longer called from compile-main target -->
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    15
      <!-- Name of file in BOM should always be system_model.xml, so that it can be predictably re-used again -->
1288
de3bf79206c8 Use correct tools model location
Shabe Razvi <shaber@symbian.org>
parents: 1284
diff changeset
    16
      <copy file="${build.drive}/output/build/canonical_system_definition_${sf.spec.os.sysdef.clean.configurations.list}.xml" tofile="${build.log.dir}/BOM/system_model.xml" failonerror="false"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    17
1288
de3bf79206c8 Use correct tools model location
Shabe Razvi <shaber@symbian.org>
parents: 1284
diff changeset
    18
    <if><available file="${sf.spec.systemdefinition.location}/tools_model.xml"/>
1284
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    19
      <then>
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    20
            <antcall target="sf-do-compile" inheritAll="false" inheritRefs="true">
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    21
              <param name="sysdef.configurations.list" value="bldmelast" />
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    22
              <reference refid="sf.spec.tools.system.definition.files" torefid="system.definition.files" />
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    23
            </antcall>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    24
1284
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    25
            <!-- Export model to BOM, as generate-layers target is no longer called from compile-main target -->
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    26
            <!-- Name of file in BOM should always be tools_model.xml, so that it can be predictably re-used again -->
1288
de3bf79206c8 Use correct tools model location
Shabe Razvi <shaber@symbian.org>
parents: 1284
diff changeset
    27
            <copy file="${build.drive}/output/build/canonical_system_definition_bldmelast.xml" tofile="${build.log.dir}/BOM/tools_model.xml" failonerror="false"/>
1284
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    28
      </then>
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    29
    </if>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    30
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    31
  </target>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    32
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    33
  
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    34
  <!-- compile sbs.tools.config and sbs.config. tools built only if its not being unpacked first.
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    35
       note: must be called from sf-os/s60-compile targets, as sys model input needed -->
1021
1a9b749add1a Add sf-do-compile depends on create-canonical-sysdef-file
Shabe Razvi <shaber@symbian.org>
parents: 1020
diff changeset
    36
  <target name="sf-do-compile" depends="create-canonical-sysdef-file">
914
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
    37
    <echo message="INFO Using Helium 7+ for sf-do-compile"/>
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    38
1020
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    39
    <!-- explicitly run qmake once, as iterative build will repeat the step. if qmake is not unpacked already, then this step is skipped  -->
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    40
    <antcall target="run-qmake" inheritAll="false" inheritRefs="true">
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    41
      <param name="qmake.enabled" value="true"/>
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    42
      <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    43
    </antcall>
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    44
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    45
    <!-- perform initial exports -->
1015
d059f7d92065 Ensure inheritRefs is set to true
Shabe Razvi <shaber@symbian.org>
parents: 1014
diff changeset
    46
    <antcall target="sf-do-full-export" inheritAll="false" inheritRefs="true">
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    47
        <param name="sf.export.stage.name" value="full_export"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    48
        <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    49
    </antcall>	  
1048
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    50
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    51
    <!-- explicitly run qmake second time to allow -configure options to be applied -->
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    52
    <antcall target="run-qmake" inheritAll="false" inheritRefs="true">
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    53
      <param name="qmake.enabled" value="true"/>
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    54
      <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    55
    </antcall>
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    56
	
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    57
    <if> <!-- If tools baseline unpack has not been specified, or its not a "fast" build then try to build them -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    58
      <or>
1101
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1100
diff changeset
    59
        <isfalse value="${sf.spec.toolsbaseline.enable}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    60
        <isfalse value="${sf.os.compile.fast}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    61
      </or>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    62
      <then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    63
        <echo message="INFO Building tools, unpack is not specified"/>        
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    64
        
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    65
        <!-- sf.spec.sbs.tools.config param used. do-target-build will decide to build sequentially/together -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    66
        <antcall target="sf-do-target-compile" inheritAll="false" inheritRefs="true">
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    67
            <param name="i.sf.spec.sbs.config" value="${sf.spec.sbs.tools.config}" />   
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    68
            <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>        
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    69
        </antcall>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    70
      </then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    71
      <else>
1101
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1100
diff changeset
    72
        <echo message="INFO Skipping tools build, tools were unpacked from ${sf.spec.toolsbaseline.location}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    73
      </else>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    74
      </if>
1020
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    75
      	  	  
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    76
      <!-- sf.spec.sbs.config param used. do-target-build will decide to build sequentially/together -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    77
      <antcall target="sf-do-target-compile" inheritAll="false" inheritRefs="true">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    78
          <param name="i.sf.spec.sbs.config" value="${sf.spec.sbs.config}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    79
          <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    80
      </antcall>
917
ebd555518364 Move copying of System Model to after compile-main
Shabe Razvi <shaber@symbian.org>
parents: 916
diff changeset
    81
  
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    82
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    83
  </target>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    84
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
    85
  <!-- perform export only first to assist when parallel makefile parsing -->
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
    86
  <target name="sf-do-full-export">
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    87
  
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    88
    <!-- turn comma separated list into sbs friendly -c list, and _ separated list for friendly log names -->
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    89
    <propertyregex property="i.sf.spec.sbs.config.expanded"         override="true" input="${sf.spec.sbs.config}" regexp="(,)" replace=" -c " defaultValue="${sf.spec.sbs.config}" global="true"  casesensitive="false"/>
1101
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1100
diff changeset
    90
    <propertyregex property="i.sf.spec.sbs.tools.config.expanded"   override="true" input="${sf.spec.sbs.tools.config}" regexp="(,)" replace=" -c " defaultValue="${sf.spec.sbs.tools.config}" global="true"  casesensitive="false"/>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    91
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
    92
    <hlm:sbsinput id="sf.export">
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
    93
        <sbsOptions>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    94
            <arg line="-c ${i.sf.spec.sbs.config.expanded} -c ${i.sf.spec.sbs.tools.config.expanded}"/>
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
    95
            <arg line="-k" />
940
5d6e2c958c66 Include -j option for sf-do-full-export target
Shabe Razvi <shaber@symbian.org>
parents: 939
diff changeset
    96
            <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
    97
            <arg line="-t ${sf.spec.sbs.retry.limit}"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    98
            <arg name="--logfile" value="${build.drive}/output/logs/${build.id}_${sysdef.configuration}_compile_${sf.export.stage.name}.log" />
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    99
            <arg name="--makefile" value="${compile.log.dir}/${build.id}_${sysdef.configuration}_compile_${sf.export.stage.name}_Makefile" />
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   100
            <arg line="--export-only"/>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   101
        </sbsOptions>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   102
    </hlm:sbsinput>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   103
    
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   104
    <!-- call helium's compile-main target using the sbsInput args defined above -->
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   105
    <echo message="INFO Full export for all targets"/>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   106
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   107
        <param name="build.system" value="${sf.spec.build.system}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   108
        <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   109
        <param name="sbs.inputs.list" value="sf.export"/>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   110
    </antcall> 
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   111
  </target>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   112
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   113
  <!-- compile sbs.config list of targets either sequentially or together -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   114
  <target name="sf-do-target-compile">
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   115
  
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   116
    <if>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   117
      <istrue value="${sf.os.compile.iterate}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   118
      <then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   119
        <for list="${i.sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   120
        <sequential>
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   121
        
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   122
            <!-- define sbs args, log name etc -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   123
            <hlm:sbsinput id="sf.build">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   124
                <sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   125
                    <arg line="-c @{item.sbs.splitconfig}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   126
                    <arg line="-k" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   127
                    <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   128
                    <arg line="-t ${sf.spec.sbs.retry.limit}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   129
                    <arg line="${sf.spec.sbs.options}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   130
                    <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   131
                    <arg name="--logfile" value="${build.drive}/output/logs/${build.id}_@{item.sbs.splitconfig}_${sysdef.configuration}_compile.log" />
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   132
                    <arg name="--makefile" value="${compile.log.dir}/${build.id}_@{item.sbs.splitconfig}_${sysdef.configuration}_Makefile" />
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   133
                    <arg line="--noexport"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   134
                </sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   135
            </hlm:sbsinput>
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   136
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   137
            <!-- call helium's compile-main target using the sbsInput args defined above -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   138
            <echo message="INFO Iterative compile building target: @{item.sbs.splitconfig}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   139
            <antcall target="compile-main" inheritAll="false" inheritRefs="true">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   140
              <param name="build.system" value="${sf.spec.build.system}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   141
              <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   142
              <param name="sbs.inputs.list" value="sf.build"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   143
            </antcall> 
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   144
                        
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   145
        </sequential>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   146
        </for>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   147
      </then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   148
      <else>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   149
           <!-- turn comma separated list into sbs friendly -c list, and _ separated list for friendly log names -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   150
           <propertyregex property="i.sf.spec.sbs.config.expanded"         override="true" input="${i.sf.spec.sbs.config}" regexp="(,)" replace=" -c " defaultValue="${i.sf.spec.sbs.config}" global="true"  casesensitive="false"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   151
           <propertyregex property="i.sf.spec.sbs.config.expanded.logname" override="true" input="${i.sf.spec.sbs.config}" regexp="(,)" replace="_"    defaultValue="${i.sf.spec.sbs.config}" global="true"  casesensitive="false"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   152
           <echo message="INFO Target : ${i.sf.spec.sbs.config.expanded}"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   153
           <echo message="INFO Logname: ${i.sf.spec.sbs.config.expanded.logname} + Config: ${sysdef.configuration}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   154
           
914
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
   155
           <!-- TODO: Make this use above compile-main call? -->
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   156
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   157
           <!-- define sbs args, log name etc -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   158
           <hlm:sbsinput id="sf.build">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   159
                <sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   160
                    <arg line="-c ${i.sf.spec.sbs.config.expanded}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   161
                    <arg line="-k" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   162
                    <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   163
                    <arg line="-t ${sf.spec.sbs.retry.limit}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   164
                    <arg line="${sf.spec.sbs.options}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   165
                    <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   166
                    <arg name="--logfile" value="${build.drive}/output/logs/${build.id}_${i.sf.spec.sbs.config.expanded.logname}_${sysdef.configuration}_compile.log" />
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   167
                    <arg name="--makefile" value="${compile.log.dir}/${build.id}_${i.sf.spec.sbs.config.expanded.logname}_${sysdef.configuration}_Makefile" />
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 917
diff changeset
   168
                    <arg line="--noexport"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   169
                </sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   170
           </hlm:sbsinput>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   171
            
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   172
            <!-- call helium's compile-main target using the sbsInput args defined above -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   173
            <echo message="INFO Building target(s): ${i.sf.spec.sbs.config.expanded}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   174
            <antcall target="compile-main" inheritAll="false" inheritRefs="true">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   175
              <param name="build.system" value="${sf.spec.build.system}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   176
              <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   177
              <param name="sbs.inputs.list" value="sf.build"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   178
            </antcall> 
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   179
           
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   180
      </else>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   181
    </if>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   182
  </target>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   183
  
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   184
</project>