Symbian3/PDK/Source/GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?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-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0" xml:lang="en"><title>Resource
builder tool: epocrc</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<section><title>Purpose</title> <p> <filepath>epocrc</filepath> combines the
actions of passing a resource file through the C++ preprocessor, and then
compiling it with <filepath>rcomp</filepath>. </p> </section>
<section id="GUID-B5C61C4D-7AC0-503B-B164-A24C417444FB"><title>Command line
syntax</title><userinput><cmdname>epocrc </cmdname>[-D<parmname>args</parmname>]
[-I<parmname>args</parmname>] [-u] [-t<parmname>tmpdir</parmname>] [-uid2 <parmname>uid</parmname>]
[-uid3 <parmname>uid</parmname>] <parmname>source-file</parmname> [-o<parmname>output-file</parmname>]
[-h<parmname>header-file</parmname>] </userinput><p><b>Arguments</b> </p> <table id="GUID-34194FD9-B978-51A6-BA9A-BEEBE3649303">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <codeph>-D</codeph> <varname>args</varname>  </p> </entry>
<entry><p>Pass arguments <varname>args</varname> to the preprocessor's -D
(macro definitions) option. </p> </entry>
</row>
<row>
<entry><p> <codeph>-I</codeph> <varname>args</varname>  </p> </entry>
<entry><p>Pass arguments <varname>args</varname> to the preprocessor's -I
(additional include files path) option. </p> </entry>
</row>
<row>
<entry><p> <codeph>-u</codeph>  </p> </entry>
<entry><p>Generate a Unicode resource binary. </p> </entry>
</row>
<row>
<entry><p> <codeph>-t</codeph> <varname>tmpdir</varname>  </p> </entry>
<entry><p>Create any temporary files in the directory <varname>tmpdir</varname>. </p> <p>If
this option is not specified, the current directory is used. </p> </entry>
</row>
<row>
<entry><p> <codeph>-uid2</codeph>  <varname>uid</varname>  </p> </entry>
<entry><p>Second UID for the resource file. Specifying either -uid2 or -uid3
overrides all UIDs specified in the source file. </p> </entry>
</row>
<row>
<entry><p> <codeph>-uid3</codeph>  <varname>uid</varname>  </p> </entry>
<entry><p>Third UID for the resource file </p> </entry>
</row>
<row>
<entry><p> <varname>source-file</varname>  </p> </entry>
<entry><p>Name (and path if the file is not in the current directory) of the
resource file to compile </p> </entry>
</row>
<row>
<entry><p> <codeph>-o</codeph> <varname>output-file</varname>  </p> </entry>
<entry><p>Create data output file <varname>output-file</varname>. If a path
is not specified, the current directory is used. </p> <p>If this option is
not specified, no data output file is created. </p> </entry>
</row>
<row>
<entry><p> <codeph>-h</codeph> <varname>header-file</varname>  </p> </entry>
<entry><p>Create header output file <varname>header-file</varname>. If a path
is not specified, the current directory is used. </p> <p>If this option is
not specified, no header output file is created. </p> </entry>
</row>
<row>
<entry><p> <codeph>-v</codeph>  </p> </entry>
<entry><p>Verbose. Displays the command line syntax. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Output files</b> </p> <table id="GUID-A29C41E0-D092-5B1A-A857-B0B8364BB1AA">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <varname>output-file</varname>  </p> </entry>
<entry><p>Compiled resource data referred to by the application at run-time. </p> </entry>
</row>
<row>
<entry><p> <varname>header-file</varname>  </p> </entry>
<entry><p>The generated header file defining macro identifiers for referring
to resources by a resource index </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p id="GUID-014671B6-C19E-528A-984C-D8226375AC5A"><b>epocrc configuration
file format</b> </p> <p>Apart from the options listed above, you can use the <filepath>epocrc.config</filepath> file
located at <filepath>epoc32\tools\</filepath> to configure the pre-processor
and the <codeph>rcomp</codeph> tool. The file is supplied to each Symbian
platform licensee as they need it, but it may not be present on some platforms. </p> <p>The <filepath>epocrc.config</filepath> file
contains the following options: </p> <ul>
<li id="GUID-0E0AE904-D462-5780-898E-95E04AA5884D"><p> <codeph>check_rls_items</codeph>:
This option can either be set to 0 or 1. If you want to check for the presence
of localisation comment tags before each RLS item declaration, set it to 1,
otherwise set it to 0. If there are no localisation comment tags within the
resource file, it is assumed that localisation is not required for this file. </p> </li>
<li id="GUID-ABEB6B58-5C5A-5D21-A74C-7B4DFFD1EBC9"><p> <codeph>strict_checking</codeph>:
This option can either be set to 0 or 1. If you set it to 1, the <codeph>rcomp</codeph> tool
warns you if the <filepath>rpp</filepath> file contains RLS item declarations
without the localisation comment tags. If you want to enable this functionality,
you must set <codeph>check_rls_items</codeph> to 1. </p> </li>
<li id="GUID-5F0CD403-B332-594A-AAF0-7D7BE11882C1"><p> <codeph>include:</codeph>:
This option is used to specify files and directories, which need to be passed
to the C++ pre-processor. File names and directory names must be relative
to <codeph>EPOCROOT</codeph>. </p> </li>
</ul><note>  You can comment a line in the <filepath>epocrc.config</filepath> file
by preceding it by '#'. </note> <p>Here is an example of the <filepath>epocrc.config</filepath> file,
which enables the <codeph>strict_checking</codeph> and <codeph>check_rls_items</codeph> options,
and lists the resource headers to be included using the <codeph>include:</codeph> option: </p> <codeblock id="GUID-F02F6D20-6370-5092-A1B8-D4EA475ECAE4" xml:space="preserve"># epocrc.config
#
# Copyright (c) 2005 Symbian Ltd.  All rights reserved.
#
check_rls_items = 1;
strict_checking = 1;
include: epoc32\include\SymbianTags.rh
include: epoc32\include\SymbainContexts.rh
</codeblock> </section>
<section><title>Example</title> <p>The following example compiles the source
file <filepath>ex.rss</filepath> into the compiled resource file <filepath>ex.rsc</filepath> and
the header file <filepath>ex.rsg</filepath>. </p> <p><userinput>epocrc -I\symbian\epoc32\include\
-u ex.rss -oex.rsc -hex.rsg</userinput> </p> </section>
</conbody></concept>