1WRC(1) Wine Developers Manual WRC(1)
2
3
4
6 wrc - Wine Resource Compiler
7
9 wrc [options] [inputfile...]
10
12 wrc compiles resources from inputfile into win16 and win32 compatible
13 binary format.
14
15 The source file is preprocessed with a builtin ANSI-C compatible pre‐
16 processor before the resources are compiled. See PREPROCESSOR below.
17
18 wrc takes a series of inputfile as argument. The resources are read
19 from standard input if no inputfile is given. If the output file is not
20 specified with -o, then wrc will write the output to inputfile.res with
21 .rc stripped, or to wrc.tab.res if no inputfile was given.
22
24 -b, --target=cpu-manufacturer[-kernel]-os
25 Specify the target CPU and platform on which the generated code
26 will be built. The target specification is in the standard auto‐
27 conf format as returned by config.sub.
28
29 -D, --define=id[=val]
30 Define preprocessor identifier id to (optionally) value val.
31 See also PREPROCESSOR below.
32
33 --debug=nn
34 Set debug level to nn. The value is a bitmask consisting of
35 1=verbose, 2=dump internals, 4=resource parser trace, 8=pre‐
36 processor messages, 16=preprocessor scanner and 32=preprocessor
37 parser trace.
38
39 --endianness=e
40 Win32 only; set output byte-ordering, where e is one of
41 n[ative], l[ittle] or b[ig]. Only resources in source-form can
42 be reordered. Native ordering depends on the system on which wrc
43 was built. You can see the native ordering by typing wrc -h.
44
45 -E Preprocess only. The output is written to standard output if no
46 outputfile was selected. The output is compatible with what gcc
47 would generate.
48
49 -h, --help
50 Prints a summary message and exits.
51
52 -i, --input=file
53 The name of the input file. If this option is not used, then wrc
54 will use the first non-option argument as the input file name.
55 If there are no non-option arguments, then wrc will read from
56 standard input.
57
58 -I, --include-dir=path
59 Add path to include search directories. path may contain multi‐
60 ple directories, separated with ':'. It is allowed to specify -I
61 multiple times. Include files are searched in the order in which
62 the -I options were specified.
63 The search is compatible with gcc, in which '<>' quoted file‐
64 names are searched exclusively via the -I set path, whereas the
65 '""' quoted filenames are first tried to be opened in the cur‐
66 rent directory. Also resource statements with file references
67 are located in the same way.
68
69 -J, --input-format=format
70 Sets the input format. Valid options are 'rc' or 'rc16'. Setting
71 the input to 'rc16' disables the recognition of win32 keywords.
72
73 -l, --language=lang
74 Set default language to lang. Default is the neutral language 0
75 (i.e. "LANGUAGE 0, 0").
76
77 -m16, -m32, -m64
78 Generate resources for 16-bit, 32-bit or 64-bit platforms re‐
79 spectively. The only difference between 32-bit and 64-bit is
80 whether the _WIN64 preprocessor symbol is defined.
81
82 --nls-dir=dir
83 Specify the directory to search for the NLS files containing the
84 codepage mapping tables.
85
86 --nostdinc
87 Do not search the standard include path, look for include files
88 only in the directories explicitly specified with the -I option.
89
90 --no-use-temp-file
91 Ignored for compatibility with windres.
92
93 -o, -fo, --output=file
94 Write output to file. Default is inputfile.res with .rc stripped
95 or wrc.tab.res if input is read from standard input.
96
97 -O, --output-format=format
98 Sets the output format. The supported formats are po, pot, res,
99 and res16. If this option is not specified, the format defaults
100 to res.
101 In po mode, if an output file name is specified it must match a
102 known language name, like en_US.po; only resources for the spec‐
103 ified language are output. If no output file name is specified,
104 a separate .po file is created for every language encountered in
105 the input.
106
107 --pedantic
108 Enable pedantic warnings. Notably redefinition of #define state‐
109 ments can be discovered with this option.
110
111 --po-dir=dir
112 Enable the generation of resource translations based on mo files
113 loaded from the specified directory. That directory must follow
114 the gettext convention, in particular it must contain one .mo
115 file for each language, and a LINGUAS file listing the available
116 languages.
117
118 -r Ignored for compatibility with rc.
119
120 --preprocessor=program
121 This option may be used to specify the preprocessor to use, in‐
122 cluding any leading arguments. If not specified, wrc uses its
123 builtin processor. To disable preprocessing, use --preproces‐
124 sor=cat.
125
126 --sysroot=dir
127 Prefix the standard include paths with dir.
128
129 --utf8, -u
130 Set the default codepage of the input file to UTF-8.
131
132 -U, --undefine=id
133 Undefine preprocessor identifier id. Please note that only
134 macros defined up to this point are undefined by this command.
135 However, these include the special macros defined automatically
136 by wrc. See also PREPROCESSOR below.
137
138 --use-temp-file
139 Ignored for compatibility with windres.
140
141 -v, --verbose
142 Turns on verbose mode (equivalent to -d 1).
143
144 --version
145 Print version and exit.
146
148 The preprocessor is ANSI-C compatible with some of the extensions of
149 the gcc preprocessor.
150
151 The preprocessor recognizes these directives: #include, #define (both
152 simple and macro), #undef, #if, #ifdef, #ifndef, #elif, #else, #endif,
153 #error, #warning, #line, # (both null- and line-directive), #pragma
154 (ignored), #ident (ignored).
155
156 The preprocessor sets by default several defines:
157 RC_INVOKED set to 1
158 __WRC__ Major version of wrc
159 __WRC_MINOR__ Minor version of wrc
160 __WRC_PATCHLEVEL__ Patch level
161
162 Win32 compilation mode also sets _WIN32 to 1.
163
164 Special macros __FILE__, __LINE__, __TIME__ and __DATE__ are also rec‐
165 ognized and expand to their respective equivalent.
166
168 Language, version and characteristics can be bound to all resource
169 types that have inline data, such as RCDATA. This is an extension to
170 Microsoft's resource compiler, which lacks this support completely.
171 Only VERSIONINFO cannot have version and characteristics attached, but
172 languages are propagated properly if you declare it correctly before
173 the VERSIONINFO resource starts.
174
175 Example:
176
177 1 RCDATA DISCARDABLE
178 LANGUAGE 1, 0
179 VERSION 312
180 CHARACTERISTICS 876
181 {
182 1, 2, 3, 4, 5, "and whatever more data you want"
183 '00 01 02 03 04 05 06 07 08'
184 }
185
187 wrc was written by Bertho A. Stultiens and is a nearly complete rewrite
188 of the first wine resource compiler (1994) by Martin von Loewis. Addi‐
189 tional resource-types were contributed by Ulrich Czekalla and Albert
190 den Haan. Many cleanups by Dimitrie O. Paun in 2002-2003. Bugfixes
191 have been contributed by many Wine developers.
192
194 - The preprocessor recognizes variable argument macros, but does not
195 expand them correctly.
196 - Error reporting should be more precise, as currently the column and
197 line number reported are those of the next token.
198 - Default memory options should differ between win16 and win32.
199
200 There is no support for:
201 - RT_DLGINCLUDE, RT_VXD, RT_PLUGPLAY and RT_HTML (unknown format)
202 - PUSHBOX control is unsupported due to lack of original functionality.
203
204 Fonts are parsed and generated, but there is no support for the genera‐
205 tion of the FONTDIR yet. The user must supply the FONTDIR resource in
206 the source to match the FONT resources.
207
208 Bugs can be reported on the Wine bug tracker ⟨https://bugs.winehq.org⟩.
209
211 wrc is part of the Wine distribution, which is available through
212 WineHQ, the Wine development headquarters ⟨https://www.winehq.org/⟩.
213
215 wine(1),
216 Wine documentation and support ⟨https://www.winehq.org/help⟩.
217
218
219
220Wine 6.10 October 2005 WRC(1)