WINDMC(1)

๐Ÿ“ฆ version 12.2.0, in nixpkgs unstable

๐Ÿ’– WINDMC โ€” the manual page bestie ๐Ÿ’–

Hey bestie ๐Ÿ’– so you found the windmc page! This is from GNU Development Tools and honestly it's giving "useful little gremlin" energy. Let me walk you through it, no cap.


โœจ NAME โœจ

windmc โ€” generates Windows message resources. Periodt. ๐Ÿ’…


โœจ SYNOPSIS โœจ

windmc [options] input-file

โœจ DESCRIPTION โœจ

Okay so picture this: windmc reads message definitions from an input file (the .mc vibe), and translates them into a whole set of output files. It's giving translator energy ๐ŸŒˆ. The output files can be one of four kinds:

  • "h" โ€” a C header file containing the message definitions. Classic. ๐Ÿ‘‘
  • "rc" โ€” a resource file that windres can compile. Slay. ๐ŸŽ€
  • "bin" โ€” one or more binary files containing the resource data for a specific message language. Very real. ๐Ÿ”ฅ
  • "dbg" โ€” a C include file that maps message id's to their symbolic name. iykyk. ๐Ÿฆ‹

The exact description of these different formats is available in documentation from Microsoft. Not me guessing โ€” that's just facts. ๐Ÿ“š

When windmc converts from the "mc" format to the "bin" format, "rc", "h", and optional "dbg" โ€” it is acting like the Windows Message Compiler. Main character energy fr fr. ๐Ÿ˜ญ๐Ÿ’€


โœจ OPTIONS โœจ

Okay bestie, here's where it gets juicy. Every flag, every detail, all of it. Let's go ๐Ÿƒโ€โ™€๏ธ๐Ÿ’จ

  • -a, --ascii_in โ€” Specifies that the input file specified is ASCII. This is the default behaviour. So yeah, default vibe check passed. โœ…
  • -A, --ascii_out โ€” Specifies that messages in the output "bin" files should be in ASCII format. Not the default, but valid. ๐Ÿ’…
  • -b, --binprefix โ€” Specifies that "bin" filenames should have to be prefixed by the basename of the source file. Little prefix moment. ๐ŸŽ€
  • -c, --customflag โ€” Sets the customer bit in all message id's. Very "custom" of you. โœจ
  • -C codepage, --codepage_in codepage โ€” Sets the default codepage to be used to convert input file to UTF16. The default is ocdepage 1252. Yes, the manpage literally says "ocdepage" โ€” I'm not fixing it, I'm just reporting. ๐Ÿ˜ญ๐Ÿ™ˆ
  • -d, --decimal_values โ€” Outputs the constants in the header file in decimal. Default is using hexadecimal output. Choose your fighter: decimal or hex. ๐Ÿ”ข
  • -e ext, --extension ext โ€” The extension for the header file. The default is .h extension. So .h is the moment unless you say otherwise. ๐Ÿฆ‹
  • -F target, --target target โ€” Specify the BFD format to use for a bin file as output. This is a BFD target name; you can use the --help option to see a list of supported targets. Normally windmc will use the default format, which is the first one listed by the --help option. Lowkey iconic that it just picks the first one. ๐Ÿ‘‘
  • -h path, --headerdir path โ€” The target directory of the generated header file. The default is the current directory. Very "stay in your lane" of it. ๐Ÿ“
  • -H, --help โ€” Displays a list of command line options and then exits. The classic "help me help you" flag. ๐Ÿซถ
  • -m characters, --maxlength characters โ€” Instructs windmc to generate a warning if the length of any message exceeds the number specified. Warning: message too long, bestie. โš ๏ธ
  • -n, --nullterminate โ€” Terminate message text in "bin" files by zero. By default they are terminated by CR/LF. Null vibes only. ๐Ÿ’€
  • -o, --hresult_use โ€” Not yet implemented. Instructs "windmc" to generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified. So yeah, not yet a thing โ€” don't come for me. ๐Ÿ™ˆ
  • -O codepage, --codepage_out codepage โ€” Sets the default codepage to be used to output text files. The default is ocdepage 1252. Again with the "ocdepage" โ€” I'm just the messenger. ๐Ÿ˜ญ
  • -r path, --rcdir path โ€” The target directory for the generated "rc" script and the generated "bin" files that the resource compiler script includes. The default is the current directory. Directory realness. ๐Ÿ“‚
  • -u, --unicode_in โ€” Specifies that the input file is UTF16. Unicode moment. ๐ŸŒˆ
  • -U, --unicode_out โ€” Specifies that messages in the output "bin" file should be in UTF16 format. This is the default behaviour. UTF16 is the default slay. โœจ
  • -v, --verbose โ€” Enable verbose mode. Tell me everything, bestie. ๐Ÿ—ฃ๏ธ
  • -V, --version โ€” Prints the version number for windmc. Version check, periodt. ๐Ÿ’…
  • -x path, --xdgb path โ€” The path of the "dbg" C include file that maps message id's to the symbolic name. No such file is generated without specifying the switch. So if you want the "dbg" file, you gotta ask for it. No mind reading. ๐Ÿ”ฎ
  • @file โ€” Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed.

Options in file 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 file may itself contain additional @file options; any such options will be processed recursively. Recursive file reading? It's giving inception. ๐ŸŒ€


โœจ SEE ALSO โœจ

Check the Info entries for binutils if you're feeling โœจcuriousโœจ. That's where the lore lives. ๐Ÿ“–๐Ÿฆ‹


Okay so legal stuff, don't skip this ๐Ÿซถ

Copyright (c) 1991-2018 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU 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 "GNU Free Documentation License".


Signing off with binutils-2.30 vibes, dated 2018-01-27. Love u, bye! ๐Ÿ’•

๐Ÿ“ฆ where this page comes from