.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "WINDMC 1"
.TH WINDMC 1 "2014-10-15" "binutils-2.22.0" "GNU Development Tools"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
windmc \- generates Windows message resources.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
windmc [options] input-file
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fBwindmc\fR reads message definitions from an input file (.mc) and
translate them into a set of output files.  The output files may be of
four kinds:
.ie n .IP """h""" 4
.el .IP "\f(CWh\fR" 4
.IX Item "h"
A C header file containing the message definitions.
.ie n .IP """rc""" 4
.el .IP "\f(CWrc\fR" 4
.IX Item "rc"
A resource file compilable by the \fBwindres\fR tool.
.ie n .IP """bin""" 4
.el .IP "\f(CWbin\fR" 4
.IX Item "bin"
One or more binary files containing the resource data for a specific
message language.
.ie n .IP """dbg""" 4
.el .IP "\f(CWdbg\fR" 4
.IX Item "dbg"
A C include file that maps message id's to their symbolic name.
.PP
The exact description of these different formats is available in
documentation from Microsoft.
.PP
When \fBwindmc\fR converts from the \f(CW\*(C`mc\*(C'\fR format to the \f(CW\*(C`bin\*(C'\fR
format, \f(CW\*(C`rc\*(C'\fR, \f(CW\*(C`h\*(C'\fR, and optional \f(CW\*(C`dbg\*(C'\fR it is acting like the
Windows Message Compiler.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-a\fR" 4
.IX Item "-a"
.PD 0
.IP "\fB\-\-ascii_in\fR" 4
.IX Item "--ascii_in"
.PD
Specifies that the input file specified is \s-1ASCII\s0. This is the default
behaviour.
.IP "\fB\-A\fR" 4
.IX Item "-A"
.PD 0
.IP "\fB\-\-ascii_out\fR" 4
.IX Item "--ascii_out"
.PD
Specifies that messages in the output \f(CW\*(C`bin\*(C'\fR files should be in \s-1ASCII\s0
format.
.IP "\fB\-b\fR" 4
.IX Item "-b"
.PD 0
.IP "\fB\-\-binprefix\fR" 4
.IX Item "--binprefix"
.PD
Specifies that \f(CW\*(C`bin\*(C'\fR filenames should have to be prefixed by the
basename of the source file.
.IP "\fB\-c\fR" 4
.IX Item "-c"
.PD 0
.IP "\fB\-\-customflag\fR" 4
.IX Item "--customflag"
.PD
Sets the customer bit in all message id's.
.IP "\fB\-C\fR \fIcodepage\fR" 4
.IX Item "-C codepage"
.PD 0
.IP "\fB\-\-codepage_in\fR \fIcodepage\fR" 4
.IX Item "--codepage_in codepage"
.PD
Sets the default codepage to be used to convert input file to \s-1UTF16\s0. The
default is ocdepage 1252.
.IP "\fB\-d\fR" 4
.IX Item "-d"
.PD 0
.IP "\fB\-\-decimal_values\fR" 4
.IX Item "--decimal_values"
.PD
Outputs the constants in the header file in decimal. Default is using
hexadecimal output.
.IP "\fB\-e\fR \fIext\fR" 4
.IX Item "-e ext"
.PD 0
.IP "\fB\-\-extension\fR \fIext\fR" 4
.IX Item "--extension ext"
.PD
The extension for the header file. The default is .h extension.
.IP "\fB\-F\fR \fItarget\fR" 4
.IX Item "-F target"
.PD 0
.IP "\fB\-\-target\fR \fItarget\fR" 4
.IX Item "--target target"
.PD
Specify the \s-1BFD\s0 format to use for a bin file as output.  This
is a \s-1BFD\s0 target name; you can use the \fB\-\-help\fR option to see a list
of supported targets.  Normally \fBwindmc\fR will use the default
format, which is the first one listed by the \fB\-\-help\fR option.
.IP "\fB\-h\fR \fIpath\fR" 4
.IX Item "-h path"
.PD 0
.IP "\fB\-\-headerdir\fR \fIpath\fR" 4
.IX Item "--headerdir path"
.PD
The target directory of the generated header file. The default is the
current directory.
.IP "\fB\-H\fR" 4
.IX Item "-H"
.PD 0
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
.PD
Displays a list of command line options and then exits.
.IP "\fB\-m\fR \fIcharacters\fR" 4
.IX Item "-m characters"
.PD 0
.IP "\fB\-\-maxlength\fR \fIcharacters\fR" 4
.IX Item "--maxlength characters"
.PD
Instructs \fBwindmc\fR to generate a warning if the length
of any message exceeds the number specified.
.IP "\fB\-n\fR" 4
.IX Item "-n"
.PD 0
.IP "\fB\-\-nullterminate\fR" 4
.IX Item "--nullterminate"
.PD
Terminate message text in \f(CW\*(C`bin\*(C'\fR files by zero. By default they are
terminated by \s-1CR/LF\s0.
.IP "\fB\-o\fR" 4
.IX Item "-o"
.PD 0
.IP "\fB\-\-hresult_use\fR" 4
.IX Item "--hresult_use"
.PD
Not yet implemented. Instructs \f(CW\*(C`windmc\*(C'\fR to generate an \s-1OLE2\s0 header
file, using \s-1HRESULT\s0 definitions. Status codes are used if the flag is not
specified.
.IP "\fB\-O\fR \fIcodepage\fR" 4
.IX Item "-O codepage"
.PD 0
.IP "\fB\-\-codepage_out\fR \fIcodepage\fR" 4
.IX Item "--codepage_out codepage"
.PD
Sets the default codepage to be used to output text files. The default
is ocdepage 1252.
.IP "\fB\-r\fR \fIpath\fR" 4
.IX Item "-r path"
.PD 0
.IP "\fB\-\-rcdir\fR \fIpath\fR" 4
.IX Item "--rcdir path"
.PD
The target directory for the generated \f(CW\*(C`rc\*(C'\fR script and the generated
\&\f(CW\*(C`bin\*(C'\fR files that the resource compiler script includes. The default
is the current directory.
.IP "\fB\-u\fR" 4
.IX Item "-u"
.PD 0
.IP "\fB\-\-unicode_in\fR" 4
.IX Item "--unicode_in"
.PD
Specifies that the input file is \s-1UTF16\s0.
.IP "\fB\-U\fR" 4
.IX Item "-U"
.PD 0
.IP "\fB\-\-unicode_out\fR" 4
.IX Item "--unicode_out"
.PD
Specifies that messages in the output \f(CW\*(C`bin\*(C'\fR file should be in \s-1UTF16\s0
format. This is the default behaviour.
.IP "\fB\-v\fR" 4
.IX Item "-v"
.PD 0
.IP "\fB\-\-verbose\fR" 4
.IX Item "--verbose"
.PD
Enable verbose mode.
.IP "\fB\-V\fR" 4
.IX Item "-V"
.PD 0
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
.PD
Prints the version number for \fBwindmc\fR.
.IP "\fB\-x\fR \fIpath\fR" 4
.IX Item "-x path"
.PD 0
.IP "\fB\-\-xdgb\fR \fIpath\fR" 4
.IX Item "--xdgb path"
.PD
The path of the \f(CW\*(C`dbg\*(C'\fR C include file that maps message id's to the
symbolic name. No such file is generated without specifying the switch.
.IP "\fB@\fR\fIfile\fR" 4
.IX Item "@file"
Read command-line options from \fIfile\fR.  The options read are
inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
does not exist, or cannot be read, then the option will be treated
literally, and not removed.
.Sp
Options in \fIfile\fR are separated by whitespace.  A whitespace
character may be included in an option by surrounding the entire
option in either single or double quotes.  Any character (including a
backslash) may be included by prefixing the character to be included
with a backslash.  The \fIfile\fR may itself contain additional
@\fIfile\fR options; any such options will be processed recursively.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
the Info entries for \fIbinutils\fR.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
.PP
Permission is granted to copy, distribute and/or modify this document
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
