summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorfelix2016-04-27 19:42:34 +0200
committerfelix2016-04-27 23:49:26 +0200
commitc7cef3a41c531e330b339e3b526cae91ad556135 (patch)
tree0f3e3233b8c0705c2c52b4491e08d07d33a0cf4e /PKGBUILD
parent50b011c04bc20f7da37e43811647499aa8b6e0ae (diff)
downloadaur-c7cef3a41c531e330b339e3b526cae91ad556135.tar.gz
Version 6.1.0-1
Additional changes: * isl 0.16.1 * cloog 0.18.4 * enable LTO * drop dependency on djgpp-djcrx-bootstrap
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD81
1 files changed, 46 insertions, 35 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 86cdd1e42e25..ac099a944d01 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,20 +4,19 @@
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: rubenvb vanboxem <dottie> ruben <attie> gmail <dottie> com
-_targets="i686-pc-msdosdjgpp"
-
pkgname=djgpp-gcc
-pkgver=5.3.0
-_islver=0.12.2
-_cloogver=0.18.1
-pkgrel=2
+pkgver=6.1.0
+_target="i686-pc-msdosdjgpp"
+_islver=0.16.1
+_cloogver=0.18.4
+_djver=2.05
+pkgrel=1
pkgdesc="Cross GCC for the djgpp cross-compiler"
arch=('i686' 'x86_64')
url="http://gcc.gnu.org"
license=('GPL' 'LGPL' 'FDL' 'custom')
groups=('djgpp-toolchain' 'djgpp')
depends=('zlib' 'libmpc' 'djgpp-binutils')
-makedepends=('djgpp-djcrx-bootstrap')
#makedepends+=("gcc-ada=${pkgver}")
optdepends=('djgpp-djcrx: headers and utilities')
replaces=()
@@ -27,14 +26,20 @@ source=(
"ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2"
"http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2"
"http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz"
+ "http://www.delorie.com/pub/djgpp/current/v2/djcrx${_djver//./}.zip"
'gcc-make-xmmintrin-header-cplusplus-compatible.patch'
+ 'lto.patch'
)
sha512sums=(
- 'd619847383405fd389f5a2d7225f97fedb01f81478dbb8339047ccba7561a5c20045ab500a8744bffd19ea51892ce09fc37f862f2cfcb42de0f0f8cd8f8da37a'
- 'b5dea4d6b504fac22f2d8cd9c47d6896994d3966635a514d45010243db44cfbc009574b808f3587f35d91de629110bc11b52941d4075e21f8646c59656e62aea'
- '0b12d9f3c39a2425e28e1d7c0a2b3787287fe3e6e3052f094d2ab6cffeb205ce19044100cbfd805659b3e6b3d21ac2f5a3c92848f476de54edfe6b1cbd2172e9'
+ 'eeed3e2018b8c012aabce419e8d718fde701e5c3c179b4486c61ba46e5736eecc8fccdd18b01fcd973a42c6ad3116dbbe2ee247fe3757d622d373f93ebaf8d2e'
+ 'c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b'
+ 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23'
+ '248034a3c026971eeaa6421ef40f44d03873c62d4edf97490e98c71ac76662eaed531eb734e137a38a644483a34065c3ffc70d3d739682d53c8863bf7b521b90'
'7aa9bd2ad82e4ee2e20c45303f0d3df8c040f4ce9854d24e20b920f52de9ab3986e4170224d68672a0f3ab883fea61c6b93380a87bed9cb63d9b865b43765602'
+ 'e9fd69b34f1624c17f9db7c82578dbed4fb62d215a2d0ea33c9ed9db958bc75736fba939dafd4aa74bf5539afdf97a5177cc40acd5a76c8c7f65b67a8e2fea68'
)
+noextract=("djcrx${_djver//./}.zip")
+
prepare() {
cd "${srcdir}/gcc-${pkgver}"
@@ -47,38 +52,44 @@ prepare() {
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/ s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+ # actually build the lto plugin
+ patch -Np0 < ../lto.patch
+
+ # extract bootstrap djcrx
+ mkdir -p "${srcdir}/gcc-build-${_target}/lib/gcc/${_target}/$pkgver"
+ cd "${srcdir}/gcc-build-${_target}/lib/gcc/${_target}/$pkgver"
+ unzip -qoW "${srcdir}/djcrx${_djver//./}.zip" 'include/**' 'lib/*.[oa]'
+ mv lib/* .
+ ln -fs /bin/true stubify
- # <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41557#c1>
- sed -i -e '/^#define INT[A-Z0-9_]*TYPE / s/signed \(.*int\)/\1/' gcc/config/i386/djgpp-stdint.h
+ # monkeypatch libc to prepare for building without an ldscript
+ echo '.comm __environ,16' > environ.s
+ i686-pc-msdosdjgpp-as environ.s -o environ.o
+ i686-pc-msdosdjgpp-ar q libc.a environ.o
}
build() {
- for _target in ${_targets}; do
- mkdir -p "${srcdir}/gcc-build-${_target}"
- cd "${srcdir}/gcc-build-${_target}"
-
- "${srcdir}/gcc-${pkgver}/configure" --prefix=/usr --libexecdir=/usr/lib \
- --target="${_target}" \
- --enable-languages=c,objc,lto,c++,obj-c++ \
- --enable-shared --enable-static \
- --enable-threads=no --enable-fully-dynamic-string --disable-libstdcxx \
- --with-system-zlib --enable-cloog-backend=isl \
- --disable-lto --disable-dw2-exceptions --disable-libgomp \
- --disable-multilib --enable-checking=release
- make all
- done
+ cd "${srcdir}/gcc-build-${_target}"
+ "${srcdir}/gcc-${pkgver}/configure" --prefix=/usr --libexecdir=/usr/lib \
+ --target="${_target}" \
+ --enable-languages=c,objc,c++,obj-c++ \
+ --enable-shared --enable-static \
+ --enable-threads=no --enable-fully-dynamic-string --disable-libstdcxx \
+ --with-system-zlib --enable-cloog-backend=isl \
+ --enable-lto --disable-dw2-exceptions --disable-libgomp \
+ --disable-multilib --enable-checking=release
+ make all
}
package() {
- for _target in ${_targets}; do
- cd "${srcdir}/gcc-build-${_target}"
- make DESTDIR="${pkgdir}" install
- strip "${pkgdir}/usr/bin/${_target}"-*
- strip "${pkgdir}/usr/lib/gcc/${_target}/${pkgver}"/{cc1*,collect2,lto*}
- ln -s "${_target}-gcc" "$pkgdir/usr/bin/${_target}-cc"
- # mv dlls
- mkdir -p "$pkgdir/usr/${_target}/bin/"
- done
+ cd "${srcdir}/gcc-build-${_target}"
+ make DESTDIR="${pkgdir}" install
+ strip "${pkgdir}/usr/bin/${_target}"-*
+ strip "${pkgdir}/usr/lib/gcc/${_target}/${pkgver}"/{cc1*,collect2,lto*}
+ ln -s "${_target}-gcc" "$pkgdir/usr/bin/${_target}-cc"
+ # mv dlls
+ mkdir -p "$pkgdir/usr/${_target}/bin/"
+
strip "${pkgdir}/usr/bin"/*
# remove unnecessary files
rm -r "${pkgdir}/usr/share"