Skip to content

Latest commit

 

History

History
81 lines (54 loc) · 1.57 KB

File metadata and controls

81 lines (54 loc) · 1.57 KB

macOS setup notes

Prerequisites

Install Xcode Command Line Tools:

xcode-select --install

Install Homebrew (if needed):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Install Rust (stable):

brew install rustup-init
rustup-init -y
source "$HOME/.cargo/env"

Install Git and CMake:

brew install git cmake

Clone with submodules

git clone --recursive https://github.com/eugenehp/llama-cpp-rs
cd llama-cpp-rs

If already cloned without submodules:

git submodule update --init --recursive

Build

cargo build

Vulkan on macOS (--features vulkan)

This project now supports a graceful fallback on macOS:

  • If Vulkan SDK is available and complete, --features vulkan builds with Vulkan.
  • If Vulkan SDK is missing/incomplete, --features vulkan automatically falls back to Metal.

The Vulkan availability check expects:

  • VULKAN_SDK set
  • Vulkan headers at $VULKAN_SDK/include/vulkan/vulkan.h
  • Vulkan or MoltenVK library in $VULKAN_SDK/lib
  • glslc available in PATH

Build command:

cargo build --features vulkan

When Vulkan is unavailable on macOS, you should see a cargo warning indicating fallback to Metal.

Optional: explicit Metal build

cargo build --features metal

Notes

  • These instructions are documented for macOS but were not executed in this Ubuntu environment.
  • CI currently validates Vulkan builds on Linux and Windows; macOS fallback behavior is implemented in llama-cpp-sys-4/build.rs.