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.
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.
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
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.