# wibo A minimal, low-fuss wrapper that can run simple command-line 32-bit Windows binaries on 32-bit Linux - developed to run Windows compilers faster than Wine. Download the latest release from [GitHub releases](https://github.com/decompals/wibo/releases) or build from source. ## Building ```sh cmake --preset debug cmake --build --preset debug ``` This will produce a debug binary at `build/debug/wibo`. Use `--preset release` to produce an optimized binary at `build/release/wibo`. ## Usage ```sh wibo [options] [arguments...] wibo path [subcommand options] [path...] ``` ### General Options | Option | Description | | --------------- | --------------------------------- | | `-h, --help` | Show usage information and exit | | `-V, --version` | Show version information and exit | ### Runtime Options | Option | Description | | ------------------ | ---------------------------------------------------------------------------------------------------------------- | | `-C, --chdir DIR` | Change working directory before launching the program | | `-D, --debug` | Enable debug logging (same as `WIBO_DEBUG=1`) | | `--cmdline STRING` | Use `STRING` as the exact guest command line (must include the program name, e.g. `"test.exe a b c"`) | | `--` | Stop option parsing; following arguments are used verbatim as the guest command line, including the program name | ### Subcommands | Subcommand | Description | | ---------- | --------------------------------------------------------------------------------- | | `path` | Convert between host and Windows-style paths (see `wibo path --help` for details) | ### Examples #### Normal usage ```sh wibo path/to/test.exe a b c wibo -C path/to test.exe a b c ``` #### Advanced: full control over the guest command line ```sh wibo path/to/test.exe -- test.exe a b c wibo --cmdline 'test.exe a b c' path/to/test.exe wibo -- test.exe a b c ``` ## Tests Self-checking Windows fixtures run through CTest. They require a 32-bit MinGW cross toolchain (`i686-w64-mingw32-gcc` and `i686-w64-mingw32-windres`). ```sh ctest --preset fixtures ``` This will cross-compile the fixture executables, run them through `wibo`, and fail if any WinAPI expectations are not met. ## Related Projects * [taviso/loadlibrary](https://github.com/taviso/loadlibrary) - Initial inspiration for this project. * [evmar/retrowin32](https://github.com/evmar/retrowin32) - A similar project with different goals and architecture. * [decomp.me](https://decomp.me) - Collaborative decompilation website; uses wibo to run Windows compilers. ## License wibo is licensed under the MIT License. See `LICENSE` for details.