1 # $Id: PKGBUILD,v 1.88 2007/11/15 23:53:15 daniel Exp $
2 # Maintainer: Jan de Groot <jgc@archlinux.org>
6 #_snapshot=4.2.1-RC-20070703
7 pkgdesc="The GNU Compiler Collection"
11 url="http://gcc.gnu.org"
12 depends=('binutils>=2.18-3' "gcc-libs>=${pkgver}")
14 source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,objc}-${pkgver}.tar.bz2
15 #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++}-${_snapshot}.tar.bz2
16 ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man-4.2.2.tar.bz2
18 gcc-hash-style-both.patch)
19 md5sums=('b02a013580a9555c7c8f2ca554c02722'
20 '1aa75e06ca16518f16d5df67ba98a392'
21 '36933966adc9cc888879adec0a82cf2f'
22 '4e18ba3db0867ee87a5605006005be62'
23 '8fc86e4c4d1f4ec8b226307d39fbd9e3'
24 '611fbd749019f0ce2fad36fda17e93dd')
27 if ! locale -a | grep ^de_DE; then
28 echo "You need the de_DE locale to build gcc."
32 cd ${startdir}/src/gcc-${pkgver}
33 #cd ${startdir}/src/gcc-${_snapshot}
34 # Don't install libiberty
35 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
37 if [ "${CARCH}" = "x86_64" ]; then
38 patch -Np1 -i ../gcc_pure64.patch || return 1
40 patch -Np0 -i ${startdir}/src/gcc-hash-style-both.patch || return 1
41 # Don't run fixincludes
42 sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
44 echo ${pkgver} > gcc/BASE-VER
48 ../configure --prefix=/usr --enable-shared \
49 --enable-languages=c,c++,objc --enable-threads=posix \
50 --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
51 --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
54 make -j1 DESTDIR=${startdir}/pkg install || return 1
55 mkdir -p ${startdir}/pkg/lib
56 ln -sf ../usr/bin/cpp ${startdir}/pkg/lib/cpp
57 ln -sf gcc ${startdir}/pkg/usr/bin/cc
58 ln -sf g++ ${startdir}/pkg/usr/bin/c++
60 # install the libstdc++ man pages
61 mkdir -p ${startdir}/pkg/usr/man/man3
62 install -m644 ${startdir}/src/man-4.2.0/man3/* ${startdir}/pkg/usr/man/man3/
64 # Remove libraries and translations in gcc-libs
65 rm -f ${startdir}/pkg/usr/lib/lib*
66 find ${startdir}/pkg -name libstdc++.mo -delete
68 # Remove objc files - objc need to be build to have it known to gcc binary
69 rm -f ${startdir}/pkg/usr/lib/gcc/${CHOST}/${pkgver}/cc1obj
70 rm -rf ${startdir}/pkg/usr/lib/gcc/${CHOST}/${pkgver}/include/objc