Symbian3/SDK/Source/GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.dita
changeset 7 51a74ef9ed63
parent 0 89d6a7a84779
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,141 @@
+<?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>
\ No newline at end of file