Quick-and-dirty wrapper that tries to run 32-bit Windows command-line executables on Linux
Go to file
Luke Street a8b9452f33
kernel32: Use fstat in GetFileSize (#10)
Improves mwldeppc performance significantly.

Before:
real    0m30.322s
user    0m7.800s
sys     0m22.495s

After:
real	0m16.679s
user	0m4.693s
sys	    0m11.965s

Wine (for comparison):
real    0m24.625s
user    0m0.048s
sys     0m0.034s
2022-07-06 00:13:20 +02:00
.github/workflows [ci] Release on any tag, and create a separate gh release for each 2022-07-03 23:15:45 +09:00
test Readme changes, github actions ci, test (#1) 2022-07-01 04:23:00 +09:00
.dockerignore Add Dockerfile + build action (#3) 2022-06-30 20:42:24 +01:00
.gitignore Readme changes, github actions ci, test (#1) 2022-07-01 04:23:00 +09:00
Dockerfile Add support for SN compilers (#4) 2022-07-03 23:27:48 +09:00
LICENSE first commit 2022-06-13 02:20:18 +02:00
Makefile Makefile: Target C++17 instead of C++2a 2022-07-04 21:38:21 +02:00
README.md Readme changes, github actions ci, test (#1) 2022-07-01 04:23:00 +09:00
advapi32.cpp more 2022-06-29 01:07:04 +02:00
common.h mwcc 4.* 2022-06-29 17:34:38 +02:00
files.cpp files: Use drive letter Z: for root FS (matches wine) 2022-07-04 21:38:21 +02:00
files.h File handles 2022-07-04 00:42:47 +02:00
kernel32.cpp kernel32: Use fstat in GetFileSize (#10) 2022-07-06 00:13:20 +02:00
lmgr.cpp mwcc 4.* 2022-06-29 17:34:38 +02:00
loader.cpp Add support for SN compilers (#4) 2022-07-03 23:27:48 +09:00
main.cpp File handles 2022-07-04 00:42:47 +02:00
ole32.cpp mwcc 4.* 2022-06-29 17:34:38 +02:00
user32.cpp resources 2022-06-29 13:19:45 +02:00
version.cpp mwcc 4.* 2022-06-29 17:34:38 +02:00

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)

make && ./wibo

Rough to-do list:

  • Implement more APIs
  • Do something intelligent with Windows HANDLEs
  • 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: