Install¶
Two ways to get dsdlc, dsdl-opt, and dsdld onto a machine: download a release build, or build
from source. Take the release binaries unless you intend to work on the compiler itself — they carry
the LLVM runtime they need, so nothing has to be installed first.
Option 1: Use release binaries¶
Download binaries from:
Put dsdlc/dsdl-opt/dsdld on your PATH.
macOS: pick your architecture, and fetch with curl, not with a browser¶
There are two macOS tarballs. uname -m says which one you want — arm64 for Apple silicon,
x86_64 for Intel, which takes the darwin-amd64 asset. Both require macOS 15 or newer.
The macOS binaries are ad-hoc signed rather than notarised, so Gatekeeper refuses to run them if
they carry com.apple.quarantine. A browser attaches that attribute to the downloaded archive and
tar copies it onto every extracted file — extracting from a shell does not avoid it, and the
first run fails with "Apple could not verify ... is free of malware". Downloading with curl never
attaches it:
curl -fLO <asset-url-from-the-releases-page>
tar -xzf llvm-dsdl-<version>-darwin-<arch>.tar.gz
If you already downloaded through a browser, clear the attribute on the extracted directory:
xattr -d -r com.apple.quarantine llvm-dsdl-<version>-darwin-<arch>
Option 2: Build from source¶
git clone https://github.com/OpenCyphal-Garage/llvm-dsdl.git
cd llvm-dsdl
git submodule update --init --recursive
cmake --workflow --preset install-bin-release-ci
Installed binaries are typically under:
build/matrix/ci/install/bin
Prerequisites¶
- CMake 3.25+
- Ninja
- LLVM + MLIR CMake packages (
LLVMConfig.cmake,MLIRConfig.cmake) - C++20-capable toolchain
See the full developer prerequisites in Contributing.