Symbian3/SDK/Source/GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.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-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>&lt;project-name&gt;.gxp</filepath>.
       
    37 The file is stored in <filepath>epoc32\release\gccxml\[udeb|urel]\</filepath>. </p> </li>
       
    38 </ol>
       
    39 <section><title>Format of &lt;project&gt;.mmp.xml </title><p>A GCCXML build creates
       
    40 an XML representation of the project's mmp file named <filepath>&lt;project&gt;.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>