blob: 476cda67a006f8a1c8fc97170d9b2f86138a94fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# Maintainer: Andris Pavenis <andris.pavenis iki fi>
# Maintainer: carstene1ns <arch carsten-teibes de>
# Contributor: felix <base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg==>
pkgname=djgpp-gcc
pkgver=7.2.0
_target="i686-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=('GPL3' 'LGPL3')
groups=('djgpp')
depends=('zlib' 'libmpc' 'djgpp-binutils' 'djgpp-djcrx')
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"
"lto.patch"
"gcc-7.2.0-djgpp.diff")
sha256sums=('1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a'
'6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
'c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0'
'ef436e945a0bf386c033e6c05a5692621a0927f25fa6c5cedc2e7d1d931fe235')
prepare() {
cd gcc-$pkgver
# link isl for in-tree build
ln -fs "../isl-${_islver}" isl
# build the lto plugin
patch -Np0 < ../lto.patch
# Other DJGPP related changes
patch -Np1 < ../gcc-7.2.0-djgpp.diff
}
build() {
mkdir gcc-build-$_target
cd gcc-build-$_target
export CPPFLAGS="$CPPFLAGS -O2"
../gcc-$pkgver/configure --prefix=/usr --libexecdir=/usr/lib \
--target="$_target" \
--enable-languages=c,c++,ada,fortran,objc,obj-c++ \
--enable-shared --enable-static \
--enable-threads=no --with-system-zlib --with-isl \
--enable-lto --disable-libgomp \
--disable-multilib --enable-checking=release \
--disable-libstdcxx-pch \
--disable-install-libiberty
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*,f951,gnat1}
# 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/share/gcc-$pkgver/python
rm -rf "$pkgdir"/usr/lib/gcc/$_target/$pkgver/include-fixed
rm -f "$pkgdir"/usr/lib/libcc1.*
}
|