Symbian3/PDK/Source/GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Fri, 22 Jan 2010 18:26:19 +0000
changeset 1 25a17d01db0c
child 3 46218c8b8afa
permissions -rw-r--r--
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608

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