Symbian3/SDK/Source/GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
child 13 48780e181b38
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?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 <xref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita">Build
tools reference</xref>.</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>