S60 Open C
Porting Illustrated: Effective Guide to OSS Porting using Open C

Porting Illustrated: Effective Guide to OSS Porting using Open C

Table of Contents

Compilation and build process in Symbian OS
Creating PKG file and Installation file for the Target

 


Compilation and build process in Symbian OS

This article discusses a few basic things about the compilation and build process in Symbian OS. Refer to the public S60 C++ SDK documentation for more details.

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, etc. The parameteroptions includes –c, -w etc., these enable the user to check for the presence of releasables etc. 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 details logon to http://www.symbian.com/Developer

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

Give feedback of this section

 


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 seehttp://www.symbian.com/developer/techlib/v9.1docs/doc_source/n10356/installing-ref/pkg_format/index.html.

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 seehttp://www.symbian.com/Developer.

After creating the SIS file it, has to be signed using signsisto 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 utility seehttp://www.symbian.com/developer/techlib/v9.1docs/doc_source/n10356/installing-ref/signsistoolreference.guide.html.

Give feedback of this section


©Nokia 2007

Back to top


This material, including documentation and any related computer programs, is protected by copyright controlled by Nokia. All rights are reserved. Copying, including reproducing, storing, adapting or translating, any or all of this material requires the prior written consent of Nokia. This material also contains confidential information, which may not be disclosed to others without the prior written consent of Nokia.

Nokia is a registered trademark of Nokia Corporation. S60 and logo is a trademark of Nokia Corporation. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. Other company and product names mentioned herein may be trademarks or tradenames of their respective owners.