sf-package/build.xml
author Dario Sestito <darios@symbian.org>
Mon, 27 Jul 2009 14:25:36 +0100
changeset 325 779cc88ed845
parent 323 5c33f37d47a4
child 342 626d3847cf2a
permissions -rw-r--r--
Allow subprojects within a project repo and model file relative to the subproject dir

<?xml version="1.0" encoding="UTF-8"?>
<project name="SF-PACKAGE-CONFIG" xmlns:hlm="http://www.nokia.com/helium">
  <!-- location of this config -->
  <dirname property="sf.package.config.dir" file="${ant.file.SF-PACKAGE-CONFIG}"/>
  
  <!-- import package properties -->
  <import file="${sf.package.config.dir}/package_props.ant.xml" />
  
  <!-- import common properties/targets/references -->
  <import file="../common/build.xml" />
  
  <!-- import package references -->
  <import file="${sf.package.config.dir}/package_refs.ant.xml" />
  
  <target name="sf-compile">
  
    <!-- Check that package_definition is not in v 3.0.0 otherwise transforms it to 2.0.1 -->
    <echo message="Check that model file is in a version usable by Raptor"/>
    <exec executable="perl" dir="${sf.common.config.dir}/sysdefdowngrade" failonerror="false" output="${build.log.dir}/sysdefdowngrade.log">
      <arg value="sysdefdowngrade.pl"/>
      <arg value="--model=${build.drive}/${sf.spec.systemdefinition.location}"/>
      <arg value="--sources=${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
    </exec>
    
    <runtarget target="sf-package-compile"/>
  </target>
  
  <target name="sf-package-compile">
    
    <hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options"/>
    <hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options"/>
    
    <!-- BUILD tools2 CLEAN -->
    <hlm:argSet id="sbs.tools2.clean.var">
      <hlm:arg name="config" value="tools2" />
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}"/>
      <hlm:arg name="command" value="CLEAN"/>
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.tools2.clean.var" torefid="sbs.var" />
      <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD tools2 -->
    <hlm:argSet id="sbs.tools2.var">
      <hlm:arg name="config" value="tools2.whatlog" />
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.tools2.var" torefid="sbs.var" />
      <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD tools CLEAN -->
    <hlm:argSet id="sbs.tools.clean.var">
      <hlm:arg name="config" value="tools"/>
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
      <hlm:arg name="command" value="CLEAN"/>
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.tools.clean.var" torefid="sbs.var" />
      <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD tools -->
    <hlm:argSet id="sbs.tools.var">
      <hlm:arg name="config" value="tools.whatlog"/>
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.tools.var" torefid="sbs.var" />
      <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD winscw CLEAN -->
    <hlm:argSet id="sbs.winscw.clean.var">
      <hlm:arg name="config" value="winscw" />
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
      <hlm:arg name="command" value="CLEAN"/>
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.winscw.clean.var" torefid="sbs.var" />
      <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD winscw -->
    <hlm:argSet id="sbs.winscw.var">
      <hlm:arg name="config" value="winscw.whatlog" />
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.winscw.var" torefid="sbs.var" />
      <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD armv5 CLEAN -->
    <hlm:argSet id="sbs.armv5.clean.var">
      <hlm:arg name="config" value="armv5" />
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
      <hlm:arg name="command" value="CLEAN"/>
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.armv5.clean.var" torefid="sbs.var" />
      <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- BUILD armv5 -->
    <hlm:argSet id="sbs.armv5.var">
      <hlm:arg name="config" value="armv5.whatlog" />
      <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
    </hlm:argSet>
    <antcall target="compile-main" inheritAll="false" inheritRefs="true">
      <param name="build.system" value="${sf.spec.build.system}" />
      <param name="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
      <reference refid="sbs.armv5.var" torefid="sbs.var" />
      <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
      <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
    </antcall>
    
    <!-- CHECK -->
    <exec executable="cmd" dir="${build.drive}/" output="${build.drive}/output\logs\build_check_compile.log">
      <arg value="/c sbs.bat -s ${build.drive}/output\build\canonical_system_definition_SF.xml -k -c tools -c tools2 -c winscw -c armv5 -j 32 --check -m ${build.drive}/output\logs\build_check_Makefile"/>
      <!-- argument of -j option can be parameterized with: ${number.of.threads} -->
    </exec>
    
  </target>
  
</project>