testing/lld: new aport

http://llvm.org
The LLVM Linker

Note: To be honest, I'm not sure if the patch for pthread is really
needed, I just copied it from Fedora package.
This commit is contained in:
Jakub Jirutka 2017-04-22 15:42:41 +00:00
parent faeb98e61b
commit 6737a5e631
2 changed files with 129 additions and 0 deletions

49
testing/lld/APKBUILD Normal file
View File

@ -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"

View File

@ -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