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