Skip to content

Fix: Correct preprocess_asm action for Windows build#293

Open
cloudmediaco wants to merge 1 commit intonode-ffi-napi:masterfrom
cloudmediaco:windows-build-fix
Open

Fix: Correct preprocess_asm action for Windows build#293
cloudmediaco wants to merge 1 commit intonode-ffi-napi:masterfrom
cloudmediaco:windows-build-fix

Conversation

@cloudmediaco
Copy link
Copy Markdown

No description provided.

urbanogilson added a commit to napi-ffi/node-ffi-napi that referenced this pull request Apr 4, 2026
Upstream fixes present:
- libffi.gyp: correct preprocess_asm.cmd path for Windows (node-ffi-napi#293, node-ffi-napi#265)
- src/ffi.cc: remove NAPI_EXPERIMENTAL define (node-ffi-napi#283)
- node-gyp-build bumped to ^4.8.2, prebuildify to ^6.0.1 (node-ffi-napi#283)
urbanogilson added a commit to napi-ffi/node-ffi-napi that referenced this pull request Apr 4, 2026
* Bump version to 4.0.5

Upstream fixes present:
- libffi.gyp: correct preprocess_asm.cmd path for Windows (node-ffi-napi#293, node-ffi-napi#265)
- src/ffi.cc: remove NAPI_EXPERIMENTAL define (node-ffi-napi#283)
- node-gyp-build bumped to ^4.8.2, prebuildify to ^6.0.1 (node-ffi-napi#283)
- Supported on node 22 (Linux/Mac/Windows/Mingw) node-ffi-napi#281 node-ffi-napi#270


* Add MinGW (MSYS2 MINGW64) build and test job

Uses MSYS2's own Node.js package so os.type() returns MINGW64_NT-*,
which activates the MinGW code path in libffi.gyp (GCC compiles .S
files directly instead of the MSVC preprocess_asm.cmd route).

* Improve MSYS2 detection

* Use MSYSTEM_PREFIX to detect MSYS2 toolchain instead of MSYSTEM

* Skip uv_fs_open symbol check on MinGW/MSYS2 Windows builds

On MSYS2 MinGW nodes, libuv is not necessarily re-exported from the
node binary, so GetProcAddress("uv_fs_open") returns error 127. The
test still verifies that Library(null, {}) succeeds on MinGW; only the
MSVC-specific symbol export assumption is skipped.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant