Symbian3/SDK/Source/GUID-28B9B737-AA79-5595-8DDE-7DD52402C0B9.dita
changeset 13 48780e181b38
parent 12 80ef3a206772
child 14 578be2adaf3e
equal deleted inserted replaced
12:80ef3a206772 13:48780e181b38
     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-28B9B737-AA79-5595-8DDE-7DD52402C0B9" xml:lang="en"><title>Tools
       
    13 and file types used in the build process</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>This page briefly lists the main Symbian-specific tools and file types
       
    15 used in building components. In addition to these tools, the build process
       
    16 will use compilers and linkers supplied by various third party companies. </p>
       
    17 <p>Tools supplied by Symbian are in <filepath>epoc32\tools\</filepath> directory. </p>
       
    18 <section id="GUID-846782B7-C972-4F36-B7CF-DE433985E20D"><title>Tools</title> <table id="GUID-108C8A55-E732-5F1E-9CD7-CCC634A06B61">
       
    19 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    20 <tbody>
       
    21 <row>
       
    22 <entry><p> <b>Tool</b>  </p> </entry>
       
    23 <entry><p> <b>Description</b>  </p> </entry>
       
    24 </row>
       
    25 <row>
       
    26 <entry><p> <filepath>bldmake</filepath>  </p> </entry>
       
    27 <entry><p>This tool processes a component description file (<filepath>bld.inf</filepath>),
       
    28 which describes various aspects of the component, and generates make files
       
    29 and a batch file called <filepath>abld.bat</filepath>. This batch file is
       
    30 then used to drive the rest of the component build. </p> </entry>
       
    31 </row>
       
    32 <row>
       
    33 <entry><p> <filepath>abld</filepath>  </p> </entry>
       
    34 <entry><p>Calls the <filepath>.make</filepath> files generated by the <filepath>bldmake</filepath> tool
       
    35 to build a component. The make files typically call the <filepath>makmake</filepath> tool
       
    36 to create makefiles that specify the required build steps to build the component
       
    37 for a particular target. </p> </entry>
       
    38 </row>
       
    39 <row>
       
    40 <entry><p> <filepath>makmake</filepath>  </p> </entry>
       
    41 <entry><p>Takes a <filepath>.mmp</filepath> project file which lists the elements
       
    42 of the project, and produces a makefile for the platform specified. The GCC <filepath>make</filepath> utility
       
    43 is then called to execute the make file. </p> </entry>
       
    44 </row>
       
    45 <row>
       
    46 <entry><p> <filepath>elf2e32</filepath>  </p> </entry>
       
    47 <entry><p>Converts the ELF representation of an executable into an E32Image
       
    48 format file, the format required to run on Symbian platform. Used only for
       
    49 ARMV5 (ABIv2) target. </p> </entry>
       
    50 </row>
       
    51 <row>
       
    52 <entry><p> <filepath>elftran</filepath>  </p> </entry>
       
    53 <entry><p>Transforms the ELF representation of an executable into an E32Image
       
    54 format file, the format required to run on Symbian platform. Used only for
       
    55 ARMV5 (ABIv1) target. </p> </entry>
       
    56 </row>
       
    57 <row>
       
    58 <entry><p> <filepath>elf2Inf</filepath>  </p> </entry>
       
    59 <entry><p>Gets a list of the symbol names of the exported definitions from
       
    60 an ELF file. Its output <filepath>.inf</filepath> file is input to <filepath>makedef</filepath>.
       
    61 Used only for ARMV5 (ABIv1) target. </p> </entry>
       
    62 </row>
       
    63 
       
    64 <row>
       
    65 <entry><p> <filepath>makedef</filepath>  </p> </entry>
       
    66 <entry><p>Maintains or creates DEF files, which record an executable's exported
       
    67 symbols by ordinal. </p> </entry>
       
    68 </row>
       
    69 <row>
       
    70 <entry><p> <filepath>def2dll</filepath>  </p> </entry>
       
    71 <entry><p>Creates binary objects used to implement the Symbian platform DLL
       
    72 model. These are a representation (ELF) of the export table (<filepath>.exp</filepath> file),
       
    73 and its import library (<filepath>.lib</filepath>). Used only for ARMV5 (ABIv1)
       
    74 target. </p> </entry>
       
    75 </row>
       
    76 <row>
       
    77 <entry><p> <filepath>epocrc</filepath>  </p> </entry>
       
    78 <entry><p>Combines the actions of passing a resource file through the C++
       
    79 preprocessor, and then compiling it with the <filepath>rcomp</filepath> tool. </p> </entry>
       
    80 </row>
       
    81 <row>
       
    82 <entry><p> <filepath>rcomp</filepath>  </p> </entry>
       
    83 <entry><p>Resource compiler. Compiles source <filepath>rss</filepath> resource
       
    84 files into compiled resource data files, and a <filepath>rsg</filepath> resource
       
    85 header file. </p> </entry>
       
    86 </row>
       
    87 <row>
       
    88 <entry><p> <filepath>bmconv</filepath>  </p> </entry>
       
    89 <entry><p>Bitmap converter. Takes one or more Microsoft Windows bitmaps <filepath>.bmp</filepath> and
       
    90 generates a single multi-bitmap file <filepath>.mbm</filepath>, optimised
       
    91 for efficient runtime loading by the GDI. Also a header file <filepath>.h</filepath> with
       
    92 symbolic definitions for each bitmap in the file. </p> </entry>
       
    93 </row>
       
    94 </tbody>
       
    95 </tgroup>
       
    96 </table> <p>More specialised tools are available for particular types of development,
       
    97 e.g. for generating font and printer driver libraries. </p> </section>
       
    98 <section id="GUID-A95BD340-3A89-40E6-805E-73C92E6159A7"><title>File types</title> <p>The following file types are involved
       
    99 in the build processes: </p> <table id="GUID-D05A7EA1-48E7-5347-BE8D-B8E646580E52">
       
   100 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   101 <tbody>
       
   102 <row>
       
   103 <entry><p> <filepath>bld.inf</filepath>  </p> </entry>
       
   104 <entry><p>component description file, input to <filepath>bldmake</filepath>  </p> </entry>
       
   105 </row>
       
   106 <row>
       
   107 <entry><p> <filepath>.mmp</filepath>  </p> </entry>
       
   108 <entry><p>project file: specification of a project, input to <filepath>abld/makmake</filepath>  </p> </entry>
       
   109 </row>
       
   110 <row>
       
   111 <entry><p> <filepath>.&lt;target&gt;</filepath>  </p> </entry>
       
   112 <entry><p>a makefile, output from <filepath>makmake</filepath>, used to build
       
   113 the project for the specified target. Examples are <filepath>.winscw</filepath> for
       
   114 the WINSCW target, <filepath>.armv5</filepath> for the ARMV5 target, etc. </p> </entry>
       
   115 </row>
       
   116 <row>
       
   117 <entry><p> <filepath>.make</filepath>  </p> </entry>
       
   118 <entry><p>build batch makefile, for use by <filepath>abld</filepath> for the
       
   119 purposes of building, output from <filepath>bldmake bldfiles</filepath>  </p> </entry>
       
   120 </row>
       
   121 <row>
       
   122 <entry><p> <filepath>.cpp</filepath>  </p> </entry>
       
   123 <entry><p>C++ source file </p> </entry>
       
   124 </row>
       
   125 <row>
       
   126 <entry><p> <filepath>.h</filepath>  </p> </entry>
       
   127 <entry><p>header file, for inclusion in C++ file </p> </entry>
       
   128 </row>
       
   129 <row>
       
   130 <entry><p> <filepath>.rss</filepath>  </p> </entry>
       
   131 <entry><p>resource source file, for input to <filepath>rcomp</filepath>  </p> </entry>
       
   132 </row>
       
   133 <row>
       
   134 <entry><p> <filepath>.rh</filepath>  </p> </entry>
       
   135 <entry><p>resource header, for inclusion in resource file </p> </entry>
       
   136 </row>
       
   137 <row>
       
   138 <entry><p> <filepath>.hrh</filepath>  </p> </entry>
       
   139 <entry><p>common C++ or resource header, for inclusion in either type of source
       
   140 file </p> </entry>
       
   141 </row>
       
   142 <row>
       
   143 <entry><p> <filepath>.rsg</filepath>  </p> </entry>
       
   144 <entry><p>generated resource header file, output from <filepath>rcomp</filepath>  </p> </entry>
       
   145 </row>
       
   146 <row>
       
   147 <entry><p> <filepath>.rsc</filepath>  </p> </entry>
       
   148 <entry><p>generated resource file, output from <filepath>rcomp</filepath>  </p> </entry>
       
   149 </row>
       
   150 <row>
       
   151 <entry><p> <filepath>.bmp</filepath>  </p> </entry>
       
   152 <entry><p>bitmap file, in Microsoft Windows format, input to <filepath>bmconv</filepath> (can
       
   153 also be output) </p> </entry>
       
   154 </row>
       
   155 <row>
       
   156 <entry><p> <filepath>.mbm</filepath>  </p> </entry>
       
   157 <entry><p>multi-bitmap file, generated by Symbian platform bitmap compiler,
       
   158 output from <filepath>bmconv</filepath> (can also be input) </p> </entry>
       
   159 </row>
       
   160 <row>
       
   161 <entry><p> <filepath>.def</filepath>  </p> </entry>
       
   162 <entry><p>linker definition file, defining an executable's exports and their
       
   163 ordinal positions. </p> </entry>
       
   164 </row>
       
   165 <row>
       
   166 <entry><p> <filepath>.lib</filepath>  </p> </entry>
       
   167 <entry><p>static library file, often containing stub functions for DLL linking. </p> </entry>
       
   168 </row>
       
   169 <row>
       
   170 <entry><p> <filepath>.map</filepath>  </p> </entry>
       
   171 <entry><p>map of entities in an executable, output by linker </p> </entry>
       
   172 </row>
       
   173 <row>
       
   174 <entry><p> <filepath>.exe</filepath>  </p> </entry>
       
   175 <entry><p>executable that can be loaded and run as a process </p> </entry>
       
   176 </row>
       
   177 <row>
       
   178 <entry><p> <filepath>.dll</filepath>  </p> </entry>
       
   179 <entry><p>dynamic link library or DLL: executable containing shared functionality
       
   180 that can be loaded by other executables </p> </entry>
       
   181 </row>
       
   182 <row>
       
   183 <entry><p> <filepath>.dso</filepath>  </p> </entry>
       
   184 <entry><p>ELF format file output by compiler/linkers for ARM targets. Also
       
   185 used for linking against DLLs in the ARMV5 ABIv2 target. </p> </entry>
       
   186 </row>
       
   187 </tbody>
       
   188 </tgroup>
       
   189 </table> </section>
       
   190 </conbody></concept>