|
|
|
|
The ARMV6 build target builds to the ARMV6
architecture. Like the ARMV5 target, the target requires the ARM's RealView
Compilation Tools (RVCT) v2.2 build 616 from Symbian OS v9.4 onwards.
To build for ARMV6 with abld, use:
> abld build ARMV6 | ARMV6_ABIv2 [udeb | urel]
Binaries are generated in the udeb and/or
urel sub-directories of the epoc32\release\ARMV6\
directory for ABI v1 and epoc32\release\ARMV6_ABIv2\ directory for
ABI v2.
As per the conventional approach mentioned above, the build targets
ARMV6 and ARMV6_ABIv2 are used to build binaries
conforming to ARMV6 ABI v1 and ABI v2 respectively. Since Symbian
OS v9.4 and later, the behaviour of these native build targets
(ARMV6 and ARMV6_ABIv2) has changed. The build target
ARMV6 is used to build binaries conforming to ABI v2 instead of
ABI v1, and ARMV6_ABIv1 is used to build binaries conforming to
ABI v1. Also, the release directories have changed to
epoc32\release\ARMV6\ for ABI v2 binaries and
epoc32\release\ARMV6_ABIv1\ for ABI v1 binaries.
You can switch back to the old approach, where the targets
ARMV6 and ARMV6_ABIv2 will build binaries conforming
to ABI v1 and ABI v2 respectively. For more details on this, refer to
Switching between ABI modes.
Library export (.lib) files are generated in the
epoc32\release\ARMV5\lib\ directory. This directory is used as the
LIB file format does not vary for processor architecture after
ARMV5.
Note that code is not built for ARMV6 target by default.
It has to be explicitly specified on the command line or with a
prj_platforms statement in the component's BLD.INF
file.
To build for ARMV6 from the CodeWarrior IDE, specify
ARMV6 as the target in the Platform Selection
field when importing a project from an .mmp file.
ARMV6 binaries can then be built by setting the target to
ARMV6 UREL or UDEB.
From the command line, to generate a CodeWarrior XML project file for
ARMV6 use:
> makmake <project>.mmp CW_IDE:ARMV6
and then import the generated XML file from the IDE.
Note that ARMV6 target is not created by default. It has
to be explicitly specified either on the command line through
makmake or in the Platform Selection field.
The build system provides the ARMV6 target by providing a build
specialization file (BSF) in the epoc32\tools\ directory. The BSF
files for ABI v1 and v2 builds are ARMV6_ABIv1.BSF and
ARMV6.bsf respectively. For more information about BSF mechanism,
refer to ARMV5 build customisation.