build/data/custom_SystemDefinition.xml
author Simon Howkins <simonh@symbian.org>
Fri, 05 Mar 2010 15:29:44 +0000
branchRCL_3
changeset 10 67b05696354a
parent 0 beb51793110d
permissions -rw-r--r--
Merge Compiler Compatibility fixes onto RCL_3 branch

<?xml version="1.0"?>
<!DOCTYPE SystemDefinition [
 <!ELEMENT SystemDefinition (systemModel?, build?)>
 <!ATTLIST SystemDefinition
  name CDATA #REQUIRED
  schema CDATA #REQUIRED>
 <!ELEMENT systemModel (layer+)>
 <!ELEMENT layer (logicalset* | module*)*>
 <!ATTLIST layer
  name CDATA #REQUIRED
  levels CDATA #IMPLIED
  span CDATA #IMPLIED>
 <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
 <!ATTLIST logicalset 
  name CDATA #REQUIRED
  levels CDATA #IMPLIED  
  span CDATA #IMPLIED
  level CDATA #IMPLIED>
 <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
 <!ATTLIST logicalsubset name CDATA #REQUIRED>
 <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
 <!ATTLIST module
  name CDATA #REQUIRED
  level CDATA #IMPLIED>
 <!ELEMENT component (unit* | package* | prebuilt*)*>
 <!ATTLIST component name CDATA #REQUIRED>
 <!ELEMENT unit EMPTY>
 <!ATTLIST unit
  unitID ID #REQUIRED
  name CDATA #REQUIRED
  mrp CDATA #REQUIRED
  filter CDATA #IMPLIED
  bldFile CDATA #REQUIRED
  priority CDATA #IMPLIED
  contract CDATA #IMPLIED>
 <!ELEMENT package EMPTY>
 <!ATTLIST package
  name CDATA #REQUIRED
  mrp CDATA #REQUIRED
  filter CDATA #IMPLIED
  contract CDATA #IMPLIED>
 <!ELEMENT prebuilt EMPTY>
 <!ATTLIST prebuilt
  name CDATA #REQUIRED
  version CDATA #REQUIRED
  late (Y|N) #IMPLIED
  filter CDATA #IMPLIED
  contract CDATA #IMPLIED>
 <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
 <!ELEMENT unitList (unitRef+)>
 <!ATTLIST unitList
  name ID #REQUIRED
  description CDATA #REQUIRED>
 <!ELEMENT unitRef EMPTY>
 <!ATTLIST unitRef unit IDREF #REQUIRED>
 <!ELEMENT targetList EMPTY>
 <!ATTLIST targetList
  name ID #REQUIRED
  description CDATA #REQUIRED
  target IDREFS #REQUIRED>
 <!ELEMENT target EMPTY>
 <!ATTLIST target
  name ID #REQUIRED
  abldTarget CDATA #REQUIRED
  description CDATA #REQUIRED>
 <!ELEMENT option EMPTY>
 <!ATTLIST option
  name ID #REQUIRED
  abldOption CDATA #REQUIRED
  description CDATA #REQUIRED
  enable (Y | N | y | n) #REQUIRED>
 <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
 <!ATTLIST configuration
  name ID #REQUIRED
  description CDATA #REQUIRED
  filter CDATA #REQUIRED>
 <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
 <!ELEMENT unitListRef EMPTY>
 <!ATTLIST unitListRef unitList IDREF #REQUIRED>
 <!ELEMENT layerRef EMPTY>
 <!ATTLIST layerRef layerName CDATA #REQUIRED>
 <!ELEMENT buildLayer EMPTY>
 <!ATTLIST buildLayer
  command CDATA #REQUIRED
  targetList IDREFS #IMPLIED
  unitParallel (Y | N | y | n) #REQUIRED
  targetParallel (Y | N | y | n) #IMPLIED>
 <!ELEMENT specialInstructions EMPTY>
 <!ATTLIST specialInstructions
  name CDATA #REQUIRED
  cwd CDATA #REQUIRED
  command CDATA #REQUIRED>
]>

<SystemDefinition name="custom_SystemDefinition" schema="1.4.0">
<systemModel>
<layer name="some_component_name">
<module name="some_component_name">
<unit unitID="some_component" name="some_component_name" bldFile="some_component\group" mrp=""/>
<unit unitID="some_component2" name="some_component_name2" bldFile="some_component2\group" mrp=""/>
</module>
</layer>
</systemModel>
	<build> 
<!-- Here the unit list for added components can be given, below some_components is an example for unit list -->
    <unitList name="SOME_COMPONENTS" description="S60 3.2 and some components">
      <unitRef unit="some_component"/>
      <unitRef unit="some_component2"/>
   	</unitList>
	
