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 platform 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.