Skip to content
Snippets Groups Projects
8ab3a27cc5916f2b01a1fd4f2441f576f68d5587_f4c376f468b22d83c1a6d425cd3d7e2c9f77454b.hash-material.yml 178.96 KiB
- "add_to_path": []
  "builds":
    "default":
      "build_dependencies":
      - |-
        cmake
      "configure": |+
        extract.sh --into "$BUILD_DIR/source" "https://github.com/llvm/llvm-project/archive/llvmorg-12.0.0.tar.gz"
        patch-if-exists "${ORCHESTRA_DOTDIR}/patches/clang-release-12.0.0-elf2yaml-wrong-comparisons.patch" "$BUILD_DIR/source"
        patch-if-exists "${ORCHESTRA_DOTDIR}/patches/clang-release-12.0.0-remove-cyclades.patch" "$BUILD_DIR/source"
        patch-if-exists "${ORCHESTRA_DOTDIR}/patches/clang-release-12.0.0-fix-build-failure-with-gcc-11-in-c-20-mode.patch" "$BUILD_DIR/source"
        patch-if-exists "${ORCHESTRA_DOTDIR}/patches/clang-release-12.0.0-fix-constructor-declarations-that-are-invalid-in-c-20.patch" "$BUILD_DIR/source"
        sed -i 's|GIT_FOUND|FALSE|g' "$BUILD_DIR/source/llvm/cmake/modules/VersionFromVCS.cmake"
        mkdir -p "$BUILD_DIR"
        cd "$BUILD_DIR";
        cmake \
          -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
          -DCMAKE_INSTALL_SO_NO_EXE=0 \
          -DCMAKE_INSTALL_PREFIX="$ORCHESTRA_ROOT" \
          -DCMAKE_PREFIX_PATH="$ORCHESTRA_ROOT" \
          "$BUILD_DIR/source/llvm" \
          -GNinja \
          -DCMAKE_BUILD_RPATH="\$ORIGIN/../lib:$ORCHESTRA_ROOT/lib" \
          -DCMAKE_INSTALL_RPATH="$RPATH_PLACEHOLDER/lib" \
          -DCMAKE_BUILD_TYPE="Release" \
          -DCMAKE_EXE_LINKER_FLAGS=" " \
          -DCMAKE_SHARED_LINKER_FLAGS=" " \
          -DCMAKE_MODULE_LINKER_FLAGS=" " \
          -DCMAKE_CXX_FLAGS=" " \
          -DLLVM_TARGETS_TO_BUILD="AArch64;AMDGPU;ARM;Mips;SystemZ;X86" \
          -DLLVM_INSTALL_UTILS=ON \
          -DLLVM_ENABLE_DUMP=ON \
          -DLLVM_ENABLE_TERMINFO=OFF \
          -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \
          -DCMAKE_CXX_STANDARD=20 \
          -DLLVM_ENABLE_Z3_SOLVER=OFF \
          -DLLVM_INCLUDE_GO_TESTS=OFF \
          -DLLVM_ENABLE_ZLIB=ON \
          -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libcxxabi;libcxx;clang-tools-extra;lld" \
          -DBUILD_SHARED_LIBS=OFF \
          -Wno-dev

      "dependencies":
      - |-
        gcc-host-toolchain
      - |-
        libunwind
      - |-
        zlib
      - |-
        ncurses
      "install": |
        cd "$BUILD_DIR"

        ninja ${JOBS:+-j$JOBS} install

        rm "${DESTDIR}${ORCHESTRA_ROOT}/lib64/libc++.so" || true
        echo 'INPUT(libc++.so.1 -lc++abi -lpthread)' > "${DESTDIR}${ORCHESTRA_ROOT}/lib64/libc++.so"

        if test -z "$DESTDIR"; then
          echo "Installing clang-release which will clobber LLVM!"
        else
          find ${DESTDIR}${ORCHESTRA_ROOT}/lib* -maxdepth 1 -not -type d \( -name libLLVM* -or -name libclang* \) -delete;
          rm ${DESTDIR}${ORCHESTRA_ROOT}/bin/opt || true
          rm ${DESTDIR}${ORCHESTRA_ROOT}/bin/llvm-config || true
          rm -rf ${DESTDIR}${ORCHESTRA_ROOT}/lib*/cmake/ || true
          rm -rf ${DESTDIR}${ORCHESTRA_ROOT}/include/clang/ || true
          rm -rf ${DESTDIR}${ORCHESTRA_ROOT}/include/clang-c/ || true
          rm -rf ${DESTDIR}${ORCHESTRA_ROOT}/include/llvm/ || true
          rm -rf ${DESTDIR}${ORCHESTRA_ROOT}/include/llvm-c/ || true