sf-platform/compile.ant.xml
author Simon Howkins <simonh@symbian.org>
Tue, 19 Oct 2010 11:11:40 +0100
changeset 1277 2ea5b5b66973
parent 1268 fe97a9594f6c
permissions -rw-r--r--
Adjusted release tagging, so that it clones from the package source, not dst, and hence it's much less likely that the tagging operation will create multiple heads on the TAGS branch.
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>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    13
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
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: 1250
diff changeset
    15
      <!-- Name of file in BOM should always be system_model.xml, so that it can be predictably re-used again -->
1256
de3bf79206c8 Use correct tools model location
Shabe Razvi <shaber@symbian.org>
parents: 1252
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"/>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    17
1256
de3bf79206c8 Use correct tools model location
Shabe Razvi <shaber@symbian.org>
parents: 1252
diff changeset
    18
    <if><available file="${sf.spec.systemdefinition.location}/tools_model.xml"/>
1252
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1251
diff changeset
    19
      <then>
1268
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
    20
            <!-- perform reallyclean to remove any exported artefacts that are going to be rebuilt -->
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
    21
            <antcall target="sf-do-reallyclean" inheritAll="false" inheritRefs="true">
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
    22
              <param name="sysdef.configurations.list" value="bldmelast" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
    23
              <reference refid="sf.spec.tools.system.definition.files" torefid="system.definition.files" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
    24
            </antcall>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
    25
1252
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1251
diff changeset
    26
            <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: 1251
diff changeset
    27
              <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: 1251
diff changeset
    28
              <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: 1251
diff changeset
    29
            </antcall>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    30
1252
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1251
diff changeset
    31
            <!-- 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: 1251
diff changeset
    32
            <!-- Name of file in BOM should always be tools_model.xml, so that it can be predictably re-used again -->
1256
de3bf79206c8 Use correct tools model location
Shabe Razvi <shaber@symbian.org>
parents: 1252
diff changeset
    33
            <copy file="${build.drive}/output/build/canonical_system_definition_bldmelast.xml" tofile="${build.log.dir}/BOM/tools_model.xml" failonerror="false"/>
1252
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1251
diff changeset
    34
      </then>
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1251
diff changeset
    35
    </if>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    36
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    37
  </target>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    38
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    39
  
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    40
  <!-- 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
    41
       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
    42
  <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
    43
    <echo message="INFO Using Helium 7+ for sf-do-compile"/>
1011
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 973
diff changeset
    44
1020
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1014
diff changeset
    45
    <!-- 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: 1014
diff changeset
    46
    <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: 1014
diff changeset
    47
      <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: 1014
diff changeset
    48
      <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: 1014
diff changeset
    49
    </antcall>
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1014
diff changeset
    50
1011
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 973
diff changeset
    51
    <!-- perform initial exports -->
1012
d059f7d92065 Ensure inheritRefs is set to true
Shabe Razvi <shaber@symbian.org>
parents: 1011
diff changeset
    52
    <antcall target="sf-do-full-export" inheritAll="false" inheritRefs="true">
1011
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 973
diff changeset
    53
        <param name="sf.export.stage.name" value="full_export"/>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    54
        <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
1011
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 973
diff changeset
    55
    </antcall>	  
1048
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    56
f3a459ab2cfe Run qmake after exports too, to allow -configure options to be applied
Shabe Razvi <shaber@symbian.org>
parents: 1021
diff changeset
    57
    <!-- 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
    58
    <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
    59
      <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
    60
      <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
    61
    </antcall>
1011
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 973
diff changeset
    62
	
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    63
    <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
    64
      <or>
1098
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1097
diff changeset
    65
        <isfalse value="${sf.spec.toolsbaseline.enable}"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    66
        <isfalse value="${sf.os.compile.fast}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    67
      </or>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    68
      <then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    69
        <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
    70
        
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    71
        <!-- 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
    72
        <antcall target="sf-do-target-compile" inheritAll="false" inheritRefs="true">
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    73
            <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: 1250
diff changeset
    74
            <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
    75
        </antcall>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    76
      </then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    77
      <else>
1098
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1097
diff changeset
    78
        <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
    79
      </else>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    80
      </if>
1020
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1014
diff changeset
    81
      	  	  
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    82
      <!-- 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
    83
      <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
    84
          <param name="i.sf.spec.sbs.config" value="${sf.spec.sbs.config}" />
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    85
          <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
    86
      </antcall>
917
ebd555518364 Move copying of System Model to after compile-main
Shabe Razvi <shaber@symbian.org>
parents: 916
diff changeset
    87
  
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
    88
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    89
  </target>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    90
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
    91
  <!-- 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
    92
  <target name="sf-do-full-export">
