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

Laurent Carlier lcarlier at archlinux.org
Tue Dec 9 18:24:58 UTC 2014


    Date: Tuesday, December 9, 2014 @ 19:24:58
  Author: lcarlier
Revision: 123686

archrelease: copy trunk to multilib-testing-x86_64

Added:
  lib32-llvm/repos/multilib-testing-x86_64/
  lib32-llvm/repos/multilib-testing-x86_64/PKGBUILD
    (from rev 123685, lib32-llvm/trunk/PKGBUILD)
  lib32-llvm/repos/multilib-testing-x86_64/llvm-3.5.0-force-link-pass.o.patch
    (from rev 123685, lib32-llvm/trunk/llvm-3.5.0-force-link-pass.o.patch)

------------------------------------+
 PKGBUILD                           |  160 +++++++++++++++++++++++++++++++++++
 llvm-3.5.0-force-link-pass.o.patch |   28 ++++++
 2 files changed, 188 insertions(+)

Copied: lib32-llvm/repos/multilib-testing-x86_64/PKGBUILD (from rev 123685, lib32-llvm/trunk/PKGBUILD)
===================================================================
--- multilib-testing-x86_64/PKGBUILD	                        (rev 0)
+++ multilib-testing-x86_64/PKGBUILD	2014-12-09 18:24:58 UTC (rev 123686)
@@ -0,0 +1,160 @@
+# $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' 'lib32-clang')
+pkgver=3.5.0
+pkgrel=2
+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.xz{,.sig}
+        http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+        http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}
+        llvm-3.5.0-force-link-pass.o.patch)
+sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
+            'SKIP'
+            'fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b'
+            'SKIP'
+            'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136'
+            'SKIP'
+            '5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19')
+
+prepare() {
+  cd "$srcdir/llvm-$pkgver.src"
+
+  mv "$srcdir/cfe-$pkgver.src" tools/clang
+  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:' \
+    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
+
+  # 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.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=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 \
+    --$_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.src"
+
+  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-${pkgver%.*}.so" "$srcdir/"
+
+  # Fix permissions of static libs
+  chmod -x "$pkgdir"/usr/lib32/*.a
+
+  mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm-config"
+
+  # Get rid of example Hello transformation
+  rm "$pkgdir"/usr/lib32/*LLVMHello.*
+
+  # Symlink LLVMgold.so from /usr/lib32/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,llvm}}
+  
+  # remove conflicting clang files
+  rm -r "$pkgdir"/usr/lib
+  rm "$pkgdir"/usr/lib32/libclang*
+  
+  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-${pkgver%.*}.so "$pkgdir/usr/lib32/"
+
+  install -Dm644 llvm-$pkgver.src/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_lib32-clang() {
+  pkgdesc="C language family frontend for LLVM"
+  url="http://clang.llvm.org/"
+  depends=("lib32-llvm=$pkgver-$pkgrel" 'clang' 'gcc-multilib')
+
+  cd "$srcdir/llvm-$pkgver.src/tools/clang"
+
+  make DESTDIR="$pkgdir" install
+
+  mv -v "$pkgdir"/usr/lib/* "$pkgdir"/usr/lib32/
+  rm -r "$pkgdir"/usr/{bin,include,lib,share}
+  
+  # Fix permissions of static libs
+  chmod -x "$pkgdir"/usr/lib32/*.a
+
+  install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+

Copied: lib32-llvm/repos/multilib-testing-x86_64/llvm-3.5.0-force-link-pass.o.patch (from rev 123685, lib32-llvm/trunk/llvm-3.5.0-force-link-pass.o.patch)
===================================================================
--- multilib-testing-x86_64/llvm-3.5.0-force-link-pass.o.patch	                        (rev 0)
+++ multilib-testing-x86_64/llvm-3.5.0-force-link-pass.o.patch	2014-12-09 18:24:58 UTC (rev 123686)
@@ -0,0 +1,28 @@
+Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
+===================================================================
+--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
++++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
+@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
+ LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
+                    bitwriter irreader vectorize objcarcopts codegen
+ 
++# Crappy workaround to make sure it links correctly.
++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
++
+ # Support plugins.
+ NO_DEAD_STRIP := 1
+ 
+Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
+===================================================================
+--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
++++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
+@@ -10,7 +10,9 @@
+ LEVEL := ../..
+ TOOLNAME := opt
+ LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
++# Crappy workaround to make sure it links correctly.
+ 
++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
+ # Support plugins.
+ NO_DEAD_STRIP := 1
+ 



More information about the arch-commits mailing list