|
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-F5D49215-B34A-5FCC-A7E1-0AF3275694B3" xml:lang="en"><title>GCCXML |
|
13 build target</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>The GCCXML build target generates an XML description of the project and |
|
15 the program. This XML is intended to be parsed by other development and program |
|
16 analysis tools. The XML is generated using the GCC-XML (<xref href="http://www.gccxml.org" scope="external">http://www.gccxml.org</xref>) tool, which is distributed |
|
17 on kits in the <filepath>epoc32\tools\</filepath> directory. </p> |
|
18 <p>To execute a GCCXML build, use the <filepath>abld</filepath> command as |
|
19 follows: </p> |
|
20 <p><userinput>abld build gccxml [udeb/urel]</userinput> </p> |
|
21 <p>GCCXML is available as a target for all projects that can be built for |
|
22 an ARM target (this is assumed by the build tools unless the <filepath>bld.inf</filepath> file |
|
23 specifies otherwise with a <codeph>prj_platforms</codeph> statement.) </p> |
|
24 <p>The build of a Symbian platform component for the GCCXML platform results |
|
25 in three actions: </p> |
|
26 <ol id="GUID-631DFF50-B9DB-5FAD-A1F5-DBD74995772E"> |
|
27 <li id="GUID-E51ED016-411E-5754-8B7B-13C6459B4206"><p>The GCC-XML tool is |
|
28 called on each source file used in the build of a component's binary. An XML |
|
29 file is output as a result. </p> <p>The GCC-XML output format is not yet extensively |
|
30 documented: see <xref href="http://www.gccxml.org/HTML/FAQ.html" scope="external">http://www.gccxml.org/HTML/FAQ.html</xref> for |
|
31 the latest information. </p> </li> |
|
32 <li id="GUID-7C664D07-2D30-5A96-A4CF-B3404C622206"><p>The tool chain also |
|
33 generates an XML file describing some elements of the component's .mmp file. </p> <p>The |
|
34 XML format is described below. </p> </li> |
|
35 <li id="GUID-9259CF29-1B9D-5607-BDCC-104AD99F34C3"><p>The tool chain packages |
|
36 the output from steps 1 and 2 into a zip file named <filepath><project-name>.gxp</filepath>. |
|
37 The file is stored in <filepath>epoc32\release\gccxml\[udeb|urel]\</filepath>. </p> </li> |
|
38 </ol> |
|
39 <section><title>Format of <project>.mmp.xml </title><p>A GCCXML build creates |
|
40 an XML representation of the project's mmp file named <filepath><project>.mmp.xml</filepath>. |
|
41 Not all the mmp file statements are represented in the XML. </p><p>The following |
|
42 XML elements and attributes are used: </p><table id="GUID-93991E16-AE60-550C-80BA-316285A463C7"> |
|
43 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/> |
|
44 <tbody> |
|
45 <row> |
|
46 <entry><p> <b>Element</b> </p> </entry> |
|
47 <entry><p> <b>Attribute</b> </p> </entry> |
|
48 <entry><p> <b>Description</b> </p> </entry> |
|
49 </row> |
|
50 <row> |
|
51 <entry><p>mmpInfo </p> </entry> |
|
52 <entry><p> </p> </entry> |
|
53 <entry><p>Top-level wrapper element </p> </entry> |
|
54 </row> |
|
55 <row> |
|
56 <entry><p>mmp </p> </entry> |
|
57 <entry><p>path </p> </entry> |
|
58 <entry><p>Full path of the .mmp file </p> </entry> |
|
59 </row> |
|
60 <row> |
|
61 <entry><p>target </p> </entry> |
|
62 <entry><p>name </p> </entry> |
|
63 <entry><p>TARGET statement value </p> </entry> |
|
64 </row> |
|
65 <row> |
|
66 <entry><p> </p> </entry> |
|
67 <entry><p>type </p> </entry> |
|
68 <entry><p>TARGETTYPE statement value </p> </entry> |
|
69 </row> |
|
70 <row> |
|
71 <entry/> |
|
72 <entry><p>path </p> </entry> |
|
73 <entry><p>TARGETPATH statement value </p> </entry> |
|
74 </row> |
|
75 <row> |
|
76 <entry><p>abi </p> </entry> |
|
77 <entry><p>type </p> </entry> |
|
78 <entry><p>Deduced ABI e.g. ARM4 </p> </entry> |
|
79 </row> |
|
80 <row> |
|
81 <entry><p>linkas </p> </entry> |
|
82 <entry><p>name </p> </entry> |
|
83 <entry><p>LINKAS statement value </p> </entry> |
|
84 </row> |
|
85 <row> |
|
86 <entry><p>uids </p> </entry> |
|
87 <entry><p>u0 </p> </entry> |
|
88 <entry><p>1st UID of the executable </p> </entry> |
|
89 </row> |
|
90 <row> |
|
91 <entry><p> </p> </entry> |
|
92 <entry><p>u1 </p> </entry> |
|
93 <entry><p>2nd UID of the executable (from the UID statement) </p> </entry> |
|
94 </row> |
|
95 <row> |
|
96 <entry><p> </p> </entry> |
|
97 <entry><p>u2 </p> </entry> |
|
98 <entry><p>3rd UID of the executable (from the UID statement) </p> </entry> |
|
99 </row> |
|
100 <row> |
|
101 <entry><p>defFile </p> </entry> |
|
102 <entry><p>path </p> </entry> |
|
103 <entry><p>Full path of the .def file </p> </entry> |
|
104 </row> |
|
105 <row> |
|
106 <entry><p>libs </p> </entry> |
|
107 <entry><p> </p> </entry> |
|
108 <entry><p>Wrapper for lib elements that describe the libraries the project |
|
109 links to </p> </entry> |
|
110 </row> |
|
111 <row> |
|
112 <entry><p>lib </p> </entry> |
|
113 <entry><p>name </p> </entry> |
|
114 <entry><p>Name of the library </p> </entry> |
|
115 </row> |
|
116 <row> |
|
117 <entry><p> </p> </entry> |
|
118 <entry><p>type </p> </entry> |
|
119 <entry><p>For standard libraries specified by the <codeph>LIBRARY</codeph> keyword |
|
120 this is not used. </p> <p>For a stub library inserted by the build processor, |
|
121 this is "First". </p> <p>For libraries specified by the <codeph>ASSPLIBRARY</codeph> statement, |
|
122 this is "ASSP". </p> <p> <b>Note</b>: "ASSP" is applicable only for Symbian |
|
123 platform versions prior to v9.1. Since v9.1, it is not a valid library type. </p> <p>For |
|
124 libraries specified by the <codeph>STATICLIBRARY</codeph> statement, this |
|
125 is "Static". </p> </entry> |
|
126 </row> |
|
127 <row> |
|
128 <entry><p>sourceFile </p> </entry> |
|
129 <entry><p>name </p> </entry> |
|
130 <entry><p>Source file name </p> </entry> |
|
131 </row> |
|
132 <row> |
|
133 <entry/> |
|
134 <entry><p>path </p> </entry> |
|
135 <entry><p>Path to the source file </p> </entry> |
|
136 </row> |
|
137 </tbody> |
|
138 </tgroup> |
|
139 </table><p>The population of some of attributes is dependent on the type and |
|
140 format of the component being built. </p></section> |
|
141 </conbody></concept> |