aboutsummaryrefslogtreecommitdiffstats
path: root/community
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2017-05-14 12:50:37 +0200
committerJakub Jirutka <jakub@jirutka.cz>2017-05-14 12:50:37 +0200
commitda6001832585d292b9bdb448815c6de618f4a512 (patch)
tree0f7622929e7a0a3f1b4aba570926527da8f4c4fa /community
parent4df03af864f472877b83f1dfac92c248cb2a7632 (diff)
downloadaports-da6001832585d292b9bdb448815c6de618f4a512.tar.bz2
aports-da6001832585d292b9bdb448815c6de618f4a512.tar.xz
community/lld: move from testing
Diffstat (limited to 'community')
-rw-r--r--community/lld/APKBUILD49
-rw-r--r--community/lld/cmake-fix-pthread-handling-for-out-of-tree-builds.patch80
2 files changed, 129 insertions, 0 deletions
diff --git a/community/lld/APKBUILD b/community/lld/APKBUILD
new file mode 100644
index 0000000000..52ed78ae24
--- /dev/null
+++ b/community/lld/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=lld
+pkgver=4.0.0
+pkgrel=0
+_vermajor=${pkgver%%.*}
+pkgdesc="The LLVM Linker"
+url="http://llvm.org"
+arch="all"
+license="UOI-NCSA"
+makedepends="
+ cmake
+ llvm-dev>=$_vermajor
+ llvm-static>=$_vermajor
+ zlib-dev"
+subpackages="$pkgname-dev"
+source="http://llvm.org/releases/$pkgver/$pkgname-$pkgver.src.tar.xz
+ cmake-fix-pthread-handling-for-out-of-tree-builds.patch"
+builddir="$srcdir/$pkgname-$pkgver.src"
+
+build() {
+ mkdir -p "$builddir"/build
+ cd "$builddir"/build
+
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ make
+}
+
+check() {
+ cd "$builddir"
+
+ ./build/bin/ld.lld --version
+}
+
+package() {
+ cd "$builddir"/build
+
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="66b2c9cc57f5e94ad7e7da1b1bcc08cbbaee1b55c6efa64b2424b9d8776c70b842c2a31c188a99b447be6a8621ad1b1e70573bbfcf5d6b1aa986b03b3b3350f3 lld-4.0.0.src.tar.xz
+2aa44973dd86aaddbd5b21789bb5e2a611d00558c41ebd078c2b7d1a3eb5c303db69084f50517b14e77674c46148ecae6bde1b037d8ba5269a342fba84116a9b cmake-fix-pthread-handling-for-out-of-tree-builds.patch"
diff --git a/community/lld/cmake-fix-pthread-handling-for-out-of-tree-builds.patch b/community/lld/cmake-fix-pthread-handling-for-out-of-tree-builds.patch
new file mode 100644
index 0000000000..b2a66f1a13
--- /dev/null
+++ b/community/lld/cmake-fix-pthread-handling-for-out-of-tree-builds.patch
@@ -0,0 +1,80 @@
+From 548cd5eb4f45de4ec71b3421a98c9462aed75c91 Mon Sep 17 00:00:00 2001
+From: Eric Fiselier <eric@efcs.ca>
+Date: Fri, 10 Feb 2017 01:59:20 +0000
+Subject: [PATCH] [CMake] Fix pthread handling for out-of-tree builds
+
+LLVM defines `PTHREAD_LIB` which is used by AddLLVM.cmake and various projects
+to correctly link the threading library when needed. Unfortunately
+`PTHREAD_LIB` is defined by LLVM's `config-ix.cmake` file which isn't installed
+and therefore can't be used when configuring out-of-tree builds. This causes
+such builds to fail since `pthread` isn't being correctly linked.
+
+This patch attempts to fix that problem by renaming and exporting
+`LLVM_PTHREAD_LIB` as part of`LLVMConfig.cmake`. I renamed `PTHREAD_LIB`
+because It seemed likely to cause collisions with downstream users of
+`LLVMConfig.cmake`.
+
+
+git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@294690 91177308-0d34-0410-b5e6-96231b3b80d8
+
+Source: http://pkgs.fedoraproject.org/cgit/rpms/lld.git/tree/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch
+---
+ COFF/CMakeLists.txt | 2 +-
+ ELF/CMakeLists.txt | 2 +-
+ lib/ReaderWriter/MachO/CMakeLists.txt | 2 +-
+ unittests/CoreTests/CMakeLists.txt | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/COFF/CMakeLists.txt b/COFF/CMakeLists.txt
+index 0eebe93..8f24e36 100644
+--- a/COFF/CMakeLists.txt
++++ b/COFF/CMakeLists.txt
+@@ -43,7 +43,7 @@ add_lld_library(lldCOFF
+
+ LINK_LIBS
+ lldCore
+- ${PTHREAD_LIB}
++ ${LLVM_PTHREAD_LIB}
+
+ DEPENDS
+ COFFOptionsTableGen
+diff --git a/ELF/CMakeLists.txt b/ELF/CMakeLists.txt
+index 5652b93..0d1e5b2 100644
+--- a/ELF/CMakeLists.txt
++++ b/ELF/CMakeLists.txt
+@@ -54,7 +54,7 @@ add_lld_library(lldELF
+ LINK_LIBS
+ lldConfig
+ lldCore
+- ${PTHREAD_LIB}
++ ${LLVM_PTHREAD_LIB}
+
+ DEPENDS
+ ELFOptionsTableGen
+diff --git a/lib/ReaderWriter/MachO/CMakeLists.txt b/lib/ReaderWriter/MachO/CMakeLists.txt
+index 3b06985..5a96d87 100644
+--- a/lib/ReaderWriter/MachO/CMakeLists.txt
++++ b/lib/ReaderWriter/MachO/CMakeLists.txt
+@@ -28,7 +28,7 @@ add_lld_library(lldMachO
+ LINK_LIBS
+ lldCore
+ lldYAML
+- ${PTHREAD_LIB}
++ ${LLVM_PTHREAD_LIB}
+ )
+
+ include_directories(.)
+diff --git a/unittests/CoreTests/CMakeLists.txt b/unittests/CoreTests/CMakeLists.txt
+index 98405d5..72e7c44 100644
+--- a/unittests/CoreTests/CMakeLists.txt
++++ b/unittests/CoreTests/CMakeLists.txt
+@@ -3,5 +3,5 @@ add_lld_unittest(CoreTests
+ )
+
+ target_link_libraries(CoreTests
+- ${PTHREAD_LIB}
++ ${LLVM_PTHREAD_LIB}
+ )
+--
+1.8.3.1
+