From: Gerard Martinez Date: Thu, 4 Jun 2026 10:58:25 +0000 (-0700) Subject: build : use umbrella Headers directory for XCFramework module map (#23974) X-Git-Tag: upstream/0.0.10438~932 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=4d742877b2631bd9094bc7603bc59b65940563e2;p=pkg%2Fggml%2Fsources%2Fllama.cpp build : use umbrella Headers directory for XCFramework module map (#23974) The XCFramework generated by build-xcframework.sh creates a module map that manually lists public headers. That list can fall out of sync with the framework's Headers directory. The module map is currently missing ggml-opt.h, which is present in the framework headers. This can cause downstream Apple builds to fail with: Include of non-modular header inside framework module 'llama' Use the framework's Headers directory itself as the module map umbrella instead of maintaining a manual header list. This makes all public headers under the generated framework's Headers directory part of the llama module. --- diff --git a/build-xcframework.sh b/build-xcframework.sh index 5d289922a..180c01a88 100755 --- a/build-xcframework.sh +++ b/build-xcframework.sh @@ -130,14 +130,7 @@ setup_framework_structure() { # Create module map (common for all platforms) cat > ${module_path}module.modulemap << EOF framework module llama { - header "llama.h" - header "ggml.h" - header "ggml-alloc.h" - header "ggml-backend.h" - header "ggml-metal.h" - header "ggml-cpu.h" - header "ggml-blas.h" - header "gguf.h" + umbrella "Headers" link "c++" link framework "Accelerate"