The ARM5 architecture supports a 32-bit instruction set (known simply as ARM) and a 16-bit instruction set called THUMB. Code compiled to one set can interoperate with the other. The Symbian OS builds tools apply the following policy when building projects: kernel-side code is built for ARM, while other code (user-side) is built for THUMB. There are a number of ways to override this policy to build user-side code also for ARM:
MMP file: to specify that a project should always be built as ARM, use the following keyword in the mmp file:
ALWAYS_BUILD_AS_ARM
BLD.INF file: you can also specify that a project
should always be built as ARM by adding a qualifier, BUILD_AS_ARM
,
to MMP file statements in a BLD.INF file. For example:
PRJ_MMPFILES
..\group\commdb.mmp BUILD_AS_ARM
..\group\ced.mmp
means that commdb
is built in ARM and
ced
in THUMB.
makmake: the makmake
tool accepts an
option -ARM
that has the same effect as if
ALWAYS_BUILD_AS_ARM
were supplied in the MMP file.