Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Feature variants

Symbian OS can be built for multiple product configurations (variants). Each variant can include, enable or disable various features

A variant-specific .hrh file is used to configure each different product. For example, the following .hrh files define features for products phone1, phone2 and phone3 respectively:

The .hrh files contain macros which are used throughout the Symbian OS source. A DLL containing variant macros may be built differently for certain variants. It may also be common for certain variants. In order to identify variant DLLs, and to establish before compilation whether a variant DLL will be unique, a checksum value is calculated based on the combination of variant macros and appended to the DLL filename. If the checksum matches an existing DLL, already built for a different variant, that DLL is shared.

For example, a my.dll with checksum appended appears as follows:

/epoc32/release/armv5/urel/my.685dfabca1f1d90889ef4ac115c01a14.dll

Support for variant builds is included in the Symbian OS build tool-chain as follows:

If no .var file is specified the default.var file is used. The checksum will still be calculated and appended. You may avoid the checksum calculation by using the -invariant (or -inv) option with abld. This will build a default DLL with no checksum in the filename. If a DLL has FEATUREVARIANT specified in its mmp file, however, the -invariant option will be ignored.


Notes

[Top]


See also