|
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>.<target></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> |