[arch-commits] Commit in lib32-llvm/repos (2 files)

Evangelos Foutras foutrelis at nymeria.archlinux.org
Mon Jun 16 17:39:35 UTC 2014


    Date: Monday, June 16, 2014 @ 19:39:35
  Author: foutrelis
Revision: 113247

archrelease: copy trunk to multilib-staging-x86_64

Added:
  lib32-llvm/repos/multilib-staging-x86_64/
  lib32-llvm/repos/multilib-staging-x86_64/PKGBUILD
    (from rev 113246, lib32-llvm/trunk/PKGBUILD)

----------+
 PKGBUILD |  136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 136 insertions(+)

Copied: lib32-llvm/repos/multilib-staging-x86_64/PKGBUILD (from rev 113246, lib32-llvm/trunk/PKGBUILD)
===================================================================
--- multilib-staging-x86_64/PKGBUILD	                        (rev 0)
+++ multilib-staging-x86_64/PKGBUILD	2014-06-16 17:39:35 UTC (rev 113247)
@@ -0,0 +1,136 @@
+# $Id$
+# Maintainer: Evangelos Foutras <foutrelis at gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Sebastian Nowicki <sebnow at gmail.com>
+# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
+# Contributor: Tobias Kieslich <tobias at justdreams.de>
+# Contributor: Geoffroy Carrier <geoffroy.carrier at aur.archlinux.org>
+# Contributor: Tomas Lindquist Olsen <tomas at famolsen.dk>
+# Contributor: Roberto Alsina <ralsina at kde.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
+
+pkgname=('lib32-llvm' 'lib32-llvm-libs')
+pkgver=3.4.2
+_base_ver=3.4
+pkgrel=1
+arch=('x86_64')
+url="http://llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+makedepends=('lib32-libffi' 'lib32-zlib' 'python2' 'gcc-multilib')
+options=('staticlibs')
+source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz{,.sig}
+        http://llvm.org/releases/$_base_ver/compiler-rt-$_base_ver.src.tar.gz{,.sig})
+sha256sums=('17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7'
+            'SKIP'
+            'f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c'
+            'SKIP')
+
+prepare() {
+  # Change directory names to release names so we don't need to change the
+  # whole PKGBUILD
+  mv llvm-$pkgver{.src,}
+
+  cd "$srcdir/llvm-$pkgver"
+
+  rm -rf tools/clang
+  
+  rm -rf projects/compiler-rt
+  mv "$srcdir/compiler-rt-$_base_ver" 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:' \
+    Makefile.config.in
+  sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib32:' \
+    tools/llvm-config/llvm-config.cpp
+  sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib32":' \
+    autoconf/configure.ac \
+    configure
+}
+
+build() {
+  cd "$srcdir/llvm-$pkgver"
+
+  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=all \
+    --disable-expensive-checks \
+    --disable-debug-runtime \
+    --disable-assertions \
+    --with-binutils-include=/usr/include \
+    --with-python=/usr/bin/python2 \
+    --host=i386-pc-linux-gnu \
+    --target=i386-pc-linux-gnu \
+    --$_optimized_switch-optimized
+
+  make REQUIRES_RTTI=1
+}
+
+package_lib32-llvm() {
+  pkgdesc="Low Level Virtual Machine (32-bit)"
+  depends=('lib32-llvm-libs' 'llvm')
+
+  cd "$srcdir/llvm-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # The runtime library goes into lib32-llvm-libs
+  mv "$pkgdir/usr/lib32/libLLVM-$pkgver.so" "$srcdir/"
+  mv "$pkgdir/usr/lib32/libLLVM-$_base_ver.so" "$srcdir/"
+
+  # Fix permissions of static libs
+  chmod -x "$pkgdir"/usr/lib32/*.a
+
+  mv "$pkgdir/usr/bin/i386-pc-linux-gnu-llvm-config" "$pkgdir/usr/lib32/llvm-config"
+
+  # Get rid of example Hello transformation
+  rm "$pkgdir"/usr/lib32/*LLVMHello.*
+
+  # Symlink LLVMgold.so into /usr/lib/bfd-plugins
+  # (https://bugs.archlinux.org/task/28479)
+  install -d "$pkgdir/usr/lib32/bfd-plugins"
+  ln -s ../LLVMgold.so "$pkgdir/usr/lib32/bfd-plugins/LLVMgold.so"
+
+  mv "$pkgdir"/usr/include/llvm/Config/*config.h "$pkgdir/"
+  rm -rf "$pkgdir"/usr/{bin,include,share/{doc,man}}
+
+  install -d "$pkgdir/usr/include/llvm/Config"
+  mv "$pkgdir/config.h" "$pkgdir/usr/include/llvm/Config/config-32.h"
+  mv "$pkgdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config-32.h"
+
+  mkdir "$pkgdir"/usr/bin
+  mv "$pkgdir/usr/lib32/llvm-config" "$pkgdir/usr/bin/llvm-config32"
+
+  install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_lib32-llvm-libs() {
+  pkgdesc="Low Level Virtual Machine (runtime library)(32-bit) "
+  depends=('lib32-libffi' 'lib32-zlib' 'lib32-gcc-libs')
+
+  cd "$srcdir"
+
+  install -d "$pkgdir/usr/lib32"
+  cp -P libLLVM-$pkgver.so libLLVM-$_base_ver.so "$pkgdir/usr/lib32/"
+
+  install -Dm644 llvm-$pkgver/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+




More information about the arch-commits mailing list