summaryrefslogtreecommitdiff
path: root/libre-multilib/lib32-clang
diff options
context:
space:
mode:
Diffstat (limited to 'libre-multilib/lib32-clang')
-rw-r--r--libre-multilib/lib32-clang/PKGBUILD93
1 files changed, 42 insertions, 51 deletions
diff --git a/libre-multilib/lib32-clang/PKGBUILD b/libre-multilib/lib32-clang/PKGBUILD
index 9f1a3cbf0..01501bb08 100644
--- a/libre-multilib/lib32-clang/PKGBUILD
+++ b/libre-multilib/lib32-clang/PKGBUILD
@@ -1,14 +1,18 @@
# Maintainer (Arch): PitBall
# Maintainer: André Silva <emulatorman@parabola.nu>
+# Maintainer: Márcio Silva <coadde@parabola.nu>
pkgname=lib32-clang
pkgver=3.5.0
-_base_ver=3.5.0
-pkgrel=1
+pkgrel=2
+pkgdesc="C language family frontend for LLVM (32-bit)"
arch=('x86_64')
-url="http://llvm.org/"
+url="http://clang.llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('lib32-libffi' 'lib32-zlib' 'python2' 'gcc-multilib' 'clang' 'lib32-llvm' 'bc')
+depends=('clang' 'lib32-llvm' 'gcc-multilib')
+# please use libretools, install "multilib-devel" on chroot and add
+# "CHROOTEXTRAPKG=(multilib-devel)" on "/etc/libretools.d/chroot.conf" file.
+makedepends=('lib32-libffi' 'lib32-zlib' 'python2')
options=('staticlibs')
source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
@@ -23,23 +27,16 @@ sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
'5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19')
prepare() {
- # Change directory names to release names so we don't need to change the
- # whole PKGBUILD
- mv llvm-$pkgver{.src,}
- mv cfe-$pkgver.src clang-$pkgver
+ cd "$srcdir/llvm-$pkgver.src"
- cd "$srcdir/llvm-$pkgver"
+ # At the present, clang must reside inside the LLVM source code tree to build
+ # See http://llvm.org/bugs/show_bug.cgi?id=4840
+ mv "$srcdir/cfe-$pkgver.src" tools/clang
- rm -rf projects/compiler-rt
- mv "$srcdir/clang-$pkgver" tools/clang
-
-
- rm -rf projects/compiler-rt
- mv "$srcdir/compiler-rt-$_base_ver.src" projects/compiler-rt
+ mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
# Fix installation directories, ./configure doesn't seem to set them right
- sed -i -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32:' \
- -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
+ sed -i 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32:' \
Makefile.config.in
sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib32:' \
tools/llvm-config/llvm-config.cpp
@@ -47,66 +44,60 @@ prepare() {
autoconf/configure.ac \
configure
- # Use system lib32-llvm
- install -d $srcdir/llvm-$pkgver/Release/lib
- for file in ` pacman -Ql lib32-llvm |grep /lib32/ |awk '{print $2}' |sed '/\/$/d'`; do
- ln -sf $file $srcdir/llvm-$pkgver/Release/lib/
- done
-
# Fix build with GCC 4.9 (patch from Debian)
# http://llvm.org/bugs/show_bug.cgi?id=20067
patch -Np1 -i "$srcdir/llvm-3.5.0-force-link-pass.o.patch"
}
build() {
- cd "$srcdir/llvm-$pkgver"
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export CLANG="clang -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
- export LLVM_CONFIG=/usr/bin/llvm-config32
+ cd $srcdir/llvm-$pkgver.src
+
+ export CC='gcc -m32'
+ export CXX='g++ -m32'
+ export PKG_CONFIG_PATH=/usr/lib32/pkgconfig
+
+ # Apply strip option to configure
+ _optimized_switch=enable
+ [[ $(check_option strip) == n ]] && _optimized_switch=disable
# Include location of libffi headers in CPPFLAGS
CPPFLAGS+=" $(pkg-config --cflags libffi)"
+ # We had to force host and target to get
+ # a proper triplet reported by llvm
+
./configure \
--prefix=/usr \
--libdir=/usr/lib32 \
--sysconfdir=/etc \
--enable-shared \
--enable-libffi \
- --enable-targets=x86 \
- --enable-experimental-targets=R600 \
- --enable-bindings=none \
+ --enable-targets=all \
--disable-expensive-checks \
--disable-debug-runtime \
--disable-assertions \
--with-binutils-include=/usr/include \
--with-python=/usr/bin/python2 \
+ --build=i686-pc-linux-gnu \
--host=i686-pc-linux-gnu \
- --target=i686-pc-linux-gnu \
- --enable-optimized
-
-# --disable-clang-static-analyzer \
+ --$_optimized_switch-optimized
-# make
- make -C projects/compiler-rt clang_linux
- make -C tools/clang/utils/TableGen
- make -C tools/clang/lib
+ make REQUIRES_RTTI=1
}
-package_lib32-clang() {
- pkgdesc="C language family frontend for LLVM (32-bit)"
- url="http://clang.llvm.org/"
- depends=('clang' 'lib32-llvm' 'gcc-multilib')
+package() {
+ cd $srcdir/llvm-$pkgver.src/tools/clang
+
+ make -C lib DESTDIR=$pkgdir install
- install -d $pkgdir/usr/lib32/clang/$pkgver
- ln -s lib32 $pkgdir/usr/lib
+ # fix include dir on lib32 dir
+ rm -rv $pkgdir/usr/lib
+ ln -s /usr/lib/clang $pkgdir/usr/lib32/clang
- cd "$srcdir/llvm-$pkgver/tools/clang"
- make -C lib DESTDIR="$pkgdir" install
# Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib32/*.a
- mv $pkgdir/usr/lib32/clang{,/$pkgver}/include
- rm -rf $pkgdir/usr/lib
+ chmod -x $pkgdir/usr/lib32/*.a
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+
+# vim:set ts=2 sw=2 et: