aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-05-21 11:37:40 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-05-21 11:59:24 +0000
commiteac22325a7d4cf3ca559fa4d3ee2e49f4e879ffd (patch)
treebe9d3da7650e4eeb3ba22c6d0c1cca45ccb51517
parent3681f34c0d3bd9b6d30a7817989a862e29ab4fe4 (diff)
downloadaports-eac22325a7d4cf3ca559fa4d3ee2e49f4e879ffd.tar.bz2
aports-eac22325a7d4cf3ca559fa4d3ee2e49f4e879ffd.tar.xz
main/llvm: upgrade to 3.6.0
move from testing fixes #4068
-rw-r--r--main/llvm/APKBUILD202
-rw-r--r--main/llvm/clang-3.5-fix-stdint.patch (renamed from testing/llvm/clang-3.5-fix-stdint.patch)0
-rw-r--r--main/llvm/clang-3.6-add-alpine-distro.patch (renamed from testing/llvm/clang-3.6-add-alpine-distro.patch)0
-rw-r--r--main/llvm/clang-3.6-alpine-hash-style-gnu.patch (renamed from testing/llvm/clang-3.6-alpine-hash-style-gnu.patch)0
-rw-r--r--main/llvm/clang-3.6-alpine-use-z-relro.patch (renamed from testing/llvm/clang-3.6-alpine-use-z-relro.patch)0
-rw-r--r--main/llvm/clang-3.6-default-runtime-compiler-rt.patch (renamed from testing/llvm/clang-3.6-default-runtime-compiler-rt.patch)0
-rw-r--r--main/llvm/clang-3.6-fix-unwind-chain-inclusion.patch (renamed from testing/llvm/clang-3.6-fix-unwind-chain-inclusion.patch)0
-rw-r--r--main/llvm/clang-3.6-musl-alpine-triple.patch (renamed from testing/llvm/clang-3.6-musl-alpine-triple.patch)0
-rw-r--r--main/llvm/clang-3.6-musl-fix-dynamic-linker-paths.patch (renamed from testing/llvm/clang-3.6-musl-fix-dynamic-linker-paths.patch)0
-rw-r--r--main/llvm/clang-3.6-musl-no-use-cxa-atexit.patch (renamed from testing/llvm/clang-3.6-musl-no-use-cxa-atexit.patch)0
-rw-r--r--main/llvm/clang-3.6-musl-use-init-array.patch (renamed from testing/llvm/clang-3.6-musl-use-init-array.patch)0
-rw-r--r--main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch (renamed from testing/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch)0
-rw-r--r--main/llvm/compiler-rt-3.6-musl-disable-sanitizers.patch (renamed from testing/llvm/compiler-rt-3.6-musl-disable-sanitizers.patch)0
-rw-r--r--main/llvm/compiler-rt-3.6-musl-no-dlvsym.patch (renamed from testing/llvm/compiler-rt-3.6-musl-no-dlvsym.patch)0
-rw-r--r--main/llvm/llvm-3.5-gcc-4.9.patch (renamed from testing/llvm/llvm-3.5-gcc-4.9.patch)0
-rw-r--r--main/llvm/llvm-3.6-musl-triple.patch (renamed from testing/llvm/llvm-3.6-musl-triple.patch)0
-rw-r--r--main/llvm/llvm-3.6-musl.patch (renamed from testing/llvm/llvm-3.6-musl.patch)0
-rw-r--r--main/llvm/llvm-alpine-linux.patch182
-rw-r--r--main/llvm/llvm-musl.patch75
-rw-r--r--testing/llvm/APKBUILD244
20 files changed, 162 insertions, 541 deletions
diff --git a/main/llvm/APKBUILD b/main/llvm/APKBUILD
index 88d4be5a6f..5f2cccae94 100644
--- a/main/llvm/APKBUILD
+++ b/main/llvm/APKBUILD
@@ -1,48 +1,91 @@
-# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Contributor: Travis Tilley <ttilley@gmail.com>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=llvm
-pkgver=3.5.1
-pkgrel=0
+pkgver=3.6.0
+pkgrel=1
pkgdesc="low level virtual machine compiler system"
-arch="x86 x86_64 armhf"
+arch="x86_64 armhf"
url="http://llvm.org/"
license="UOI-NCSA"
-depends=
+depends=""
depends_dev="perl"
-makedepends="$depends_dev groff libffi-dev python chrpath"
+makedepends="$depends_dev make flex bison groff libffi-dev zlib-dev ncurses-dev libedit-dev python chrpath"
install=
-subpackages="clang $pkgname-dev $pkgname-doc $pkgname-libs"
+subpackages="clang-libs:clang_libs clang
+ $pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs"
source="http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz
http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz
- llvm-alpine-linux.patch
- llvm-musl.patch
+ http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz
+ llvm-3.5-gcc-4.9.patch
+ llvm-3.6-musl-triple.patch
+ llvm-3.6-musl.patch
+ compiler-rt-3.6-musl-disable-sanitizers.patch
+ compiler-rt-3.6-musl-no-dlvsym.patch
+ clang-3.5-fix-stdint.patch
+ clang-3.6-fix-unwind-chain-inclusion.patch
+ clang-3.6-remove-lgcc-when-using-compiler-rt.patch
+ clang-3.6-add-alpine-distro.patch
+ clang-3.6-alpine-use-z-relro.patch
+ clang-3.6-alpine-hash-style-gnu.patch
+ clang-3.6-default-runtime-compiler-rt.patch
+ clang-3.6-musl-alpine-triple.patch
+ clang-3.6-musl-fix-dynamic-linker-paths.patch
+ clang-3.6-musl-use-init-array.patch
+ clang-3.6-musl-no-use-cxa-atexit.patch
"
-# clang hardcodes linker paths; and don't know of a fix like the --with-dynamic-linker
-# patch we use for gcc. So llvm-3.2-alpine-linux.patch needs to be updated if/when the
-# uClibc ABI version (as of uClibc 0.9.33.2, this is 0.9.32) increases.
-
_builddir="$srcdir"/build
+
_srcdir="$srcdir"/"$pkgname-$pkgver.src"
+_srcdir_clang="$_srcdir"/tools/clang
+_srcdir_compiler_rt="$_srcdir"/projects/compiler-rt
+# _srcdir_clang_extra="$_srcdir_clang"/tools/extra
+# _srcdir_lld="$_srcdir"/tools/lld
prepare() {
- msg "Preparing CLANG sources..."
+ msg "Preparing LLVM/CLANG sources..."
mv "$srcdir"/cfe-$pkgver.src \
- "$srcdir"/$pkgname-$pkgver.src/tools/clang || return 1
+ "$_srcdir_clang" || return 1
+ mv "$srcdir"/compiler-rt-$pkgver.src \
+ "$_srcdir_compiler_rt" || return 1
+ # mv "$srcdir"/clang-tools-extra-$pkgver.src \
+ # "$_srcdir_clang_extra" || return 1
+ # mv "$srcdir"/lld-$pkgver.src \
+ # "$_srcdir_lld" || return 1
msg "Patching LLVM core..."
- cd "$srcdir"/$pkgname-$pkgver.src || return 1
+ cd "$_srcdir" || return 1
update_config_sub || return 1
for i in $source; do
case $i in
- *.patch)
+ llvm*.patch)
msg "Applying $i..."
patch -s -p1 -N -i "$srcdir"/$i || return 1
;;
esac
done
- # fails to link
- rm ./unittests/Support/formatted_raw_ostream_test.cpp
+
+ msg "Patching compiler-rt..."
+ cd "$_srcdir_compiler_rt" || return 1
+ for i in $source; do
+ case $i in
+ compiler-rt*.patch)
+ msg "Applying $i..."
+ patch -s -p1 -N -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+
+ msg "Patching clang..."
+ cd "$_srcdir_clang" || return 1
+ for i in $source; do
+ case $i in
+ clang-*.patch)
+ msg "Applying $i..."
+ patch -s -p1 -N -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
}
build() {
@@ -55,6 +98,8 @@ build() {
../$pkgname-$pkgver.src/autoconf/config.guess \
|| return 1
+ export CPPFLAGS="${CPPFLAGS} $(pkg-config --cflags-only-I libffi) $(pkg-config --cflags-only-I libedit)"
+
$_srcdir/configure \
--build=$CBUILD \
--host=$CHOST \
@@ -62,16 +107,27 @@ build() {
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
- --enable-ffi \
--enable-shared \
--enable-optimized \
+ --enable-keep-symbols \
+ --enable-libedit \
+ --enable-terminfo \
+ --enable-libffi \
+ --enable-clang-plugin-support \
+ --enable-clang-static-analyzer \
+ --enable-docs \
+ --enable-threads \
+ --enable-zlib \
+ --enable-pic \
+ --enable-targets=x86,x86_64,arm,arm64,cpp,r600 \
+ --enable-bindings=none \
+ --disable-timestamps \
+ --disable-assertions \
+ --disable-expensive-checks \
+ --disable-libcpp \
+ --disable-werror \
|| return 1
- # configure gets it wrong. We do have error_t
- sed -i -e 's/.*undef HAVE_ERROR_T.*/#define HAVE_ERROR_T 1/' \
- -e '/define error_t/d' \
- ./include/llvm/Config/config.h || return 1
-
make || return 1
}
@@ -83,18 +139,32 @@ package() {
mkdir -p "$pkgdir"/usr/share/doc
mv "$pkgdir"/usr/docs/llvm "$pkgdir"/usr/share/doc/ || return 1
rmdir "$pkgdir"/usr/docs || return 1
- chrpath -d "$pkgdir"/usr/bin/* "$pkgdir"/usr/lib/*.so
+ chrpath -d "$pkgdir"/usr/bin/* "$pkgdir"/usr/lib/*.so || return 1
+
+ # remove erroneously installed example
+ rm "$pkgdir"/usr/lib/*LLVMHello.* || return 1
+
+ # remove executable bit from static libc
+ chmod -x "$pkgdir"/usr/lib/*.a
+}
+
+clang_libs() {
+ pkgdesc="Runtime library for clang"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libclang.so "$subpkgdir"/usr/lib/
}
clang() {
pkgdesc="A C language family front-end for LLVM"
mkdir -p "$subpkgdir"/usr/bin \
- "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/clang
+ "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/clang "$subpkgdir"/usr/include
mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/c-index-test \
"$subpkgdir"/usr/bin/ || return 1
mv "$pkgdir"/usr/lib/clang \
- "$pkgdir"/usr/lib/libclang.so \
"$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/usr/include/clang "$pkgdir"/usr/include/clang-c \
+ "$subpkgdir"/usr/include/ || return 1
+
cp -r "$_srcdir"/tools/clang/tools/scan-build "$subpkgdir"/usr/share/clang/scan-build
cp -r "$_srcdir"/tools/clang/tools/scan-view "$subpkgdir"/usr/share/clang/scan-view
@@ -102,21 +172,73 @@ clang() {
ln -s /usr/share/clang/scan-view/scan-view "$subpkgdir"/usr/bin/scan-view
}
+static() {
+ pkgdesc="LLVM static libraries"
+ depends=
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
+}
+
libs() {
pkgdesc="LLVM shared libraries"
mkdir -p "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
}
-md5sums="2d3d8004f38852aa679e5945b8ce0b14 llvm-3.5.1.src.tar.xz
-93f9532f8f7e6f1d8e5c1116907051cb cfe-3.5.1.src.tar.xz
-6027b00815344fe834e3e3208fc471d9 llvm-alpine-linux.patch
-832e665e4972afb94fb6c976a7e35c69 llvm-musl.patch"
-sha256sums="bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 llvm-3.5.1.src.tar.xz
-6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c cfe-3.5.1.src.tar.xz
-789ae8672503be241ef371933795cee148cbc16c3b633c37344ea7b4aef89189 llvm-alpine-linux.patch
-1e4c4d9e2d76719c2fedc6fe1ce03e59a16521bdb2562e84255a82d510a4f894 llvm-musl.patch"
-sha512sums="a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 llvm-3.5.1.src.tar.xz
-bd904586f6155c05d2f7ddd05b86c28feae883cdc60e2cb3b48d4ae0ce55916064bcea414a46518d0fb73618f18a3f3fca6cc4cad81083428a2221299f5c5c7f cfe-3.5.1.src.tar.xz
-65a74090d6541e105220e79944181dca15aca258178a755ac42b7066277202b59836998a27856bab57cf76200a4e538124a6110ea8bcdc15b0abf2508a6e681d llvm-alpine-linux.patch
-e9531f86521628a1f0b73e15da55c6d51c7283a0239bc481b89a73c5195ae605b6680e75cbcd9197b71ceab534082f86e0e4d39701edcbe9195cc01df97285b9 llvm-musl.patch"
+md5sums="f1e14e949f8df3047c59816c55278cec llvm-3.6.0.src.tar.xz
+e3012065543dc6ab8a9842b09616b78d cfe-3.6.0.src.tar.xz
+cc36dbcafe43406083e98bc9e74f8054 compiler-rt-3.6.0.src.tar.xz
+178eecb7554f893198716e35245fc3c9 llvm-3.5-gcc-4.9.patch
+74f92f6719995be866f461a29a7c8112 llvm-3.6-musl-triple.patch
+3068c2bc0dd0f694d002d992743401ac llvm-3.6-musl.patch
+b1732677fb7641c13300a98bdd47d467 compiler-rt-3.6-musl-disable-sanitizers.patch
+a56d3a3da587b5936e338d85947bd16f compiler-rt-3.6-musl-no-dlvsym.patch
+be9b343bacbd220a154b0a773bcd3bd3 clang-3.5-fix-stdint.patch
+02df7f41728ceb3b401dd3972531d4ec clang-3.6-fix-unwind-chain-inclusion.patch
+9790d1131f498f5957e0107727489704 clang-3.6-remove-lgcc-when-using-compiler-rt.patch
+74612f41b5bda8f05be5cf2e59eebd26 clang-3.6-add-alpine-distro.patch
+dbf4e6686137d097768e971c0efd4a0b clang-3.6-alpine-use-z-relro.patch
+7495743d3c85ad48fd7ab9ca1f674884 clang-3.6-alpine-hash-style-gnu.patch
+a26e050907fae3f8ac51375826f9767c clang-3.6-default-runtime-compiler-rt.patch
+bf66b2ce06519085484776e40290118a clang-3.6-musl-alpine-triple.patch
+28266841c807bd3835186ad32942ac11 clang-3.6-musl-fix-dynamic-linker-paths.patch
+b7e213b69c848ad1bcb98a798a2f9d1d clang-3.6-musl-use-init-array.patch
+01eb6923bfa059e36ab39f44b2b6f03f clang-3.6-musl-no-use-cxa-atexit.patch"
+sha256sums="b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce llvm-3.6.0.src.tar.xz
+be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d cfe-3.6.0.src.tar.xz
+7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 compiler-rt-3.6.0.src.tar.xz
+96851b9d89647276f4611ea7db59f84240a727b199925ee6c9599f959fc7bd05 llvm-3.5-gcc-4.9.patch
+fbe1bab0aa5eb8c54ac1ed0f7d27212efd597c8eaa889599549d0defe82bc7c9 llvm-3.6-musl-triple.patch
+f1ca24437533c5022d591b8b9a5ea7f0494e984a5c24ef1e5dcf71dbee0df240 llvm-3.6-musl.patch
+d5aa68e35fe3fe0cb2393d3abecd80987c4876f332ca03b55f03bcd82b2b720d compiler-rt-3.6-musl-disable-sanitizers.patch
+90a582ef8561ed4953feae7f19f3a30856da845174ae93e7acdb4bc088be5b78 compiler-rt-3.6-musl-no-dlvsym.patch
+a41aa73b9edcf0588d61e17e9d53738e9e16209eac9c5488eaef7770ab1517d1 clang-3.5-fix-stdint.patch
+2c73e2c6f3e90e2535e0662714645fc4d1189b4b1beb5a0ebb6ba1af62580d23 clang-3.6-fix-unwind-chain-inclusion.patch
+dea41fd9eb16d2c3b9b73ad1ee3af2923b26f806185494835c899700ec6830f4 clang-3.6-remove-lgcc-when-using-compiler-rt.patch
+4f68d475947eb35515231fdf23dc5a92f656038ca21b0d3d0ea110129b07d313 clang-3.6-add-alpine-distro.patch
+ba0dd990424699b92b79c8511143cbf33766e8d2009a979928e9b8229fa3cfba clang-3.6-alpine-use-z-relro.patch
+46f4c3c08bee21cc9051181108776f37acc7e9589c85f62dbd6a842b842f5a43 clang-3.6-alpine-hash-style-gnu.patch
+8c8295e10453e89d8ae70d709a91f186ea5e279494ab538e28339d9d2efa3ae8 clang-3.6-default-runtime-compiler-rt.patch
+da420dda54b0058140a4ade99de49e617c2533857ccb327d95bf51027bb0bcf8 clang-3.6-musl-alpine-triple.patch
+03c392733933198adbb3e6cb2eb9ed95e8d01f7d013e3fe2d12a8f1001b73893 clang-3.6-musl-fix-dynamic-linker-paths.patch
+03709cff62464ef2afdaa2bfaccf4dffd5d3e20eee561fb94e486a2912d8a6e6 clang-3.6-musl-use-init-array.patch
+3d5c097ab1a4e4cfadeeb11aef66a90daaff11095dd3349f25832bedc317cac8 clang-3.6-musl-no-use-cxa-atexit.patch"
+sha512sums="ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 llvm-3.6.0.src.tar.xz
+dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe cfe-3.6.0.src.tar.xz
+2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 compiler-rt-3.6.0.src.tar.xz
+a16f175c75893ac58350e0573012a66c1e8908e94a03197ca50b147eb492402e706e4816b80428ccdf92a112673ec8552a0d5dc699dc95250e756c161328d9f2 llvm-3.5-gcc-4.9.patch
+a084b995b2ea65c19da5e000459c993d5a3396f0eb4f6d6ec29299d98f3df8ee6f23723f8d19e93ef906861bb83dbba5c05b8cf7801f92c8748b8687247e25d2 llvm-3.6-musl-triple.patch
+e3f4203679c978cbf359200de0cd60c0adcc58c92611ec70b4b991c6612e0b41b67c19c9994769302284edb953e258d3717ec32d90abbd9bdeff3739aa5ffb18 llvm-3.6-musl.patch
+e9cf172aac82b5e4680d4c6fb25f11e04d1db75ad4e99f7117c08631ca8a7955677fc046f58b6eef05f9e98ef0374eb9248b5674aa26b08d9f7efd30525740be compiler-rt-3.6-musl-disable-sanitizers.patch
+8cde42c93a1eda14d31f8e51ffd00d031f10071e9a4ee91fa9b08ef5b8e7bf9ec32ccd102b652e35e6f75d1339d934daa68185529ca6dba74e61f979a27498f3 compiler-rt-3.6-musl-no-dlvsym.patch
+764382fc79598ca85c9c500d16e02a2710025416dc9bd8a7407aad38e663dee9539e47a1ae763b45c36cd86c4ff5853c4799835cd7363a3a208191ae7a703321 clang-3.5-fix-stdint.patch
+4cbabce34b7352bf5a043db3abe8931f58adce4fda80846c39b63399a025cbbac572052d3f0f598466bc9dca23b8ff88e655b10bf54b3870bc4e6f4225b6f558 clang-3.6-fix-unwind-chain-inclusion.patch
+d50aa3271e9247896bd3df5a55c987da81a01892af8afbd0483cff4c0467b2dc438fa9166d1aaeaf5165555c30d4a2af68c3bdbfa8fba798c2ca124172cf2642 clang-3.6-remove-lgcc-when-using-compiler-rt.patch
+f5fa5aa1b2a559215792a98806b18b32ce6b82e57afb09aa3886b22f71420c8377b784f55610b4948185e115b39aeeaf1f27625d0d91dbd3b146e4986eb29c54 clang-3.6-add-alpine-distro.patch
+61d0113e2287b82d27b4d08ed98e8f2dad864a36a295f9d8a28d54b6b8516ecda2986d402ba04146976e25e35198e12d567df80979c88081369ac386fa213a0f clang-3.6-alpine-use-z-relro.patch
+1982e8b84415fa314b040cbecac38640d754105b5af2c26d5aa7ca74d7ef14cc074bf7a5537dc492a7051d8f94035a1d69de2e913eabee7fcd1b50d6f6f126f7 clang-3.6-alpine-hash-style-gnu.patch
+b906ff5a59c83e553d67b2574bcd3c22e7975b487ad928f9e0db0a07ffb54c5e412d4527401db63f1de94884410709b4fe637e12d36fa0c0661f69fd88f09c25 clang-3.6-default-runtime-compiler-rt.patch
+d2192b615307a762d324a1643dae33bc8a97e22e6a9dd712f9a243c6d3f728c9f9f036ce34d4137c8537651d78332ad8b98fd7f325648ac68e1bda54f5f58348 clang-3.6-musl-alpine-triple.patch
+d3f6c97bdfccdab056aef149413108eb1fdf68d10782cdb1a50695a8e2e53432555a73c640ae635c697d41330c7869acc864b9f0fedbb1a4cba6d13785168564 clang-3.6-musl-fix-dynamic-linker-paths.patch
+4ae8409f3d03e8b30cbe33be507a43194ff6f3e6ce6467d3341ff08f08b12a22517a4c4b012f1b1029d956f8c486412353d937f316a7648a5be14549555aecae clang-3.6-musl-use-init-array.patch
+20cddcf4289bb50bedac2636d32824860252617545d85c5cdc13f630a6f8be2be2a7e018401de4cec0a78bafc1f940ed8d565c2cda518b73290cf3ced4d0807e clang-3.6-musl-no-use-cxa-atexit.patch"
diff --git a/testing/llvm/clang-3.5-fix-stdint.patch b/main/llvm/clang-3.5-fix-stdint.patch
index 4db83d5b19..4db83d5b19 100644
--- a/testing/llvm/clang-3.5-fix-stdint.patch
+++ b/main/llvm/clang-3.5-fix-stdint.patch
diff --git a/testing/llvm/clang-3.6-add-alpine-distro.patch b/main/llvm/clang-3.6-add-alpine-distro.patch
index 9b959d335d..9b959d335d 100644
--- a/testing/llvm/clang-3.6-add-alpine-distro.patch
+++ b/main/llvm/clang-3.6-add-alpine-distro.patch
diff --git a/testing/llvm/clang-3.6-alpine-hash-style-gnu.patch b/main/llvm/clang-3.6-alpine-hash-style-gnu.patch
index ee1f7c0f31..ee1f7c0f31 100644
--- a/testing/llvm/clang-3.6-alpine-hash-style-gnu.patch
+++ b/main/llvm/clang-3.6-alpine-hash-style-gnu.patch
diff --git a/testing/llvm/clang-3.6-alpine-use-z-relro.patch b/main/llvm/clang-3.6-alpine-use-z-relro.patch
index bd7cea08c8..bd7cea08c8 100644
--- a/testing/llvm/clang-3.6-alpine-use-z-relro.patch
+++ b/main/llvm/clang-3.6-alpine-use-z-relro.patch
diff --git a/testing/llvm/clang-3.6-default-runtime-compiler-rt.patch b/main/llvm/clang-3.6-default-runtime-compiler-rt.patch
index f4bf20cf9b..f4bf20cf9b 100644
--- a/testing/llvm/clang-3.6-default-runtime-compiler-rt.patch
+++ b/main/llvm/clang-3.6-default-runtime-compiler-rt.patch
diff --git a/testing/llvm/clang-3.6-fix-unwind-chain-inclusion.patch b/main/llvm/clang-3.6-fix-unwind-chain-inclusion.patch
index 2ead52f0a6..2ead52f0a6 100644
--- a/testing/llvm/clang-3.6-fix-unwind-chain-inclusion.patch
+++ b/main/llvm/clang-3.6-fix-unwind-chain-inclusion.patch
diff --git a/testing/llvm/clang-3.6-musl-alpine-triple.patch b/main/llvm/clang-3.6-musl-alpine-triple.patch
index 86cf2a4788..86cf2a4788 100644
--- a/testing/llvm/clang-3.6-musl-alpine-triple.patch
+++ b/main/llvm/clang-3.6-musl-alpine-triple.patch
diff --git a/testing/llvm/clang-3.6-musl-fix-dynamic-linker-paths.patch b/main/llvm/clang-3.6-musl-fix-dynamic-linker-paths.patch
index 27c17728ce..27c17728ce 100644
--- a/testing/llvm/clang-3.6-musl-fix-dynamic-linker-paths.patch
+++ b/main/llvm/clang-3.6-musl-fix-dynamic-linker-paths.patch
diff --git a/testing/llvm/clang-3.6-musl-no-use-cxa-atexit.patch b/main/llvm/clang-3.6-musl-no-use-cxa-atexit.patch
index d1c23b0992..d1c23b0992 100644
--- a/testing/llvm/clang-3.6-musl-no-use-cxa-atexit.patch
+++ b/main/llvm/clang-3.6-musl-no-use-cxa-atexit.patch
diff --git a/testing/llvm/clang-3.6-musl-use-init-array.patch b/main/llvm/clang-3.6-musl-use-init-array.patch
index ae632aabf9..ae632aabf9 100644
--- a/testing/llvm/clang-3.6-musl-use-init-array.patch
+++ b/main/llvm/clang-3.6-musl-use-init-array.patch
diff --git a/testing/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch b/main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch
index 15cfe2f8ae..15cfe2f8ae 100644
--- a/testing/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch
+++ b/main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch
diff --git a/testing/llvm/compiler-rt-3.6-musl-disable-sanitizers.patch b/main/llvm/compiler-rt-3.6-musl-disable-sanitizers.patch
index c37490ca3f..c37490ca3f 100644
--- a/testing/llvm/compiler-rt-3.6-musl-disable-sanitizers.patch
+++ b/main/llvm/compiler-rt-3.6-musl-disable-sanitizers.patch
diff --git a/testing/llvm/compiler-rt-3.6-musl-no-dlvsym.patch b/main/llvm/compiler-rt-3.6-musl-no-dlvsym.patch
index 444f4e073b..444f4e073b 100644
--- a/testing/llvm/compiler-rt-3.6-musl-no-dlvsym.patch
+++ b/main/llvm/compiler-rt-3.6-musl-no-dlvsym.patch
diff --git a/testing/llvm/llvm-3.5-gcc-4.9.patch b/main/llvm/llvm-3.5-gcc-4.9.patch
index f60c4df723..f60c4df723 100644
--- a/testing/llvm/llvm-3.5-gcc-4.9.patch
+++ b/main/llvm/llvm-3.5-gcc-4.9.patch
diff --git a/testing/llvm/llvm-3.6-musl-triple.patch b/main/llvm/llvm-3.6-musl-triple.patch
index 08919c680e..08919c680e 100644
--- a/testing/llvm/llvm-3.6-musl-triple.patch
+++ b/main/llvm/llvm-3.6-musl-triple.patch
diff --git a/testing/llvm/llvm-3.6-musl.patch b/main/llvm/llvm-3.6-musl.patch
index ba3c49f785..ba3c49f785 100644
--- a/testing/llvm/llvm-3.6-musl.patch
+++ b/main/llvm/llvm-3.6-musl.patch
diff --git a/main/llvm/llvm-alpine-linux.patch b/main/llvm/llvm-alpine-linux.patch
deleted file mode 100644
index d096916731..0000000000
--- a/main/llvm/llvm-alpine-linux.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-diff -ru llvm-3.5.0.src.orig/include/llvm/ADT/Triple.h llvm-3.5.0.src/include/llvm/ADT/Triple.h
---- llvm-3.5.0.src.orig/include/llvm/ADT/Triple.h 2014-07-18 17:28:19.000000000 -0300
-+++ llvm-3.5.0.src/include/llvm/ADT/Triple.h 2014-11-12 14:44:41.738448045 -0200
-@@ -149,6 +149,10 @@
- EABIHF,
- Android,
-
-+ Musl,
-+ MuslEABI,
-+ MuslEABIHF,
-+
- MSVC,
- Itanium,
- Cygnus,
-Only in llvm-3.5.0.src/include/llvm/ADT: Triple.h.orig
-diff -ru llvm-3.5.0.src.orig/lib/Support/Triple.cpp llvm-3.5.0.src/lib/Support/Triple.cpp
---- llvm-3.5.0.src.orig/lib/Support/Triple.cpp 2014-07-18 17:28:19.000000000 -0300
-+++ llvm-3.5.0.src/lib/Support/Triple.cpp 2014-11-12 14:47:06.565122146 -0200
-@@ -168,6 +168,9 @@
- case CODE16: return "code16";
- case EABI: return "eabi";
- case EABIHF: return "eabihf";
-+ case Musl: return "musl";
-+ case MuslEABI: return "musleabi";
-+ case MuslEABIHF: return "musleabihf";
- case Android: return "android";
- case MSVC: return "msvc";
- case Itanium: return "itanium";
-@@ -344,6 +347,9 @@
- .StartsWith("gnux32", Triple::GNUX32)
- .StartsWith("code16", Triple::CODE16)
- .StartsWith("gnu", Triple::GNU)
-+ .StartsWith("musl", Triple::Musl)
-+ .StartsWith("musleabi", Triple::MuslEABI)
-+ .StartsWith("musleabihf", Triple::MuslEABIHF)
- .StartsWith("android", Triple::Android)
- .StartsWith("msvc", Triple::MSVC)
- .StartsWith("itanium", Triple::Itanium)
-Only in llvm-3.5.0.src/lib/Support: Triple.cpp.orig
-diff -ru llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.cpp llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.cpp
---- llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.cpp 2014-07-16 23:13:31.000000000 -0300
-+++ llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.cpp 2014-11-12 14:50:40.025133104 -0200
-@@ -273,6 +273,8 @@
- case Triple::EABIHF:
- case Triple::GNUEABI:
- case Triple::GNUEABIHF:
-+ case Triple::MuslEABI:
-+ case Triple::MuslEABIHF:
- TargetABI = ARM_ABI_AAPCS;
- break;
- default:
-diff -ru llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.h llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.h
---- llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.h 2014-07-16 23:13:31.000000000 -0300
-+++ llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.h 2014-11-12 14:53:36.571808822 -0200
-@@ -372,8 +372,10 @@
- bool isTargetEHABICompatible() const {
- return (TargetTriple.getEnvironment() == Triple::EABI ||
- TargetTriple.getEnvironment() == Triple::GNUEABI ||
-+ TargetTriple.getEnvironment() == Triple::MuslEABI ||
- TargetTriple.getEnvironment() == Triple::EABIHF ||
- TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
-+ TargetTriple.getEnvironment() == Triple::MuslEABIHF ||
- TargetTriple.getEnvironment() == Triple::Android) &&
- !isTargetDarwin() && !isTargetWindows();
- }
-diff -ru llvm-3.5.0.src.orig/tools/clang/lib/Driver/ToolChains.cpp llvm-3.5.0.src/tools/clang/lib/Driver/ToolChains.cpp
---- llvm-3.5.0.src.orig/tools/clang/lib/Driver/ToolChains.cpp 2014-08-27 23:07:31.000000000 -0300
-+++ llvm-3.5.0.src/tools/clang/lib/Driver/ToolChains.cpp 2014-11-12 15:09:14.805190323 -0200
-@@ -1324,7 +1324,9 @@
- static const char *const ARMTriples[] = { "arm-linux-gnueabi",
- "arm-linux-androideabi" };
- static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf",
-- "armv7hl-redhat-linux-gnueabi" };
-+ "armv7hl-redhat-linux-gnueabi",
-+ "armv6-alpine-linux-muslgnueabihf",
-+ "armv7-alpine-linux-muslgnueabihf" };
- static const char *const ARMebLibDirs[] = { "/lib" };
- static const char *const ARMebTriples[] = { "armeb-linux-gnueabi",
- "armeb-linux-androideabi" };
-@@ -1336,7 +1338,7 @@
- "x86_64-linux-gnu", "x86_64-unknown-linux-gnu", "x86_64-pc-linux-gnu",
- "x86_64-redhat-linux6E", "x86_64-redhat-linux", "x86_64-suse-linux",
- "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux",
-- "x86_64-linux-android", "x86_64-unknown-linux"
-+ "x86_64-linux-android", "x86_64-alpine-linux-musl", "x86_64-unknown-linux"
- };
- static const char *const X32LibDirs[] = { "/libx32" };
- static const char *const X86LibDirs[] = { "/lib32", "/lib" };
-@@ -1344,7 +1346,8 @@
- "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", "i386-linux-gnu",
- "i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linux",
- "i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
-- "i686-montavista-linux", "i686-linux-android", "i586-linux-gnu"
-+ "i686-montavista-linux", "i686-linux-android", "i586-linux-gnu",
-+ "i486-alpine-linux-musl"
- };
-
- static const char *const MIPSLibDirs[] = { "/lib" };
-@@ -2777,6 +2780,7 @@
- /// Distribution (very bare-bones at the moment).
-
- enum Distro {
-+ AlpineLinux,
- ArchLinux,
- DebianLenny,
- DebianSqueeze,
-@@ -2888,6 +2892,9 @@
- if (llvm::sys::fs::exists("/etc/arch-release"))
- return ArchLinux;
-
-+ if (llvm::sys::fs::exists("/etc/alpine-release"))
-+ return AlpineLinux;
-+
- return UnknownDistro;
- }
-
-@@ -3042,7 +3049,7 @@
-
- Distro Distro = DetectDistro(Arch);
-
-- if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) {
-+ if (IsOpenSUSE(Distro) || IsUbuntu(Distro) || Distro == AlpineLinux) {
- ExtraOpts.push_back("-z");
- ExtraOpts.push_back("relro");
- }
-diff -ru llvm-3.5.0.src.orig/tools/clang/lib/Driver/Tools.cpp llvm-3.5.0.src/tools/clang/lib/Driver/Tools.cpp
---- llvm-3.5.0.src.orig/tools/clang/lib/Driver/Tools.cpp 2014-08-07 07:51:51.000000000 -0300
-+++ llvm-3.5.0.src/tools/clang/lib/Driver/Tools.cpp 2014-11-12 15:11:31.901864030 -0200
-@@ -7182,8 +7182,14 @@
- return "/system/bin/linker64";
- else
- return "/system/bin/linker";
-- } else if (ToolChain.getArch() == llvm::Triple::x86 ||
-- ToolChain.getArch() == llvm::Triple::sparc)
-+ } else if (ToolChain.getArch() == llvm::Triple::x86) {
-+ switch (ToolChain.getTriple().getEnvironment()) {
-+ case llvm::Triple::Musl:
-+ return "/lib/ld-musl-i386.so.1";
-+ default:
-+ return "/lib/ld-linux.so.2";
-+ }
-+ } else if (ToolChain.getArch() == llvm::Triple::sparc)
- return "/lib/ld-linux.so.2";
- else if (ToolChain.getArch() == llvm::Triple::aarch64 ||
- ToolChain.getArch() == llvm::Triple::arm64)
-@@ -7193,10 +7199,17 @@
- return "/lib/ld-linux-aarch64_be.so.1";
- else if (ToolChain.getArch() == llvm::Triple::arm ||
- ToolChain.getArch() == llvm::Triple::thumb) {
-- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
-+ switch (ToolChain.getTriple().getEnvironment()) {
-+ case llvm::Triple::Musl:
-+ case llvm::Triple::MuslEABI:
-+ return "/lib/ld-musl-arm.so.3";
-+ case llvm::Triple::MuslEABIHF:
-+ return "/lib/ld-musl-armhf.so.3";
-+ case llvm::Triple::GNUEABIHF:
- return "/lib/ld-linux-armhf.so.3";
-- else
-+ default:
- return "/lib/ld-linux.so.3";
-+ }
- } else if (ToolChain.getArch() == llvm::Triple::armeb ||
- ToolChain.getArch() == llvm::Triple::thumbeb) {
- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
-@@ -7227,8 +7240,14 @@
- else if (ToolChain.getArch() == llvm::Triple::x86_64 &&
- ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
- return "/libx32/ld-linux-x32.so.2";
-- else
-- return "/lib64/ld-linux-x86-64.so.2";
-+ else {
-+ switch (ToolChain.getTriple().getEnvironment()) {
-+ case llvm::Triple::Musl:
-+ return "/lib/ld-musl-x86_64.so.1";
-+ default:
-+ return "/lib64/ld-linux-x86-64.so.2";
-+ }
-+ }
- }
-
- static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,
diff --git a/main/llvm/llvm-musl.patch b/main/llvm/llvm-musl.patch
deleted file mode 100644
index b6a3e216f0..0000000000
--- a/main/llvm/llvm-musl.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -ru llvm-3.5.0.src.orig/include/llvm/Target/TargetLibraryInfo.h llvm-3.5.0.src/include/llvm/Target/TargetLibraryInfo.h
---- llvm-3.5.0.src.orig/include/llvm/Target/TargetLibraryInfo.h 2014-11-13 12:51:53.341455401 +0000
-+++ llvm-3.5.0.src/include/llvm/Target/TargetLibraryInfo.h 2014-11-13 12:52:35.078889077 +0000
-@@ -13,6 +13,15 @@
- #include "llvm/ADT/DenseMap.h"
- #include "llvm/Pass.h"
-
-+#undef fopen64
-+#undef fseeko64
-+#undef fstat64
-+#undef fstatvfs64
-+#undef ftello64
-+#undef lstat64
-+#undef stat64
-+#undef tmpfile64
-+
- namespace llvm {
- class Triple;
-
-diff -ru llvm-3.5.0.src.orig/lib/Support/DynamicLibrary.cpp llvm-3.5.0.src/lib/Support/DynamicLibrary.cpp
---- llvm-3.5.0.src.orig/lib/Support/DynamicLibrary.cpp 2014-11-13 12:51:53.341455401 +0000
-+++ llvm-3.5.0.src/lib/Support/DynamicLibrary.cpp 2014-11-13 12:52:07.781720766 +0000
-@@ -138,7 +138,7 @@
-
- // This macro returns the address of a well-known, explicit symbol
- #define EXPLICIT_SYMBOL(SYM) \
-- if (!strcmp(symbolName, #SYM)) return &SYM
-+ if (!strcmp(symbolName, #SYM)) return (void *) &SYM
-
- // On linux we have a weird situation. The stderr/out/in symbols are both
- // macros and global variables because of standards requirements. So, we
-diff -ru llvm-3.5.0.src.orig/lib/Support/Unix/Signals.inc llvm-3.5.0.src/lib/Support/Unix/Signals.inc
---- llvm-3.5.0.src.orig/lib/Support/Unix/Signals.inc 2014-11-13 12:51:53.341455401 +0000
-+++ llvm-3.5.0.src/lib/Support/Unix/Signals.inc 2014-11-13 12:52:07.781720766 +0000
-@@ -266,7 +266,7 @@
- // On glibc systems we have the 'backtrace' function, which works nicely, but
- // doesn't demangle symbols.
- void llvm::sys::PrintStackTrace(FILE *FD) {
--#if defined(HAVE_BACKTRACE) && defined(ENABLE_BACKTRACES)
-+#if defined(__GLIBC__) && defined(HAVE_BACKTRACE) && defined(ENABLE_BACKTRACES)
- static void* StackTrace[256];
- // Use backtrace() to output a backtrace on Linux systems with glibc.
- int depth = backtrace(StackTrace,
-diff -ru llvm-3.5.0.src.orig/lib/Target/TargetLibraryInfo.cpp llvm-3.5.0.src/lib/Target/TargetLibraryInfo.cpp
---- llvm-3.5.0.src.orig/lib/Target/TargetLibraryInfo.cpp 2014-11-13 12:51:53.341455401 +0000
-+++ llvm-3.5.0.src/lib/Target/TargetLibraryInfo.cpp 2014-11-13 12:52:07.785054160 +0000
-@@ -653,14 +653,15 @@
- }
-
- // The following functions are available on at least Linux:
-- if (!T.isOSLinux()) {
-+ if (!T.isOSLinux())
-+ TLI.setUnavailable(LibFunc::memalign);
-+ if (1 /*!T.isGlibc()*/) {
- TLI.setUnavailable(LibFunc::dunder_strdup);
- TLI.setUnavailable(LibFunc::dunder_strtok_r);
- TLI.setUnavailable(LibFunc::dunder_isoc99_scanf);
- TLI.setUnavailable(LibFunc::dunder_isoc99_sscanf);
- TLI.setUnavailable(LibFunc::under_IO_getc);
- TLI.setUnavailable(LibFunc::under_IO_putc);
-- TLI.setUnavailable(LibFunc::memalign);
- TLI.setUnavailable(LibFunc::fopen64);
- TLI.setUnavailable(LibFunc::fseeko64);
- TLI.setUnavailable(LibFunc::fstat64);
-diff -ru llvm-3.5.0.src.orig/utils/unittest/googletest/src/gtest.cc llvm-3.5.0.src/utils/unittest/googletest/src/gtest.cc
---- llvm-3.5.0.src.orig/utils/unittest/googletest/src/gtest.cc 2014-11-13 12:51:53.341455401 +0000
-+++ llvm-3.5.0.src/utils/unittest/googletest/src/gtest.cc 2014-11-13 12:52:07.785054160 +0000
-@@ -120,6 +120,7 @@
-
- #if GTEST_CAN_STREAM_RESULTS_
- # include <arpa/inet.h> // NOLINT
-+# include <sys/socket.h> // NOLINT
- # include <netdb.h> // NOLINT
- #endif
-
diff --git a/testing/llvm/APKBUILD b/testing/llvm/APKBUILD
deleted file mode 100644
index 5f2cccae94..0000000000
--- a/testing/llvm/APKBUILD
+++ /dev/null
@@ -1,244 +0,0 @@
-# Contributor: Travis Tilley <ttilley@gmail.com>
-# Maintainer: William Pitcock <nenolod@dereferenced.org>
-pkgname=llvm
-pkgver=3.6.0
-pkgrel=1
-pkgdesc="low level virtual machine compiler system"
-arch="x86_64 armhf"
-url="http://llvm.org/"
-license="UOI-NCSA"
-depends=""
-depends_dev="perl"
-makedepends="$depends_dev make flex bison groff libffi-dev zlib-dev ncurses-dev libedit-dev python chrpath"
-install=
-subpackages="clang-libs:clang_libs clang
- $pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs"
-source="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/compiler-rt-$pkgver.src.tar.xz
- llvm-3.5-gcc-4.9.patch
- llvm-3.6-musl-triple.patch
- llvm-3.6-musl.patch
- compiler-rt-3.6-musl-disable-sanitizers.patch
- compiler-rt-3.6-musl-no-dlvsym.patch
- clang-3.5-fix-stdint.patch
- clang-3.6-fix-unwind-chain-inclusion.patch
- clang-3.6-remove-lgcc-when-using-compiler-rt.patch
- clang-3.6-add-alpine-distro.patch
- clang-3.6-alpine-use-z-relro.patch
- clang-3.6-alpine-hash-style-gnu.patch
- clang-3.6-default-runtime-compiler-rt.patch
- clang-3.6-musl-alpine-triple.patch
- clang-3.6-musl-fix-dynamic-linker-paths.patch
- clang-3.6-musl-use-init-array.patch
- clang-3.6-musl-no-use-cxa-atexit.patch
- "
-
-_builddir="$srcdir"/build
-
-_srcdir="$srcdir"/"$pkgname-$pkgver.src"
-_srcdir_clang="$_srcdir"/tools/clang
-_srcdir_compiler_rt="$_srcdir"/projects/compiler-rt
-# _srcdir_clang_extra="$_srcdir_clang"/tools/extra
-# _srcdir_lld="$_srcdir"/tools/lld
-
-prepare() {
- msg "Preparing LLVM/CLANG sources..."
- mv "$srcdir"/cfe-$pkgver.src \
- "$_srcdir_clang" || return 1
- mv "$srcdir"/compiler-rt-$pkgver.src \
- "$_srcdir_compiler_rt" || return 1
- # mv "$srcdir"/clang-tools-extra-$pkgver.src \
- # "$_srcdir_clang_extra" || return 1
- # mv "$srcdir"/lld-$pkgver.src \
- # "$_srcdir_lld" || return 1
-
- msg "Patching LLVM core..."
- cd "$_srcdir" || return 1
- update_config_sub || return 1
- for i in $source; do
- case $i in
- llvm*.patch)
- msg "Applying $i..."
- patch -s -p1 -N -i "$srcdir"/$i || return 1
- ;;
- esac
- done
-
- msg "Patching compiler-rt..."
- cd "$_srcdir_compiler_rt" || return 1
- for i in $source; do
- case $i in
- compiler-rt*.patch)
- msg "Applying $i..."
- patch -s -p1 -N -i "$srcdir"/$i || return 1
- ;;
- esac
- done
-
- msg "Patching clang..."
- cd "$_srcdir_clang" || return 1
- for i in $source; do
- case $i in
- clang-*.patch)
- msg "Applying $i..."
- patch -s -p1 -N -i "$srcdir"/$i || return 1
- ;;
- esac
- done
-}
-
-build() {
- mkdir "$_builddir"
- cd "$_builddir"
-
- export CBUILD
- sed -i -e '/case "\${UNAME_MACHINE}:\${UNAME_SYSTEM}:\${UNAME_RELEASE}:\${UNAME_VERSION}" in/i \' \
- -e 'if [ x != "x$CBUILD" ]; then echo "$CBUILD"; exit; fi' \
- ../$pkgname-$pkgver.src/autoconf/config.guess \
- || return 1
-
- export CPPFLAGS="${CPPFLAGS} $(pkg-config --cflags-only-I libffi) $(pkg-config --cflags-only-I libedit)"
-
- $_srcdir/configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --enable-shared \
- --enable-optimized \
- --enable-keep-symbols \
- --enable-libedit \
- --enable-terminfo \
- --enable-libffi \
- --enable-clang-plugin-support \
- --enable-clang-static-analyzer \
- --enable-docs \
- --enable-threads \
- --enable-zlib \
- --enable-pic \
- --enable-targets=x86,x86_64,arm,arm64,cpp,r600 \
- --enable-bindings=none \
- --disable-timestamps \
- --disable-assertions \
- --disable-expensive-checks \
- --disable-libcpp \
- --disable-werror \
- || return 1
-
- make || return 1
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install
-
- #relocate docs
- mkdir -p "$pkgdir"/usr/share/doc
- mv "$pkgdir"/usr/docs/llvm "$pkgdir"/usr/share/doc/ || return 1
- rmdir "$pkgdir"/usr/docs || return 1
- chrpath -d "$pkgdir"/usr/bin/* "$pkgdir"/usr/lib/*.so || return 1
-
- # remove erroneously installed example
- rm "$pkgdir"/usr/lib/*LLVMHello.* || return 1
-
- # remove executable bit from static libc
- chmod -x "$pkgdir"/usr/lib/*.a
-}
-
-clang_libs() {
- pkgdesc="Runtime library for clang"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libclang.so "$subpkgdir"/usr/lib/
-}
-
-clang() {
- pkgdesc="A C language family front-end for LLVM"
- mkdir -p "$subpkgdir"/usr/bin \
- "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/clang "$subpkgdir"/usr/include
- mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/c-index-test \
- "$subpkgdir"/usr/bin/ || return 1
- mv "$pkgdir"/usr/lib/clang \
- "$subpkgdir"/usr/lib/ || return 1
- mv "$pkgdir"/usr/include/clang "$pkgdir"/usr/include/clang-c \
- "$subpkgdir"/usr/include/ || return 1
-
- cp -r "$_srcdir"/tools/clang/tools/scan-build "$subpkgdir"/usr/share/clang/scan-build
- cp -r "$_srcdir"/tools/clang/tools/scan-view "$subpkgdir"/usr/share/clang/scan-view
-
- ln -s /usr/share/clang/scan-build/scan-build "$subpkgdir"/usr/bin/scan-build
- ln -s /usr/share/clang/scan-view/scan-view "$subpkgdir"/usr/bin/scan-view
-}
-
-static() {
- pkgdesc="LLVM static libraries"
- depends=
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
-}
-
-libs() {
- pkgdesc="LLVM shared libraries"
- mkdir -p "$subpkgdir"/usr/lib/
- mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
-}
-
-md5sums="f1e14e949f8df3047c59816c55278cec llvm-3.6.0.src.tar.xz
-e3012065543dc6ab8a9842b09616b78d cfe-3.6.0.src.tar.xz
-cc36dbcafe43406083e98bc9e74f8054 compiler-rt-3.6.0.src.tar.xz
-178eecb7554f893198716e35245fc3c9 llvm-3.5-gcc-4.9.patch
-74f92f6719995be866f461a29a7c8112 llvm-3.6-musl-triple.patch
-3068c2bc0dd0f694d002d992743401ac llvm-3.6-musl.patch
-b1732677fb7641c13300a98bdd47d467 compiler-rt-3.6-musl-disable-sanitizers.patch
-a56d3a3da587b5936e338d85947bd16f compiler-rt-3.6-musl-no-dlvsym.patch
-be9b343bacbd220a154b0a773bcd3bd3 clang-3.5-fix-stdint.patch
-02df7f41728ceb3b401dd3972531d4ec clang-3.6-fix-unwind-chain-inclusion.patch
-9790d1131f498f5957e0107727489704 clang-3.6-remove-lgcc-when-using-compiler-rt.patch
-74612f41b5bda8f05be5cf2e59eebd26 clang-3.6-add-alpine-distro.patch
-dbf4e6686137d097768e971c0efd4a0b clang-3.6-alpine-use-z-relro.patch
-7495743d3c85ad48fd7ab9ca1f674884 clang-3.6-alpine-hash-style-gnu.patch
-a26e050907fae3f8ac51375826f9767c clang-3.6-default-runtime-compiler-rt.patch
-bf66b2ce06519085484776e40290118a clang-3.6-musl-alpine-triple.patch
-28266841c807bd3835186ad32942ac11 clang-3.6-musl-fix-dynamic-linker-paths.patch
-b7e213b69c848ad1bcb98a798a2f9d1d clang-3.6-musl-use-init-array.patch
-01eb6923bfa059e36ab39f44b2b6f03f clang-3.6-musl-no-use-cxa-atexit.patch"
-sha256sums="b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce llvm-3.6.0.src.tar.xz
-be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d cfe-3.6.0.src.tar.xz
-7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 compiler-rt-3.6.0.src.tar.xz
-96851b9d89647276f4611ea7db59f84240a727b199925ee6c9599f959fc7bd05 llvm-3.5-gcc-4.9.patch
-fbe1bab0aa5eb8c54ac1ed0f7d27212efd597c8eaa889599549d0defe82bc7c9 llvm-3.6-musl-triple.patch
-f1ca24437533c5022d591b8b9a5ea7f0494e984a5c24ef1e5dcf71dbee0df240 llvm-3.6-musl.patch
-d5aa68e35fe3fe0cb2393d3abecd80987c4876f332ca03b55f03bcd82b2b720d compiler-rt-3.6-musl-disable-sanitizers.patch
-90a582ef8561ed4953feae7f19f3a30856da845174ae93e7acdb4bc088be5b78 compiler-rt-3.6-musl-no-dlvsym.patch
-a41aa73b9edcf0588d61e17e9d53738e9e16209eac9c5488eaef7770ab1517d1 clang-3.5-fix-stdint.patch
-2c73e2c6f3e90e2535e0662714645fc4d1189b4b1beb5a0ebb6ba1af62580d23 clang-3.6-fix-unwind-chain-inclusion.patch
-dea41fd9eb16d2c3b9b73ad1ee3af2923b26f806185494835c899700ec6830f4 clang-3.6-remove-lgcc-when-using-compiler-rt.patch
-4f68d475947eb35515231fdf23dc5a92f656038ca21b0d3d0ea110129b07d313 clang-3.6-add-alpine-distro.patch
-ba0dd990424699b92b79c8511143cbf33766e8d2009a979928e9b8229fa3cfba clang-3.6-alpine-use-z-relro.patch
-46f4c3c08bee21cc9051181108776f37acc7e9589c85f62dbd6a842b842f5a43 clang-3.6-alpine-hash-style-gnu.patch
-8c8295e10453e89d8ae70d709a91f186ea5e279494ab538e28339d9d2efa3ae8 clang-3.6-default-runtime-compiler-rt.patch
-da420dda54b0058140a4ade99de49e617c2533857ccb327d95bf51027bb0bcf8 clang-3.6-musl-alpine-triple.patch
-03c392733933198adbb3e6cb2eb9ed95e8d01f7d013e3fe2d12a8f1001b73893 clang-3.6-musl-fix-dynamic-linker-paths.patch
-03709cff62464ef2afdaa2bfaccf4dffd5d3e20eee561fb94e486a2912d8a6e6 clang-3.6-musl-use-init-array.patch
-3d5c097ab1a4e4cfadeeb11aef66a90daaff11095dd3349f25832bedc317cac8 clang-3.6-musl-no-use-cxa-atexit.patch"
-sha512sums="ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 llvm-3.6.0.src.tar.xz
-dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe cfe-3.6.0.src.tar.xz
-2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 compiler-rt-3.6.0.src.tar.xz
-a16f175c75893ac58350e0573012a66c1e8908e94a03197ca50b147eb492402e706e4816b80428ccdf92a112673ec8552a0d5dc699dc95250e756c161328d9f2 llvm-3.5-gcc-4.9.patch
-a084b995b2ea65c19da5e000459c993d5a3396f0eb4f6d6ec29299d98f3df8ee6f23723f8d19e93ef906861bb83dbba5c05b8cf7801f92c8748b8687247e25d2 llvm-3.6-musl-triple.patch
-e3f4203679c978cbf359200de0cd60c0adcc58c92611ec70b4b991c6612e0b41b67c19c9994769302284edb953e258d3717ec32d90abbd9bdeff3739aa5ffb18 llvm-3.6-musl.patch
-e9cf172aac82b5e4680d4c6fb25f11e04d1db75ad4e99f7117c08631ca8a7955677fc046f58b6eef05f9e98ef0374eb9248b5674aa26b08d9f7efd30525740be compiler-rt-3.6-musl-disable-sanitizers.patch
-8cde42c93a1eda14d31f8e51ffd00d031f10071e9a4ee91fa9b08ef5b8e7bf9ec32ccd102b652e35e6f75d1339d934daa68185529ca6dba74e61f979a27498f3 compiler-rt-3.6-musl-no-dlvsym.patch
-764382fc79598ca85c9c500d16e02a2710025416dc9bd8a7407aad38e663dee9539e47a1ae763b45c36cd86c4ff5853c4799835cd7363a3a208191ae7a703321 clang-3.5-fix-stdint.patch
-4cbabce34b7352bf5a043db3abe8931f58adce4fda80846c39b63399a025cbbac572052d3f0f598466bc9dca23b8ff88e655b10bf54b3870bc4e6f4225b6f558 clang-3.6-fix-unwind-chain-inclusion.patch
-d50aa3271e9247896bd3df5a55c987da81a01892af8afbd0483cff4c0467b2dc438fa9166d1aaeaf5165555c30d4a2af68c3bdbfa8fba798c2ca124172cf2642 clang-3.6-remove-lgcc-when-using-compiler-rt.patch
-f5fa5aa1b2a559215792a98806b18b32ce6b82e57afb09aa3886b22f71420c8377b784f55610b4948185e115b39aeeaf1f27625d0d91dbd3b146e4986eb29c54 clang-3.6-add-alpine-distro.patch
-61d0113e2287b82d27b4d08ed98e8f2dad864a36a295f9d8a28d54b6b8516ecda2986d402ba04146976e25e35198e12d567df80979c88081369ac386fa213a0f clang-3.6-alpine-use-z-relro.patch
-1982e8b84415fa314b040cbecac38640d754105b5af2c26d5aa7ca74d7ef14cc074bf7a5537dc492a7051d8f94035a1d69de2e913eabee7fcd1b50d6f6f126f7 clang-3.6-alpine-hash-style-gnu.patch
-b906ff5a59c83e553d67b2574bcd3c22e7975b487ad928f9e0db0a07ffb54c5e412d4527401db63f1de94884410709b4fe637e12d36fa0c0661f69fd88f09c25 clang-3.6-default-runtime-compiler-rt.patch
-d2192b615307a762d324a1643dae33bc8a97e22e6a9dd712f9a243c6d3f728c9f9f036ce34d4137c8537651d78332ad8b98fd7f325648ac68e1bda54f5f58348 clang-3.6-musl-alpine-triple.patch
-d3f6c97bdfccdab056aef149413108eb1fdf68d10782cdb1a50695a8e2e53432555a73c640ae635c697d41330c7869acc864b9f0fedbb1a4cba6d13785168564 clang-3.6-musl-fix-dynamic-linker-paths.patch
-4ae8409f3d03e8b30cbe33be507a43194ff6f3e6ce6467d3341ff08f08b12a22517a4c4b012f1b1029d956f8c486412353d937f316a7648a5be14549555aecae clang-3.6-musl-use-init-array.patch
-20cddcf4289bb50bedac2636d32824860252617545d85c5cdc13f630a6f8be2be2a7e018401de4cec0a78bafc1f940ed8d565c2cda518b73290cf3ced4d0807e clang-3.6-musl-no-use-cxa-atexit.patch"