Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
<?xml version="1.0"?>
<build>
<config abstract="true">
<!-- Options that apply accross the board -->
<set name="archive.tool" value="7za" />
<set name="root.dir" value="${build.drive}/" />
<set name="temp.build.dir" value="${temp.build.dir}" />
<set name="casesensitive" value="false" />
<set name="archives.dir" value="${build.output.dir}/zips" />
<set name="policy.internal.name" value="removed" />
<!--set name="policy.csv" value="${policy.csv}" /-->
<set name="policy.zip2zip" value="false" />
<set name="policy.default.value" value="" />
<!-- Metadata creation -->
<set name="grace.template" value="${temp.build.dir}/release_metadata_template.xml" />
<set name="grace.metadata" value="true" />
<set name="grace.service" value="${grace.service.name}" />
<set name="grace.product" value="${grace.product.name}" />
<set name="grace.release" value="${grace.release.name}" />
<!-- Options that apply to all configs - don't put in any hg internals! -->
<set name="exclude" value="**/.hg/**"/>
<set name="exclude" value="**/.hgtags"/>
<set name="exclude" value="**/.hgignore"/>
<set name="exclude" value="**/.hg_archival.txt"/>
<!-- Specify this config to package all src inputs to the build -->
<config name="src" abstract="true">
<!-- These configs will be populated with tags for the source -->
<config name="sfl" abstract="true">
<set name="grace.filters" value="src" />
</config>
<config name="oss" abstract="true">
<set name="grace.filters" value="src" />
</config>
<config name="misc" abstract="true">
<set name="grace.filters" value="misc" />
</config>
</config>
<!-- Specify this config to double-package all src inputs to the build -->
<config name="src-by-layer" abstract="true">
<set name="root.dir" value="${build.output.dir}/zips"/>
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="src" />
<set name="grace.extract" value="double" />
<!-- Zips of zips for SFL code -->
<config name="sfl-adaptation">
<set name="name" value="src_sfl_adaptation"/>
<set name="include" value="src_sfl_adaptation_*.zip"/>
</config>
<config name="sfl-app">
<set name="name" value="src_sfl_app"/>
<set name="include" value="src_sfl_app_*.zip"/>
</config>
<config name="sfl-mw">
<set name="name" value="src_sfl_mw"/>
<set name="include" value="src_sfl_mw_*.zip"/>
</config>
<config name="sfl-os">
<set name="name" value="src_sfl_os"/>
<set name="include" value="src_sfl_os_*.zip"/>
</config>
<config name="sfl-ostools">
<set name="name" value="src_sfl_ostools"/>
<set name="include" value="src_sfl_ostools_*.zip"/>
</config>
<config name="sfl-tools">
<set name="name" value="src_sfl_tools"/>
<set name="include" value="src_sfl_tools_*.zip"/>
</config>
<!-- Zips of zips for OSS code -->
<config name="oss-adaptation">
<set name="name" value="src_oss_adaptation"/>
<set name="include" value="src_oss_adaptation_*.zip"/>
</config>
<config name="oss-app">
<set name="name" value="src_oss_app"/>
<set name="include" value="src_oss_app_*.zip"/>
</config>
<config name="oss-mw">
<set name="name" value="src_oss_mw"/>
<set name="include" value="src_oss_mw_*.zip"/>
</config>
<config name="oss-os">
<set name="name" value="src_oss_os"/>
<set name="include" value="src_oss_os_*.zip"/>
</config>
<config name="oss-ostools">
<set name="name" value="src_oss_ostools"/>
<set name="include" value="src_oss_ostools_*.zip"/>
</config>
<config name="oss-tools">
<set name="name" value="src_oss_tools"/>
<set name="include" value="src_oss_tools_*.zip"/>
</config>
</config>
<!-- Specify this config to package all rnd inputs to the build that should be released -->
<config name="rnd" abstract="true">
<set name="grace.filters" value="rnd" />
<set name="archives.dir" value="${build.output.dir}/zips/release" />
</config>
<!-- Specify this config to package all rnd inputs to the build that should be released -->
<config name="rnd-internal" abstract="true">
<set name="grace.filters" value="emu" />
</config>
<!-- Specify this config to package all outputs from the build -->
<config name="bin" abstract="true">
<!-- This config will be populated with exclusions for the rnd bins -->
<config>
<set name="name" value="binaries_epoc"/>
<set name="grace.filters" value="emu" />
<set name="include" value="epoc32/**"/>
<set name="exclude" value="epoc32/build/**"/>
</config>
</config>
<!-- Specify this config to re-package the internal rnd bins after the build has updates some of the files -->
<config name="rnd-postbuild" abstract="true">
<set name="grace.filters" value="emu"/>
<set name="archives.dir" value="${build.output.dir}/zips/release" />
</config>
<!-- "Null" tools entry, which matches no files, but does populate the release_metadata.xml -->
<config name="tools">
<set name="name" value="tools_epoc"/>
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="tools"/>
<set name="include" value="*"/>
<set name="exclude" value="**"/>
</config>
<!-- "Null" binaries entries, which match no files, but do populate the release_metadata.xml -->
<config name="bin-just-metadata" abstract="true">
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="emu"/>
<set name="include" value="*"/>
<set name="exclude" value="**"/>
<config name="core">
<set name="name" value="binaries_epoc"/>
</config>
<config name="armv5">
<set name="name" value="binaries_armv5"/>
</config>
<config name="winscw">
<set name="name" value="binaries_winscw"/>
</config>
</config>
</config>
</build>