# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "llama-cpp-2"
version = "0.1.147"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "llama.cpp bindings for Rust"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/utilityai/llama-cpp-rs"

[package.metadata.docs.rs]
features = ["sampler"]

[features]
android-shared-stdcxx = ["llama-cpp-sys-2/shared-stdcxx"]
android-static-stdcxx = ["llama-cpp-sys-2/static-stdcxx"]
common = ["llama-cpp-sys-2/common"]
cuda = ["llama-cpp-sys-2/cuda"]
cuda-no-vmm = [
    "cuda",
    "llama-cpp-sys-2/cuda-no-vmm",
]
default = [
    "openmp",
    "android-shared-stdcxx",
    "common",
]
dynamic-backends = ["llama-cpp-sys-2/dynamic-backends"]
dynamic-link = ["llama-cpp-sys-2/dynamic-link"]
llguidance = [
    "dep:llguidance",
    "dep:toktrie",
]
metal = ["llama-cpp-sys-2/metal"]
mtmd = ["llama-cpp-sys-2/mtmd"]
openmp = ["llama-cpp-sys-2/openmp"]
rocm = ["llama-cpp-sys-2/rocm"]
sampler = []
static-openmp = ["llama-cpp-sys-2/static-openmp"]
static-stdcxx = ["llama-cpp-sys-2/static-stdcxx"]
system-ggml = ["llama-cpp-sys-2/system-ggml"]
system-ggml-static = ["llama-cpp-sys-2/system-ggml-static"]
vulkan = ["llama-cpp-sys-2/vulkan"]

[lib]
name = "llama_cpp_2"
path = "src/lib.rs"

[dependencies.encoding_rs]
version = "0.8.35"

[dependencies.enumflags2]
version = "0.7.12"

[dependencies.llama-cpp-sys-2]
version = "0.1.147"

[dependencies.llguidance]
version = "1.7.5"
optional = true

[dependencies.thiserror]
version = "2"

[dependencies.toktrie]
version = "1.7.5"
optional = true

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-core]
version = "0.1"

[dev-dependencies.encoding_rs]
version = "0.8.35"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["json"]

[target.'cfg(all(target_os = "macos", any(target_arch = "aarch64", target_arch = "arm64")))'.dependencies.llama-cpp-sys-2]
version = "0.1.147"
features = ["metal"]

[lints.clippy.pedantic]
level = "warn"
priority = 0

[lints.rust.missing_debug_implementations]
level = "warn"
priority = 0

[lints.rust.missing_docs]
level = "warn"
priority = 0
