Created
November 8, 2023 13:02
-
-
Save sztomi/ff7b90b35f253b2f8f397389d98fc5b2 to your computer and use it in GitHub Desktop.
toolchain.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
settings: | |
host: | |
os: Linux | |
arch: x86_64 | |
build_type: Release | |
build: | |
os: Linux | |
arch: x86_64 | |
build_type: Release | |
constants: | |
EXEEXT: "" | |
TARGET: x86_64-buildroot-linux-gnu | |
env: | |
cmake.CC: x86_64-buildroot-linux-gnu-gcc | |
cmake.CXX: x86_64-buildroot-linux-gnu-g++ | |
cmake.CFLAGS: -fdata-sections -ffunction-sections | |
cmake.CXXFLAGS: -fdata-sections -ffunction-sections | |
cmake.LDFLAGS: -Wl,--gc-sections -static-libgcc -static-libstdc++ | |
binutils.CC: x86_64-buildroot-linux-gnu-gcc | |
binutils.CXX: x86_64-buildroot-linux-gnu-g++ | |
binutils.LDFLAGS: -static-libgcc -static-libstdc++ | |
ninja.CC: x86_64-buildroot-linux-gnu-gcc | |
ninja.CXX: x86_64-buildroot-linux-gnu-g++ | |
ninja.LDFLAGS: -static-libgcc -static-libstdc++ | |
zlib-host.CC: x86_64-buildroot-linux-gnu-gcc | |
zlib-host.CXX: x86_64-buildroot-linux-gnu-g++ | |
zlib-host.LDFLAGS: -static-libgcc -static-libstdc++ | |
zstd-host.CC: x86_64-buildroot-linux-gnu-gcc | |
zstd-host.CXX: x86_64-buildroot-linux-gnu-g++ | |
zstd-host.LDFLAGS: -static-libgcc -static-libstdc++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
minimum_version: 0.1.0 | |
constants: | |
LLVM_COMMIT: 309d55140c46384b6de7a7573206cbeba3f7077f | |
MUSL_COMMIT: 31fb5b3ac38e020fa88eaa748b541107d758c2b7 | |
KERNEL_HEADERS_COMMIT: 22bba0124dfe2728ef5b4555baa1ae0960492665 | |
CHRPATH_COMMIT: d86b06e16c37353e35c61c048af29b577c93f08d | |
GCC_SYSROOT_VERSION: 2022.08-1 | |
ZLIB_VERSION: 1.2.13 | |
ZSTD_VERSION: 1.5.5 | |
CMAKE_VERSION: 3.27.7 | |
NASM_VERSION: 2.14.02 | |
NINJA_VERSION: 1.11.1 | |
BINUTILS_VERSION: "2.37" | |
GCC_SYSROOTS_URL: https://toolchains.bootlin.com/downloads/releases/toolchains | |
GH: https://github.com | |
sources: | |
- path: llvm-project | |
kind: archive | |
url: "${GH}/llvm/llvm-project/archive/${LLVM_COMMIT}.tar.gz" | |
sha256: a24528bc46fb436cb5aa949ef38e0c90d60dbd88c22e7bd9c6d7020c789e28b0 | |
- path: gcc-sysroots/aarch64-buildroot-linux-gnu | |
package: gcc-sysroots | |
kind: archive | |
url: "${GCC_SYSROOTS_URL}/aarch64/tarballs/aarch64--glibc--bleeding-edge-${GCC_SYSROOT_VERSION}.tar.bz2" | |
sha256: d11a94113dc92fe1c141096dbeb1c3fe2adb0552b495bb9e3e41fad96b4b429a | |
- path: gcc-sysroots/x86_64-buildroot-linux-gnu | |
package: gcc-sysroots | |
kind: archive | |
url: "${GCC_SYSROOTS_URL}/x86-64-v2/tarballs/x86-64-v2--glibc--bleeding-edge-${GCC_SYSROOT_VERSION}.tar.bz2" | |
sha256: 7ac996b2ca1acdcdaddce38a3fd19bc30b864f6b73f8e6d0537243e912b5d36f | |
- path: gcc-sysroots/arm-buildroot-linux-gnueabihf | |
package: gcc-sysroots | |
kind: archive | |
url: "${GCC_SYSROOTS_URL}/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-${GCC_SYSROOT_VERSION}.tar.bz2" | |
sha256: 7a3ceba0e5ed7ccb16da16e630a905c76c2ea58f66d161d6d45dce33321e70f6 | |
- path: musl | |
kind: archive | |
url: "${GH}/sztomi/musl/archive/${MUSL_COMMIT}.tar.gz" | |
sha256: d23d22fd78099f53e0f97fed5cee64a4114b37b9f55d0b03c6b7ddcdfd32fb01 | |
- path: kernel-headers | |
kind: archive | |
url: "${GH}/sabotage-linux/kernel-headers/archive/${KERNEL_HEADERS_COMMIT}.tar.gz" | |
sha256: 95d43aac7b195c961c316116b20d820cc9e5dfc311b1db79bd61a7a9a54c9540 | |
- path: binutils | |
kind: archive | |
url: "https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION}.tar.xz" | |
sha256: 820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c | |
- path: zlib | |
kind: archive | |
url: "${GH}/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" | |
sha256: b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30 | |
- path: chrpath | |
kind: archive | |
url: "${GH}/openEuler-BaseService/chrpath/archive/${CHRPATH_COMMIT}.zip" | |
sha256: fac86fd52404a3ede2866b6372affe11c889bde42fa622829d275a5196939d07 | |
- path: cmake | |
kind: archive | |
url: "${GH}/Kitware/CMake/archive/refs/tags/v${CMAKE_VERSION}.zip" | |
sha256: 5b98831309e8660de930c245f2552300a2090698ccbbbc9da1feff908c041488 | |
- path: nasm | |
kind: archive | |
url: "https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VERSION}/nasm-${NASM_VERSION}.tar.gz" | |
sha256: b34bae344a3f2ed93b2ca7bf25f1ed3fb12da89eeda6096e3551fd66adeae9fc | |
- path: ninja | |
kind: archive | |
url: "${GH}/ninja-build/ninja/archive/refs/tags/v${NINJA_VERSION}.zip" | |
sha256: 03b7ea14bf04b87cbdd64b9a1262577093e177f8e5662515de77f3a796b75951 | |
- path: zstd | |
kind: archive | |
url: "${GH}/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz" | |
sha256: 9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4 | |
toolchains: | |
gcc-toolchain: | |
ROOTDIR: ${package_dir("gcc-sysroots")}/${TARGET} | |
BIN: "[ROOTDIR]/bin" | |
CMAKE_C_COMPILER: "[BIN]/${TARGET}-gcc" | |
CMAKE_CXX_COMPILER: "[BIN]/${TARGET}-g++" | |
CMAKE_C_COMPILER_TARGET: "${TARGET}" | |
CMAKE_CXX_COMPILER_TARGET: "${TARGET}" | |
CMAKE_OBJC_COMPILER_TARGET: "${TARGET}" | |
CMAKE_OBJCXX_COMPILER_TARGET: "${TARGET}" | |
CMAKE_AR: "[BIN]/${TARGET}-ar" | |
CMAKE_NM: "[BIN]/${TARGET}-nm" | |
CMAKE_RANLIB: "[BIN]/${TARGET}-ranlib" | |
CMAKE_SYSROOT: "[ROOTDIR]/${TARGET}/sysroot" | |
CMAKE_STRIP: "[BIN]/${TARGET}-strip" | |
CMAKE_OBJCOPY: "[BIN]/${TARGET}-objcopy" | |
CMAKE_LINKER: "[BIN]/${TARGET}-ld.gold" | |
CMAKE_READELF: "[BIN]/${TARGET}-readelf" | |
CMAKE_SYSTEM_NAME: "${build.os}" | |
CMAKE_SYSTEM_PROCESSOR: "${build.arch}" | |
clang-stage1: | |
ROOTDIR: ${package_dir("clang-stage1")} | |
SYSROOT: ${package_dir("gcc-sysroots")}/${TARGET}/${TARGET}/sysroot | |
BIN: "[ROOTDIR]/bin" | |
CMAKE_C_COMPILER: "[BIN]/${TARGET}-clang" | |
CMAKE_CXX_COMPILER: "[BIN]/${TARGET}-clang++" | |
CMAKE_C_COMPILER_TARGET: "${TARGET}" | |
CMAKE_CXX_COMPILER_TARGET: "${TARGET}" | |
CMAKE_OBJC_COMPILER_TARGET: "${TARGET}" | |
CMAKE_OBJCXX_COMPILER_TARGET: "${TARGET}" | |
CMAKE_AR: "[BIN]/llvm-ar" | |
CMAKE_NM: "[BIN]/llvm-nm" | |
CMAKE_RANLIB: "[BIN]/llvm-ranlib" | |
CMAKE_SYSROOT: "[SYSROOT]" | |
CMAKE_STRIP: "[BIN]/llvm-strip" | |
CMAKE_OBJCOPY: "[BIN]/llvm-objcopy" | |
CMAKE_LINKER: "[BIN]/ld64.lld" | |
CMAKE_READELF: "[BIN]/llvm-readelf" | |
CMAKE_SYSTEM_NAME: "${build.os}" | |
CMAKE_SYSTEM_PROCESSOR: "${build.arch}" | |
packages: | |
- package: zlib-bootstrap | |
kind: cmake | |
requires: gcc-sysroots, cmake, ninja | |
source-dir: zlib | |
toolchain: gcc-toolchain | |
defs: | |
BUILD_SHARED_LIBS: OFF | |
ZLIB_COMPAT: ON | |
# - package: zlib-host | |
# kind: cmake | |
# build: | |
# - ninja install # by default | |
# install: | |
# - noop # by default | |
# | |
# package info, beyond the install dir is probably not needed | |
- package: zstd-bootstrap | |
kind: cmake | |
requires: gcc-sysroots, cmake, ninja | |
source-dir: zstd/build/cmake | |
toolchain: gcc-toolchain | |
defs: | |
ZSTD_BUILD_STATIC: ON | |
ZSTD_BUILD_SHARED: OFF | |
- package: gcc-sysroots | |
if: ${build.os == "Linux"} | |
kind: shell | |
source-dir: gcc-sysroots | |
copy-sources: false | |
env: | |
PACKAGE_DIR: ${package_dir("gcc-sysroots")} | |
SOURCE_DIR: ${source_dir("gcc-sysroots")} | |
export-env: | |
# PATH+ means append to PATH. +PATH means prepend to PATH. | |
PATH+: :${package_dir("gcc-sysroots")}/x86_64-buildroot-linux-gnu/bin | |
script: | | |
<%text> | |
set -x | |
PACKAGES=( | |
"x86_64-buildroot-linux-gnu" | |
"aarch64-buildroot-linux-gnu" | |
"arm-buildroot-linux-gnueabihf" | |
) | |
stuff_to_remove=( | |
"sysroot/dev" | |
"sysroot/etc/resolv.conf" | |
"sysroot/etc/mtab" | |
) | |
package_folder="$PACKAGE_DIR" | |
# Build the exclusion list for rsync | |
exclusions=() | |
for exclude in "${stuff_to_remove[@]}"; do | |
exclusions+=(--exclude="$exclude") | |
done | |
# Function to copy contents excluding unwanted paths using rsync | |
copy_excluding() { | |
local src=$1 | |
local dest=$2 | |
rsync -aq --links "${exclusions[@]}" "$src" "$dest" | |
} | |
triple="x86_64-buildroot-linux-gnu" | |
subdirs=("bin" "etc" "include" "lib" "lib64" "share" "libexec" "${triple}") | |
for subdir in "${subdirs[@]}"; do | |
src="$SOURCE_DIR/${triple}/${subdir}" | |
dest="$PACKAGE_DIR/${triple}" | |
copy_excluding "${src}" "${dest}" | |
done | |
for triple in "${PACKAGES[@]}"; do | |
src="$SOURCE_DIR/${triple}/${triple}/sysroot" | |
dest="$PACKAGE_DIR/${triple}/${triple}/sysroot" | |
if [[ ! -d "${dest}" ]]; then | |
mkdir -p "${dest}" | |
fi | |
copy_excluding "${src}" "${dest}" | |
done | |
</%text> | |
- package: binutils | |
if: ${build.os == "Linux"} | |
requires: gcc-sysroots | |
kind: shell | |
command: python [[SCRIPT]] | |
env: | |
PACKAGE_DIR: ${package_dir("binutils")} | |
SOURCE_DIR: ${source_dir("binutils")} | |
BUILD_DIR: ${build_dir("binutils")} | |
script: | | |
<%text> | |
import os | |
import subprocess as sp | |
import shutil | |
from pathlib import Path | |
from contextlib import contextmanager | |
PACKAGE_DIR = os.environ["PACKAGE_DIR"] | |
BUILD_DIR = os.environ["BUILD_DIR"] | |
@contextmanager | |
def chdir(path: Path): | |
old_dir = os.getcwd() | |
os.chdir(path) | |
yield | |
os.chdir(old_dir) | |
ARCHS = ( | |
"x86_64", | |
"armv7hf", | |
"aarch64", | |
"mingw-x86_64", | |
) | |
TRIPLE_MAP = { | |
"x86_64": "x86_64-unknown-linux-musl", | |
"aarch64": "aarch64-unknown-linux-musl", | |
"armv7hf": "arm-unknown-linux-musleabihf", | |
"mingw-x86_64": "x86_64-w64-mingw32", | |
} | |
def build_for_arch(arch): | |
os.makedirs(f"build-{arch}") | |
with chdir(f"build-{arch}"): | |
triple = TRIPLE_MAP[arch] | |
sp.run([ | |
"../configure", | |
f"--target={triple}", | |
f"--prefix={PACKAGE_DIR}/{triple}", | |
f"--program-prefix={triple}-", | |
"--enable-lto", | |
"--disable-nls", | |
"--disable-gdb", | |
"--enable-gold=no", | |
"--enable-ld=yes", | |
"--disable-gprof", | |
"--disable-werror", | |
"--disable-multilib", | |
"--disable-separate-code", | |
"--enable-deterministic-archives", | |
]) | |
sp.run(["make", "-j", f"{os.cpu_count()}"]) | |
sp.run(["make", "-j", f"{os.cpu_count()}", "install"]) | |
for arch in ARCHS: | |
build_for_arch(arch) | |
</%text> | |
# - package: musl | |
# if: ${build.os == "Linux"} | |
# requires: kernel-headers, clang-stage1 | |
# kind: autotools | |
- package: cmake | |
kind: cmake | |
requires: | |
- if ${build.os == "Linux"}: gcc-sysroots | |
toolchain: gcc-toolchain | |
generator: Unix Makefiles | |
defs: | |
CMAKE_USE_OPENSSL: OFF | |
CMAKE_BUILD_LTO: ON | |
BUILD_TESTING: OFF | |
CMAKE_BUILD_TYPE: MinSizeRel | |
export-env: | |
+PATH: "${package_dir('cmake')}/bin:" | |
- package: kernel-headers | |
kind: shell | |
env: | |
PACKAGE_DIR: ${package_dir("gcc-sysroots")} | |
SOURCE_DIR: ${source_dir("gcc-sysroots")} | |
script: | |
# "x86" means both x86 and x86_64 here | |
- make -s ARCH=x86 INSTALL_HDR_PATH=${package_dir("kernel-headers")}/x86 install | |
- make -s ARCH=arm INSTALL_HDR_PATH=${package_dir("kernel-headers")}/arm install | |
- make -s ARCH=arm64 INSTALL_HDR_PATH=${package_dir("kernel-headers")}/arm64 install | |
- package: nasm | |
kind: autotools | |
requires: | |
- if ${build.os != "Windows"}: clang-stage1 | |
# configure_cmd: ./configure | |
env: | |
CC: ${TARGET}-clang | |
CXX: ${TARGET}-clang++ | |
args: | |
- --prefix=${package_dir("nasm")} | |
env_args: | |
CFLAGS: | |
- -fdata-sections -ffunction-sections -flto=thin -O3 | |
- if ${build.os == "Linux" or build.os == "macOS"}: -fPIC -DPIC -fwhole-program-vtables | |
LDFLAGS: -Wl,--gc-sections -flto=thin | |
- package: ninja | |
kind: cmake | |
requires: | |
- cmake | |
- if ${build.os == "Linux"}: gcc-sysroots | |
toolchain: gcc-toolchain | |
defs: | |
CMAKE_CXX_FLAGS: -fdata-sections -ffunction-sections -O3 | |
CMAKE_EXE_LINKER_FLAGS: -fdata-sections -ffunction-sections -O3 | |
- package: clang-stage1 | |
kind: cmake-llvm # special package kind that knows about runtumes, builtins etc. | |
requires: zlib-bootstrap, zstd-bootstrap, gcc-sysroots, cmake, ninja | |
source-dir: llvm-project/llvm | |
env: | |
BUILD_DIR: ${build_dir("clang-stage1")} | |
PACKAGE_DIR: ${package_dir("clang-stage1")} | |
export-env: | |
+PATH: "${package_dir('clang-stage1')}/bin:" | |
toolchain: gcc-toolchain | |
build-target: install-distribution-stripped | |
defs: | |
CMAKE_BUILD_TYPE: Release | |
PACKAGE_VENDOR: LLVMCraft-Bootstrap | |
BOOSTRAP_LLVM_ENABLE_LLD: ON | |
BOOSTRAP_LLVM_ENABLE_LTO: ON | |
CLANG_ENABLE_BOOTSTRAP: ON | |
CLANG_DEFAULT_RTLIB: compiler-rt | |
CLANG_DEFAULT_LINKER: lld | |
CLANG_DEFAULT_OBJCOPY: llvm-objcopy | |
CLANG_DEFAULT_CXX_STDLIB: libc++ | |
CLANG_DEFAULT_UNWINDLIB: libunwind | |
CLANG_VENDOR_UTI: com.llvmcraft | |
CLANG_LINKS_TO_CREATE: clang++;clang-cpp | |
LLVM_BUILD_TESTS: OFF | |
LLVM_CCACHE_BUILD: ON | |
LLVM_DEFAULT_TARGET_TRIPLE: ${TARGET} | |
LLVM_ENABLE_ASSERTIONS: OFF | |
LLVM_ENABLE_BINDINGS: OFF | |
LLVM_ENABLE_LIBXML2: OFF | |
LLVM_ENABLE_LIBCXX: ON | |
LLVM_ENABLE_NEW_PASS_MANAGER: ON | |
#LLVM_ENABLE_PER_TARGET_RUNTIME_DIR: OFF | |
LLVM_ENABLE_TERMINFO: OFF | |
LLVM_ENABLE_ZLIB: FORCE_ON | |
LLVM_ENABLE_ZSTD: FORCE_ON | |
LLVM_INCLUDE_BENCHMARKS: OFF | |
LLVM_INCLUDE_EXAMPLES: OFF | |
LLVM_INCLUDE_GO_TESTS: OFF | |
LLVM_INCLUDE_TESTS: OFF | |
LLVM_USE_SANITIZER: OFF | |
ZLIB_ROOT: ${package_dir("zlib-bootstrap")} | |
zstd_ROOT: ${package_dir("zstd-bootstrap")} | |
triples: | |
- x86_64-buildroot-linux-gnu | |
targets: | |
- Native | |
distribution-components: | |
- clang-resource-headers | |
- clang | |
- lld | |
- llvm-ar | |
- llvm-config | |
- llvm-nm | |
- llvm-objcopy | |
- llvm-profdata | |
- llvm-ranlib | |
- llvm-strip | |
- llvm-tblgen | |
- llvm-strip | |
- llvm-readelf | |
- llvm-windres | |
- LTO | |
- llvm-lipo | |
- runtimes | |
- builtins | |
projects: | |
- clang | |
- lld | |
runtimes: | |
- compiler-rt | |
- libcxx | |
- libcxxabi | |
- libunwind | |
create-links: true # create <target>-clang and <target>-clang++ links | |
after-install: | |
- ${SHIM} cp $BUILD_DIR/bin/clang-tblgen $PACKAGE_DIR/bin/clang-tblgen | |
llvm: | |
builtins: | |
x86_64-buildroot-linux-gnu: | |
CMAKE_SYSTEM_NAME: Linux | |
CMAKE_BUILD_TYPE: Release | |
CMAKE_SYSTEM_PROCESSOR: x86_64 | |
CMAKE_C_COMPILER_TARGET: x86_64-buildroot-linux-gnu | |
CMAKE_CXX_COMPILER_TARGET: x86_64-buildroot-linux-gnu | |
CMAKE_ASM_COMPILER_TARGET: x86_64-buildroot-linux-gnu | |
runtimes: | |
x86_64-buildroot-linux-gnu: | |
#COMPILER_RT_DEFAULT_TARGET_ONLY: ON | |
COMPILER_RT_BUILD_SANITIZERS: OFF | |
COMPILER_RT_BUILD_XRAY: OFF | |
COMPILER_RT_BUILD_LIBFUZZER: OFF | |
COMPILER_RT_BUILD_MEMPROF: OFF | |
COMPILER_RT_BUILD_ORC: OFF | |
COMPILER_RT_BUILD_GWP_ASAN: OFF | |
COMPILER_RT_BUILD_PROFILE: ON | |
LIBCXX_CXX_ABI: libcxxabi | |
LIBCXX_USE_COMPILER_RT: ON | |
LIBCXX_ENABLE_STATIC_ABI_LIBRARY: ON | |
LIBCXX_ABI_UNSTABLE: ON | |
LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY: ON | |
LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY: ON | |
LIBCXX_ABI_VERSION: "2" | |
- package: clang-stage2 | |
kind: cmake-llvm | |
requires: zlib-bootstrap, zstd-bootstrap, clang-stage1, cmake, ninja | |
source-dir: llvm-project/llvm | |
toolchain: clang-stage1 | |
build-target: install-distribution-stripped | |
defs: | |
CMAKE_BUILD_TYPE: Release | |
PACKAGE_VENDOR: LLVMCraft-Instrumented | |
CLANG_DEFAULT_CXX_STDLIB: libc++ | |
CLANG_DEFAULT_LINKER: lld | |
CLANG_DEFAULT_OBJCOPY: llvm-objcopy | |
CLANG_DEFAULT_RTLIB: compiler-rt | |
CLANG_DEFAULT_UNWINDLIB: libunwind | |
CLANG_VENDOR_UTI: com.llvmcraft | |
CLANG_LINKS_TO_CREATE: clang++;clang-cpp | |
LLVM_BUILD_INSTRUMENTED: IR | |
LLVM_BUILD_TESTS: OFF | |
LLVM_CCACHE_BUILD: ON | |
LLVM_ENABLE_ASSERTIONS: OFF | |
LLVM_ENABLE_BINDINGS: OFF | |
LLVM_ENABLE_LIBCXX: ON | |
LLVM_ENABLE_LTO: THIN | |
LLVM_ENABLE_LIBXML2: OFF | |
LLVM_ENABLE_NEW_PASS_MANAGER: ON | |
LLVM_ENABLE_TERMINFO: OFF | |
LLVM_ENABLE_ZLIB: FORCE_ON | |
LLVM_ENABLE_ZSTD: FORCE_ON | |
LLVM_FORCE_SMALLFILE_FOR_ANDROID: ON | |
LLVM_INCLUDE_BENCHMARKS: OFF | |
LLVM_INCLUDE_EXAMPLES: OFF | |
LLVM_INCLUDE_GO_TESTS: OFF | |
LLVM_INCLUDE_TESTS: OFF | |
LLVM_USE_LINKER: lld | |
LLVM_OPTIMIZED_TABLEGEN: ON | |
LLVM_PROFILE_DATA_DIR: ${package_dir("clang-stage2")}/profile/${LLVM_COMMIT} | |
LLVM_TABLEGEN: ${package_dir("clang-stage1")}/bin/llvm-tblgen | |
CLANG_TABLEGEN: ${package_dir("clang-stage1")}/bin/clang-tblgen | |
LLVM_DEFAULT_TARGET_TRIPLE: x86_64-buildroot-linux-gnu | |
ZLIB_ROOT: ${package_dir("zlib-bootstrap")} | |
zstd_ROOT: ${package_dir("zstd-bootstrap")} | |
triples: | |
- x86_64-buildroot-linux-gnu | |
targets: | |
- Native | |
distribution-components: | |
- clang | |
- lld | |
projects: | |
- clang | |
- lld | |
runtimes: | |
- compiler-rt | |
- libcxx | |
- libcxxabi | |
- libunwind | |
# - aarch64-buildroot-linux-gnu | |
# - arm-buildroot-linux-gnueabihf | |
# - x86_64-w64-mingw32 | |
# - aarch64-w64-mingw32 | |
create-links: true # create <target>-clang and <target>-clang++ links | |
llvm: | |
builtins: | |
x86_64-buildroot-linux-gnu: | |
CMAKE_SYSTEM_NAME: Linux | |
CMAKE_BUILD_TYPE: Release | |
CMAKE_SYSTEM_PROCESSOR: x86_64 | |
CMAKE_C_COMPILER_TARGET: x86_64-buildroot-linux-gnu | |
CMAKE_CXX_COMPILER_TARGET: x86_64-buildroot-linux-gnu | |
CMAKE_ASM_COMPILER_TARGET: x86_64-buildroot-linux-gnu | |
runtimes: | |
x86_64-buildroot-linux-gnu: | |
COMPILER_RT_DEFAULT_TARGET_ONLY: ON | |
COMPILER_RT_BUILD_SANITIZERS: OFF | |
COMPILER_RT_BUILD_XRAY: OFF | |
COMPILER_RT_BUILD_LIBFUZZER: OFF | |
COMPILER_RT_BUILD_MEMPROF: OFF | |
COMPILER_RT_BUILD_ORC: OFF | |
COMPILER_RT_BUILD_GWP_ASAN: OFF | |
COMPILER_RT_BUILD_PROFILE: ON | |
COMPILER_RT_SANITIZERS_TO_BUILD: "asan;msan;tsan" | |
COMPILER_RT_USE_BUILTINS_LIBRARY: ON |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment