Excluding Features from the ROM
Symbian platform can be customised by including or excluding features
from the build. A feature is a section of Symbian platform API and its
underlying implementation, which is used to accomplish one or more useful
tasks. By default, all the features are included in the build.
Symbian platform provides ROM building tools for device creators to
customise the OS according to their requirements. The ROM building kit includes
the following files, which are used to exclude features from the build:
-
RemovableFeatures.iby: This file defines macros for all
features that can be excluded from the Symbian platform build.
-
featureUIDs.xml: This file lists the UIDs for all the
features that can be included or excluded from a Symbian platform build. The
file also specifies the default range for these UIDs.
You can include or exclude any of the features that are listed in the
featureUIDs.xml file.
-
feature.iby: This file specifies whether to include or
exclude the features listed in the featureUIDs.xml file based on
the exclude macros defined in RemovableFeatures.iby. It uses the
corresponding exclude macros defined in the RemovableFeatures.iby
file to include or exclude features from the Symbian platform build. This file
can be created by features tool. See
How to Use the features Tool.
-
featureUIDs.h: This file defines constants for each
feature listed in the featureUIDs.xml file.
For example, the following defines a constant to store the UID for
USB feature:
const TUid KUsb= {0x10282663};
This file can be created by features tool. See
How to Use the features Tool.
As a device creator, you might want to exclude a feature from the Symbian
platform build. To do so, follow the steps outlined below:
-
Edit the RemovableFeatures.iby file to define an exclude
macro for a Symbian platform feature listed in featureUIDs.xml.
For example, the following macro definition in the
RemovableFeatures.iby is used to exclude the USB feature from the
Symbian platform build:
#ifndef __REMOVABLEFEATURES_IBY__
#define __REMOVABLEFEATURES_IBY__
#define SYMBIAN_EXCLUDE_USB
#endif
-
Edit the feature.iby file and define a conditional block
(#ifdef ... #endif) to remove a feature based on the exclude macro
defined in RemovableFeatures.iby.
For example, the following removes the USB feature from the Symbian
platform build, if the corresponding exclude macro is defined in the
RemovableFeatures.iby:
#ifdef SYMBIAN_EXCLUDE_USB
EXCLUDE_FEATURE Usb
#else
FEATURE Usb
#endif
Note: The feature name passed as an argument to
EXCLUDE_FEATURE and FEATURE macros must match with
the feature name in the featureUIDs.xml file.
To include or exclude features from a Symbian platform build, use
FEATURE and
EXCLUDE_FEATURE
obey file keywords along with the option statusflags and
userdata for overriding their default values in the XML file.
To include a feature that is already excluded from the Symbian platform
build, edit the RemovableFeatures.iby file and remove the
corresponding exclude macro definition.
See Also
Enabling Feature Data File Generation