Add Windows cross-compilation via MinGW, and fix Docker build permission
build / build (push) Successful in 3m5s
build / build (push) Successful in 3m5s
issues on vboxsf-mounted checkouts New `make dist-win`/`package-win` targets (folded into `dist`/`package` alongside the renamed `dist-linux`/`package-linux`) cross-compile systemshock.exe via MinGW, using prebuilt SDL2/SDL2_mixer/GLEW/ fluidsynth-lite baked into the build-image - no Windows machine or Wine needed to build it, confirmed working and playable on a real Windows machine. dist-win/ ships DLLs flat alongside the exe plus a new res/run.bat launcher, packaged into a .zip the same way dist/ becomes a .tar.gz. Also fixes three build-image bugs hit while testing on a VirtualBox vboxsf-mounted checkout: build-engine.sh/docker-entrypoint.sh losing their execute bit (chmod +x on restrictive source perms), the container user missing access to /workspace's supplementary vboxsf group, and cp -a failing on symlink/hard-link creation (vboxsf doesn't support either) - now falls back to dereferencing copies when detected. Also adds Docker/zip/etc. prerequisites to the README for both the desktop and Quest builds.
This commit is contained in:
+16
@@ -16,3 +16,19 @@ The Android build additionally bundles:
|
||||
- The Khronos Group's OpenXR-SDK loader
|
||||
(https://github.com/KhronosGroup/OpenXR-SDK), prebuilt unmodified as
|
||||
lib/arm64-v8a/libopenxr_loader.so. It is Apache 2.0-licensed.
|
||||
|
||||
The Windows build (cross-compiled via MinGW - see README's "4.2. Windows
|
||||
cross-build") additionally bundles:
|
||||
|
||||
- GLEW (http://glew.sourceforge.net/), unmodified, as glew32.dll - used
|
||||
for OpenGL extension loading, which Windows' own opengl32.dll doesn't
|
||||
provide past OpenGL 1.1 (Linux instead gets this straight from Mesa's
|
||||
headers, needing no separate loader library - see
|
||||
engine/src/MacSrc/OpenGL.cc). It is licensed under a combination of the
|
||||
Modified BSD License, the MIT License, and the Khronos License, all
|
||||
permissive.
|
||||
- The MinGW-w64 runtime's winpthreads library, as libwinpthread-1.dll. It
|
||||
is MIT-licensed. (GCC's own runtime, libgcc/libstdc++, is linked
|
||||
statically into systemshock.exe instead of shipped as a DLL, under the
|
||||
GCC Runtime Library Exception - this doesn't subject the rest of the
|
||||
binary to the GPL.)
|
||||
|
||||
Reference in New Issue
Block a user