Symbian3/PDK/Source/GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 02 Jul 2010 12:51:36 +0100
changeset 11 5072524fcc79
parent 5 f345bda72bc4
permissions -rw-r--r--
Fixing terminology

<?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-35532303-1316-58CA-90C8-FAB56EE3C1F5" xml:lang="en"><title>version</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p> <codeph>version</codeph>  <varname>major.minor</varname> <codeph>[explicit]</codeph>  </p>
<p>The <codeph>version</codeph> keyword allows a version number to be set
for a project. The optional keyword, <codeph>explicit</codeph> is used to
append the specified version number to the <filepath>.exe</filepath> or <filepath>.dll</filepath> output
file. </p>
<p>EKA1 will only allow one version of an executable to exist in a Symbian
platform phone. However, EKA2 supports version numbering. Version numbering
associates a version number with each executable enabling new and old versions
of the same executable to be on the device simultaneously. </p>
<p>The <codeph>version</codeph> keyword takes a major and a minor value separated
by a full stop. This value is defined as 32 bit, anything exceeding this will
produce a warning. Failing to enter a value will result in a warning and a
default value of 10.0 being supplied for binaries built with an EABI compliant
compiler. Omitting the version keyword altogether will also result in a default
of 10.0 being applied. The version number can be found at Hexadecimal offset
70 within the header of the executable file in ROM. </p>
<p>Usage of the version keyword is optional. One use is to aid eclipsing.
In order to eclipse a file on ROM successfully the version of the new file
can be set to a higher value than the version of the file to eclipse. This
tells the loader that the new file is preferred over the old one. </p>
<p>See the <xref href="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita#GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0/GUID-124e78dc-2c94-4901-a90b-20ddc2f3ad66">Important
Considerations</xref> section for more information. </p>
<p>The loader will show preference to versions that have a major number that
is equal to the one requested, and of these the minor numbers
that are higher are preferred. The loader can assume by the version number
that the API is compatible, while also being the most up to date version available. </p>
<p>If the above is not available the loader will look for DLLs with a higher
major version number than the one requested. Of these it will select the one
with the lowest major number and the highest minor number. If the executable
requests exports that no longer exist in this DLL, then the loader cannot
use it. </p>
</conbody></concept>