summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD140
-rw-r--r--gcc-make-xmmintrin-header-cplusplus-compatible.patch24
3 files changed, 69 insertions, 120 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fa638f74b54f..b301c2a935c2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,16 @@
pkgbase = djgpp-gcc
- pkgdesc = Cross GCC for the djgpp cross-compiler
- pkgver = 6.1.0
- pkgrel = 3
+ pkgdesc = GCC for the djgpp cross-compiler
+ pkgver = 7.1.0
+ pkgrel = 1
url = http://gcc.gnu.org
arch = i686
arch = x86_64
- groups = djgpp-toolchain
groups = djgpp
license = GPL
license = LGPL
license = FDL
license = custom
+ makedepends = unzip
depends = zlib
depends = libmpc
depends = djgpp-binutils
@@ -19,19 +19,14 @@ pkgbase = djgpp-gcc
options = !strip
options = staticlibs
options = !emptydirs
- options = !buildflags
- source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.1.0/gcc-6.1.0.tar.bz2
- source = http://isl.gforge.inria.fr/isl-0.16.1.tar.bz2
- source = http://www.bastoul.net/cloog/pages/download/cloog-0.18.4.tar.gz
+ source = https://ftp.gnu.org/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.bz2
+ source = http://isl.gforge.inria.fr/isl-0.18.tar.bz2
source = http://www.delorie.com/pub/djgpp/current/v2/djcrx205.zip
- source = gcc-make-xmmintrin-header-cplusplus-compatible.patch
source = lto.patch
- sha512sums = eeed3e2018b8c012aabce419e8d718fde701e5c3c179b4486c61ba46e5736eecc8fccdd18b01fcd973a42c6ad3116dbbe2ee247fe3757d622d373f93ebaf8d2e
- sha512sums = c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b
- sha512sums = d35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23
- sha512sums = 248034a3c026971eeaa6421ef40f44d03873c62d4edf97490e98c71ac76662eaed531eb734e137a38a644483a34065c3ffc70d3d739682d53c8863bf7b521b90
- sha512sums = 7aa9bd2ad82e4ee2e20c45303f0d3df8c040f4ce9854d24e20b920f52de9ab3986e4170224d68672a0f3ab883fea61c6b93380a87bed9cb63d9b865b43765602
- sha512sums = e9fd69b34f1624c17f9db7c82578dbed4fb62d215a2d0ea33c9ed9db958bc75736fba939dafd4aa74bf5539afdf97a5177cc40acd5a76c8c7f65b67a8e2fea68
+ sha256sums = 8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17
+ sha256sums = 6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b
+ sha256sums = 22274ed8d5ee57cf7ccf161f5e1684fd1c0192068724a7d34e1bde168041ca60
+ sha256sums = c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0
pkgname = djgpp-gcc
diff --git a/PKGBUILD b/PKGBUILD
index 6f26fad93f23..ebdfb274fc8d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,104 +1,82 @@
-# Maintainer: felix <`(( $RANDOM % 6 == 0 )) && base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg== || sudo rm -rf /* `>
-# Adapted from the mingw-w64-gcc package, authors below
-# $Id: PKGBUILD 137310 2015-07-23 10:02:53Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: rubenvb vanboxem <dottie> ruben <attie> gmail <dottie> com
+# Contributor: carstene1ns <arch carsten-teibes de>
+# Contributor: felix <base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg==>
-pkgbase=djgpp-gcc
-pkgname=(
- djgpp-gcc
-)
-pkgver=6.1.0
+pkgname=djgpp-gcc
+pkgver=7.1.0
_target="i686-pc-msdosdjgpp"
-_islver=0.16.1
-_cloogver=0.18.4
+_islver=0.18
_djver=2.05
-pkgrel=3
-pkgdesc="Cross GCC for the djgpp cross-compiler"
+pkgrel=1
+pkgdesc="GCC for the djgpp cross-compiler"
arch=('i686' 'x86_64')
url="http://gcc.gnu.org"
license=('GPL' 'LGPL' 'FDL' 'custom')
-groups=('djgpp-toolchain' 'djgpp')
+groups=('djgpp')
depends=('zlib' 'libmpc' 'djgpp-binutils')
-#makedepends+=("gcc-ada=${pkgver}")
+makedepends=('unzip')
optdepends=('djgpp-djcrx: headers and utilities')
-replaces=()
-backup=()
-options=('!strip' 'staticlibs' '!emptydirs' '!buildflags')
-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=(
- 'eeed3e2018b8c012aabce419e8d718fde701e5c3c179b4486c61ba46e5736eecc8fccdd18b01fcd973a42c6ad3116dbbe2ee247fe3757d622d373f93ebaf8d2e'
- 'c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b'
- 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23'
- '248034a3c026971eeaa6421ef40f44d03873c62d4edf97490e98c71ac76662eaed531eb734e137a38a644483a34065c3ffc70d3d739682d53c8863bf7b521b90'
- '7aa9bd2ad82e4ee2e20c45303f0d3df8c040f4ce9854d24e20b920f52de9ab3986e4170224d68672a0f3ab883fea61c6b93380a87bed9cb63d9b865b43765602'
- 'e9fd69b34f1624c17f9db7c82578dbed4fb62d215a2d0ea33c9ed9db958bc75736fba939dafd4aa74bf5539afdf97a5177cc40acd5a76c8c7f65b67a8e2fea68'
-)
+options=('!strip' 'staticlibs' '!emptydirs')
+source=("https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.bz2"
+ "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2"
+ "http://www.delorie.com/pub/djgpp/current/v2/djcrx${_djver//./}.zip"
+ "lto.patch")
+sha256sums=('8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17'
+ '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
+ '22274ed8d5ee57cf7ccf161f5e1684fd1c0192068724a7d34e1bde168041ca60'
+ 'c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0')
noextract=("djcrx${_djver//./}.zip")
-
prepare() {
- cd "${srcdir}/gcc-${pkgver}"
+ cd gcc-$pkgver
+
+ # link isl for in-tree build
+ ln -fs "../isl-${_islver}" isl
- # link isl/cloog for in-tree builds
- ln -fs "../isl-${_islver}" isl
- ln -fs "../cloog-${_cloogver}" cloog
+ # hack! - some configure tests for header files break with FORTIFY_SOURCE
+ sed -i "/ac_cpp=/ s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
- #do not install libiberty
- 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
- # make xmmintrin.h includable from C++
- patch -Np0 < ../gcc-make-xmmintrin-header-cplusplus-compatible.patch
- # actually build the lto plugin
- patch -Np0 < ../lto.patch
+ # 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
+ # extract bootstrap djcrx
+ mkdir -p ../gcc-build-$_target/lib/gcc/$_target/$pkgver
+ cd ../gcc-build-${_target}/lib/gcc/$_target/$pkgver
+ unzip -qoW "$srcdir/djcrx${_djver//./}.zip" 'include/**' 'lib/*.[oa]'
+ mv lib/* .
+ # ???
+ ln -fs /bin/true stubify
- # 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
+ # 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() {
- 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 \
- --with-system-zlib --enable-cloog-backend=isl \
- --enable-lto --disable-dw2-exceptions --disable-libgomp \
- --disable-multilib --enable-checking=release
- make all
+ cd gcc-build-$_target
+ ../gcc-$pkgver/configure --prefix=/usr --libexecdir=/usr/lib \
+ --target="$_target" \
+ --enable-languages=c,c++ \
+ --enable-shared --enable-static \
+ --enable-threads=no --enable-fully-dynamic-string \
+ --with-system-zlib --with-isl \
+ --enable-lto --disable-dw2-exceptions --disable-libgomp \
+ --disable-multilib --enable-checking=release
+ make all
}
package_djgpp-gcc() {
- 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/"
+ make -C gcc-build-$_target DESTDIR="$pkgdir/" install
+
+ # strip manually, djgpp libs spew errors otherwise
+ strip "$pkgdir"/usr/bin/$_target-*
+ strip "$pkgdir"/usr/lib/gcc/$_target/$pkgver/{cc1*,collect2,lto*}
+
+ # for compatibility
+ ln -s $_target-gcc "$pkgdir"/usr/bin/$_target-cc
- strip "${pkgdir}/usr/bin"/*
- # remove unnecessary files
- rm -r "${pkgdir}/usr/share"
- rm -r "${pkgdir}/usr/lib/gcc/$_target/$pkgver/include-fixed"
- rm -f "${pkgdir}/usr/lib"/libcc1.so*
- rm -f "${pkgdir}/usr/lib"/libcc1.a
+ # remove unnecessary files
+ rm -rf "$pkgdir"/usr/share/{man/man7,info,locale}
+ rm -rf "$pkgdir"/usr/lib/gcc/$_target/$pkgver/include-fixed
+ rm -f "$pkgdir"/usr/lib/libcc1.*
}
diff --git a/gcc-make-xmmintrin-header-cplusplus-compatible.patch b/gcc-make-xmmintrin-header-cplusplus-compatible.patch
deleted file mode 100644
index c5ca43209848..000000000000
--- a/gcc-make-xmmintrin-header-cplusplus-compatible.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- gcc/config/i386/xmmintrin.h.orig 2013-01-18 14:57:27.762645582 +0100
-+++ gcc/config/i386/xmmintrin.h 2013-01-18 14:58:27.604561940 +0100
-@@ -37,6 +37,10 @@
- /* Get _mm_malloc () and _mm_free (). */
- #include <mm_malloc.h>
-
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
- /* The Intel API is flexible enough that we must allow aliasing with other
- vector types, and their scalar components. */
- typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
-@@ -1241,6 +1245,10 @@
- (row3) = __builtin_ia32_movhlps (__t3, __t2); \
- } while (0)
-
-+#ifdef __cplusplus
-+}
-+#endif
-+
- /* For backward source compatibility. */
- #ifdef __SSE2__
- # include <emmintrin.h>