|
||
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. From Symbian
OS v9.4 onwards, 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
or .dso
) files are
generated in the epoc32\release\ARMV5\lib\
directory. This
directory is used, as the library file format has not changed since
ARMV5
.
Note: 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 binaries for ARMV6t2
with abld
, use:
> abld build ARMV6t2 [udeb | urel]
The command builds binaries conforming to ABIv2 for ARMV6 architecture supporting Thumb-2 instruction set.
To build for ARMV6
or ARMV6t2
from the
CodeWarrior IDE, specify ARMV6
or ARMV6t2
as the
target in the Platform Selection
field, when importing a
project from an .mmp
file. The binaries can then be built by
setting the target to ARMV6
or ARMV6t2
for
UREL
or UDEB
.
From the command line, to generate a CodeWarrior XML project file for
ARMV6
or ARMV6t2
, use the following command:
> makmake <project>.mmp CW_IDE:ARMV6 |
ARMV6t2
and then import the generated XML file from the IDE.
Note: The binaries for ARMV6
or
ARMV6t2
target are not created by default. You must explicitly
specify these targets either on the command line using 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. For ABI
v1 builds this is ARMV6.BSF
; for ABI v2 builds,
ARMV6_ABIv2.bsf
. From Symbian OS v9.4 onwards, for ABI v1 builds
the BSF file is ARMV6_ABIv1.bsf
and for ABI v2 builds it is
ARMV6.bsf
. For more information about BSF mechanism, refer to
ARMV5 build customisation.