llama-cpp-sys-4 0.2.3

Low Level Bindings to llama.cpp
Documentation
[package]
name = "llama-cpp-sys-4"
description = "Low Level Bindings to llama.cpp"
version = "0.2.3"
edition = "2021"
license = "MIT OR Apache-2.0"
repository = "https://github.com/eugenehp/llama-cpp-rs"
links = "llama"

include = [
    "wrapper.h",
    "build.rs",
    "/src",

    "/llama.cpp/common/**/*",
    "/llama.cpp/ggml/include/*.h",
    "/llama.cpp/ggml/src/*.h",
    "/llama.cpp/ggml/src/*.c",
    "/llama.cpp/ggml/src/*.cpp",
    # Enumerate each ggml backend directory explicitly.
    # ggml-kompute is intentionally omitted: its only content is an
    # uninitialised nested submodule (`kompute/`) that has no git-tracked
    # files.  The broad `**` globs that used to be here matched those
    # untracked files and caused `cargo publish` to abort with "uncommitted
    # changes".
    "/llama.cpp/ggml/src/ggml-blas/**/*",
    "/llama.cpp/ggml/src/ggml-cann/**/*",
    "/llama.cpp/ggml/src/ggml-cpu/**/*",
    "/llama.cpp/ggml/src/ggml-hexagon/**/*",
    "/llama.cpp/ggml/src/ggml-hip/**/*",
    "/llama.cpp/ggml/src/ggml-metal/**/*",
    "/llama.cpp/ggml/src/ggml-musa/**/*",
    "/llama.cpp/ggml/src/ggml-opencl/**/*",
    "/llama.cpp/ggml/src/ggml-rpc/**/*",
    "/llama.cpp/ggml/src/ggml-sycl/**/*",
    "/llama.cpp/ggml/src/ggml-virtgpu/**/*",
    "/llama.cpp/ggml/src/ggml-vulkan/**/*",
    "/llama.cpp/ggml/src/ggml-webgpu/**/*",
    "/llama.cpp/ggml/src/ggml-zdnn/**/*",
    "/llama.cpp/ggml/src/ggml-zendnn/**/*",
    "/llama.cpp/src/**/*",

    "/llama.cpp/convert_hf_to_gguf.py", # Yes, it's required

    "/llama.cpp/ggml/src/ggml-cuda.cu",
    "/llama.cpp/ggml/src/ggml-metal.m",
    "/llama.cpp/ggml/src/ggml-metal.metal",

    "/llama.cpp/include/llama.h",
    "/llama.cpp/include/llama-cpp.h",

    "/llama.cpp/ggml/src/ggml-cuda/**/*",

    "/llama.cpp/ggml/src/vulkan-shaders/**/*",

    "/llama.cpp/ggml/src/llamafile/sgemm.h",
    "/llama.cpp/ggml/src/llamafile/sgemm.cpp",

    "/llama.cpp/vendor/**/*",

    "/llama.cpp/pocs",

    # tools/ — tools/CMakeLists.txt unconditionally add_subdirectory()s all
    # of these, so every subdirectory must be present even when only mtmd is
    # needed; otherwise cmake exits 1 with "not an existing directory" errors.
    "/llama.cpp/tools/CMakeLists.txt",
    "/llama.cpp/tools/mtmd/**/*",
    "/llama.cpp/tools/batched-bench/**/*",
    "/llama.cpp/tools/cli/**/*",
    "/llama.cpp/tools/completion/**/*",
    "/llama.cpp/tools/cvector-generator/**/*",
    "/llama.cpp/tools/export-lora/**/*",
    "/llama.cpp/tools/fit-params/**/*",
    "/llama.cpp/tools/gguf-split/**/*",
    "/llama.cpp/tools/imatrix/**/*",
    "/llama.cpp/tools/llama-bench/**/*",
    "/llama.cpp/tools/parser/**/*",
    "/llama.cpp/tools/perplexity/**/*",
    "/llama.cpp/tools/quantize/**/*",
    "/llama.cpp/tools/results/**/*",
    "/llama.cpp/tools/rpc/**/*",
    "/llama.cpp/tools/server/**/*",
    "/llama.cpp/tools/tokenize/**/*",
    "/llama.cpp/tools/tts/**/*",
    "/llama.cpp/vendor/stb/**/*",
    "/llama.cpp/vendor/miniaudio/**/*",
    "/llama.cpp/vendor/sheredom/**/*",
    "/llama.cpp/common/**/*",

    "/llama.cpp/CMakeLists.txt",
    "/llama.cpp/ggml/CMakeLists.txt",
    "/llama.cpp/ggml/src/CMakeLists.txt",
    "/llama.cpp/ggml/src/vulkan-shaders/CMakeLists.txt",

    "/llama.cpp/cmake",
    "/llama.cpp/ggml/cmake",
]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

[build-dependencies]
bindgen = { workspace = true }
cc = { workspace = true, features = ["parallel"] }
cmake = "0.1"
glob = "0.3.3"

[features]
cuda = []
metal = []
dynamic-link = []
vulkan = []
native = []
openmp = []
mpi = []
rpc = []
mtmd = []