You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds two CI jobs and the supporting nix/shell plumbing to build
libmultiprocess for Windows and run mptest:
- windows-cross: nix-based mingw-w64 (UCRT) cross-build on Linux,
followed by mptest.exe under wine-wow.
- windows-native: native MSVC build + ctest on a Windows runner,
driven by ci/scripts/windows_native_test.ps1.
The cross job pins cap'n proto to v1.4.0 (v1.3.0+ includes the upstream
fix moving cidr.c++ into kj-async, so the previously-required local
patch is dropped) and uses a matching native capnpc helper
(capnprotoNative) so build-time generated headers match the cross
library version.
A small wine-invalid-function patch is applied to capnp on the cross
build only: capnp's DiskHandle::stat() calls
GetFileInformationByHandleEx(FileCompressionInfo), which Wine answers
with ERROR_INVALID_FUNCTION (its NTSTATUS->DOS mapping for the
unsupported info class). capnp's existing fallback only tolerated
ERROR_CALL_NOT_IMPLEMENTED -- a guess that has sat unverified in the
filesystem-disk-win32 backend since 2017 and that no project appears to
have actually exercised under Wine before -- so without the patch every
mp::Connection setup that touches a temp file throws. See the patch
header for details.
0 commit comments