|
||
The Kit Comparator, kitcomp
, is a command-line application that can be used to validate all Symbian OS components when creating SDKs derived from a Symbian
OS Customisation Kit. This is to make sure that all the components that are meant to be on the SDK, are actually available
in their entirety (as mandated under the Customisation Kit Licence Agreement) and that there are no binary compatibility breaks.
The reason for comparing the SDK against the Symbian OS Customisation Kit is because there might be unexpected changes/errors occurring as a result of adding new files, modifying source or restructuring components etc.
Symbian OS components may be classified as:
a) Common Symbian
b) Optional Symbian
c) Common Replaceable
d) Optional Replaceable
e) Test/Reference.
All these components may be available on the Customisation Kit, but when producing a derived SDK, you must ensure that:
all Common Symbian components are present on the SDK
an Optional Symbian component is either excluded from the SDK or present in its entirety.
When one of the parts of an Optional Symbian component is found to be present on the SDK, the component is regarded as "touched". In order for these components to be complete and work correctly, all "touched" Optional Symbian components must be available in their entirety on the SDK.
In order for the comparison to work, the Symbian OS Customisation Kit provides six .pld
files in /epoc32/tools/KitComparator
(which have been generated from a database prior to producing the kit). These files list the data you need to compare, including:
A list of Common Symbian components (CommonSymbian.lpd
)
A list of Optional Symbian components (OptionalSymbian.pld
)
A list of component dependency files; headers, libraries and library exports by ordinals. (CompDependencies.pld
)
Three KitLibDB
files - one for each platform available, i.e. ARM4/ARMI/THUMB.
When running the Kit Comparator on your SDK, you then check that all the components listed in these files are available on the SDK, in the epoc32 tree.
An HTML report is also produced, detailing the result - specifically showing any missing Common Symbian components, headers, libraries and corrupted binary interfaces.
The process is illustrated in the following diagram: