[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