summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFantix King2014-01-13 14:17:02 +0800
committerFantix King2015-11-08 20:38:23 +0800
commit0b996c3240891de1d6897f0b2b6d147511725a0d (patch)
tree4510533c8f399d7433353ea733c60f26c64b64e0
parentf7f608a1ffa0c90ad78279d0f91b5c60bb015a56 (diff)
downloadaur-0b996c3240891de1d6897f0b2b6d147511725a0d.tar.gz
4.8.2_7.1
-rw-r--r--.SRCINFO51
-rw-r--r--PKGBUILD272
-rw-r--r--gcc-4.8-filename-output.patch17
-rw-r--r--gcc-4.8-lambda-ICE.patch35
4 files changed, 249 insertions, 126 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5c3e27516d1..d7d089a04b1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = gcc-multilib-x32
pkgdesc = The GNU Compiler Collection for multilib with x32 ABI support
- pkgver = 4.8.0_3
+ pkgver = 4.8.2_7
pkgrel = 1
url = http://gcc.gnu.org
arch = x86_64
@@ -17,64 +17,75 @@ pkgbase = gcc-multilib-x32
makedepends = doxygen
makedepends = lib32-glibc>=2.17
makedepends = libx32-glibc>=2.17
- options = !libtool
options = !emptydirs
- source = ftp://gcc.gnu.org/pub/gcc/snapshots/4.8-20130425/gcc-4.8-20130425.tar.bz2
- md5sums = 03690556f09991fbecac0467227c5d4e
+ source = ftp://gcc.gnu.org/pub/gcc/snapshots/4.8-20131219/gcc-4.8-20131219.tar.bz2
+ source = gcc-4.8-filename-output.patch
+ source = gcc-4.8-lambda-ICE.patch
+ md5sums = 666ef08f87649f941bc5512e13a88fdc
+ md5sums = 40cb437805e2f7a006aa0d0c3098ab0f
+ md5sums = 6eb6e080dbf7bc6825f53a0aaa6c4ef9
pkgname = gcc-multilib-x32
pkgdesc = The GNU Compiler Collection - C and C++ frontends for multilib with x32 ABI support
install = gcc.install
groups = x32-devel
- depends = gcc-libs-multilib-x32=4.8.0_3-1
+ depends = gcc-libs-multilib-x32=4.8.2_7-1
depends = binutils-multilib>=2.23
depends = libmpc
depends = cloog
- provides = gcc=4.8.0-3
- provides = gcc-multilib=4.8.0-3
+ provides = gcc=4.8.2-7
+ provides = gcc-multilib=4.8.2-7
conflicts = gcc
conflicts = gcc-x32-seed
conflicts = gcc-multilib
+ options = staticlibs
pkgname = gcc-libs-multilib-x32
pkgdesc = Runtime libraries shipped by GCC for multilib with x32 ABI support
install = gcc-libs.install
depends = glibc>=2.17
- depends = lib32-gcc-libs=4.8.0-3
- depends = libx32-gcc-libs=4.8.0_3-1
- provides = gcc-libs=4.8.0-3
- provides = gcc-libs-multilib=4.8.0-3
+ depends = lib32-gcc-libs=4.8.2-7
+ depends = libx32-gcc-libs=4.8.2_7-1
+ provides = gcc-libs=4.8.2-7
+ provides = gcc-libs-multilib=4.8.2-7
conflicts = gcc-libs
+ options = !emptydirs
pkgname = libx32-gcc-libs
pkgdesc = Runtime libraries shipped by GCC (x32 ABI)
depends = libx32-glibc>=2.17
- depends = gcc-libs>=4.8.0-3
+ options = !emptydirs
pkgname = gcc-fortran-multilib-x32
pkgdesc = Fortran front-end for GCC for multilib with x32 ABI support
install = gcc-fortran.install
- depends = gcc-multilib-x32=4.8.0_3-1
- provides = gcc-fortran=4.8.0-3
+ depends = gcc-multilib-x32=4.8.2_7-1
+ provides = gcc-fortran=4.8.2-7
conflicts = gcc-fortran
+ options = staticlibs
+ options = !emptydirs
pkgname = gcc-objc-multilib-x32
pkgdesc = Objective-C front-end for GCC for multilib with x32 ABI support
- depends = gcc-multilib-x32=4.8.0_3-1
- provides = gcc-objc=4.8.0-3
+ depends = gcc-multilib-x32=4.8.2_7-1
+ provides = gcc-objc=4.8.2-7
conflicts = gcc-objc
pkgname = gcc-ada-multilib-x32
pkgdesc = Ada front-end for GCC (GNAT) for multilib with x32 ABI support
install = gcc-ada.install
- depends = gcc-multilib-x32=4.8.0_3-1
- provides = gcc-ada=4.8.0-3
+ depends = gcc-multilib-x32=4.8.2_7-1
+ provides = gcc-ada=4.8.2-7
conflicts = gcc-ada
+ options = staticlibs
+ options = !emptydirs
pkgname = gcc-go-multilib-x32
pkgdesc = Go front-end for GCC for multilib with x32 ABI support
install = gcc-go.install
- depends = gcc-multilib-x32=4.8.0_3-1
- provides = gcc-go=4.8.0-3
+ depends = gcc-multilib-x32=4.8.2_7-1
+ provides = gcc-go=4.8.2-7
conflicts = gcc-go
+ options = staticlibs
+ options = !emptydirs
diff --git a/PKGBUILD b/PKGBUILD
index f02afa1e0fe..c25d815fc59 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 89660 2013-05-01 21:58:23Z heftig $
+# $Id: PKGBUILD 102960 2013-12-25 03:04:08Z allan $
# Maintainer: Fantix King <fantix.king@gmail.com>
# Upstream Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -8,9 +8,10 @@
pkgname='gcc-multilib-x32'
true && pkgname=('gcc-multilib-x32' 'gcc-libs-multilib-x32' 'libx32-gcc-libs' 'gcc-fortran-multilib-x32' 'gcc-objc-multilib-x32' 'gcc-ada-multilib-x32' 'gcc-go-multilib-x32')
-pkgver=4.8.0_3
+pkgver=4.8.2_7
+_pkgver=4.8
pkgrel=1
-_snapshot=4.8-20130425
+_snapshot=4.8-20131219
pkgdesc="The GNU Compiler Collection for multilib with x32 ABI support"
arch=('x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -18,10 +19,14 @@ url="http://gcc.gnu.org"
makedepends=('binutils-multilib>=2.23' 'libmpc' 'cloog' 'gcc-ada-multilib' 'doxygen'
'lib32-glibc>=2.17' 'libx32-glibc>=2.17')
checkdepends=('dejagnu' 'inetutils')
-options=('!libtool' '!emptydirs')
-source=(ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2)
- #ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
-md5sums=('03690556f09991fbecac0467227c5d4e')
+options=('!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
+ gcc-4.8-filename-output.patch
+ gcc-4.8-lambda-ICE.patch)
+md5sums=('666ef08f87649f941bc5512e13a88fdc'
+ '40cb437805e2f7a006aa0d0c3098ab0f'
+ '6eb6e080dbf7bc6825f53a0aaa6c4ef9')
if [ -n "${_snapshot}" ]; then
@@ -30,6 +35,8 @@ else
_basedir=gcc-${pkgver%_*}
fi
+_libdir="usr/lib/gcc/$CHOST/${pkgver%_*}"
+
prepare() {
cd ${srcdir}/${_basedir}
@@ -44,6 +51,16 @@ prepare() {
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653
+ patch -p0 -i ${srcdir}/gcc-4.8-filename-output.patch
+
+ # http://gcc.gnu.org/bugzilla//show_bug.cgi?id=56710 - commit 3d1f8279
+ patch -p1 -i ${srcdir}/gcc-4.8-lambda-ICE.patch
+
+ # installing libiberty headers is broken
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780#c6
+ sed -i 's#@target_header_dir@#libiberty#' libiberty/Makefile.in
+
mkdir ${srcdir}/gcc-build
}
@@ -63,20 +80,18 @@ build() {
--enable-shared --enable-threads=posix \
--with-system-zlib --enable-__cxa_atexit \
--disable-libunwind-exceptions --enable-clocale=gnu \
- --disable-libstdcxx-pch \
+ --disable-libstdcxx-pch --disable-libssp \
--enable-gnu-unique-object --enable-linker-build-id \
--enable-cloog-backend=isl --disable-cloog-version-check \
- --enable-lto --enable-gold --enable-ld=default \
- --enable-plugin --with-plugin-ld=ld.gold \
- --with-linker-hash-style=gnu --disable-install-libiberty \
- --enable-multilib --with-multilib-list=m32,m64,mx32 \
- --disable-libssp --disable-werror \
+ --enable-lto --enable-plugin --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --enable-multilib --disable-werror \
+ --with-multilib-list=m32,m64,mx32 \
--enable-checking=release
make
# make documentation
- cd $CHOST/libstdc++-v3
- make doc-man-doxygen
+ make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
}
check() {
@@ -94,28 +109,30 @@ check() {
package_libx32-gcc-libs()
{
pkgdesc="Runtime libraries shipped by GCC (x32 ABI)"
- depends=('libx32-glibc>=2.17' "gcc-libs>=${pkgver//_/-}")
+ depends=('libx32-glibc>=2.17')
+ options=('!emptydirs')
cd ${srcdir}/gcc-build
- make -j1 -C $CHOST/x32/libgcc DESTDIR=${pkgdir} install-shared
- for lib in libmudflap libgomp libstdc++-v3/src libitm libsanitizer/asan; do
- make -j1 -C $CHOST/x32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+
+ make -C $CHOST/x32/libgcc DESTDIR=${pkgdir} install-shared
+ rm ${pkgdir}/${_libdir}/x32/libgcc_eh.a
+
+ for lib in libmudflap \
+ libgomp \
+ libitm \
+ libatomic \
+ libstdc++-v3/src \
+ libquadmath \
+ libgfortran \
+ libsanitizer/asan; do
+ make -C $CHOST/x32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
done
-
- 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 ${pkgdir}/usr/libx32/libgfortran.spec
+ make -C $CHOST/x32/libobjc DESTDIR=${pkgdir} install-libs
# remove stuff in gcc-libs-multilib-x32
- rm -r ${pkgdir}/usr/lib{,32}
- rm -r ${pkgdir}/usr/share/info
+ rm -r ${pkgdir}/usr/lib
- # remove static libraries
- find ${pkgdir} -name *.a -delete
-
# Install Runtime Library Exception
install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
${pkgdir}/usr/share/licenses/libx32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION
@@ -127,34 +144,41 @@ package_gcc-libs-multilib-x32()
depends=('glibc>=2.17' "lib32-gcc-libs=${pkgver//_/-}" "libx32-gcc-libs=$pkgver-$pkgrel")
provides=("gcc-libs=${pkgver//_/-}" "gcc-libs-multilib=${pkgver//_/-}")
conflicts=('gcc-libs')
+ options=('!emptydirs')
install=gcc-libs.install
cd ${srcdir}/gcc-build
- make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
- for lib in libmudflap libgomp libstdc++-v3/src libitm libsanitizer/asan; do
- make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+
+ make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ rm ${pkgdir}/${_libdir}/libgcc_eh.a
+
+ for lib in libmudflap \
+ libgomp \
+ libitm \
+ libatomic \
+ libstdc++-v3/src \
+ libquadmath \
+ libgfortran \
+ libsanitizer/asan; do
+ make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
done
[[ $CARCH == "x86_64" ]] && \
- make -j1 -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
-
- 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 -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
- make -j1 DESTDIR=${pkgdir} install-target-libquadmath
- make -j1 DESTDIR=${pkgdir} install-target-libgfortran
- make -j1 DESTDIR=${pkgdir} install-target-libobjc
+ make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs
+
+ make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
- # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
- rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+ for lib in libgomp \
+ libitm \
+ libquadmath; do
+ make -C $CHOST/$lib DESTDIR=${pkgdir} install-info
+ done
# remove stuff in lib32-gcc-libs and libx32-gcc-libs
rm -r ${pkgdir}/usr/lib{32,x32}
- # remove static libraries
- find ${pkgdir} -name *.a -delete
-
# Install Runtime Library Exception
install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
${pkgdir}/usr/share/licenses/gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION
@@ -165,30 +189,65 @@ package_gcc-multilib-x32()
pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib with x32 ABI support"
depends=("gcc-libs-multilib-x32=$pkgver-$pkgrel" 'binutils-multilib>=2.23' 'libmpc' 'cloog')
groups=('x32-devel')
+ options=('staticlibs')
provides=("gcc=${pkgver//_/-}" "gcc-multilib=${pkgver//_/-}")
conflicts=('gcc' 'gcc-x32-seed' 'gcc-multilib')
install=gcc.install
cd ${srcdir}/gcc-build
+
+ make -C gcc DESTDIR=${pkgdir} install-driver install-cpp install-gcc-ar \
+ c++.install-common install-headers install-plugin install-lto-wrapper
+
+ install -m755 gcc/gcov $pkgdir/usr/bin/
+ install -m755 -t $pkgdir/${_libdir}/ gcc/{cc1,cc1plus,collect2,lto1}
+
+ make -C $CHOST/libgcc DESTDIR=${pkgdir} install
+ make -C $CHOST/32/libgcc DESTDIR=${pkgdir} install
+ make -C $CHOST/x32/libgcc DESTDIR=${pkgdir} install
+ rm ${pkgdir}/usr/lib{,32,x32}/libgcc_s.so*
- make -j1 DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/python DESTDIR=${pkgdir} install
+ make -C $CHOST/32/libstdc++-v3/src DESTDIR=${pkgdir} install
+ make -C $CHOST/32/libstdc++-v3/include DESTDIR=${pkgdir} install
+ make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
+ make -C $CHOST/x32/libstdc++-v3/src DESTDIR=${pkgdir} install
+ make -C $CHOST/x32/libstdc++-v3/include DESTDIR=${pkgdir} install
+ make -C $CHOST/x32/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
- mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.18-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,x32}/*.so*
- rm $pkgdir/usr/lib{,32,x32}/lib{atomic,gfortran,go{,begin},objc}.a
- rm $pkgdir/usr/lib/libiberty.a
- rm $pkgdir/usr/lib{,32,x32}/libgfortran.spec
- rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}/{{,32/,x32/}ada{include,lib},finclude,include/objc}
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}/{cc1obj{,plus},f951,gnat1,go1}
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}/{,32/,x32/}{libcaf_single,libgfortranbegin}.a
- rm -r $pkgdir/usr/lib{,32,x32}/go
- rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info
- rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
- rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+ mv $pkgdir/usr/lib/libstdc++.so.6.*-gdb.py \
+ $pkgdir/usr/share/gdb/auto-load/usr/lib/
+ rm ${pkgdir}/usr/lib{,32,x32}/libstdc++.so*
+
+ make DESTDIR=${pkgdir} install-fixincludes
+ make -C gcc DESTDIR=${pkgdir} install-mkheaders
+ make -C lto-plugin DESTDIR=${pkgdir} install
+
+ make -C $CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
+ install-nodist_libsubincludeHEADERS
+ make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libmudflap DESTDIR=${pkgdir} install-nobase_libsubincludeHEADERS
+ make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS
+ make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/x32/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/x32/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/x32/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+
+ make -C libiberty DESTDIR=${pkgdir} install
+
+ make -C gcc DESTDIR=${pkgdir} install-man install-info
+ rm ${pkgdir}/usr/share/man/man1/{gccgo,gfortran}.1
+ rm ${pkgdir}/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+ make -C libcpp DESTDIR=${pkgdir} install
+ make -C gcc DESTDIR=${pkgdir} install-po
# many packages expect this symlinks
ln -s gcc ${pkgdir}/usr/bin/cc
@@ -223,13 +282,11 @@ EOF
chmod 755 $pkgdir/usr/bin/c{8,9}9
# install the libstdc++ man pages
- install -dm755 ${pkgdir}/usr/share/man/man3
- install -m644 -t ${pkgdir}/usr/share/man/man3 \
- ${CHOST}/libstdc++-v3/doc/doxygen/man/man3/*.3
+ make -C $CHOST/libstdc++-v3/doc DESTDIR=$pkgdir doc-install-man
# Install Runtime Library Exception
- install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-multilib-x32/RUNTIME.LIBRARY.EXCEPTION
+ install -d ${pkgdir}/usr/share/licenses/gcc-multilib-x32/
+ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-multilib-x32/
}
package_gcc-fortran-multilib-x32()
@@ -238,26 +295,21 @@ package_gcc-fortran-multilib-x32()
depends=("gcc-multilib-x32=$pkgver-$pkgrel")
provides=("gcc-fortran=${pkgver//_/-}")
conflicts=('gcc-fortran')
+ options=('staticlibs' '!emptydirs')
install=gcc-fortran.install
cd ${srcdir}/gcc-build
- make -j1 DESTDIR=$pkgdir install-target-libgfortran
- make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
- make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
- install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}/f951
+ make -C $CHOST/libgfortran DESTDIR=$pkgdir install-{{caf,my}execlibLTLIBRARIES,toolexeclibDATA}
+ make -C $CHOST/x32/libgfortran DESTDIR=$pkgdir install-{{caf,my}execlibLTLIBRARIES,toolexeclibDATA}
+ make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951
ln -s gfortran ${pkgdir}/usr/bin/f95
- # remove files included in gcc-libs or gcc
- rm ${pkgdir}/usr/lib{,32,x32}/lib{gfortran,gcc_s}.so*
- rm ${pkgdir}/usr/lib{,32,x32}/libquadmath.{a,so*}
- rm ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver%_*}/{,32/,x32/}{*.o,libgc*}
- rm ${pkgdir}/usr/share/info/libquadmath.info
- rm -r ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver%_*}/include
-
# Install Runtime Library Exception
- install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-fortran-multilib-x32/RUNTIME.LIBRARY.EXCEPTION
+ install -d ${pkgdir}/usr/share/licenses/gcc-fortran-multilib-x32/
+ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-fortran-multilib-x32/
}
package_gcc-objc-multilib-x32()
@@ -268,18 +320,13 @@ package_gcc-objc-multilib-x32()
conflicts=('gcc-objc')
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%_*}/
-
- # remove files included in gcc-libs or gcc
- rm ${pkgdir}/usr/lib{,32,x32}/lib{gcc_s,objc}.so*
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}/{,32/,x32/}{*.o,lib*}
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}/include/unwind.h
+ make DESTDIR=$pkgdir -C $CHOST/libobjc install-headers
+ install -dm755 $pkgdir/${_libdir}
+ install -m755 gcc/cc1obj{,plus} $pkgdir/${_libdir}/
# Install Runtime Library Exception
- install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-objc-multilib-x32/RUNTIME.LIBRARY.EXCEPTION
+ install -d ${pkgdir}/usr/share/licenses/gcc-objc-multilib-x32/
+ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-objc-multilib-x32/
}
package_gcc-ada-multilib-x32()
@@ -288,25 +335,34 @@ package_gcc-ada-multilib-x32()
depends=("gcc-multilib-x32=$pkgver-$pkgrel")
provides=("gcc-ada=${pkgver//_/-}")
conflicts=('gcc-ada')
+ options=('staticlibs' '!emptydirs')
install=gcc-ada.install
cd ${srcdir}/gcc-build/gcc
- make -j1 DESTDIR=$pkgdir ada.install-{common,info}
- install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/${pkgver%_*}
-
- cd ${srcdir}/gcc-build/$CHOST/32/libada
- make -j1 DESTDIR=${pkgdir} INSTALL="install" \
- INSTALL_DATA="install -m644" install-gnatlib
+ make DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/${_libdir}
- cd ${srcdir}/gcc-build/$CHOST/x32/libada
- make -j1 DESTDIR=${pkgdir} INSTALL="install" \
+ cd ../$CHOST/x32/libada
+ make DESTDIR=${pkgdir} INSTALL="install" \
INSTALL_DATA="install -m644" install-gnatlib
ln -s gcc ${pkgdir}/usr/bin/gnatgcc
-
+
+ # insist on dynamic linking
+ mv ${pkgdir}/${_libdir}/adalib/libgna{rl,t}-${_pkgver}.so ${pkgdir}/usr/lib
+ ln -s libgnarl-${_pkgver}.so ${pkgdir}/usr/lib/libgnarl.so
+ ln -s libgnat-${_pkgver}.so ${pkgdir}/usr/lib/libgnat.so
+ rm ${pkgdir}/${_libdir}/adalib/libgna{rl,t}.*
+
+ install -d ${pkgdir}/usr/libx32/
+ mv ${pkgdir}/${_libdir}/x32/adalib/libgna{rl,t}-${_pkgver}.so ${pkgdir}/usr/libx32
+ ln -s libgnarl-${_pkgver}.so ${pkgdir}/usr/libx32/libgnarl.so
+ ln -s libgnat-${_pkgver}.so ${pkgdir}/usr/libx32/libgnat.so
+ rm ${pkgdir}/${_libdir}/x32/adalib/libgna{rl,t}.*
+
# Install Runtime Library Exception
- install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-ada-multilib-x32/RUNTIME.LIBRARY.EXCEPTION
+ install -d ${pkgdir}/usr/share/licenses/gcc-ada-multilib-x32/
+ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-ada-multilib-x32/
}
package_gcc-go-multilib-x32()
@@ -315,14 +371,18 @@ package_gcc-go-multilib-x32()
depends=("gcc-multilib-x32=$pkgver-$pkgrel")
provides=("gcc-go=${pkgver//_/-}")
conflicts=('gcc-go')
+ options=('staticlibs' '!emptydirs')
install=gcc-go.install
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
+ make -C $CHOST/libgo DESTDIR=$pkgdir install-exec-am
+ make -C $CHOST/x32/libgo DESTDIR=$pkgdir install-exec-am
+ make -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/${_libdir}/go1
+
+ rm $pkgdir/usr/lib{,x32}/libgo.a
# Install Runtime Library Exception
- install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-go-multilib-x32/RUNTIME.LIBRARY.EXCEPTION
+ install -d ${pkgdir}/usr/share/licenses/gcc-go-multilib-x32/
+ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-go-multilib-x32/
}
diff --git a/gcc-4.8-filename-output.patch b/gcc-4.8-filename-output.patch
new file mode 100644
index 00000000000..6951eb239b7
--- /dev/null
+++ b/gcc-4.8-filename-output.patch
@@ -0,0 +1,17 @@
+--- gcc/c-family/c-opts.c (revision 200330)
++++ gcc/c-family/c-opts.c (working copy)
+@@ -1338,10 +1338,14 @@ c_finish_options (void)
+
+ /* Give CPP the next file given by -include, if any. */
+ static void
+ push_command_line_include (void)
+ {
++ // This can happen if disabled by -imacros for example.
++ if (include_cursor > deferred_count)
++ return;
++
+ if (!done_preinclude)
+ {
+ done_preinclude = true;
+ if (flag_hosted && std_inc && !cpp_opts->preprocessed)
+ {
diff --git a/gcc-4.8-lambda-ICE.patch b/gcc-4.8-lambda-ICE.patch
new file mode 100644
index 00000000000..cf77a9b352b
--- /dev/null
+++ b/gcc-4.8-lambda-ICE.patch
@@ -0,0 +1,35 @@
+diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
+index 0b8e2f7..ad1c209 100644
+--- a/gcc/cp/semantics.c
++++ b/gcc/cp/semantics.c
+@@ -2719,8 +2719,10 @@ finish_member_declaration (tree decl)
+ /*friend_p=*/0);
+ }
+ }
+- /* Enter the DECL into the scope of the class. */
+- else if (pushdecl_class_level (decl))
++ /* Enter the DECL into the scope of the class, if the class
++ isn't a closure (whose fields are supposed to be unnamed). */
++ else if (CLASSTYPE_LAMBDA_EXPR (current_class_type)
++ || pushdecl_class_level (decl))
+ {
+ if (TREE_CODE (decl) == USING_DECL)
+ {
+diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C
+new file mode 100644
+index 0000000..df2b037
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C
+@@ -0,0 +1,9 @@
++// PR c++/56710
++// { dg-options "-std=c++11 -Wall" }
++
++int main()
++{
++ int t = 0;
++ return [&]() -> int {int __t; __t = t; return __t; }();
++ return [&t]() -> int {int __t; __t = t; return __t; }();
++}
+--
+1.8.4.2
+