]> git.armaanb.net Git - asd-repo.git/commitdiff
llvm: new package at 12.0.0
authorArmaan Bhojwani <me@armaanb.net>
Wed, 30 Jun 2021 23:56:31 +0000 (19:56 -0400)
committerArmaan Bhojwani <me@armaanb.net>
Thu, 1 Jul 2021 00:02:05 +0000 (20:02 -0400)
llvm/build [new file with mode: 0755]
llvm/checksums [new file with mode: 0644]
llvm/depends [new file with mode: 0644]
llvm/files/c99 [new file with mode: 0755]
llvm/sources [new file with mode: 0644]
llvm/version [new file with mode: 0644]

diff --git a/llvm/build b/llvm/build
new file mode 100755 (executable)
index 0000000..1953567
--- /dev/null
@@ -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 (file)
index 0000000..77f9430
--- /dev/null
@@ -0,0 +1,2 @@
+9ed1688943a4402d7c904cc4515798cdb20080066efa010fe7e1f2551b423628
+9c68d13e4e7496578280c164917e2cb6d34af976ac048bac9931943a5b5371cd
diff --git a/llvm/depends b/llvm/depends
new file mode 100644 (file)
index 0000000..272d427
--- /dev/null
@@ -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 (executable)
index 0000000..4e4a49f
--- /dev/null
@@ -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 (file)
index 0000000..8993017
--- /dev/null
@@ -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 (file)
index 0000000..1284e40
--- /dev/null
@@ -0,0 +1 @@
+12.0.0 1