| .TH WRC 1 "August 24, 2000" "Version 1.1.8" "Wine Resource Compiler" | |
| .SH NAME | |
| wrc \- Wine Resource Compiler | |
| .SH SYNOPSIS | |
| .BI "wrc " "[options] " "[inputfile]" | |
| .SH DESCRIPTION | |
| .B wrc | |
| compiles resources from | |
| .I inputfile | |
| into win16 and win32 compatible | |
| binary format. | |
| .B wrc | |
| outputs the binary data either in a standard \fB.res\fR formatted binary | |
| file, or an assembly file. | |
| .B wrc | |
| is also capable of reading \fB.res\fR formatted files and convert them | |
| into an assembly file. | |
| .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 only one \fBinputfile\fR as argument. The \fBinputfile\fR has | |
| extension \fB.rc\fR for resources in source form and \fB.res\fR for | |
| binary resources. The resources are read from standard input if no | |
| inputfile is given. If the outputfile is not specified with \fI-o\fR, | |
| then \fBwrc\fR will write the output to \fBinputfile.{s,h,res}\fR | |
| with \fB.rc\fR stripped, depending on the mode of compilation. | |
| The outputfile is named \fBwrc.tab.{s,h,res}\fR if no inputfile was | |
| given. | |
| .SH OPTIONS | |
| .TP | |
| .I \-a n | |
| Win16 only; set the alignment between resources n. The alignment must | |
| be a power of 2. The default is 4. | |
| .TP | |
| .I \-A | |
| Obsolete; include code in the assembly output to auto register resources | |
| by calling a special wine function (only with gcc 2.7 and better). | |
| .TP | |
| .I \-b | |
| Create an assembly file from a binary \fB.res\fR file. | |
| .TP | |
| .I \-B x | |
| Win32 only; set output byte\-ordering, where \fIx\fR is one of n[ative], | |
| l[ittle] or b[ig]. Only resources in source-form can be reorderd. Native | |
| ordering depends on the system on which \fBwrc\fR was built. You can see | |
| the native ordering by typing \fIwrc \-?\fR. | |
| .TP | |
| .I \-c | |
| Add 'const' prefix to C constants when writing header files. | |
| .TP | |
| .I \-C cp | |
| Set the resource's codepage to \fIcp\fR. Default codepage is 0. | |
| .TP | |
| .I \-d n | |
| Set debug level to \fIn\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 \-D id[=val] | |
| Define preprocessor identifier \fIid\fR to (optionally) value \fIval\fR. | |
| See also | |
| .B PREPROCESSOR | |
| below. | |
| .TP | |
| .I \-e | |
| Win16 only; disable recognition of win32 keywords in 16bit compile. | |
| Normally, all keywords are recognized in win16 compilation mode. Use | |
| this switch if old sources use win32 reserved names as resource names. | |
| .TP | |
| .I \-E | |
| 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 \-g | |
| Add symbols to the global C namespace. This makes all symbols available | |
| for linking by other modules. | |
| .TP | |
| .I \-h | |
| Generate a \fB.h\fR header-file. The resource tables are described by | |
| extern declarations. | |
| .TP | |
| .I \-H file | |
| Same as \fI\-h\fR but written to \fIfile\fR. | |
| .TP | |
| .I \-I path | |
| Add \fIpath\fR to include search directories. \fIPath\fR may contain | |
| multiple directories, separated with ':'. It is allowed to specify | |
| \fI\-I\fR multiple times. Include files are searched in the order in | |
| with the \fI\-I\fR options were specified. | |
| .br | |
| The search is compatible with gcc, in which '<>' quoted filenames are | |
| searched exclusively via the \fI\-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 \-l lan | |
| Set default language to \fIlan\fR. Default is the neutral language 0 | |
| (i.e. "LANGUAGE 0, 0"). | |
| .TP | |
| .I \-L | |
| Leave case of embedded filenames as is. All filenames are converted to | |
| lower case before they are attemped to be opened without this option. | |
| .TP | |
| .I \-m | |
| Do not remap numerical resource type-IDs onto standard resources. This will | |
| cause all numerical resource type\-IDs to be treated as user\-type resources | |
| and will not be checked nor byte\-reversed. Without this option, resources | |
| with, for example, type\-ID 2 are parsed as bitmaps and other type\-IDs will | |
| map onto their respective standard type. | |
| Use this option with caution because it can create problems when compiling for, | |
| for example, big\-endian platforms. The \fI\-m\fR option is usefull for | |
| source\-files that contain overlapping type\-IDs, or when the format of the | |
| resource is not 100% compliant. | |
| .TP | |
| .I \-n | |
| Do not generate an assembly outputfile (suppress generation of \fB.s\fR | |
| file). Usefull if you are interested in a header file only. | |
| .TP | |
| .I \-N | |
| Do not preprocess the input. This will most certainly result in | |
| compilation failure, unless you have preprocessed the source with | |
| another preprocessor before passing it to \fBwrc\fR. | |
| .TP | |
| .I \-o file | |
| Write output to \fIfile\fR. Default is \fBinputfile.{res,s,h}\fR | |
| with \fB.rc\fR stripped or \fBwrc.tab.{s,h,res}\fR, depending on the | |
| compilation mode. | |
| .TP | |
| .I \-p prefix | |
| Prefix all generated names with \fIprefix\fR. This is only relevant for | |
| names in the assembly code and header file. Resource names are not | |
| affected. | |
| .TP | |
| .I \-r | |
| Create binary \fB.res\fR file (compile only). | |
| .TP | |
| .I \-s | |
| Add structure with win32/16 (PE/NE) resource directory to outputfile. | |
| This directory is always in native byteorder. | |
| .TP | |
| .I \-t | |
| Obsolete; generate indirect loadable resource tables. | |
| .TP | |
| .I \-T | |
| Obsolete; generate only indirect loadable resources tables. | |
| .TP | |
| .I \-V | |
| Print version end exit. | |
| .TP | |
| .I \-w 16|32 | |
| Select win16 or win32 output. Default is win32. | |
| .TP | |
| .I \-W | |
| Enable pedantic warnings. Notably redefinition of #define statements can | |
| be discovered with this option. | |
| .SH PREPROCESSOR | |
| The preprocessor is ANSI\-C compatible with some 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 default sets several defines: | |
| .br | |
| RC_INVOKED set to 1 | |
| .br | |
| __WRC__ Major version of wrc | |
| .br | |
| __WRC_MINOR__ Minor version of wrc | |
| .br | |
| __WRC_MICRO__ Patch level | |
| .br | |
| __WRC_PATCH__ Same as __WRC_MICRO__ | |
| .PP | |
| Win32 compilation mode also sets __WIN32__ to 1 and __FLAT__ to 1. | |
| .PP | |
| Special macros __FILE__, __LINE__, __TIME__ and __DATE__ are also | |
| recognized and expand to their respective equivalent. | |
| .SH "ERROR REPORTING" | |
| All errors and warnings are written to standard error and report: | |
| .br | |
| \fIfilename\fR:\fIline\-number\fR:\fIcharacter\-pos\fR:\fI{Error,Warning}\fR:\fI<message>\fR | |
| .br | |
| The character\-position is always at the next token. I.e. the error | |
| or warning happened before. The line\-number suffers from the same | |
| problem if the error occurred at the last token of the previous line. | |
| The line\-number will be several lines off when the error was followed | |
| by several empry lines. See also \fBBUGS\fR. | |
| .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 Ulrich Czekalla and Albert | |
| den Haan. Bugfixes have been contributed by many wine developpers. | |
| .SH BUGS | |
| \- The preprocessor recognizes variable argument macros, but does not | |
| expanded them correctly | |
| .br | |
| \- Error reporting should be more to the point (and verbose) | |
| .br | |
| \- Codepage/UNICODE translations are not/not correct implemented | |
| .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 | |
| See the CHANGES and README.wrc files in the distribution for more | |
| comments on bugs and fixes across the versions. | |
| .SH AVAILABILITY | |
| .B wrc | |
| is part of the wine distribution, which is available through | |
| WineHQ, the | |
| .B wine | |
| development headquarters, at | |
| .I http://www.winehq.com/. | |
| .SH "SEE ALSO" | |
| .BR wine (1), |