Symbian3/PDK/Source/GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3" xml:lang="en"><title>GCCXML
build target</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The GCCXML build target generates an XML description of the project and
the program. This XML is intended to be parsed by other development and program
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
on kits in the <filepath>epoc32\tools\</filepath> directory. </p>
<p>To execute a GCCXML build, use the <filepath>abld</filepath> command as
follows: </p>
<p><userinput>abld build gccxml [udeb/urel]</userinput> </p>
<p>GCCXML is available as a target for all projects that can be built for
an ARM target (this is assumed by the build tools unless the <filepath>bld.inf</filepath> file
specifies otherwise with a <codeph>prj_platforms</codeph> statement.) </p>
<p>The build of a Symbian platform component for the GCCXML platform results
in three actions: </p>
<ol id="GUID-631DFF50-B9DB-5FAD-A1F5-DBD74995772E">
<li id="GUID-E51ED016-411E-5754-8B7B-13C6459B4206"><p>The GCC-XML tool is
called on each source file used in the build of a component's binary. An XML
file is output as a result. </p> <p>The GCC-XML output format is not yet extensively
documented: see <xref href="http://www.gccxml.org/HTML/FAQ.html" scope="external">http://www.gccxml.org/HTML/FAQ.html</xref> for
the latest information. </p> </li>
<li id="GUID-7C664D07-2D30-5A96-A4CF-B3404C622206"><p>The tool chain also
generates an XML file describing some elements of the component's .mmp file. </p> <p>The
XML format is described below. </p> </li>
<li id="GUID-9259CF29-1B9D-5607-BDCC-104AD99F34C3"><p>The tool chain packages
the output from steps 1 and 2 into a zip file named <filepath>&lt;project-name&gt;.gxp</filepath>.
The file is stored in <filepath>epoc32\release\gccxml\[udeb|urel]\</filepath>. </p> </li>
</ol>
<section><title>Format of &lt;project&gt;.mmp.xml </title><p>A GCCXML build creates
an XML representation of the project's mmp file named <filepath>&lt;project&gt;.mmp.xml</filepath>.
Not all the mmp file statements are represented in the XML. </p><p>The following
XML elements and attributes are used: </p><table id="GUID-93991E16-AE60-550C-80BA-316285A463C7">
<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p> <b>Element</b>  </p> </entry>
<entry><p> <b>Attribute</b>  </p> </entry>
<entry><p> <b>Description</b>  </p> </entry>
</row>
<row>
<entry><p>mmpInfo </p> </entry>
<entry><p> </p> </entry>
<entry><p>Top-level wrapper element </p> </entry>
</row>
<row>
<entry><p>mmp </p> </entry>
<entry><p>path </p> </entry>
<entry><p>Full path of the .mmp file </p> </entry>
</row>
<row>
<entry><p>target </p> </entry>
<entry><p>name </p> </entry>
<entry><p>TARGET statement value </p> </entry>
</row>
<row>
<entry><p> </p> </entry>
<entry><p>type </p> </entry>
<entry><p>TARGETTYPE statement value </p> </entry>
</row>
<row>
<entry/>
<entry><p>path </p> </entry>
<entry><p>TARGETPATH statement value </p> </entry>
</row>
<row>
<entry><p>abi </p> </entry>
<entry><p>type </p> </entry>
<entry><p>Deduced ABI e.g. ARM4 </p> </entry>
</row>
<row>
<entry><p>linkas </p> </entry>
<entry><p>name </p> </entry>
<entry><p>LINKAS statement value </p> </entry>
</row>
<row>
<entry><p>uids </p> </entry>
<entry><p>u0 </p> </entry>
<entry><p>1st UID of the executable </p> </entry>
</row>
<row>
<entry><p> </p> </entry>
<entry><p>u1 </p> </entry>
<entry><p>2nd UID of the executable (from the UID statement) </p> </entry>
</row>
<row>
<entry><p> </p> </entry>
<entry><p>u2 </p> </entry>
<entry><p>3rd UID of the executable (from the UID statement) </p> </entry>
</row>
<row>
<entry><p>defFile </p> </entry>
<entry><p>path </p> </entry>
<entry><p>Full path of the .def file </p> </entry>
</row>
<row>
<entry><p>libs </p> </entry>
<entry><p> </p> </entry>
<entry><p>Wrapper for lib elements that describe the libraries the project
links to </p> </entry>
</row>
<row>
<entry><p>lib </p> </entry>
<entry><p>name </p> </entry>
<entry><p>Name of the library </p> </entry>
</row>
<row>
<entry><p> </p> </entry>
<entry><p>type </p> </entry>
<entry><p>For standard libraries specified by the <codeph>LIBRARY</codeph> keyword
this is not used. </p> <p>For a stub library inserted by the build processor,
this is "First". </p> <p>For libraries specified by the <codeph>ASSPLIBRARY</codeph> statement,
this is "ASSP". </p> <p> <b>Note</b>: "ASSP" is applicable only for Symbian
platform versions prior to v9.1. Since v9.1, it is not a valid library type. </p> <p>For
libraries specified by the <codeph>STATICLIBRARY</codeph> statement, this
is "Static". </p> </entry>
</row>
<row>
<entry><p>sourceFile </p> </entry>
<entry><p>name </p> </entry>
<entry><p>Source file name </p> </entry>
</row>
<row>
<entry/>
<entry><p>path </p> </entry>
<entry><p>Path to the source file </p> </entry>
</row>
</tbody>
</tgroup>
</table><p>The population of some of attributes is dependent on the type and
format of the component being built. </p></section>
</conbody></concept>