From cf6f72ea47a841369d1405a4d6f724a16706d8c1 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Wed, 30 Jun 2021 19:56:31 -0400 Subject: [PATCH] llvm: new package at 12.0.0 --- llvm/build | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ llvm/checksums | 2 ++ llvm/depends | 7 +++++ llvm/files/c99 | 2 ++ llvm/sources | 2 ++ llvm/version | 1 + 6 files changed, 98 insertions(+) create mode 100755 llvm/build create mode 100644 llvm/checksums create mode 100644 llvm/depends create mode 100755 llvm/files/c99 create mode 100644 llvm/sources create mode 100644 llvm/version diff --git a/llvm/build b/llvm/build new file mode 100755 index 0000000..1953567 --- /dev/null +++ b/llvm/build @@ -0,0 +1,84 @@ +#!/bin/sh -e + +sed -i 's/!defined(_GCC_MAX_ALIGN_T)/& \&\& !defined(__DEFINED_max_align_t)/' libcxx/include/stddef.h +sed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' compiler-rt/cmake/config-ix.cmake +sed -i 's|\.lldb|.local/state/lldb|g' lldb/source/Host/common/Editline.cpp + +export DESTDIR="$1" +cmake \ + -G "Ninja" \ + -B build \ + -DCLANG_DEFAULT_CXX_STDLIB=libc++ \ + -DCLANG_DEFAULT_RTLIB=compiler-rt \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF \ + -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ + -DLIBCXXABI_USE_COMPILER_RT=ON \ + -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ + -DLIBCXX_CXX_ABI=libcxxabi \ + -DLIBCXX_HAS_ATOMIC_LIB=OFF \ + -DLIBCXX_HAS_MUSL_LIBC=ON \ + -DLIBCXX_USE_COMPILER_RT=ON \ + -DLIBUNWIND_USE_COMPILER_RT=ON \ + -DLLDB_ENABLE_CURSES=ON \ + -DLLDB_ENABLE_LIBEDIT=ON \ + -DLLVM_BUILD_DOCS=ON \ + -DLLVM_BUILD_EXAMPLES=OFF \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_BUILD_TESTS=OFF \ + -DLLVM_ENABLE_EH=ON \ + -DLLVM_ENABLE_LIBCXX=ON \ + -DLLVM_ENABLE_LIBEDIT=ON \ + -DLLVM_ENABLE_LIBXML2=OFF \ + -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libunwind;libcxxabi;libcxx;lld;lldb" \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_SPHINX=ON \ + -DLLVM_ENABLE_TERMINFO=OFF \ + -DLLVM_HOST_TRIPLE="$(clang -dumpmachine)" \ + -DLLVM_INCLUDE_DOCS=ON \ + -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \ + -DSPHINX_OUTPUT_MAN=ON \ + -DSPHINX_WARNINGS_AS_ERRORS=OFF \ + -Wno-dev \ + llvm + +cmake --build build +cmake --install build + +# libc++abi header files +mkdir -p "$1/usr" +cp -r libcxxabi/include "$1/usr" + +ln -s ld.lld "$1/usr/bin/ld" +ln -s clang "$1/usr/bin/cc" +ln -s clang++ "$1/usr/bin/c++" +ln -s clang++ "$1/usr/bin/cpp" + +for i in \ + llvm-addr2line \ + llvm-ar \ + llvm-as \ + llvm-dlltool \ + llvm-nm \ + llvm-objdump \ + llvm-ranlib \ + llvm-readelf \ + llvm-size \ + llvm-strings \ + llvm-strip + do + to="$1/usr/bin/$(printf %s "$i" | cut -d "-" -f 2)" + ln -sf "/usr/bin/$i" "$to" +done + +install -m755 c99 "$1/usr/bin/c99" + +# Clang: Override libexec, the path is hardcoded, unfortunately. +mv -f "$1/usr/libexec/ccc-analyzer" "$1/usr/lib/clang" +mv -f "$1/usr/libexec/c++-analyzer" "$1/usr/lib/clang" +rmdir "$1/usr/libexec" +sed -i "s|libexec|lib/clang|" "$1/usr/bin/scan-build" diff --git a/llvm/checksums b/llvm/checksums new file mode 100644 index 0000000..77f9430 --- /dev/null +++ b/llvm/checksums @@ -0,0 +1,2 @@ +9ed1688943a4402d7c904cc4515798cdb20080066efa010fe7e1f2551b423628 +9c68d13e4e7496578280c164917e2cb6d34af976ac048bac9931943a5b5371cd diff --git a/llvm/depends b/llvm/depends new file mode 100644 index 0000000..272d427 --- /dev/null +++ b/llvm/depends @@ -0,0 +1,7 @@ +cmake make +libedit +ncurses +python make +samurai +sphinx make +zlib diff --git a/llvm/files/c99 b/llvm/files/c99 new file mode 100755 index 0000000..4e4a49f --- /dev/null +++ b/llvm/files/c99 @@ -0,0 +1,2 @@ +#!/bin/sh +exec cc -std=c99 "$@" \ No newline at end of file diff --git a/llvm/sources b/llvm/sources new file mode 100644 index 0000000..8993017 --- /dev/null +++ b/llvm/sources @@ -0,0 +1,2 @@ +https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/llvm-project-12.0.0.src.tar.xz +files/c99 \ No newline at end of file diff --git a/llvm/version b/llvm/version new file mode 100644 index 0000000..1284e40 --- /dev/null +++ b/llvm/version @@ -0,0 +1 @@ +12.0.0 1 -- 2.39.2