Symbian3/PDK/Source/GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

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