Compilation and Build Process on Symbian Platform

This article discusses a few basic things about the compilation and build process in Symbian platform.

The bldmake tool processes the component description file bld.inf in the current directory and generates the batch file abld.bat and several build batch makefiles (.make) . The makefiles are used by abld to carry out the various stages of building the component.

The basic usage of abld command is:

abld command[options][platform][build][program]

This enables the programmer to build for different platforms with varied specifications. The parameter command specifies which action to perform to the abld tool. The actions can be build, clean, cleanexport and so on. The parameter options includes –c, -w and so on, these enable the user to check for the presence of releasables. The parameter platform specifies the platform for which the project will be built. The platform can be WINSCW, GCCE, GCCXML, EDG, ARMV5, VS6, CW_IDE or VS2003. The parameter build specifies whether to build for debug (udeb) or release (urel) version. Finally the parameter program specifies which project definition file or mmp file to build. If left unspecified, all the MMP files mentioned in the bld.inf file are built. For more information, see Symbian^3 Tools Guide > Building.

The example below demonstrates the use of bldmake:

bldmake bldfiles

The abld build command compiles and links the target.

abld build

The abld freeze command freezes the project export. This is needed only for DLLs.

abld freeze

Creating PKG file and Installation file for the target

A package (PKG) file is a text file containing items or statements that define the information required by the installation (SIS) file creation utility makesis. The PKG file format can be broken down into the following items:

  • Languages

  • Language code table

  • Package-header

  • Vendor

  • Logo

  • Package-signature

  • Package-body

  • Dependency

  • Properties

For more information on PKG files, see PKG File Format.

The makesis utility creates software installation packages (SIS files) based on the information and the file locations on the source PC or target phone, defined in a package (PKG) file.

For example, consider the code snippet given below:

makesis somefile.pkg

The code goes through the PKG file and by default creates somefile.sis in the directory where the PKG file is present.

For more information on the makesis utility, see MakeSIS.

After creating the SIS file it, has to be signed using signsis to install it on the phone. signsis is a Symbian supplied tool to digitally sign software installation (SIS) files using a specified certificate and private key. For example consider the code snippet given below:

signsis somefile.sis somefile.sisx rd.cer rd-key.pem

The parameter somefile.sis gives, the path to the SIS file which is to be signed. The second parameter, somefile.sisx specifies the name of the resultant signed SIS file. The third parameter, rd.cer specifies the path to the certificate file and the last parameter, rd-key.pem specifies the path to the file containing the private key.

For more information on signsis, see SignSIS.