diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,134 @@ + + + + + +Variant +configuration file syntax +
Purpose

A variant configuration file (.var) +defines settings that are specific to a variant. It is used to modify certain +aspects of an existing build platform.

+
Syntax

KEYWORD [OPERATION] +[VALUE]

A summary of keywords, operations and values +is given below:

Keyword

Possible keywords are as follows:

+ + + +

VARIANT

+

Indicates that VALUE is the name of the variant +configuration.

+
+ +

VIRTUAL

+

Indicates that the variant is meant only for grouping variants and +not to be used as a build configuration.

+
+ +

EXTENDS

+

Indicates that the variant extends an existing variant configuration.

+
+ +

VARIANT_HRH

+

Specifies the pre-included header (.hrh) file +that defines feature macros.

+
+ +

BUILD_INCLUDE

+

Specifies the location of the files to be included when building +the binary.

+
+ +

ROM_INCLUDE

+

Specifies the location of the files to be included when building +the ROM image containing the variant binary.

+
+ + +

Note: If VARIANT_HRH keyword is not present, then /epoc32/include/variant/name.hrh is +used.

operation

The possible operations are set, append and prepend. +These operations provide the flexibility of extending the existing include +paths within the .var file. The operations are applicable +only to the BUILD_INCLUDE and ROM_INCLUDE keywords.

Example

# default.var +VARIANT default +BUILD_INCLUDE set /epoc32/include +BUILD_INCLUDE append /epoc32/include/variant +ROM_INCLUDE set /epoc32/rom/include # phone.var +VARIANT phone +EXTENDS default +BUILD_INCLUDE append /epoc32/include/variant/phone +ROM_INCLUDE prepend /epoc32/rom/phone

For the variant phone the +include lists will be:

BUILD (/epoc32/include, /epoc32/include/variant, /epoc32/include/variant/phone) +ROM (/epoc32/rom/phone, /epoc32/rom/include)

value

Value +can be a variant name, a file name or a directory name. for example, myphone +or /epoc32/tools/variant/name.var.

    +
  • Use '/' as the path separator between files and directories.

  • +
  • Begin all paths with '/' implying that they are relative to EPOCROOT.

  • +

Example

An example of a variant:

VARIANT name +VIRTUAL +EXTENDS parent +VARIANT_HRH /epoc32/include/variant/something.hrh +BUILD_INCLUDE set directoryA +BUILD_INCLUDE append directoryB +BUILD_INCLUDE prepend directoryC +ROM_INCLUDE set directoryD +ROM_INCLUDE append directoryE +ROM_INCLUDE prepend directoryF + +

Notes

    +
  • All .var files +must exist in /epoc32/tools / variant.

  • +
  • A default variant configuration +file (default.var) must exist in /epoc32/tools/variant/.

  • +
  • The name of the variant +configuration file (.var) must be same as the variant name. For example, if +the variant name is myvar, then the variant configuration file must +be named as myvar.var.

  • +
  • Each variant must have +a default <variant_name>.hrh file at /epoc32/include/variant/. +If you want to use any other .hrh file under EPOCROOT, +use the VARIANT_HRH keyword to specify its name along with +the relative path.

  • +
  • A default variant cannot +be VIRTUAL.

  • +
+
Example

An example of a variant:

VARIANT name +VIRTUAL +EXTENDS parent +VARIANT_HRH /epoc32/include/variant/something.hrh +BUILD_INCLUDE set directoryA +BUILD_INCLUDE append directoryB +BUILD_INCLUDE prepend directoryC +ROM_INCLUDE set directoryD +ROM_INCLUDE append directoryE +ROM_INCLUDE prepend directoryF + +
+
Notes
    +
  • All .var files +must exist in /epoc32/tools / variant.

  • +
  • A default variant configuration +file (default.var) must exist in /epoc32/tools/variant/.

  • +
  • The name of the variant +configuration file (.var) must be same as the variant name. For example, if +the variant name is myvar, then the variant configuration file must +be named as myvar.var.

  • +
  • Each variant must have +a default <variant_name>.hrh file at /epoc32/include/variant/. +If you want to use any other .hrh file under EPOCROOT, +use the VARIANT_HRH keyword to specify its name along with +the relative path.

  • +
  • A default variant cannot +be VIRTUAL.

  • +
+
+How to build +feature based variants +How to build +ROMs with variants +
\ No newline at end of file