WMC(1)
π WMC π
okay so bestie, welcome to the Wine Developers Manual page for wmc, aka the Wine Message Compiler β yes she's serving compiler energy and yes she's iconic π
β¨ NAME β¨
wmc β the Wine Message Compiler π¦
πΈ SYNOPSIS πΈ
wmc [options] [inputfile]
π DESCRIPTION π
So wmc takes the messages in inputfile and compiles them into a FormatMessage[AW] compatible format, all wrapped up cozy in a resourcescript format. no cap. She can spit the data out either as a standard .bin formatted binary file, or she can generate inline resource data instead β pick your vibe π
wmc takes only one inputfile as an argument (peep the BUGS section for the tea on that one π). That inputfile normally has the extension .mc. If you don't give her an inputfile, she reads the messages from standard input. And if you don't tell her where to put the output with -o, she'll write it to inputfile.{rc,h}. If there was no inputfile at all, the outputfile gets named wmc.tab.{rc,h} instead. lowkey organized β¨
π OPTIONS π
-Bx β set the output byte-order, where x is one ofn[ative],l[ittle], orb[ig]. default isn[ative].-cβ sets the'custom-bit'in the message-code values.-dβ NON-FUNCTIONAL π use decimal values in output.-Dβ sets the debug flag. this gives you a parser trace and a lot of extra messages. it's giving yapper.-h,--helpβ print an informative usage message and exit.-Hfile β write the headerfile to file. default isinputfile.h.-iβ inline messagetable(s). this option skips the generation of all.binfiles and writes all output into the.rcfile instead. this encoding is parsable withwrc(1). obsessed π«Ά- *
--nls-dir=directory* β specify the directory to search for the NLS files that hold the codepage mapping tables. -o,--output=file β output to file. default isinputfile.rc.-O,--output-format=format β set the output format. supported formats arerc(the default),res, andpot.-P,--po-dir=directory β enable the generation of resource translations based on po files loaded from the specified directory. that directory must follow the gettext convention β in particular it must contain one.pofile for each language, plus aLINGUASfile listing the available languages. read the requirements bestie, she's strict π-uβ assume the input file is in Unicode or UTF-8 format and skip codepage conversions.-vβ show all supported codepages and languages.-V,--versionβ print version and exit.-W,--pedanticβ enable pedantic warnings. she's watching π
π¦ EXTENSIONS π¦
The original syntax got extended so codepages are handled way more smoothly. normally, codepages are based on the DOS codepage from the language setting. the original syntax only lets you set the destination codepage. but that's simply not enough for non-DOS systems that don't use unicode source-files. like, be serious π
So a new keyword Codepages was introduced, and it sets both input and output codepages to literally whatever you want, for each language. the syntax is similar to the other constructs:
Codepages '=' '(' language '=' cpin ':' cpout ... ')'
The language is the numerical language-ID, or the alias set with LanguageNames. the input codepage cpin and output codepage cpout are the numerical codepage IDs. you can have multiple mappings inside the definition, and the definition itself may occur more than once. slay β¨
π AUTHORS π
wmc was written by Bertho A. Stultiens. king behavior π
π BUGS π
- the message compiler should be able to have multiple input files and combine them into one output file. that would enable splitting languages into separate files. (currently she cannot β hence the one-inputfile thing from earlier, iykyk π)
- decimal output is completely lacking. don't know whether it should be implemented, because it's a, well, non-informative format change. it is recognized on the commandline for some form of compatibility though. so it's there, it just doesn't do the thing π
- bugs can be reported on the Wine bug tracker.
π AVAILABILITY π
wmc is part of the Wine distribution, which is available through WineHQ, the Wine development headquarters. main character distribution fr fr π
π SEE ALSO π
wine(1), wrc(1), Wine documentation and support.
okay that's the whole page bestie, go compile something cute π
this has been your girl, running Wine 6.0, from way back in October 2005 β yeah she's vintage and she still ate π β¨π
π¦ where this page comes from
- ubuntu jammy: wine64-development-tools 6.0+repack-1ubuntu1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms