mirror of
https://gitdl.cn/https://github.com/chakralinux/lib32.git
synced 2025-02-04 00:47:16 +08:00
132 lines
4.2 KiB
Bash
132 lines
4.2 KiB
Bash
# Lib32 Packages for Chakra, part of chakra-project.org
|
|
#
|
|
# maintainer (x86_64): Giuseppe Calà <jiveaxe@gmail.com>
|
|
# maintainer (x86_64): Anke Boersma <abveritas[at]chakra-project[dot]org>
|
|
# resynced with Arch's version from https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/lib32-llvm
|
|
# adjusted for Chakra
|
|
|
|
pkgname=('lib32-llvm' 'lib32-llvm-libs')
|
|
pkgver=3.5.0
|
|
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.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'
|
|
'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136'
|
|
'SKIP'
|
|
'5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19')
|
|
|
|
prepare() {
|
|
cd "$srcdir/llvm-$pkgver.src"
|
|
|
|
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=${pkgver}")
|
|
|
|
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}}
|
|
|
|
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"
|
|
}
|
|
|
|
# vim:set ts=2 sw=2 et:
|