Symbian3/SDK/Source/GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27" xml:lang="en"><title>Compilation and Build Process on Symbian Platform</title><shortdesc>This article discusses a few basic things about the compilation
and build process in Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The <codeph>bldmake</codeph> tool processes the component description
file <filepath>bld.inf</filepath> in the current directory and generates
the batch file <filepath>abld.bat</filepath> and several build batch <codeph>makefiles</codeph> (<filepath>.make</filepath>) . The <codeph>makefiles</codeph> are used by <codeph>abld</codeph> to carry out the various stages
of building the component. </p>
<p>The basic usage of <codeph>abld</codeph> command is:</p>
<codeblock xml:space="preserve">abld command[options][platform][build][program]</codeblock>
<p>This enables the programmer to build for different platforms with
varied specifications. The parameter command specifies which action
to perform to the <codeph>abld</codeph> tool. The actions can be build,
clean, <codeph>cleanexport</codeph> and so on. The parameter options
includes <codeph>–c</codeph>, <codeph>-w</codeph> 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 <codeph>WINSCW</codeph>, <codeph>GCCE</codeph>, <codeph>GCCXML</codeph>, <codeph>EDG</codeph>, <codeph>ARMV5</codeph>, <codeph>VS6</codeph>, <codeph>CW_IDE</codeph> or <codeph>VS2003</codeph>. The parameter build specifies whether to build for debug (<codeph>udeb</codeph>) or release (<codeph>urel</codeph>) 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 <filepath>bld.inf</filepath> file are built. For more information,
see <b>Symbian^3 Tools Guide &gt; Building</b>.</p>
<p>The example below demonstrates the use of <codeph>bldmake</codeph>:</p>
<codeblock xml:space="preserve">bldmake bldfiles</codeblock>
<p>The <cmdname>abld build</cmdname> command compiles and links the
target.</p>
<codeblock xml:space="preserve">abld build</codeblock>
<p>The <cmdname>abld freeze</cmdname> command freezes the project
export. This is needed only for DLLs. </p>
<codeblock xml:space="preserve">abld freeze</codeblock>
<section id="GUID-CF5D3059-BDC4-407D-83D5-7C8DE9F5C3E7">       <title>Creating PKG file and Installation file for the target</title><p>A package (PKG) file is a text file containing items or statements
that define the information required by the installation (SIS) file
creation utility <codeph>makesis</codeph>. The PKG file format can
be broken down into the following items:</p><ul>
<li><p>Languages</p></li>
<li><p>Language code table</p></li>
<li><p>Package-header</p></li>
<li><p>Vendor</p></li>
<li><p>Logo</p></li>
<li><p>Package-signature</p></li>
<li><p>Package-body</p></li>
<li><p>Dependency</p></li>
<li><p>Properties </p></li>
</ul><p>For more information on PKG files, see <xref href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita">PKG File Format</xref>.</p><p>The <cmdname>makesis</cmdname> 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.</p><p>For example, consider the code snippet given below:</p><codeblock xml:space="preserve">makesis somefile.pkg</codeblock><p>The code goes through the PKG
file and by default creates somefile.sis in the directory where the
PKG file is present. </p><p>For more information on the <cmdname>makesis</cmdname> utility, see <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref>.</p><p>After creating the SIS file it, has to be signed
using <cmdname>signsis</cmdname> to install it on the phone. <cmdname>signsis</cmdname> 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:</p><codeblock xml:space="preserve">signsis somefile.sis somefile.sisx rd.cer rd-key.pem</codeblock><p>The parameter<filepath> somefile.sis</filepath> gives, the path to
the SIS file which is to be signed. The second parameter, <filepath>somefile.sisx</filepath> specifies the name of the resultant signed
SIS file. The third parameter, <filepath>rd.cer</filepath> specifies
the path to the certificate file and the last parameter, <filepath>rd-key.pem</filepath> specifies the path to the file containing the
private key. </p><p>For more information on <cmdname>signsis</cmdname>, see <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref>.</p></section>
</conbody></concept>