windmc(1) on Solnix vs Linux and the BSDs
windmc is the binutils Windows message compiler. It is not in the base Solnix system: install pkgs.solnix.binutils. The Solnix and Linux pages are textually the same apart from line wrapping, so flags and defaults match Linux. The BSD pages are not in the bundle.
The manual pages
- Solnix: windmc(1) from
pkgs.solnix.binutils
What Solnix runs
Not installed by default: add pkgs.solnix.binutils. The bundle lists no other illumos variants. The Solnix page is the binutils page and documents the same options as the Linux binutils-2.46 page.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | same program | The Solnix page (pkgs.solnix.binutils) and the Linux binutils-2.46 page document the same synopsis, options, defaults and @file handling. The only visible differences are line wrapping. Scripts written for Linux windmc should behave the same on Solnix. Source: Solnix windmc(1) SYNOPSIS, OPTIONS; Linux windmc(1) SYNOPSIS, OPTIONS |
| FreeBSD, OpenBSD, NetBSD | no counterpart page in the bundle | The bundle has no windmc page for FreeBSD, OpenBSD or NetBSD. The manual text here does not say whether those systems ship windmc or what it does there. Do not assume it is present. Source: Bundle header: COUNTERPART lists only linux windmc(1) |
| all four | not in the base system | On a default Solnix system windmc is not on PATH. Install pkgs.solnix.binutils to get it. A build script that calls windmc fails with command-not-found until the package is added. Source: Bundle header: 'none: install pkgs.solnix.binutils' |
| Linux | -h means headerdir, -H means help | On both Solnix and Linux, -h takes a path (the header output directory) and -H displays help. This is the reverse of the usual convention, where -h is help. -V prints the version.Source: Solnix windmc(1) -h, -H, -V; Linux windmc(1) -h, -H, -V |
| Linux | defaults | Defaults are the same on Solnix and Linux: ASCII input (-a), UTF16 output in bin files (-U), codepage 1252 for input and output, hexadecimal constants, a .h header extension, and CR/LF message termination unless -n is given.Source: Solnix windmc(1) -a, -U, -C, -O, -d, -e, -n; Linux windmc(1) same options |
| Linux | -o not implemented | On both Solnix and Linux, -o (--hresult_use) is documented as 'Not yet implemented'. Status codes are used when it is absent. Do not depend on OLE2 HRESULT header output.Source: Solnix windmc(1) -o; Linux windmc(1) -o |
Standards
- POSIX: windmc is not a POSIX.1-2024 utility.
Writing portable scripts
- Check that windmc is on PATH before calling it; on Solnix it needs pkgs.solnix.binutils.
- Use the long option names (
--headerdir,--help) in scripts, because-hand-Hare the reverse of the usual help convention.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.