--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,12 @@
+<?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 xml:lang="en" id="GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923"><title>ARMV6 build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The <codeph>ARMV6</codeph> build target builds to the <codeph>ARMV6</codeph> architecture. Like the ARMV5 target, the target requires the ARM's RealView Compilation Tools (RVCT) v2.2 build 616 from Symbian OS v9.4 onwards. </p> <section><title>Building binaries for ARMV6</title> <p>To build for <codeph>ARMV6</codeph> with <filepath>abld</filepath>, use: </p> <p><userinput>abld build ARMV6 | ARMV6_ABIv2 [udeb | urel]</userinput> </p> <p>Binaries are generated in the <filepath>udeb</filepath> and/or <filepath>urel</filepath> sub-directories of the <filepath>epoc32\release\ARMV6\</filepath> directory for ABI v1 and <filepath>epoc32\release\ARMV6_ABIv2\</filepath> directory for ABI v2. </p> <p>As per the conventional approach mentioned above, the build targets <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph> are used to build binaries conforming to <codeph>ARMV6</codeph> ABI v1 and ABI v2 respectively. From Symbian OS v9.4 onwards, the behaviour of these native build targets (<codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph>) has changed. The build target <codeph>ARMV6</codeph> is used to build binaries conforming to ABI v2 instead of ABI v1, and <codeph>ARMV6_ABIv1</codeph> is used to build binaries conforming to ABI v1. Also, the release directories have changed to <filepath>epoc32\release\ARMV6\</filepath> for ABI v2 binaries and <filepath>epoc32\release\ARMV6_ABIv1\</filepath> for ABI v1 binaries. </p> <p>You can switch back to the old approach, where the targets <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph> will build binaries conforming to ABI v1 and ABI v2 respectively. For more details on this, refer to <xref href="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita">Switching between ABI modes</xref>. </p> <p>Library export (<filepath>.lib</filepath> or <filepath>.dso</filepath>) files are generated in the <filepath>epoc32\release\ARMV5\lib\</filepath> directory. This directory is used, as the library file format has not changed since <codeph>ARMV5</codeph>. </p> <p> <b>Note:</b> Code is not built for <codeph>ARMV6</codeph> target by default. It has to be explicitly specified on the command line or with a <codeph>prj_platforms</codeph> statement in the component's <filepath>BLD.INF</filepath> file. </p> </section> <section><title>Building binaries for ARMV6t2</title> <p>To build binaries for <codeph>ARMV6t2</codeph> with <filepath>abld</filepath>, use: </p> <p><userinput>abld build ARMV6t2 [udeb | urel]</userinput> </p> <p>The command builds binaries conforming to ABIv2 for ARMV6 architecture supporting Thumb-2 instruction set. </p> </section> <section><title>IDE (CodeWarrior) support for ARMV6</title> <p>To build for <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> from the CodeWarrior IDE, specify <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> as the target in the Platform Selection field, when importing a project from an <filepath>.mmp</filepath> file. The binaries can then be built by setting the target to <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> for <codeph>UREL</codeph> or <codeph>UDEB</codeph>. </p> <p>From the command line, to generate a CodeWarrior XML project file for <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph>, use the following command: </p> <p><userinput>makmake <project>.mmp CW_IDE:ARMV6 | ARMV6t2</userinput> </p> <p>and then import the generated XML file from the IDE. </p> <p> <b>Note</b>: The binaries for <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> target are not created by default. You must explicitly specify these targets either on the command line using <filepath>makmake</filepath> or in the Platform Selection field. </p> </section> <section><title>Customisation for ARMV6</title> <p>The build system provides the ARMV6 target by providing a build specialization file (BSF) in the <filepath>epoc32\tools\</filepath> directory. For ABI v1 builds this is <filepath>ARMV6.BSF</filepath>; for ABI v2 builds, <filepath>ARMV6_ABIv2.bsf</filepath>. From Symbian OS v9.4 onwards, for ABI v1 builds the BSF file is <filepath>ARMV6_ABIv1.bsf</filepath> and for ABI v2 builds it is <filepath>ARMV6.bsf</filepath>. For more information about BSF mechanism, refer to <xref href="GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita">ARMV5 build customisation</xref>. </p> </section> </conbody></concept>
\ No newline at end of file