summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD120
1 files changed, 71 insertions, 49 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 47467cdd4adc..e57f25fc8429 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,19 +16,22 @@
pkgbase=llvm-minimal-git
pkgname=('llvm-minimal-git' 'llvm-libs-minimal-git')
-pkgver=9.0.0_r316414.c2d9cfd9250
+pkgver=9.0.0_r317352.21efe2afed7
pkgrel=1
arch=('x86_64')
url="https://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
makedepends=('git' 'cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
- 'python-sphinx' 'python-recommonmark')
+ 'python-sphinx' 'python-recommonmark' 'swig')
source=("llvm-project::git+https://github.com/llvm/llvm-project.git"
- 'llvm-config.h')
+ 'llvm-config.h'
+ 'enable-SSP-and-PIE-by-default.patch')
md5sums=('SKIP'
- '295c343dcd457dc534662f011d7cff1a')
+ '295c343dcd457dc534662f011d7cff1a'
+ '5e9b3822e6b7de45f0ecb0ad71b3f7d3')
sha512sums=('SKIP'
- '75e743dea28b280943b3cc7f8bbb871b57d110a7f2b9da2e6845c1c36bf170dd883fca54e463f5f49e0c3effe07fbd0db0f8cf5a12a2469d3f792af21a73fcdd')
+ '75e743dea28b280943b3cc7f8bbb871b57d110a7f2b9da2e6845c1c36bf170dd883fca54e463f5f49e0c3effe07fbd0db0f8cf5a12a2469d3f792af21a73fcdd'
+ '2fdbae0b62d33411beaf191920ff280f83fa80fd505a71077671027f27ed8c61c5867de3e6ee6f26734c7605037e86796404212182f8ffa71f4af6ed2c316a40')
pkgver() {
cd llvm-project/llvm
@@ -51,8 +54,8 @@ prepare() {
mkdir _build
cd llvm-project
- # remove code parts not needed to build llvm itself
- rm -rf clang clang-tools-extra compiler-rt debuginfo-tests libclc libcxx libcxxabi libunwind lld lldb llgo openmp parallel-libs polly pstl
+ # remove code parts not needed for build
+ rm -rf debuginfo-tests libclc libcxx libcxxabi libunwind lld lldb llgo openmp parallel-libs polly pstl
}
build() {
@@ -60,25 +63,31 @@ build() {
cd _build
cmake "$srcdir"/llvm-project/llvm -G Ninja \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLLVM_HOST_TRIPLE=$CHOST \
- -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
- -DLLVM_BUILD_LLVM_DYLIB=ON \
- -DLLVM_LINK_LLVM_DYLIB=ON \
- -DLLVM_INSTALL_UTILS=ON \
- -DLLVM_ENABLE_RTTI=ON \
- -DLLVM_ENABLE_FFI=ON \
- -DLLVM_BUILD_TESTS=ON \
- -DLLVM_BUILD_DOCS=ON \
- -DLLVM_ENABLE_SPHINX=ON \
- -DLLVM_ENABLE_DOXYGEN=OFF \
- -DSPHINX_WARNINGS_AS_ERRORS=OFF \
- -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
- -DLLVM_BINUTILS_INCDIR=/usr/include \
- -DLLVM_VERSION_SUFFIX="" \
- -DLLVM_APPEND_VC_REV=ON \
- -DLLVM_ENABLE_BINDINGS=OFF
+ -D CMAKE_C_FLAGS="${CFLAGS}" \
+ -D CMAKE_CXX_FLAGS="${CXXFLAGS}" \
+ -D CMAKE_BUILD_TYPE=Release \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_POLICY_DEFAULT_CMP0075=NEW \
+ -D FFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
+ -D LLVM_HOST_TRIPLE=$CHOST \
+ -D LLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
+ -D PYTHON_EXECUTABLE=/usr/bin/python \
+ -D LLVM_BUILD_LLVM_DYLIB=ON \
+ -D LLVM_LINK_LLVM_DYLIB=ON \
+ -D LLVM_INSTALL_UTILS=ON \
+ -D LLVM_ENABLE_RTTI=ON \
+ -D LLVM_ENABLE_FFI=ON \
+ -D LLVM_BUILD_TESTS=ON \
+ -D LLVM_BUILD_DOCS=ON \
+ -D LLVM_ENABLE_SPHINX=ON \
+ -D SPHINX_WARNINGS_AS_ERRORS=OFF \
+ -D LLVM_ENABLE_DOXYGEN=OFF \
+ -D LLVM_BINUTILS_INCDIR=/usr/include \
+ -D LLVM_VERSION_SUFFIX="" \
+ -D LLVM_APPEND_VC_REV=ON \
+ -D LLVM_ENABLE_BINDINGS=OFF \
+ -D LLVM_ENABLE_PROJECTS="compiler-rt;clang-tools-extra;clang" \
+
if [[ ! $NINJAFLAGS ]]; then
ninja
@@ -89,44 +98,57 @@ build() {
check() {
cd _build
- ninja check
+ if [[ ! $NINJAFLAGS ]]; then
+ ninja check check-clang check-clang-tools
+ else
+ ninja "$NINJAFLAGS" check check-clang check-clang-tools
+ fi
}
package_llvm-minimal-git() {
pkgdesc="Collection of modular and reusable compiler and toolchain technologies"
depends=(llvm-libs-minimal-git=$pkgver-$pkgrel 'perl')
optdepends=('python-setuptools: for using lit (LLVM Integrated Tester)')
- conflicts=('llvm')
- provides=(llvm=$pkgver-$pkgrel llvm-git=$pkgver-$pkgrel lone_wolf-llvm-git)
+ conflicts=('llvm' compiler-rt-minimal-git clang-minimal-git)
+ provides=(llvm=$pkgver-$pkgrel lone_wolf-llvm-git)
replaces=(lone_wolf-llvm-git)
- cd _build
+ cd _build
+ DESTDIR="$pkgdir" ninja install
- DESTDIR="$pkgdir" ninja install
+ # Include lit for running lit-based tests in other projects
+ pushd "$srcdir"/llvm-project/llvm/utils/lit
+ python3 setup.py install --root="$pkgdir" -O1
+ popd
- # Include lit for running lit-based tests in other projects
- pushd "$srcdir"/llvm-project/llvm/utils/lit
- python3 setup.py install --root="$pkgdir" -O1
- popd
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/llvm/html/{_sources,.buildinfo}
- # Remove documentation sources
- rm -r "$pkgdir"/usr/share/doc/llvm/html/{_sources,.buildinfo}
+
+ # The runtime libraries go into a separate package
+ mv -f "$pkgdir"/usr/lib/lib{LLVM-*.so,LTO.so.*} "$srcdir"
+
+ # Remove files which conflict with llvm-libs
+ rm "$pkgdir"/usr/lib/{LLVMgold,lib{LLVM,LTO}}.so
+
+ # Move analyzer scripts out of /usr/libexec
+ mv "$pkgdir"/usr/libexec/{ccc,c++}-analyzer "$pkgdir"/usr/lib/clang/
+ rmdir "$pkgdir"/usr/libexec
+ sed -i 's|libexec|lib/clang|' "$pkgdir"/usr/bin/scan-build
- # The runtime libraries go into a separate package
- mv -f "$pkgdir"/usr/lib/lib{LLVM-*.so,LTO.so.*} "$srcdir"
+ if [[ $CARCH == x86_64 ]]; then
+ # Needed for multilib (https://bugs.archlinux.org/task/29951)
+ # Header stub is taken from Fedora
+ mv "$pkgdir"/usr/include/llvm/Config/llvm-config{,-64}.h
+ cp "$srcdir"/llvm-config.h "$pkgdir"/usr/include/llvm/Config/llvm-config.h
+ fi
- # Remove files which conflict with llvm-libs
- rm "$pkgdir"/usr/lib/{LLVMgold,lib{LLVM,LTO}}.so
+ install -Dm644 "$srcdir"/llvm-project/llvm/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+ install -Dm644 "$srcdir"/llvm-project/compiler-rt/LICENSE.TXT "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 "$srcdir"/llvm-project/clang-tools-extra/LICENSE.TXT "$pkgdir"/usr/share/licenses/$pkgname/clang-tools-extra-LICENSE
+ install -Dm644 "$srcdir"/llvm-project/clang/LICENSE.TXT "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
- if [[ $CARCH == x86_64 ]]; then
- # Needed for multilib (https://bugs.archlinux.org/task/29951)
- # Header stub is taken from Fedora
- mv "$pkgdir"/usr/include/llvm/Config/llvm-config{,-64}.h
- cp "$srcdir"/llvm-config.h "$pkgdir"/usr/include/llvm/Config/llvm-config.h
- fi
-
- install -Dm644 "$srcdir"/llvm-project/llvm/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
}
package_llvm-libs-minimal-git() {