llvm

The LLVM Compiler Infrastructure

Add to xmake.lua

add_requires("llvm")

Learn how to add and link packages with Xmake →

Information

Kind
toolchain
Recipe updated
2026-10-28T15:43:18.000Z

Platforms

  • android: armeabi, armeabi-v7a, arm64-v8a, riscv64, x86, x86_64, mips, mip64
  • msys: i386, x86_64
  • mingw: i386, x86_64, arm, arm64
  • windows: x86, x64, arm, arm64, arm64ec
  • linux: i386, x86_64, armv7, armv7s, arm64, mips, mips64, mipsel, mips64el, loong64, riscv64, s390x, ppc, ppc64, ppc64el, sparc64
  • bsd: i386, x86_64, arm, arm64, ppc, ppc64, ppc64el, riscv64, sparc64
  • harmony: armeabi-v7a, arm64-v8a, x86, x86_64
  • cross: i386, x86_64, arm, armv7, arm64, mips, mips64, mips64el, riscv, riscv64, loong64, s390x, ppc, ppc64, ppc64el, sh4, sparc64
  • wasm: wasm32, wasm64
  • iphoneos: arm64, x86_64
  • macosx: x86_64, arm64

Options

all
Enable all projects. · Type: boolean · Default: false
bolt
Enable bolt project. · Type: boolean · Default: false
clang
Enable clang project. · Type: boolean · Default: true
clang-tools-extra
Enable extra clang tools project. · Type: boolean · Default: false
compiler-rt
Enable compiler-rt runtime. · Type: boolean · Default: true
flang
Enable flang project. · Type: boolean · Default: false
libc
Enable libc runtime. · Type: boolean · Default: false
libclc
Enable libclc project. · Type: boolean · Default: false
libcxx
Enable libcxx runtime. · Type: boolean · Default: true
libcxxabi
Enable libcxxabi runtime. · Type: boolean · Default: true
libunwind
Enable libunwind runtime. · Type: boolean · Default: true
lld
Enable lld project. · Type: boolean · Default: false
lldb
Enable lldb project. · Type: boolean · Default: false
mlir
Enable mlir project. · Type: boolean · Default: false
openmp
Enable openmp runtime. · Type: boolean · Default: false
polly
Enable polly project. · Type: boolean · Default: false
pstl
Enable pstl project. · Type: boolean · Default: false
shared
Build shared library. · Type: boolean · Default: false

Versions

No versions listed.

Dependencies

No dependencies declared.

Used by (2)

Packages declaring this dependency; requirements can vary by platform and configuration.

Install with xrepo

Install the package independently of a project and inspect its available configuration.

install

xrepo install "llvm"

show info

xrepo info "llvm"

Bind a toolchain package

Template: replace TOOLCHAIN_NAME with the matching Xmake toolchain name, which may differ from the package name (for example, emcc for emscripten). Apply this selection to a compatible target and platform; this is not an add_packages library link.

xmake.lua — replace TOOLCHAIN_NAME

add_requires("llvm")

-- Replace TOOLCHAIN_NAME with the matching Xmake toolchain.
set_toolchains("TOOLCHAIN_NAME@llvm")

Open a package environment

Open a shell with the environment exported by this package. Use the executable names documented by the package.

enter shell

xrepo env -b "llvm" shell