diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 81 | ||||
-rw-r--r-- | lto.patch | 11 |
3 files changed, 70 insertions, 44 deletions
@@ -1,7 +1,7 @@ pkgbase = djgpp-gcc pkgdesc = Cross GCC for the djgpp cross-compiler - pkgver = 5.3.0 - pkgrel = 2 + pkgver = 6.1.0 + pkgrel = 1 url = http://gcc.gnu.org arch = i686 arch = x86_64 @@ -11,23 +11,27 @@ pkgbase = djgpp-gcc license = LGPL license = FDL license = custom - makedepends = djgpp-djcrx-bootstrap depends = zlib depends = libmpc depends = djgpp-binutils optdepends = djgpp-djcrx: headers and utilities + noextract = djcrx205.zip options = !strip options = staticlibs options = !emptydirs options = !buildflags - source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.bz2 - source = http://isl.gforge.inria.fr/isl-0.12.2.tar.bz2 - source = http://www.bastoul.net/cloog/pages/download/cloog-0.18.1.tar.gz + 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 = http://www.delorie.com/pub/djgpp/current/v2/djcrx205.zip source = gcc-make-xmmintrin-header-cplusplus-compatible.patch - sha512sums = d619847383405fd389f5a2d7225f97fedb01f81478dbb8339047ccba7561a5c20045ab500a8744bffd19ea51892ce09fc37f862f2cfcb42de0f0f8cd8f8da37a - sha512sums = b5dea4d6b504fac22f2d8cd9c47d6896994d3966635a514d45010243db44cfbc009574b808f3587f35d91de629110bc11b52941d4075e21f8646c59656e62aea - sha512sums = 0b12d9f3c39a2425e28e1d7c0a2b3787287fe3e6e3052f094d2ab6cffeb205ce19044100cbfd805659b3e6b3d21ac2f5a3c92848f476de54edfe6b1cbd2172e9 + source = lto.patch + sha512sums = eeed3e2018b8c012aabce419e8d718fde701e5c3c179b4486c61ba46e5736eecc8fccdd18b01fcd973a42c6ad3116dbbe2ee247fe3757d622d373f93ebaf8d2e + sha512sums = c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b + sha512sums = d35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23 + sha512sums = 248034a3c026971eeaa6421ef40f44d03873c62d4edf97490e98c71ac76662eaed531eb734e137a38a644483a34065c3ffc70d3d739682d53c8863bf7b521b90 sha512sums = 7aa9bd2ad82e4ee2e20c45303f0d3df8c040f4ce9854d24e20b920f52de9ab3986e4170224d68672a0f3ab883fea61c6b93380a87bed9cb63d9b865b43765602 + sha512sums = e9fd69b34f1624c17f9db7c82578dbed4fb62d215a2d0ea33c9ed9db958bc75736fba939dafd4aa74bf5539afdf97a5177cc40acd5a76c8c7f65b67a8e2fea68 pkgname = djgpp-gcc @@ -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" diff --git a/lto.patch b/lto.patch new file mode 100644 index 000000000000..48ce95f3c165 --- /dev/null +++ b/lto.patch @@ -0,0 +1,11 @@ +--- configure ++++ configure +@@ -6177,7 +6177,7 @@ + # Among non-ELF, only Windows platforms support the lto-plugin so far. + # Build it unless LTO was explicitly disabled. + case $target in +- *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;; ++ *-cygwin* | *-mingw* | *djgpp*) build_lto_plugin=$enable_lto ;; + *) ;; + esac + |