diff --git a/gcc-multilib/PKGBUILD b/gcc-multilib/PKGBUILD index a7eeddf..8d2d0f5 100644 --- a/gcc-multilib/PKGBUILD +++ b/gcc-multilib/PKGBUILD @@ -11,27 +11,27 @@ pkgbase='gcc-multilib' pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') -pkgver=4.7.0 +pkgver=4.7.2 pkgrel=1 -_snapshot=4.7-20120414 -_libstdcppmanver=20120307 # Note: check source directory name when updating this +#_snapshot=4.7-20120721 pkgdesc="The GNU Compiler Collection for multilib" arch=('x86_64') license=('GPL' 'LGPL' 'FDL' 'custom') url="http://gcc.gnu.org" -makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' +makedepends=('binutils-multilib>=2.23' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' 'doxygen' 'lib32-glibc>=2.15') checkdepends=('dejagnu') options=('!libtool' '!emptydirs') -source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 +source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 + #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 gcc_pure64-multilib.patch - gcc-4.7.0-cloog-0.17.patch) -md5sums=('9f9d082b64753d5908690500251fc52e' - '489d2f5311535800a120efd8d18db719' + gcc-4.7.1-libada-pic.patch + gcc-4.7.1-libgo-write.patch) +md5sums=('cc308a0891e778cfda7a151ab8a6e762' '2be883cd6707c59c519b15517363ef08' - '488f11cf9822d110dde4a12add1d6e03') + '69f4c4ad538878085042b5c7f206887b' + '5647f5bbbb74fab3013b396da1749d2a') + if [ -n "${_snapshot}" ]; then _basedir="${srcdir}/gcc-${_snapshot}" @@ -48,12 +48,13 @@ build() { # Do not run fixincludes sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in - if [ "${CARCH}" = "x86_64" ]; then - patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch - fi + patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch - # compatibility with latest cloog - patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679 + patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch + + # bug to file... + patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch echo ${pkgver} > gcc/BASE-VER @@ -63,22 +64,30 @@ build() { ${_basedir}/configure --prefix=/usr \ --libdir=/usr/lib --libexecdir=/usr/lib \ --mandir=/usr/share/man --infodir=/usr/share/info \ - --with-bugurl=http://chakra-project.org/bugs/ \ + --with-bugurl=http://chakra-linux.org/bugs/ \ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ --enable-shared --enable-threads=posix \ --with-system-zlib --enable-__cxa_atexit \ --disable-libunwind-exceptions --enable-clocale=gnu \ + --disable-libstdcxx-pch --enable-libstdcxx-time \ --enable-gnu-unique-object --enable-linker-build-id \ --with-ppl --enable-cloog-backend=isl \ + --disable-ppl-version-check --disable-cloog-version-check \ --enable-lto --enable-gold --enable-ld=default \ --enable-plugin --with-plugin-ld=ld.gold \ - --enable-multilib --disable-libssp --disable-libstdcxx-pch \ - --enable-checking=release + --with-linker-hash-style=gnu \ + --enable-multilib --disable-libssp \ + --disable-build-with-cxx --disable-build-poststage1-with-cxx + #--enable-checking=release make + + # make documentation + cd $CHOST/libstdc++-v3 + make doc-man-doxygen } check() { - cd gcc-build + cd ${srcdir}/gcc-build # increase stack size to prevent test failures # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 @@ -89,30 +98,32 @@ check() { ${_basedir}/contrib/test_summary } -package_gcc-libs-multilib() { +package_gcc-libs-multilib() +{ pkgdesc="Runtime libraries shipped by GCC for multilib" depends=('glibc>=2.15' "lib32-gcc-libs=$pkgver-$pkgrel") provides=("gcc-libs=$pkgver-$pkgrel") conflicts=('gcc-libs') install=gcc-libs.install - cd gcc-build + cd ${srcdir}/gcc-build make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared - for lib in libmudflap libgomp libstdc++-v3/src; do + for lib in libmudflap libgomp libstdc++-v3/src libitm; do make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES done make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info + make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info make -j1 DESTDIR=${pkgdir} install-target-libquadmath make -j1 DESTDIR=${pkgdir} install-target-libgfortran make -j1 DESTDIR=${pkgdir} install-target-libobjc # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} - rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} + rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} # remove stuff in lib32-gcc-libs - rm -rf ${pkgdir}/usr/lib32 + rm -r ${pkgdir}/usr/lib32 # remove static libraries find ${pkgdir} -name *.a -delete @@ -122,13 +133,14 @@ package_gcc-libs-multilib() { ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION } -package_lib32-gcc-libs() { +package_lib32-gcc-libs() +{ pkgdesc="Runtime libraries shipped by GCC (32-bit)" depends=('lib32-glibc>=2.15' "gcc-libs>=$pkgver") - cd gcc-build + cd ${srcdir}/gcc-build make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared - for lib in libmudflap libgomp libstdc++-v3/src; do + for lib in libmudflap libgomp libstdc++-v3/src libitm; do make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES done @@ -140,8 +152,8 @@ package_lib32-gcc-libs() { rm ${pkgdir}/usr/lib32/libgfortran.spec # remove stuff in gcc-libs-multilib - rm -rf ${pkgdir}/usr/lib - rm -rf ${pkgdir}/usr/share/info + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/info # remove static libraries find ${pkgdir} -name *.a -delete @@ -151,21 +163,22 @@ package_lib32-gcc-libs() { ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION } -package_gcc-multilib() { +package_gcc-multilib() +{ pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib" - depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.21.1' 'libmpc' 'cloog' 'ppl') + depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.23' 'libmpc' 'cloog' 'ppl') groups=('multilib-devel') provides=("gcc=$pkgver-$pkgrel") conflicts=('gcc') install=gcc.install - cd gcc-build - + cd ${srcdir}/gcc-build + make -j1 DESTDIR=${pkgdir} install - install -d $pkgdir/usr/share/gdb/auto-load - mv $pkgdir/usr/{lib/libstdc++.so.6.0.17-gdb.py,share/gdb/auto-load} - + install -d $pkgdir/usr/share/gdb/auto-load/usr/lib + mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py + # unfortunately it is much, much easier to install the lot and clean-up the mess... rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} rm $pkgdir/usr/lib{,32}/*.so* @@ -180,15 +193,9 @@ package_gcc-multilib() { rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 rm $pkgdir/usr/share/man/man3/ffi* - # many packages require these symlinks - install -dm755 ${pkgdir}/lib - ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp - ln -sf gcc ${pkgdir}/usr/bin/cc - ln -sf g++ ${pkgdir}/usr/bin/c++ - # install gengtype for plugin support - install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ - install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + # many packages expect this symlinks + ln -s gcc ${pkgdir}/usr/bin/cc # POSIX conformance launcher scripts for c89 and c99 cat > $pkgdir/usr/bin/c89 <<"EOF" @@ -221,21 +228,23 @@ EOF # install the libstdc++ man pages install -dm755 ${pkgdir}/usr/share/man/man3 - install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/ + install -m644 -t ${pkgdir}/usr/share/man/man3 \ + ${CHOST}/libstdc++-v3/doc/doxygen/man/man3/*.3 # Install Runtime Library Exception install -Dm644 ${_basedir}/COPYING.RUNTIME \ ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION } -package_gcc-fortran-multilib() { +package_gcc-fortran-multilib() +{ pkgdesc="Fortran front-end for GCC for multilib" depends=("gcc-multilib=$pkgver-$pkgrel") provides=("gcc-fortran=$pkgver-$pkgrel") conflicts=('gcc-fortran') install=gcc-fortran.install - cd gcc-build + cd ${srcdir}/gcc-build make -j1 DESTDIR=${pkgdir} install-target-libquadmath make -j1 DESTDIR=$pkgdir install-target-libgfortran make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS @@ -245,19 +254,22 @@ package_gcc-fortran-multilib() { # remove libraries included in gcc-libs rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so* rm ${pkgdir}/usr/share/info/libquadmath.info - + + ln -s gfortran ${pkgdir}/usr/bin/f95 + # Install Runtime Library Exception install -Dm644 ${_basedir}/COPYING.RUNTIME \ ${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION } -package_gcc-objc-multilib() { +package_gcc-objc-multilib() +{ pkgdesc="Objective-C front-end for GCC for multilib" depends=("gcc-multilib=$pkgver-$pkgrel") provides=("gcc-objc=$pkgver-$pkgrel") conflicts=('gcc-objc') - cd gcc-build + cd ${srcdir}/gcc-build make -j1 DESTDIR=$pkgdir install-target-libobjc install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ @@ -270,14 +282,15 @@ package_gcc-objc-multilib() { ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION } -package_gcc-ada-multilib() { +package_gcc-ada-multilib() +{ pkgdesc="Ada front-end for GCC (GNAT) for multilib" depends=("gcc-multilib=$pkgver-$pkgrel") provides=("gcc-ada=$pkgver-$pkgrel") conflicts=('gcc-ada') install=gcc-ada.install - cd gcc-build/gcc + cd ${srcdir}/gcc-build/gcc make -j1 DESTDIR=$pkgdir ada.install-{common,info} install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver @@ -285,19 +298,22 @@ package_gcc-ada-multilib() { make -j1 DESTDIR=${pkgdir} INSTALL="install" \ INSTALL_DATA="install -m644" install-gnatlib + ln -s gcc ${pkgdir}/usr/bin/gnatgcc + # Install Runtime Library Exception install -Dm644 ${_basedir}/COPYING.RUNTIME \ ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION } -package_gcc-go-multilib() { +package_gcc-go-multilib() +{ pkgdesc="Go front-end for GCC for multilib" depends=("gcc-multilib=$pkgver-$pkgrel") provides=("gcc-go=$pkgver-$pkgrel") conflicts=('gcc-go') install=gcc-go.install - cd gcc-build + cd ${srcdir}/gcc-build make -j1 DESTDIR=$pkgdir install-target-libgo make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 diff --git a/gcc-multilib/gcc-4.7.0-cloog-0.17.patch b/gcc-multilib/gcc-4.7.0-cloog-0.17.patch deleted file mode 100644 index 4b851aa..0000000 --- a/gcc-multilib/gcc-4.7.0-cloog-0.17.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure ---- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000 -+++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000 -@@ -6049,8 +6049,8 @@ - LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}" - - if test "${cloog_org}" = yes ; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5 --$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5 -+$as_echo_n "checking for version 0.17 of CLooG... " >&6; } - if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then : - $as_echo_n "(cached) " >&6 - else -@@ -6061,8 +6061,7 @@ - main () - { - #if CLOOG_VERSION_MAJOR != 0 \ -- || CLOOG_VERSION_MINOR != 16 \ -- || CLOOG_VERSION_REVISION < 1 -+ || CLOOG_VERSION_MINOR != 17 - choke me - #endif - ;