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.