1097
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    93
  
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    94
    <!-- 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
    95
    <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"/>
1098
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1097
diff changeset
    96
    <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"/>
1097
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
    97
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
    98
    <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
    99
        <sbsOptions>
1097
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1048
diff changeset
   100
            <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
   101
            <arg line="-k" />
940
5d6e2c958c66 Include -j option for sf-do-full-export target
Shabe Razvi <shaber@symbian.org>
parents: 939
diff changeset
   102
            <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
   103
            <arg line="-t ${sf.spec.sbs.retry.limit}"/>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   104
            <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: 1250
diff changeset
   105
            <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
   106
            <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
   107
        </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
   108
    </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
   109
    
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
    <!-- 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
   111
    <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
   112
    <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
   113
        <param name="build.system" value="${sf.spec.build.system}" />
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   114
        <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
   115
        <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
   116
    </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
   117
  </target>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   118
1268
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   119
  <!-- perform reallyclean -->
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   120
  <target name="sf-do-reallyclean">
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   121
  
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   122
    <!-- turn comma separated list into sbs friendly -c list, and _ separated list for friendly log names -->
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   123
    <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"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   124
    <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"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   125
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   126
    <hlm:sbsinput id="sf.reallyclean">
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   127
        <sbsOptions>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   128
            <arg line="-c ${i.sf.spec.sbs.config.expanded} -c ${i.sf.spec.sbs.tools.config.expanded}"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   129
            <arg line="-k" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   130
            <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   131
            <arg line="-t ${sf.spec.sbs.retry.limit}"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   132
            <arg name="--logfile" value="${build.drive}/output/logs/${build.id}_${sysdef.configurations.list}_reallyclean.log" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   133
            <arg name="--makefile" value="${compile.log.dir}/${build.id}_${sysdef.configurations.list}_reallyclean_Makefile" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   134
            <arg line="REALLYCLEAN"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   135
        </sbsOptions>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   136
    </hlm:sbsinput>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   137
    
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   138
    <!-- call helium's compile-main target using the sbsInput args defined above -->
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   139
    <echo message="INFO REALLCLEAN for all targets"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   140
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   141
        <param name="build.system" value="${sf.spec.build.system}" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   142
        <param name="sysdef.configuration" value="${sysdef.configurations.list}"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   143
        <param name="sbs.inputs.list" value="sf.reallyclean"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   144
    </antcall> 
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   145
  </target>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1256
diff changeset
   146
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   147
  <!-- 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
   148
  <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
   149
  
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   150
    <if>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   151
      <istrue value="${sf.os.compile.iterate}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   152
      <then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   153
        <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
   154
        <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
   155
        
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   156
            <!-- define sbs args, log name etc -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   157
            <hlm:sbsinput id="sf.build">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   158
                <sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   159
                    <arg line="-c @{item.sbs.splitconfig}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   160
                    <arg line="-k" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   161
                    <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   162
                    <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
   163
                    <arg line="${sf.spec.sbs.options}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   164
                    <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   165
                    <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: 1250
diff changeset
   166
                    <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
   167
                    <arg line="--noexport"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   168
                </sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   169
            </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
   170
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   171
            <!-- 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
   172
            <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
   173
            <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
   174
              <param name="build.system" value="${sf.spec.build.system}" />
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   175
              <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
   176
              <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
   177
            </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
   178
                        
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   179
        </sequential>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   180
        </for>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   181
      </then>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   182
      <else>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   183
           <!-- 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
   184
           <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
   185
           <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
   186
           <echo message="INFO Target : ${i.sf.spec.sbs.config.expanded}"/>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   187
           <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
   188
           
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
   189
           <!-- 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
   190
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   191
           <!-- define sbs args, log name etc -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   192
           <hlm:sbsinput id="sf.build">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   193
                <sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   194
                    <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
   195
                    <arg line="-k" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   196
                    <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   197
                    <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
   198
                    <arg line="${sf.spec.sbs.options}"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   199
                    <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   200
                    <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: 1250
diff changeset
   201
                    <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
   202
                    <arg line="--noexport"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   203
                </sbsOptions>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   204
           </hlm:sbsinput>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   205
            
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   206
            <!-- 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
   207
            <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
   208
            <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
   209
              <param name="build.system" value="${sf.spec.build.system}" />
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   210
              <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
   211
              <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
   212
            </antcall> 
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   213
           
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   214
      </else>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   215
    </if>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   216
  </target>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   217
  
1251
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1250
diff changeset
   218
</project>