Initial commit: Uploaded everything from abs/core
[arch-rock.git] / devel / gcc / PKGBUILD
blob4dd062711687d6cce723c138dd8b0c1f0674b69a
1 # $Id: PKGBUILD,v 1.88 2007/11/15 23:53:15 daniel Exp $
2 # Maintainer: Jan de Groot <jgc@archlinux.org>
3 pkgname=gcc
4 pkgver=4.2.2
5 pkgrel=4
6 #_snapshot=4.2.1-RC-20070703
7 pkgdesc="The GNU Compiler Collection"
8 arch=(i686 x86_64)
9 license=('GPL' 'LGPL')
10 groups=('base-devel')
11 url="http://gcc.gnu.org"
12 depends=('binutils>=2.18-3' "gcc-libs>=${pkgver}")
13 options=('!libtool')
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
17         gcc_pure64.patch
18         gcc-hash-style-both.patch)
19 md5sums=('b02a013580a9555c7c8f2ca554c02722'
20          '1aa75e06ca16518f16d5df67ba98a392'
21          '36933966adc9cc888879adec0a82cf2f'
22          '4e18ba3db0867ee87a5605006005be62'
23          '8fc86e4c4d1f4ec8b226307d39fbd9e3'
24          '611fbd749019f0ce2fad36fda17e93dd')
26 build() {
27   if ! locale -a | grep ^de_DE; then
28     echo "You need the de_DE locale to build gcc."
29     return 1
30   fi
31   
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
39   fi
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
46   mkdir build
47   cd build
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 \
52       --with-tune=generic
53   make || return 1
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