sf-platform/compile.ant.xml
author Simon Howkins <simonh@symbian.org>
Tue, 12 Oct 2010 12:48:26 +0100
changeset 1301 dfefb892e7f8
parent 1300 fe97a9594f6c
permissions -rw-r--r--
Simplified code for reading ATS worker root. Plus clearer error message if it cannot be read.
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>
1300
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
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: 1288
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: 1288
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: 1288
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: 1288
diff changeset
    24
            </antcall>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
    25
1284
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
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: 1283
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: 1283
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: 1283
diff changeset
    29
            </antcall>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    30
1284
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
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: 1283
diff changeset
    32
            <!-- 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
    33
            <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
    34
      </then>
6d59ffe91cb2 Make bldmelast stage conditional to avoid breaking builds without one defined
Shabe Razvi <shaber@symbian.org>
parents: 1283
diff changeset
    35
    </if>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
    36
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    37
  </target>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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"/>
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    44
1020
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
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: 1017
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: 1017
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: 1017
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: 1017
diff changeset
    49
    </antcall>
bc818b5bb6d9 Simplify compilation by requiring a prebuilt qmake, which will generate bld.infs first.
Shabe Razvi <shaber@symbian.org>
parents: 1017
diff changeset
    50
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
diff changeset
    51
    <!-- perform initial exports -->
1015
d059f7d92065 Ensure inheritRefs is set to true
Shabe Razvi <shaber@symbian.org>
parents: 1014
diff changeset
    52
    <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
    53
        <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
    54
        <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
    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>
1014
5eec172ee719 1. Run exports post-qmake to ensure exports from generated bld.infs
Shabe Razvi <shaber@symbian.org>
parents: 975
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>
1101
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1100
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">
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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: 1282
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>
1101
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1100
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: 1017
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}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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
  
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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">
1100
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"/>
1101
9485f8e9a74c Fix toolsbaseline build logic
Shabe Razvi <shaber@symbian.org>
parents: 1100
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"/>
1100
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>
1100
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}"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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: 1282
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}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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
1300
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   119
  <!-- perform reallyclean -->
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   120
  <target name="sf-do-reallyclean">
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   121
  
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
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: 1288
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: 1288
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: 1288
diff changeset
   125
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   126
    <hlm:sbsinput id="sf.reallyclean">
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   127
        <sbsOptions>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
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: 1288
diff changeset
   129
            <arg line="-k" />
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
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: 1288
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: 1288
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: 1288
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: 1288
diff changeset
   134
            <arg line="REALLYCLEAN"/>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   135
        </sbsOptions>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   136
    </hlm:sbsinput>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   137
    
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
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: 1288
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: 1288
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: 1288
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: 1288
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: 1288
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: 1288
diff changeset
   144
    </antcall> 
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
diff changeset
   145
  </target>
fe97a9594f6c Add reallyclean step prior to tools model build
Shabe Razvi <shaber@symbian.org>
parents: 1288
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;"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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: 1282
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}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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}"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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;"/>
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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: 1282
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}" />
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
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
  
1283
dcbd9aa4a422 Made changes to compile.ant.xml to include the tools_model.xml
srilekhas <srilekhas@symbian.org>
parents: 1282
diff changeset
   218
</project>