koboldcpp/tools
Abraham Gonzalez e12a0128ab
build: include libmtmd in Apple XCFramework (#21935)
Adds an opt-in LLAMA_BUILD_MTMD CMake option so build-xcframework.sh
can link libmtmd.a into the framework binary without pulling in the
rest of tools/ (which doesn't cross-build cleanly to iOS/tvOS/visionOS).

- CMakeLists.txt: new option, default OFF. When on with
  LLAMA_BUILD_TOOLS=OFF, only the tools/mtmd subdir is added. Useful
  for any binding that wants just libmtmd (Apple XCFramework, WASM).
- tools/mtmd/CMakeLists.txt: gate the CLI exe targets on
  LLAMA_BUILD_TOOLS. Gating on LLAMA_BUILD_COMMON is not enough — it
  defaults ON in standalone builds and visionOS xcodebuild then fails
  with "install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE
  executable target 'llama-mtmd-cli'".
- build-xcframework.sh: turn the option on, pass -DLLAMA_BUILD_MTMD,
  add libmtmd.a to combine_static_libraries, and copy mtmd.h and
  mtmd-helper.h into the framework Headers dir. The umbrella module
  map then exposes them, so Swift / Obj-C consumers can import the
  mtmd C API directly.

After this, nm on ios-arm64/llama.framework/llama shows 52 _mtmd_
symbols. Verified end-to-end: a Swift target links the produced
framework and calls mtmd_default_marker, mtmd_bitmap_init, etc.
without a shim on macos / iphoneos / iphonesimulator / xros slices.

Co-authored-by: Abraham Gonzalez <abraham@theabecaster.com>
2026-06-25 08:37:30 +03:00
..
batched-bench cmake : add install() for impl libraries + fix apple builds (#23511) 2026-05-22 11:46:26 +03:00
cli mtmd, arg: fix utf8 handling on windows (#24779) 2026-06-19 22:28:38 +02:00
completion completion : remove useless statics (#24226) 2026-06-06 12:16:16 +02:00
cvector-generator libs : rename libcommon -> libllama-common (#21936) 2026-04-17 11:11:46 +03:00
export-lora docs: fix export-lora --lora-scaled syntax [no release] (#24703) 2026-06-18 16:46:17 +02:00
fit-params cmake : add install() for impl libraries + fix apple builds (#23511) 2026-05-22 11:46:26 +03:00
gguf-split libs : rename libcommon -> libllama-common (#21936) 2026-04-17 11:11:46 +03:00
imatrix Move duplicated imatrix code into single common imatrix-loader.cpp (#22445) 2026-06-04 17:45:40 +02:00
llama-bench bench : add --offline (#24511) 2026-06-16 08:26:05 +02:00
mtmd build: include libmtmd in Apple XCFramework (#21935) 2026-06-25 08:37:30 +03:00
parser chat: harden caps check (#24973) 2026-06-25 02:49:22 +02:00
perplexity perplexity : fix format specifier in LOG_ERR (#23788) 2026-05-28 10:34:58 +03:00
quantize docs: Update quantization readme (#24133) 2026-06-05 12:21:26 +02:00
results libs : rename libcommon -> libllama-common (#21936) 2026-04-17 11:11:46 +03:00
rpc fix: rpc-server cache may not work in Windows environments (#22394) 2026-04-27 17:25:09 +03:00
server server : check draft context creation error (#24922) 2026-06-23 16:56:50 +02:00
tokenize libs : rename libcommon -> libllama-common (#21936) 2026-04-17 11:11:46 +03:00
tts logs : reduce (#23021) 2026-05-14 13:05:52 +03:00
ui ui: loading bar below the model picker (#24931) 2026-06-24 10:50:44 +02:00
CMakeLists.txt cmake: skip cvector-generator and export-lora when CPU backend is disabled (#24053) 2026-06-04 13:13:19 +03:00