diff options
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | PKGBUILD | 140 | ||||
-rw-r--r-- | gcc-make-xmmintrin-header-cplusplus-compatible.patch | 24 |
3 files changed, 69 insertions, 120 deletions
@@ -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 @@ -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> |