buildframework/helium/sf/java/imaker/imaker.rst
author Bob Rosenberg <bob.rosenberg@nokia.com>
Fri, 27 Aug 2010 14:50:55 +0100
changeset 638 024a31e39848
parent 587 85df38eb4012
child 628 7c4a911dc066
permissions -rw-r--r--
Change bld.inf install location to epoc32\tools\sysdeftools
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     1
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     2
  module: Configuring ROM creation
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
========================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
Configuring ROM creation
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
========================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
Called by ``build-roms`` target.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
   single: imakerconfigurationset type
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
The imakerconfigurationset type
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
-------------------------------
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
Information on how to configure the properties is given below:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
The imakerconfigurationset supports imakerconfiguration nested elements.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    19
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    20
'''imakerconfiguration''' element:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    21
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    22
.. csv-table:: Ant properties to modify
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    23
   :header: "Attribute", "Description", "Values"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    24
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    25
   "``regionalVariation``", "Enable regional variation switching. - Deprecated (always false)", "false"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
The imakerconfiguration supports three sub-types:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
.. csv-table:: Ant properties to modify
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
   :header: "Sub-type", "Description"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
   "``makefileset``", "Defines the list of iMaker configuration to run image creation on."
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
   "``targetset``", "List of regular expression used to match which target need to be executed."
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
   "``variableset``", "List of variable to set when executing iMaker."
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
Example of configuration:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
.. code-block:: xml
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
   <hlm:imakerconfigurationset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
      <hlm:imakerconfiguration regionalVariation="true">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
         <makefileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
            <include name="**/product_name/*ui.mk" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
         </makefileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
         <targetset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
            <include name="^core${r'$'}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
            <include name="langpack_\d+" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
            <include name="^custvariant_.*${r'$'}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
            <include name="^udaerase${r'$'}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
         </targetset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
         <variableset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
            <variable name="USE_FOTI" value="0" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
            <variable name="USE_FOTA" value="1" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
            <variable name="TYPE" value="rnd" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
         </variableset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
      </hlm:imakerconfiguration>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
   </hlm:imakerconfigurationset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
Other example using product list and variable group:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
.. code-block:: xml
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
   <hlm:imakerconfigurationset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
      <hlm:imakerconfiguration>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
         <hlm:product list="product_name" ui="true" failonerror="false" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
         <targetset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
            <include name="^core${r'$'}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
            <include name="langpack_\d+" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    71
            <include name="^custvariant_.*${r'$'}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
            <include name="^udaerase${r'$'}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
         </targetset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
         <variableset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
            <variable name="USE_FOTI" value="0" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
            <variable name="USE_FOTA" value="1" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
         </variableset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
         <variablegroup>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
            <variable name="TYPE" value="rnd" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
         </variablegroup>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
         <variablegroup>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    82
            <variable name="TYPE" value="subcon" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    83
         </variablegroup>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    84
         <variablegroup>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    85
            <variable name="TYPE" value="prd" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    86
         </variablegroup>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    87
      </hlm:imakerconfiguration>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    88
   </hlm:imakerconfigurationset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    89
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    90
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    91
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    92
   single: The iMaker Task
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    93
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    94
How to configure the target
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    95
---------------------------
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    96
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    97
The target can be configured by defining an hlm:imakerconfigurationset element with the '''imaker.rom.config''' reference.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    98
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    99
.. code-block:: xml
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   100
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   101
    <hlm:imakerconfigurationset id="imaker.rom.config">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   102
    ...
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   103
    </hlm:imakerconfigurationset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   104
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   105
The other configurable element is the engine. The '''imaker.engine''' property defines the reference
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   106
to the engine configuration to use for building the roms. Helium defines two engines by default:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   107
* imaker.engine.default: multithreaded engine (hlm:defaultEngine type)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   108
* imaker.engine.ec: ECA engine - cluster base execution (hlm:emakeEngine type)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   109
  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   110
If the property is not defined Helium will guess the best engine to used based on the build.system property.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   111