Symbian3/SDK/Source/GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?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>