aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm
diff options
context:
space:
mode:
authorTravis Tilley <ttilley@gmail.com>2015-06-19 16:08:55 -0400
committerNatanael Copa <ncopa@alpinelinux.org>2015-06-29 12:40:58 +0000
commit0ea7ee14e1c337eaf561f15e85bcdbe1d1f7c0a2 (patch)
treec721a4ba2255a459cf16377c223e2f129f5681bf /main/llvm
parent168b85da911561884805fb770a759b61952978b9 (diff)
downloadaports-0ea7ee14e1c337eaf561f15e85bcdbe1d1f7c0a2.tar.bz2
aports-0ea7ee14e1c337eaf561f15e85bcdbe1d1f7c0a2.tar.xz
main/llvm: add support for polly
additionally, to make it easier to take advantage of polly's functionality, it has been statically compiled into the tools themselves rather than as a plugin that needs to be manually loaded before use. polly's GPGPU codegen functionality has sadly been disabled in this build. it appears that things are supposed to work without CUDA available, but this doesn't seem to be true.
Diffstat (limited to 'main/llvm')
-rw-r--r--main/llvm/APKBUILD31
1 files changed, 24 insertions, 7 deletions
diff --git a/main/llvm/APKBUILD b/main/llvm/APKBUILD
index 4a3d2a829..87bcc7ba5 100644
--- a/main/llvm/APKBUILD
+++ b/main/llvm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Travis Tilley <ttilley@gmail.com>
pkgname=llvm
pkgver=3.6.1
-pkgrel=2
+pkgrel=3
use_svn="false"
pkgdesc="low level virtual machine compiler system"
arch="all"
@@ -10,7 +10,7 @@ url="http://llvm.org/"
license="UOI-NCSA"
depends=""
depends_dev="perl"
-makedepends="$depends_dev cmake make flex bison groff musl-dev binutils-dev libffi-dev libxml2-dev libxml2-utils zlib-dev ncurses-dev python python-dev py-sphinx chrpath"
+makedepends="$depends_dev cmake make flex bison groff musl-dev binutils-dev isl-dev libffi-dev libxml2-dev libxml2-utils zlib-dev ncurses-dev python python-dev py-sphinx chrpath"
[ "${use_svn}" = "true" ] && makedepends="$makedepends subversion"
install=
subpackages="clang clang-doc:clang_doc $pkgname-dev $pkgname-doc $pkgname-libs"
@@ -36,7 +36,8 @@ if [ "${use_svn}" != "true" ]; then
http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz
http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz
http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz
- http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz"
+ http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz
+ http://llvm.org/releases/$pkgver/polly-$pkgver.src.tar.xz"
fi
@@ -60,7 +61,6 @@ _cmake_common_flags="\
-DLLVM_HOST_TRIPLE=$CHOST \
-DLLVM_BINUTILS_INCDIR=/usr/include \
-DLLVM_ENABLE_ASSERTIONS=NO \
- -DLLVM_ENABLE_FFI=YES \
-DLLVM_ENABLE_LIBCXX=NO \
-DLLVM_ENABLE_PIC=YES \
-DLLVM_ENABLE_ZLIB=YES \
@@ -87,11 +87,14 @@ _cmake_bootstrap_flags="\
-DCLANG_ENABLE_ARCMT=NO \
-DCLANG_ENABLE_STATIC_ANALYZER=NO \
-DCLANG_INCLUDE_DOCS=NO \
+ -DCLANG_PLUGIN_SUPPORT=NO \
-DLLVM_ENABLE_CXX1Y=NO \
+ -DLLVM_ENABLE_FFI=NO \
-DLLVM_ENABLE_SPHINX=NO \
-DLLVM_ENABLE_TERMINFO=NO \
-DLLVM_INCLUDE_DOCS=NO \
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=NO \
+ -DLLVM_EXTERNAL_POLLY_BUILD=NO \
"
# setting compiler-rt to compile as if it were an external build allows it to
@@ -104,17 +107,23 @@ _cmake_final_flags="\
-DLLVM_TARGETS_TO_BUILD=all \
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=YES \
-DBUILD_SHARED_LIBS=YES \
+ -DCLANG_PLUGIN_SUPPORT=YES \
+ -DLINK_POLLY_INTO_TOOLS=YES \
-DLLVM_BUILD_DOCS=YES \
-DLLVM_ENABLE_CXX1Y=YES \
+ -DLLVM_ENABLE_FFI=YES \
-DLLVM_ENABLE_SPHINX=YES \
-DLLVM_ENABLE_TERMINFO=YES \
-DLIBCLANG_BUILD_STATIC=YES \
+ -DWITH_POLLY=YES \
+ -DPOLLY_ENABLE_GPGPU_CODEGEN=NO \
"
_srcdir="$srcdir"/"$pkgname-$pkgver.src"
_srcdir_clang="$_srcdir"/tools/clang
_srcdir_clang_extra="$_srcdir_clang"/tools/extra
+_srcdir_polly="$_srcdir"/tools/polly
_srcdir_compiler_rt="$_srcdir"/projects/compiler-rt
@@ -126,6 +135,7 @@ prepare() {
svn co "$svn_source/llvm/$pkgsvnver" llvm-$pkgver.src
svn co "$svn_source/cfe/$pkgsvnver" cfe-$pkgver.src
svn co "$svn_source/clang-tools-extra/$pkgsvnver" clang-tools-extra-$pkgver.src
+ svn co "$svn_source/polly/$pkgsvnver" polly-$pkgver.src
svn co "$svn_source/compiler-rt/$pkgsvnver" compiler-rt-$pkgver.src
fi
@@ -135,6 +145,8 @@ prepare() {
"$_srcdir_clang" || return 1
mv "$srcdir"/clang-tools-extra-$pkgver.src \
"$_srcdir_clang_extra" || return 1
+ mv "$srcdir"/polly-$pkgver.src \
+ "$_srcdir_polly" || return 1
mv "$srcdir"/compiler-rt-$pkgver.src \
"$_srcdir_compiler_rt" || return 1
@@ -159,6 +171,7 @@ prepare() {
# FIXME: I have never seen these tests pass on any system, be it vanilla clang
# or patched, musl or glibc, autoconf or cmake. It fails on alpine, gentoo,
# and ubuntu.
+ # TODO: The version of this test in 3.7 works just fine. Re-enable for 3.7
rm ./test/Driver/lto.c
for i in $source; do
case $i in
@@ -263,6 +276,7 @@ build() {
# make check-clang-tools || return 1
make check-compiler-rt || return 1
+ make check-polly || return 1
}
package() {
@@ -326,7 +340,8 @@ e24a82edcd6caa5e405ff67a45d6befc clang-0007-musl-dynamic-linker-paths.patch
ebf9e97be405ae126e134d3a357cd58a llvm-3.6.1.src.tar.xz
9ff6811757735051f8651833b22ae014 cfe-3.6.1.src.tar.xz
1ad810536f0f7fefd4541a907aff83b3 clang-tools-extra-3.6.1.src.tar.xz
-6f204b1feb324b1672ac907b32d927c0 compiler-rt-3.6.1.src.tar.xz"
+6f204b1feb324b1672ac907b32d927c0 compiler-rt-3.6.1.src.tar.xz
+be80b9c2b6d5071c71bb47d79402b9da polly-3.6.1.src.tar.xz"
sha256sums="4f75c2a76cf4c439d65c8e67511cd91c895edf8ccf003a5f94ffa07c29456296 llvm-0001-fix-shared-build.patch
3062c6135b12eab1ff365d1d609193723bb4c6ff3dfa9fcf76fe2b75948668c9 llvm-0002-musl-triple.patch
c6892c843b38c9a852367e5d76ffc29c21bdfd522adbc4c4e3e3c890a513c0db llvm-0003-musl-hacks.patch
@@ -345,7 +360,8 @@ ec0c2014d455040499f599dc3d690fb92e54baf6058605be5f25c2c845629cfe clang-0009-pas
2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a llvm-3.6.1.src.tar.xz
74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7 cfe-3.6.1.src.tar.xz
f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6 clang-tools-extra-3.6.1.src.tar.xz
-fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f compiler-rt-3.6.1.src.tar.xz"
+fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f compiler-rt-3.6.1.src.tar.xz
+d085f97bcbb4e47b51ed60ba9a55b3fee394193e7e48ab5c5b0035e6fc80a7eb polly-3.6.1.src.tar.xz"
sha512sums="b3c0e0f74680e9b2d02f1c923a191ef5eb913be84105e4d63aae6a88b1dac758467cecad3430496a7945cebdc73ec5ee1f643dc5dc7b336fee920e3c8b6d54d2 llvm-0001-fix-shared-build.patch
8088e79c51694d237f0e29a1c9032776f943561aff389f8706f1c10b3b0405d4fa72643fb83c973be55370e89d893f7b7592bb8c64dcf2310369c0d1b7ba5db2 llvm-0002-musl-triple.patch
df8959d43af48054bc35e4125f98e5dab1e1b5beaf7b67e95791caf144efec06764bd31a9eb5efc2179932591de8b862ebf89592d131e47070c89f19412979b7 llvm-0003-musl-hacks.patch
@@ -364,4 +380,5 @@ c4365cbf9645e7aacbef2392cd7418c055a45e178e4ad956dfe45eafc90ab1db70ff620dfeeec11a
fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f llvm-3.6.1.src.tar.xz
a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743 cfe-3.6.1.src.tar.xz
3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9 clang-tools-extra-3.6.1.src.tar.xz
-121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a compiler-rt-3.6.1.src.tar.xz"
+121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a compiler-rt-3.6.1.src.tar.xz
+22438e111d3fd928c7bd6fd030b90726c7733ab3683bd59dbfb34184fc3f3d670bc788a92692eb1c20337542236f3c52576d5f4f28f5d4798d37744dbcca1315 polly-3.6.1.src.tar.xz"