230 lines
8.0 KiB
Groff
230 lines
8.0 KiB
Groff
|
.TH WRC 1 "October 2005" "Wine 4.6" "Wine Developers Manual"
|
||
|
.SH NAME
|
||
|
wrc \- Wine Resource Compiler
|
||
|
.SH SYNOPSIS
|
||
|
.B wrc
|
||
|
.RI [ options ]\ [ inputfile ...]
|
||
|
.SH DESCRIPTION
|
||
|
.B wrc
|
||
|
compiles resources from \fIinputfile\fR
|
||
|
into win16 and win32 compatible binary format.
|
||
|
.PP
|
||
|
The source file is preprocessed with a builtin ANSI\-C compatible
|
||
|
preprocessor before the resources are compiled. See \fBPREPROCESSOR\fR
|
||
|
below.
|
||
|
.PP
|
||
|
.B wrc
|
||
|
takes a series of \fIinputfile\fR as argument. The resources are read from
|
||
|
standard input if no inputfile is given. If the output file is not
|
||
|
specified with \fB-o\fR, then \fBwrc\fR will write the output to
|
||
|
\fIinputfile.res\fR with \fI.rc\fR stripped, or to \fIwrc.tab.res\fR if
|
||
|
no inputfile was given.
|
||
|
.SH OPTIONS
|
||
|
.TP
|
||
|
.BI \-b,\ --target= cpu-manufacturer\fR[\fI\fB-\fIkernel\fR]\fB-\fIos
|
||
|
Specify the target CPU and platform on which the generated code will
|
||
|
be built. The target specification is in the standard autoconf format
|
||
|
as returned by \fBconfig.sub\fR.
|
||
|
.TP
|
||
|
.I \fB\-D\fR, \fB\-\-define\fR=\fIid\fR[\fB=\fIval\fR]
|
||
|
Define preprocessor identifier \fIid\fR to (optionally) value \fIval\fR.
|
||
|
See also
|
||
|
.B PREPROCESSOR
|
||
|
below.
|
||
|
.TP
|
||
|
.I \fB\-\-debug\fR=\fInn\fR
|
||
|
Set debug level to \fInn\fR. The value is a bitmask consisting of
|
||
|
1=verbose, 2=dump internals, 4=resource parser trace, 8=preprocessor
|
||
|
messages, 16=preprocessor scanner and 32=preprocessor parser trace.
|
||
|
.TP
|
||
|
.I \fB\-\-endianness\fR=\fIe\fR
|
||
|
Win32 only; set output byte\-ordering, where \fIe\fR is one of n[ative],
|
||
|
l[ittle] or b[ig]. Only resources in source-form can be reordered. Native
|
||
|
ordering depends on the system on which \fBwrc\fR was built. You can see
|
||
|
the native ordering by typing \fIwrc \-h\fR.
|
||
|
.TP
|
||
|
.I \fB\-E\fR
|
||
|
Preprocess only. The output is written to standard output if no
|
||
|
outputfile was selected. The output is compatible with what gcc would
|
||
|
generate.
|
||
|
.TP
|
||
|
.I \fB\-h\fR, \fB\-\-help\fR
|
||
|
Prints a summary message and exits.
|
||
|
.TP
|
||
|
.I \fB\-i\fR, \fB\-\-input\fR=\fIfile\fR
|
||
|
The name of the input file. If this option is not used, then \fBwrc\fR
|
||
|
will use the first non-option argument as the input file name. If there
|
||
|
are no non-option arguments, then \fBwrc\fR will read from standard input.
|
||
|
.TP
|
||
|
.I \fB\-I\fR, \fB\-\-include\-dir\fR=\fIpath\fR
|
||
|
Add \fIpath\fR to include search directories. \fIpath\fR may contain
|
||
|
multiple directories, separated with ':'. It is allowed to specify
|
||
|
\fB\-I\fR multiple times. Include files are searched in the order in
|
||
|
which the \fB\-I\fR options were specified.
|
||
|
.br
|
||
|
The search is compatible with gcc, in which '<>' quoted filenames are
|
||
|
searched exclusively via the \fB\-I\fR set path, whereas the '""' quoted
|
||
|
filenames are first tried to be opened in the current directory. Also
|
||
|
resource statements with file references are located in the same way.
|
||
|
.TP
|
||
|
.I \fB\-J\fR, \fB\-\-input\-format\fR=\fIformat\fR
|
||
|
Sets the input format. Valid options are 'rc' or 'rc16'. Setting the
|
||
|
input to 'rc16' disables the recognition of win32 keywords.
|
||
|
.TP
|
||
|
.I \fB\-l\fR, \fB\-\-language\fR=\fIlang\fR
|
||
|
Set default language to \fIlang\fR. Default is the neutral language 0
|
||
|
(i.e. "LANGUAGE 0, 0").
|
||
|
.TP
|
||
|
.B \-m16, -m32, -m64
|
||
|
Generate resources for 16-bit, 32-bit or 64-bit platforms respectively.
|
||
|
The only difference between 32-bit and 64-bit is whether
|
||
|
the _WIN64 preprocessor symbol is defined.
|
||
|
.TP
|
||
|
.I \fB\-\-nostdinc\fR
|
||
|
Do not search the standard include path, look for include files only
|
||
|
in the directories explicitly specified with the \fB\-I\fR option.
|
||
|
.TP
|
||
|
.I \fB\-\-no\-use\-temp\-file\fR
|
||
|
Ignored for compatibility with \fIwindres\fR.
|
||
|
.TP
|
||
|
.I \fB\-o\fR, \fB\-fo\fR, \fB\-\-output\fR=\fIfile\fR
|
||
|
Write output to \fIfile\fR. Default is \fBinputfile.res\fR
|
||
|
with \fB.rc\fR stripped or \fBwrc.tab.res\fR if input is read
|
||
|
from standard input.
|
||
|
.TP
|
||
|
.I \fB\-O\fR, \fB\-\-output\-format\fR=\fIformat\fR
|
||
|
Sets the output format. The supported formats are \fBpo\fR, \fBpot\fR,
|
||
|
\fBres\fR, and \fBres16\fR. If this option is not specified, the
|
||
|
format defaults to \fBres\fR.
|
||
|
.br
|
||
|
In \fBpo\fR mode, if an output file name is specified it must match a
|
||
|
known language name, like \fBen_US.po\fR; only resources for the
|
||
|
specified language are output. If no output file name is specified, a
|
||
|
separate \fI.po\fR file is created for every language encountered in the
|
||
|
input.
|
||
|
.TP
|
||
|
.I \fB\-\-pedantic\fR
|
||
|
Enable pedantic warnings. Notably redefinition of #define statements can
|
||
|
be discovered with this option.
|
||
|
.TP
|
||
|
.I \fB\-\-po-dir=\fIdir\fR
|
||
|
Enable the generation of resource translations based on mo files
|
||
|
loaded from the specified directory. That directory must follow the
|
||
|
gettext convention, in particular it must contain one \fI.mo\fR file for
|
||
|
each language, and a LINGUAS file listing the available languages.
|
||
|
.TP
|
||
|
.I \fB\-r\fR
|
||
|
Ignored for compatibility with \fIrc\fR.
|
||
|
.TP
|
||
|
.I \fB\-\-preprocessor\fR=\fIprogram\fR
|
||
|
This option may be used to specify the preprocessor to use, including any
|
||
|
leading arguments. If not specified, \fBwrc\fR uses its builtin processor.
|
||
|
To disable preprocessing, use \fB--preprocessor=cat\fR.
|
||
|
.TP
|
||
|
.I \fB\-U\fR, \fB\-\-undefine\fR=\fIid\fR
|
||
|
Undefine preprocessor identifier \fIid\fR. Please note that only macros
|
||
|
defined up to this point are undefined by this command. However, these
|
||
|
include the special macros defined automatically by \fIwrc\fR.
|
||
|
See also
|
||
|
.B PREPROCESSOR
|
||
|
below.
|
||
|
.TP
|
||
|
.I \fB\-\-use\-temp\-file\fR
|
||
|
Ignored for compatibility with \fIwindres\fR.
|
||
|
.TP
|
||
|
.I \fB\-v\fR, \fB\-\-verbose\fR
|
||
|
Turns on verbose mode (equivalent to \fB-d 1\fR).
|
||
|
.TP
|
||
|
.I \fB\-\-version\fR
|
||
|
Print version and exit.
|
||
|
.SH PREPROCESSOR
|
||
|
The preprocessor is ANSI\-C compatible with some of the extensions of
|
||
|
the gcc preprocessor.
|
||
|
.PP
|
||
|
The preprocessor recognizes these directives: #include, #define (both
|
||
|
simple and macro), #undef, #if, #ifdef, #ifndef, #elif, #else, #endif,
|
||
|
#error, #warning, #line, # (both null\- and line\-directive), #pragma
|
||
|
(ignored), #ident (ignored).
|
||
|
.PP
|
||
|
The preprocessor sets by default several defines:
|
||
|
.br
|
||
|
RC_INVOKED set to 1
|
||
|
.br
|
||
|
__WRC__ Major version of wrc
|
||
|
.br
|
||
|
__WRC_MINOR__ Minor version of wrc
|
||
|
.br
|
||
|
__WRC_PATCHLEVEL__ Patch level
|
||
|
.PP
|
||
|
Win32 compilation mode also sets _WIN32 to 1.
|
||
|
.PP
|
||
|
Special macros __FILE__, __LINE__, __TIME__ and __DATE__ are also
|
||
|
recognized and expand to their respective equivalent.
|
||
|
.SH "LANGUAGE SUPPORT"
|
||
|
Language, version and characteristics can be bound to all resource types that
|
||
|
have inline data, such as RCDATA. This is an extension to Microsoft's resource
|
||
|
compiler, which lacks this support completely. Only VERSIONINFO cannot have
|
||
|
version and characteristics attached, but languages are propagated properly if
|
||
|
you declare it correctly before the VERSIONINFO resource starts.
|
||
|
.PP
|
||
|
Example:
|
||
|
.PP
|
||
|
1 RCDATA DISCARDABLE
|
||
|
.br
|
||
|
LANGUAGE 1, 0
|
||
|
.br
|
||
|
VERSION 312
|
||
|
.br
|
||
|
CHARACTERISTICS 876
|
||
|
.br
|
||
|
{
|
||
|
.br
|
||
|
1, 2, 3, 4, 5, "and whatever more data you want"
|
||
|
.br
|
||
|
'00 01 02 03 04 05 06 07 08'
|
||
|
.br
|
||
|
}
|
||
|
.SH AUTHORS
|
||
|
.B wrc
|
||
|
was written by Bertho A. Stultiens and is a nearly complete rewrite of
|
||
|
the first wine resource compiler (1994) by Martin von Loewis.
|
||
|
Additional resource\-types were contributed by Ulrich Czekalla and Albert
|
||
|
den Haan. Many cleanups by Dimitrie O. Paun in 2002-2003.
|
||
|
Bugfixes have been contributed by many Wine developers.
|
||
|
.SH BUGS
|
||
|
\- The preprocessor recognizes variable argument macros, but does not
|
||
|
expand them correctly.
|
||
|
.br
|
||
|
\- Error reporting should be more precise, as currently the column and
|
||
|
line number reported are those of the next token.
|
||
|
.br
|
||
|
\- Default memory options should differ between win16 and win32.
|
||
|
.PP
|
||
|
There is no support for:
|
||
|
.br
|
||
|
\- RT_DLGINCLUDE, RT_VXD, RT_PLUGPLAY and RT_HTML (unknown format)
|
||
|
.br
|
||
|
\- PUSHBOX control is unsupported due to lack of original functionality.
|
||
|
.PP
|
||
|
Fonts are parsed and generated, but there is no support for the
|
||
|
generation of the FONTDIR yet. The user must supply the FONTDIR
|
||
|
resource in the source to match the FONT resources.
|
||
|
.PP
|
||
|
Bugs can be reported on the
|
||
|
.UR https://bugs.winehq.org
|
||
|
.B Wine bug tracker
|
||
|
.UE .
|
||
|
.SH AVAILABILITY
|
||
|
.B wrc
|
||
|
is part of the Wine distribution, which is available through WineHQ,
|
||
|
the
|
||
|
.UR https://www.winehq.org/
|
||
|
.B Wine development headquarters
|
||
|
.UE .
|
||
|
.SH "SEE ALSO"
|
||
|
.BR wine (1),
|
||
|
.br
|
||
|
.UR https://www.winehq.org/help
|
||
|
.B Wine documentation and support
|
||
|
.UE .
|