aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-16 09:19:30 +0000
committer_ov4 <ov4@ov4.org>2026-10-16 09:19:30 +0000
commitb6f0bf2df0f6baadc345a9d146599197a5b46e9f (patch)
treece8954ede317117262244306e7d7444536de0b3a /.github
parentce584238e66a32f93c1af4d16bfe4a1928e25b88 (diff)
fix(build): statically link MinGW XML manifest dependencies
Replace LLVMWindowsManifest's XML import library with static XML, iconv and zlib archives. Check the Windows compiler's PE imports before the restricted-PATH package smoke test. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/nightly-build.yml21
1 files changed, 21 insertions, 0 deletions
diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml
index 773f8ca..62b8d49 100644
--- a/.github/workflows/nightly-build.yml
+++ b/.github/workflows/nightly-build.yml
@@ -217,6 +217,7 @@ jobs:
mingw-w64-x86_64-python
mingw-w64-x86_64-libffi
mingw-w64-x86_64-libxml2
+ mingw-w64-x86_64-libiconv
mingw-w64-x86_64-zlib
mingw-w64-x86_64-zstd
@@ -239,6 +240,26 @@ jobs:
-DCMAKE_PREFIX_PATH="$(cygpath -m /mingw64)"
cmake --build build --target release --parallel 4
+ - name: Check Windows runtime dependencies
+ shell: msys2 {0}
+ run: |
+ llvm-readobj --coff-imports build/cpsc.exe > build/windows-imports.txt
+ imports=$(sed -n 's/^ Name: //p' build/windows-imports.txt | tr -d '\r')
+ test -n "$imports"
+ windows_root=$(cygpath -u "$SYSTEMROOT")
+ while IFS= read -r library; do
+ echo "Runtime dependency: $library"
+ case "${library,,}" in
+ api-ms-win-*.dll|ext-ms-win-*.dll) ;;
+ *)
+ if [[ ! -f "$windows_root/System32/$library" ]]; then
+ echo "Unexpected runtime dependency: $library" >&2
+ exit 1
+ fi
+ ;;
+ esac
+ done <<< "$imports"
+
- name: Smoke test the packaged compiler
shell: pwsh
run: |