From b6f0bf2df0f6baadc345a9d146599197a5b46e9f Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 16 Oct 2026 09:19:30 +0000 Subject: 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 --- doc/build.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/build.md') diff --git a/doc/build.md b/doc/build.md index 17f2741..dce9d7c 100644 --- a/doc/build.md +++ b/doc/build.md @@ -129,6 +129,8 @@ version; check that it is 23. Windows builds have only been reviewed statically. The `clang-tools-extra` package is required because MSYS2's `ClangTargets.cmake` checks the extra-tool archives, including `libclangApplyReplacements.a`, when loading the Clang development package, even though cpsc does not invoke those tools. +LLD's Windows manifest support also uses libxml2. cpsc explicitly selects `libxml2.a` and its static iconv/zlib dependencies; the package's default `libxml2.dll.a` import library would retain a DLL dependency even with `-static`. The XML archive is loaded in full so LLD can resolve the prebuilt LLVM archive's `dllimport` references to local definitions. Nightly checks the compiler's PE import table for non-system DLLs before running the package with a restricted PATH. + ### macOS (Homebrew) Install the Xcode Command Line Tools for the macOS SDK, make and package -- cgit v1.3.1-4-g156e