|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27" xml:lang="en"><title>Compilation |
|
13 and Build Process on Symbian Platform</title><shortdesc>This article discusses a few basic things about the compilation |
|
14 and build process in Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
15 <p>The <codeph>bldmake</codeph> tool processes the component description file <filepath>bld.inf</filepath> in |
|
16 the current directory and generates the batch file <filepath>abld.bat</filepath> and |
|
17 several build batch <codeph>makefiles</codeph> (<filepath>.make</filepath>) |
|
18 . The <codeph>makefiles</codeph> are used by <codeph>abld</codeph> to carry |
|
19 out the various stages of building the component. </p> |
|
20 <p>The basic usage of <codeph>abld</codeph> command is:</p> |
|
21 <codeblock xml:space="preserve">abld command[options][platform][build][program]</codeblock> |
|
22 <p>This enables the programmer to build for different platforms with varied |
|
23 specifications. The parameter command specifies which action to perform to |
|
24 the <codeph>abld</codeph> tool. The actions can be build, clean, <codeph>cleanexport</codeph> and |
|
25 so on. The parameter options includes <codeph>–c</codeph>, <codeph>-w</codeph> and |
|
26 so on, these enable the user to check for the presence of releasables. The |
|
27 parameter platform specifies the platform for which the project will be built. |
|
28 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 |
|
29 build specifies whether to build for debug (<codeph>udeb</codeph>) or release |
|
30 (<codeph>urel</codeph>) version. Finally the parameter program specifies which |
|
31 project definition file or mmp file to build. If left unspecified, all the |
|
32 MMP files mentioned in the <filepath>bld.inf</filepath> file are built. For |
|
33 more information, see <xref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita">Build |
|
34 tools reference</xref>.</p> |
|
35 <p>The example below demonstrates the use of <codeph>bldmake</codeph>:</p> |
|
36 <codeblock xml:space="preserve">bldmake bldfiles</codeblock> |
|
37 <p>The <cmdname>abld build</cmdname> command compiles and links the target.</p> |
|
38 <codeblock xml:space="preserve">abld build</codeblock> |
|
39 <p>The <cmdname>abld freeze</cmdname> command freezes the project export. |
|
40 This is needed only for DLLs. </p> |
|
41 <codeblock xml:space="preserve">abld freeze</codeblock> |
|
42 <section id="GUID-CF5D3059-BDC4-407D-83D5-7C8DE9F5C3E7"> <title>Creating |
|
43 PKG file and Installation file for the target</title><p>A package (PKG) file |
|
44 is a text file containing items or statements that define the information |
|
45 required by the installation (SIS) file creation utility <codeph>makesis</codeph>. |
|
46 The PKG file format can be broken down into the following items:</p><ul> |
|
47 <li><p>Languages</p></li> |
|
48 <li><p>Language code table</p></li> |
|
49 <li><p>Package-header</p></li> |
|
50 <li><p>Vendor</p></li> |
|
51 <li><p>Logo</p></li> |
|
52 <li><p>Package-signature</p></li> |
|
53 <li><p>Package-body</p></li> |
|
54 <li><p>Dependency</p></li> |
|
55 <li><p>Properties </p></li> |
|
56 </ul><p>For more information on PKG files, see <xref href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita">PKG |
|
57 File Format</xref>.</p><p>The <cmdname>makesis</cmdname> utility creates software |
|
58 installation packages (SIS files) based on the information and the file locations |
|
59 on the source PC or target phone, defined in a package (PKG) file.</p><p>For |
|
60 example, consider the code snippet given below:</p><codeblock xml:space="preserve">makesis somefile.pkg</codeblock><p>The |
|
61 code goes through the PKG file and by default creates somefile.sis in the |
|
62 directory where the PKG file is present. </p><p>For more information on the <cmdname>makesis</cmdname> utility, |
|
63 see <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref>.</p><p>After |
|
64 creating the SIS file it, has to be signed using <cmdname>signsis</cmdname> to |
|
65 install it on the phone. <cmdname>signsis</cmdname> is a Symbian supplied |
|
66 tool to digitally sign software installation (SIS) files using a specified |
|
67 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 |
|
68 SIS file which is to be signed. The second parameter, <filepath>somefile.sisx</filepath> specifies |
|
69 the name of the resultant signed SIS file. The third parameter, <filepath>rd.cer</filepath> specifies |
|
70 the path to the certificate file and the last parameter, <filepath>rd-key.pem</filepath> specifies |
|
71 the path to the file containing the private key. </p><p>For more information |
|
72 on <cmdname>signsis</cmdname>, see <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref>.</p></section> |
|
73 </conbody></concept> |