diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2017-05-14 12:50:37 +0200 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2017-05-14 12:50:37 +0200 |
commit | da6001832585d292b9bdb448815c6de618f4a512 (patch) | |
tree | 0f7622929e7a0a3f1b4aba570926527da8f4c4fa /community | |
parent | 4df03af864f472877b83f1dfac92c248cb2a7632 (diff) | |
download | aports-da6001832585d292b9bdb448815c6de618f4a512.tar.bz2 aports-da6001832585d292b9bdb448815c6de618f4a512.tar.xz |
community/lld: move from testing
Diffstat (limited to 'community')
-rw-r--r-- | community/lld/APKBUILD | 49 | ||||
-rw-r--r-- | community/lld/cmake-fix-pthread-handling-for-out-of-tree-builds.patch | 80 |
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 + |