summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJanez Zemva2017-09-04 20:33:59 +0200
committerJanez Zemva2017-09-04 20:33:59 +0200
commit2559db18399c5b91d609debb18d9d2a4192e051a (patch)
tree1ee36769f88ec9c3366e80239828171dd1c1cd88 /PKGBUILD
downloadaur-2559db18399c5b91d609debb18d9d2a4192e051a.tar.gz
initial commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD84
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.*
+}