Date: Monday, October 12, 2020 @ 23:41:34 Author: foutrelis Revision: 398095
Add new polly package; part of LLVM (FS#66226) Added: polly/ polly/repos/ polly/trunk/ polly/trunk/PKGBUILD polly/trunk/support-linking-ScopPassManager-against-LLVM-dylib.patch ----------------------------------------------------------+ PKGBUILD | 63 +++++++++++++ support-linking-ScopPassManager-against-LLVM-dylib.patch | 28 +++++ 2 files changed, 91 insertions(+) Added: polly/trunk/PKGBUILD =================================================================== --- polly/trunk/PKGBUILD (rev 0) +++ polly/trunk/PKGBUILD 2020-10-12 23:41:34 UTC (rev 398095) @@ -0,0 +1,63 @@ +# Maintainer: Evangelos Foutras <[email protected]> + +pkgname=polly +pkgver=11.0.0 +pkgrel=1 +pkgdesc="High-level loop and data-locality optimizer and optimization infrastructure for LLVM" +arch=('x86_64') +url="https://polly.llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +depends=('llvm-libs') +makedepends=('llvm' 'cmake' 'ninja' 'python-sphinx') +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig} + $_source_base/llvm-$pkgver.src.tar.xz{,.sig} + support-linking-ScopPassManager-against-LLVM-dylib.patch) +sha256sums=('dcfadb8d11f2ea0743a3f19bab3b43ee1cb855e136bc81c76e2353cd76148440' + 'SKIP' + '913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469' + 'SKIP' + 'ce3c528eabef1ef3a4c3ca69a527b98b4f2e924069f24e68ced5462c95263ba6') +validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <[email protected]> +validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <[email protected]> + +prepare() { + cd "$srcdir/$pkgname-$pkgver.src" + mkdir build + + # https://reviews.llvm.org/D85281 + patch -Np2 -i ../support-linking-ScopPassManager-against-LLVM-dylib.patch +} + +build() { + cd "$srcdir/$pkgname-$pkgver.src/build" + + cmake .. -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_BUILD_TESTS=ON \ + -DLLVM_BUILD_DOCS=ON \ + -DLLVM_ENABLE_SPHINX=ON \ + -DSPHINX_WARNINGS_AS_ERRORS=OFF \ + -DLLVM_EXTERNAL_LIT=/usr/bin/lit \ + -DLLVM_BUILD_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src" + ninja +} + +check() { + cd "$srcdir/$pkgname-$pkgver.src/build" + ninja check-polly +} + +package() { + cd "$srcdir/$pkgname-$pkgver.src/build" + + DESTDIR="$pkgdir" ninja install + install -Dm644 ../LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # Remove documentation sources + rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo} +} + +# vim:set ts=2 sw=2 et: Added: polly/trunk/support-linking-ScopPassManager-against-LLVM-dylib.patch =================================================================== --- polly/trunk/support-linking-ScopPassManager-against-LLVM-dylib.patch (rev 0) +++ polly/trunk/support-linking-ScopPassManager-against-LLVM-dylib.patch 2020-10-12 23:41:34 UTC (rev 398095) @@ -0,0 +1,28 @@ +From 96b02808afa7eb043b9968b07424cc96bc8d94a6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]> +Date: Wed, 5 Aug 2020 10:22:32 +0200 +Subject: [PATCH] [Polly] Support linking ScopPassManager against LLVM dylib + +Link ScopPassManager to LLVM dylib target if LLVM_LINK_LLVM_DYLIB +is enabled. This fixes build failures on systems where static LLVM +libraries are not installed. + +Differential Revision: https://reviews.llvm.org/D85281 +--- + polly/unittests/ScopPassManager/CMakeLists.txt | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/polly/unittests/ScopPassManager/CMakeLists.txt b/polly/unittests/ScopPassManager/CMakeLists.txt +index ed3bbd6dcef..88300144af3 100644 +--- a/polly/unittests/ScopPassManager/CMakeLists.txt ++++ b/polly/unittests/ScopPassManager/CMakeLists.txt +@@ -1,5 +1,7 @@ +-llvm_map_components_to_libnames(llvm_libs Passes Core Analysis) + add_polly_unittest(ScopPassManagerTests + PassManagerTest.cpp + ) +-target_link_libraries(ScopPassManagerTests PRIVATE ${llvm_libs}) ++if (NOT LLVM_LINK_LLVM_DYLIB) ++ llvm_map_components_to_libnames(llvm_libs Passes Core Analysis) ++ target_link_libraries(ScopPassManagerTests PRIVATE ${llvm_libs}) ++endif()
