1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[]
= "llama-cpp-sys-2"
= "Low Level Bindings to llama.cpp"
= "0.1.157"
= "2021"
= "MIT OR Apache-2.0"
= "https://github.com/utilityai/llama-cpp-rs"
= "llama"
= [
# Our files
"README.md",
"wrapper.h",
"wrapper_common.h",
"wrapper_common.cpp",
"wrapper_utils.h",
"wrapper_mtmd.h",
"build.rs",
"/src",
# Everything needed for building GGML (CMake, include and src)
#
# `llama.cpp` already only includes the most important stuff
# from https://github.com/ggml-org/ggml.
"/llama.cpp/ggml",
# lLama.cpp's own sources.
"/llama.cpp/include",
"/llama.cpp/common",
"/llama.cpp/src",
# mtmd sources. Contains tests files that we don't want, so those
# are filtered out.
"/llama.cpp/tools/mtmd/**/*.h",
"/llama.cpp/tools/mtmd/**/*.cpp",
"/llama.cpp/tools/mtmd/**/CMakeLists.txt",
# Vendored sources.
"/llama.cpp/vendor",
# Various build files.
"/llama.cpp/convert_hf_to_gguf.py", # Yes, it's required
"/llama.cpp/pocs",
"/llama.cpp/CMakeLists.txt",
"/llama.cpp/cmake",
"/llama.cpp/tools/CMakeLists.txt",
# License.
"/llama.cpp/LICENSE",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[]
[]
= { = true }
= { = true, = ["parallel"] }
= "0.1"
= "0.2.0"
= "0.3.3"
= "2"
[]
= ["common"]
# Build the JSON-schema-to-grammar helper backed by llama.cpp's `common/` static
# library. Disabling this drops `libcommon.a` (~14 MB) and the
# `wrapper_common.cpp` bindings from the link line, which matters for
# size-constrained downstream binaries that only need the core inference API.
# Enabled by default to preserve backwards compatibility.
= []
= []
# Disables the need to dynamically link against libcuda.so / cuda.dll
= ["cuda"]
= []
= []
= []
# OpenCL backend (GGML_OPENCL=ON) — the Qualcomm-supported path for Adreno GPUs.
# The build needs OpenCL headers + a libOpenCL.so to link; on a cross-compile
# (e.g. Android) point CMake at them via the OPENCL_INCLUDE_DIR / OPENCL_LIBRARY
# env vars (build.rs forwards them), since FindOpenCL can't locate an SDK.
= []
# Build the BLAS backend with Intel MKL (x86_64-only; requires MKLROOT set).
= []
= []
# Link GNU OpenMP (`libgomp`) statically on GNU targets. This is useful for
# downstreams that ship self-contained binaries while keeping OpenMP enabled.
= ["openmp"]
= []
# Link the C++ standard library statically where the target toolchain supports
# it. Currently used by Android and Linux GNU/musl targets.
= []
= []
= []
= ["system-ggml"]
= []
= ["dynamic-link"]