]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
build : use umbrella Headers directory for XCFramework module map (#23974)
authorGerard Martinez <redacted>
Thu, 4 Jun 2026 10:58:25 +0000 (03:58 -0700)
committerGitHub <redacted>
Thu, 4 Jun 2026 10:58:25 +0000 (12:58 +0200)
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.

build-xcframework.sh

index 5d289922a8473ff6b47a9e1c51b08c185186bf5b..180c01a88e949edbe4be9f862d1cd56a369194fa 100755 (executable)
@@ -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"