Created
November 8, 2023 13:02
-
-
Save sztomi/ff7b90b35f253b2f8f397389d98fc5b2 to your computer and use it in GitHub Desktop.
toolchain.yml
This file contains hidden or 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 hidden or 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