wmc: Add a copy of the strmake utility function.
[wine.git] / tools / wmc / wmc.man.in
blob517ac2335ccb26b88bca4269b6ebf5b3ca8e4894
1 .\" -*- nroff -*-
2 .TH WMC 1 "October 2005" "@PACKAGE_STRING@" "Wine Developers Manual"
3 .SH NAME
4 wrc \- Wine Message Compiler
5 .SH SYNOPSIS
6 .BI "wmc " "[options] " "[inputfile]"
7 .SH DESCRIPTION
8 .B wmc
9 compiles messages from
10 .B inputfile
11 into FormatMessage[AW] compatible format encapsulated in a resourcescript
12 format.
13 .B wmc
14 outputs the data either in a standard \fB.bin\fR formatted binary
15 file, or can generated inline resource data.
16 .PP
17 .B wmc
18 takes only one \fBinputfile\fR as argument (see \fBBUGS\fR). The
19 \fBinputfile\fR normally has extension \fB.mc\fR. The messages are read from
20 standard input if no inputfile is given. If the outputfile is not specified
21 with \fI-o\fR, then \fBwmc\fR will write the output to \fBinputfile.{rc,h}\fR.
22 The outputfile is named \fBwmc.tab.{rc,h}\fR if no inputfile was given.
23 .SH OPTIONS
24 .TP
25 .BI \-B\  x
26 Set output byte-order x={n[ative], l[ittle], b[ig]}. Default is n[ative].
27 .TP
28 .B \-c
29 Set 'custom-bit' in message-code values.
30 .TP
31 .B \-d
32 NON-FUNCTIONAL; Use decimal values in output
33 .TP
34 .B \-D
35 Set debug flag. This results is a parser trace and a lot of extra messages.
36 .TP
37 .B \-h
38 Print an informative usage message.
39 .TP
40 .BI \-H\  file
41 Write headerfile to \fIfile\fR. Default is \fIinputfile.h\fR.
42 .TP
43 .B \-i
44 Inline messagetable(s). This option skips the generation of all \fI.bin\fR files
45 and writes all output into the \fI.rc\fR file. This encoding is parsable with
46 wrc(1).
47 .TP
48 .BI \-o\  file
49 Output to \fIfile\fR. Default is \fIinputfile.rc\fR.
50 .TP
51 .BI \-O\  format
52 Set the output format. Supported formats are \fBrc\fR (the default)
53 and \fBres\fR.
54 .TP
55 .B \-u
56 Assume that the inputfile is in unicode.
57 .TP
58 .B \-U
59 Write resource output in unicode formatted messagetable(s).
60 .TP
61 .B \-v
62 Show all supported codepages and languages.
63 .TP
64 .B \-V
65 Print version end exit.
66 .TP
67 .B \-W
68 Enable pedantic warnings.
69 .SH EXTENSIONS
70 The original syntax is extended to support codepages more smoothly. Normally,
71 codepages are based on the DOS\-codepage from the language setting. The
72 original syntax only allows the destination codepage to be set. However, this
73 is not enough for non\-DOS systems which do not use unicode source-files.
74 .PP
75 A new keyword \fICodepages\fR is introduced to set both input and output
76 codepages to anything one wants for each language. The syntax is similar to
77 the other constructs:
78 .PP
79 Codepages '=' '(' language '=' cpin ':' cpout ... ')'
80 .PP
81 The \fIlanguage\fR is the numerical language\-ID or the alias set with
82 LanguageNames. The input\-codepage \fIcpin\fR and output\-codepage
83 \fIcpout\fR are the numerical codepage\-IDs. There can be multiple mapping
84 within the definition and the definition may occur more than once.
85 .SH AUTHORS
86 .B wmc
87 was written by Bertho A. Stultiens.
88 .SH BUGS
89 The message compiler should be able to have multiple inputfiles and combine
90 them into one outputfile. This would enable the splitting of languages into
91 separate files.
92 .PP
93 Unicode detection of the input is suboptimal, to say the least. It should
94 recognize byte\-order\-marks (BOM) and decide what to do.
95 .PP
96 Decimal output is completely lacking. Don't know whether it should be
97 implemented because it is a, well, non-informative format change. It is
98 recognized on the commandline for some form of compatibility.
99 .SH AVAILABILITY
100 .B wmc
101 is part of the wine distribution, which is available through
102 WineHQ, the
103 .B wine
104 development headquarters, at
105 .I http://www.winehq.org/.
106 .SH "SEE ALSO"
107 .BR wine (1),
108 .BR wrc (1)