.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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" '' . ds C` . ds C' '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 >0, 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. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" 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 "2024-03-22" "binutils-2.40.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\-2023 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".