Symbian3/SDK/Source/GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27.dita
changeset 13 48780e181b38
parent 0 89d6a7a84779
equal deleted inserted replaced
12:80ef3a206772 13:48780e181b38
     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 &gt; 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>