aboutsummaryrefslogtreecommitdiff
path: root/llvm/abuild
diff options
context:
space:
mode:
authorWoodpecker CI <emmett1.2miligrams@protonmail.com>2025-06-03 14:32:34 +0000
committerWoodpecker CI <emmett1.2miligrams@protonmail.com>2025-06-03 14:32:34 +0000
commit8df1d35909ec2d57a6845f5b2c26ee1e83cfd032 (patch)
tree88e5aaa8cf9d3c0538cdff935a56786705548d75 /llvm/abuild
parent96ec28ea0d2c05032f40f50bc6b9de7020138f57 (diff)
downloadalicelinux-8df1d35909ec2d57a6845f5b2c26ee1e83cfd032.tar.gz
alicelinux-8df1d35909ec2d57a6845f5b2c26ee1e83cfd032.zip
Woodpecker CI 5171f1fdd74e7137c305450dd69a29fa5be4143f [SKIP CI]
Diffstat (limited to 'llvm/abuild')
-rw-r--r--llvm/abuild97
1 files changed, 97 insertions, 0 deletions
diff --git a/llvm/abuild b/llvm/abuild
new file mode 100644
index 00000000..9146a9b9
--- /dev/null
+++ b/llvm/abuild
@@ -0,0 +1,97 @@
+name=llvm
+version=20.1.5
+release=1
+source="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz
+ c89 c99
+ 0012-libc-libc-abi-libunwind-disable-multiarch-locations.patch
+ 0014-clang-disable-multiarch-layout-on-musl.patch
+ 0017-clang-use-as-needed-by-default.patch
+ 0024-clang-link-libcxxabi-on-linux-when-using-libc.patch
+ compiler-rt-sanitizer-supported-arch.patch
+ fix-msan-with-musl.patch
+ musl-stack-size.patch
+ musl-targets.patch"
+keep_static=1
+no_strip=1
+build_type="cmake_build"
+build_dir="llvm-project-${version}.src/llvm"
+patch_opt="-Np1 -d .."
+export CFLAGS="$CFLAGS -fPIC"
+export CXXFLAGS="$CXXFLAGS -fPIC"
+
+# llvm
+build_opt="
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_TARGETS_TO_BUILD='host;AMDGPU'
+ -DLLVM_HOST_TRIPLE=x86_64-pc-linux-musl
+ -DLLVM_INCLUDE_BENCHMARKS=OFF
+ -DLLVM_INCLUDE_EXAMPLES=OFF
+ -DLLVM_INCLUDE_DOCS=OFF
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_ENABLE_RUNTIMES='compiler-rt;libunwind;libcxx;libcxxabi'
+ -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;lld'
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_LIBXML2=OFF
+ -DLLVM_ENABLE_LIBCXX=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_LLD=ON
+ -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON
+ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON"
+
+# clang
+build_opt="$build_opt
+ -DCLANG_BUILD_EXAMPLES=OFF
+ -DCLANG_INCLUDE_DOCS=OFF
+ -DCLANG_INCLUDE_TESTS=OFF
+ -DLIBCLANG_BUILD_STATIC=ON
+ -DCLANG_DEFAULT_RTLIB=compiler-rt
+ -DCLANG_DEFAULT_UNWINDLIB=libunwind
+ -DCLANG_DEFAULT_CXX_STDLIB=libc++
+ -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang
+ -DCLANG_LINK_CLANG_DYLIB=Yes"
+
+# libcxx
+build_opt="$build_opt
+ -DLIBCXX_HAS_MUSL_LIBC=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_USE_COMPILER_RT=ON
+ -DLIBCXX_HAS_ATOMIC_LIB=No
+ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=OFF"
+
+# libcxxabi
+build_opt="$build_opt
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_USE_COMPILER_RT=ON
+ -DLIBCXXABI_ENABLE_STATIC_UNWINDER=OFF"
+
+# libunwind
+build_opt="$build_opt
+ -DLIBUNWIND_HAS_NODEFAULTLIBS_FLAG=OFF
+ -DLIBUNWIND_USE_COMPILER_RT=ON
+ -DLIBUNWIND_ENABLE_ASSERTIONS=OFF"
+
+# compiler-rt
+build_opt="$build_opt
+ -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON
+ -DCOMPILER_RT_INCLUDE_TESTS=OFF
+ -DCOMPILER_RT_BUILD_SANITIZERS=ON
+ -DCOMPILER_RT_BUILD_GWP_ASAN=OFF"
+
+# etc
+build_opt="$build_opt
+ -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF
+ $([ -e /usr/bin/ccache ] && echo '-DLLVM_CCACHE_BUILD=ON')
+"
+
+postbuild() {
+ ln -s lld $PKG/usr/bin/ld
+ ln -s clang $PKG/usr/bin/cc
+ ln -s clang $PKG/usr/bin/gcc
+ ln -s clang $PKG/usr/bin/cpp
+ ln -s clang++ $PKG/usr/bin/c++
+ ln -s clang++ $PKG/usr/bin/g++
+ install -m755 $SRC/c89 $PKG/usr/bin/c89
+ install -m755 $SRC/c99 $PKG/usr/bin/c99
+}