<!--  Example how to create specific build configuration to build 3.1 with complementary but without stubs  -->
<!--  !!! NOTE this is just example !!!  -->
		<configuration name="S60_3_1_with_compl_no_stubs_some_comp" description="S60 3.1 with complementary and without stubs and some components" filter="S60_3_1">
      <unitListRef unitList="S60_COMMON_OSEXTENSION"/>
      <unitListRef unitList="S60_3_1_JAVA"/>
      <unitListRef unitList="S60_COMMON"/>
      <unitListRef unitList="S60_3_1"/>
      <unitListRef unitList="S60_COMMON_COMPLEMENTARY"/>
      <unitListRef unitList="S60_3_1_COMPLEMENTARY"/>
<!--  include some components  -->
      <unitListRef unitList="SOME_COMPONENTS"/>
<!-- include some components end    -->
      <task><buildLayer command="bldmake bldfiles" unitParallel="Y"/></task>
      <task><buildLayer command="abld export" unitParallel="Y"/></task>
      <task><buildLayer command="abld makefile" targetList="default_tools" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld library" targetList="default_tools" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld target" targetList="tools_rel" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -what build" targetList="tools_rel" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -check build" targetList="tools_rel" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld makefile" targetList="default_winscw" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld resource" targetList="default_winscw" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld library" targetList="default_winscw" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld makefile" targetList="default_armv5" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld resource" targetList="default_armv5" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld library" targetList="default_armv5" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld target" targetList="default" unitParallel="Y" targetParallel="Y"/></task>
      <task><specialInstructions name="Install colour resources" cwd="%EPOCROOT%" command="instcol cl"/></task>
      <task><buildLayer command="abld final" targetList="default" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -what build" targetList="default" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld -check build" targetList="default" unitParallel="Y" targetParallel="Y"/></task>
		</configuration>

<!--  Example how to create specific build configuration to build 3.1 with complementary but without stubs  -->
<!--  !!! NOTE this is just example !!!  -->
		<configuration name="S60_3_1_with_compl_no_stubs" description="S60 3.1 with complementary and without stubs" filter="S60_3_1">
      <unitListRef unitList="S60_COMMON_OSEXTENSION"/>
      <unitListRef unitList="S60_3_1_JAVA"/>
      <unitListRef unitList="S60_COMMON"/>
      <unitListRef unitList="S60_3_1"/>
      <unitListRef unitList="S60_COMMON_COMPLEMENTARY"/>
      <unitListRef unitList="S60_3_1_COMPLEMENTARY"/>
      <task><buildLayer command="bldmake bldfiles" unitParallel="Y"/></task>
      <task><buildLayer command="abld export" unitParallel="Y"/></task>
      <task><buildLayer command="abld makefile" targetList="default_tools" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld library" targetList="default_tools" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld target" targetList="tools_rel" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -what build" targetList="tools_rel" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -check build" targetList="tools_rel" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld makefile" targetList="default_winscw" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld resource" targetList="default_winscw" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld library" targetList="default_winscw" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld makefile" targetList="default_armv5" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld resource" targetList="default_armv5" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld library" targetList="default_armv5" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld target" targetList="default" unitParallel="Y" targetParallel="Y"/></task>
      <task><specialInstructions name="Install colour resources" cwd="%EPOCROOT%" command="instcol cl"/></task>
      <task><buildLayer command="abld final" targetList="default" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -what build" targetList="default" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld -check build" targetList="default" unitParallel="Y" targetParallel="Y"/></task>
    </configuration>

<!--  Example how to create specific build configuration to build 3.1 only for armv5 target (no tools and winscw targets) -->
<!--  !!! NOTE this is just example !!!  -->
		<configuration name="S60_3_1_armv5_only" description="S60 3.1 for target ARMV5 only" filter="S60_3_1">
      <unitListRef unitList="S60_COMMON_OSEXTENSION"/>
      <unitListRef unitList="S60_3_1_JAVA"/>
      <unitListRef unitList="S60_COMMON"/>
      <unitListRef unitList="S60_COMMON_OSEXTENSION_STUBS"/>
      <unitListRef unitList="S60_COMMON_STUBS"/>
      <unitListRef unitList="S60_3_1"/>
      <task><buildLayer command="bldmake bldfiles" unitParallel="Y"/></task>
      <task><buildLayer command="abld export" unitParallel="Y"/></task>
      <task><buildLayer command="abld makefile" targetList="default_armv5" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld resource" targetList="default_armv5" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld library" targetList="default_armv5" unitParallel="N" targetParallel="N"/></task>
      <task><buildLayer command="abld target" targetList="default_armv5" unitParallel="Y" targetParallel="Y"/></task>
      <task><specialInstructions name="Install colour resources" cwd="%EPOCROOT%" command="instcol cl"/></task>
      <task><buildLayer command="abld final" targetList="default_armv5" unitParallel="N" targetParallel="Y"/></task>
      <task><buildLayer command="abld -what build" targetList="default_armv5" unitParallel="Y" targetParallel="Y"/></task>
      <task><buildLayer command="abld -check build" targetList="default_armv5" unitParallel="Y" targetParallel="Y"/></task>
    </configuration>

  </build> 
</SystemDefinition>