mirror of https://github.com/decompals/wibo.git
b86a542fe2
* Fix cmake install command PROGRAMS specifies executable files, while TARGETS specifies cmake targets. This install command happened to work when doing an in-tree build (build dir == source dir) but will otherwise fail. * Explicitly link std::filesystem as needed On some older compilers, std::filesystem is provided as a separate library from the C++ standard library. For example, on GCC 8, one must explicitly link with -lstdc++fs. We can use a drop-in https://github.com/vector-of-bool/CMakeCM module to automate detection of and linking against this auxiliary library when needed. * Add missing include std::min is in <algorithm> header This is transitively included in libstdc++ (GCC) but not in libc++ (Clang) (Encountered when testing -lc++fs auxiliary library linking in Clang 7) |
||
---|---|---|
.github/workflows | ||
cmake | ||
test | ||
.dockerignore | ||
.gitignore | ||
CMakeLists.txt | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
advapi32.cpp | ||
common.h | ||
files.cpp | ||
files.h | ||
kernel32.cpp | ||
lmgr.cpp | ||
loader.cpp | ||
main.cpp | ||
ole32.cpp | ||
user32.cpp | ||
version.cpp |
README.md
WiBo
A minimal, low-fuss wrapper that can run really simple command-line 32-bit Windows binaries on Linux - with less faff and less dependencies than WINE.
Don't run this on any untrusted executables, I implore you. (Or probably just don't run it at all... :p)
cmake -B build
cmake --build build
build/wibo
Rough to-do list:
- Implement more APIs
- Do something intelligent with Windows
HANDLE
s - Convert paths in environment variables (and the structure of
PATH
itself, maybe) to Windows format - Implement PE relocations rather than just failing unceremoniously
- Make the PE loader work for DLLs as well in case we ever want to load some
Related projects: