diff options
author | Janez Zemva | 2017-09-04 20:33:59 +0200 |
---|---|---|
committer | Janez Zemva | 2017-09-04 20:33:59 +0200 |
commit | 2559db18399c5b91d609debb18d9d2a4192e051a (patch) | |
tree | 1ee36769f88ec9c3366e80239828171dd1c1cd88 /PKGBUILD | |
download | aur-2559db18399c5b91d609debb18d9d2a4192e051a.tar.gz |
initial commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..019ec960d0de --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,84 @@ +# Contributor: carstene1ns <arch carsten-teibes de> +# Contributor: felix <base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg==> +# Contributor: janezz55 + +pkgname=djgpp-gcc +pkgver=7.2.0 +_target="i586-pc-msdosdjgpp" +_islver=0.18 +_djver=2.05 +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') +depends=('zlib' 'libmpc' 'dosbox-binutils') +makedepends=('unzip') +optdepends=('djgpp-djcrx: headers and utilities') +options=('!strip' 'staticlibs' '!emptydirs') +source=("https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz" + "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2" + "http://www.delorie.com/pub/djgpp/current/v2/djcrx${_djver//./}.zip" + "lto.patch") +sha256sums=('1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a' + '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b' + '22274ed8d5ee57cf7ccf161f5e1684fd1c0192068724a7d34e1bde168041ca60' + 'c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0') +noextract=("djcrx${_djver//./}.zip") + +prepare() { + cd gcc-$pkgver + + # link isl for in-tree build + ln -fs "../isl-${_islver}" isl + + # hack! - some configure tests for header files break with FORTIFY_SOURCE + sed -i "/ac_cpp=/ s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure + + # build the lto plugin + patch -Np0 < ../lto.patch + + # 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 + i586-pc-msdosdjgpp-as environ.s -o environ.o + i586-pc-msdosdjgpp-ar q libc.a environ.o +} + +build() { + cd gcc-build-$_target + ../gcc-$pkgver/configure --prefix=/usr --libexecdir=/usr/lib \ + --target="$_target" \ + --enable-languages=c,c++ \ + --enable-shared --enable-static \ + --enable-threads \ + --enable-libstdcxx-threads \ + --with-system-zlib --with-isl \ + --enable-lto --disable-dw2-exceptions --disable-libgomp \ + --disable-multilib --enable-checking=release + make all +} + +package_djgpp-gcc() { + 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 + + # 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.* +} |