Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



GCCE build target

Introduction

The GCCE build target builds ARM code using a version of the freely available GNU Compiler Collection (GCC) tools. The GCCE compiler is intended only for building applications. It cannot be used to compile the full OS.

The binaries that it produces conform to version 2 of the ABI for the ARM architecture (referred to here as ABIv2). Details of the standard are published at http://www.arm.com/products/DevTools/ABI.html.

Code built for this target can inter-operate with code built by other compilers to the ARMV5 or ARMV_ABIV2 targets.

Installation

To build for the GCCE target, you must have installed the GCC CSL ARM toolchain. The installation program is supplied on the kits at epoc32\tools\distrib\arm-none-symbianelf-2005-q1c.exe. Run this program to start the installation wizard. By default the compiler is installed to C:\Program Files\CSL Arm Toolchain\.

The installation wizard does not modify the Windows PATH environment variable, so it is necessary to do this manually, to add the bin sub-directory of the installed tools. For example, if the compiler is installed to C:\gcce, then C:\gcce\bin should be added to the PATH environment variable.

Building

GCCE is not a default target. To build a program for the GCCE, GCCE must be explicitly specified as a supported platform using a prj_platforms statement in the component's BLD.INF file. For example:

PRJ_PLATFORMS
WINSCW GCCE

allows the component to be built for WINSCW and GCCE.

To then build the component for GCCE with bldmake and abld use:

> bldmake bldfiles

> abld build gcce [udeb | urel]

Binaries are generated in the udeb and/or urel sub-directories of the epoc32\release\gcce\ directory.

Import library (.dso) files are generated in the epoc32\release\armv5\lib\ directory. This is the same directory used for import libraries generated by ARMV5 builds: this allows other applications to link against all libraries regardless of which build target generated them.

ROM building

For information on building ROMs containing GCCE binaries, see the Compiler setting section of the ROM building guide.

Source issues

This target uses the same DEF file format as the ARMV5 target. The tools defaults to looking for DEF files in the project's EABI directory.

The GCCE compiler is very strict in checking that the source code conforms to the ANSI C++ standard. Therefore some source code which previously compiled with less strict compilers (e.g. RVCT 2.1) may no longer compile.