[arch-commits] Commit in gcc/repos (10 files)

Allan McRae allan at archlinux.org
Wed Apr 18 06:57:53 UTC 2012


    Date: Wednesday, April 18, 2012 @ 02:57:53
  Author: allan
Revision: 156418

db-move: moved gcc from [staging] to [testing] (i686)

Added:
  gcc/repos/testing-i686/
  gcc/repos/testing-i686/PKGBUILD
    (from rev 156417, gcc/repos/staging-i686/PKGBUILD)
  gcc/repos/testing-i686/gcc-4.7.0-cloog-0.17.patch
    (from rev 156417, gcc/repos/staging-i686/gcc-4.7.0-cloog-0.17.patch)
  gcc/repos/testing-i686/gcc-ada.install
    (from rev 156417, gcc/repos/staging-i686/gcc-ada.install)
  gcc/repos/testing-i686/gcc-fortran.install
    (from rev 156417, gcc/repos/staging-i686/gcc-fortran.install)
  gcc/repos/testing-i686/gcc-go.install
    (from rev 156417, gcc/repos/staging-i686/gcc-go.install)
  gcc/repos/testing-i686/gcc-libs.install
    (from rev 156417, gcc/repos/staging-i686/gcc-libs.install)
  gcc/repos/testing-i686/gcc.install
    (from rev 156417, gcc/repos/staging-i686/gcc.install)
  gcc/repos/testing-i686/gcc_pure64.patch
    (from rev 156417, gcc/repos/staging-i686/gcc_pure64.patch)
Deleted:
  gcc/repos/staging-i686/

----------------------------+
 PKGBUILD                   |  265 +++++++++++++++++++++++++++++++++++++++++++
 gcc-4.7.0-cloog-0.17.patch |   24 +++
 gcc-ada.install            |   20 +++
 gcc-fortran.install        |   16 ++
 gcc-go.install             |   20 +++
 gcc-libs.install           |   16 ++
 gcc.install                |   20 +++
 gcc_pure64.patch           |   26 ++++
 8 files changed, 407 insertions(+)

Copied: gcc/repos/testing-i686/PKGBUILD (from rev 156417, gcc/repos/staging-i686/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,265 @@
+# $Id$
+# Maintainer: Allan McRae <allan at archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
+pkgver=4.7.0
+pkgrel=5
+_snapshot=4.7-20120414
+_libstdcppmanver=20120307		# Note: check source directory name when updating this
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada')
+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
+	gcc_pure64.patch
+	gcc-4.7.0-cloog-0.17.patch)
+md5sums=('9f9d082b64753d5908690500251fc52e'
+         '489d2f5311535800a120efd8d18db719'
+         'ced48436c1b3c981d721a829f1094de1'
+         '575f7d17b022e609447a590e481b18b5')
+
+
+if [ -n "${_snapshot}" ]; then
+  _basedir="${srcdir}/gcc-${_snapshot}"
+else
+  _basedir="${srcdir}/gcc-${pkgver}"
+fi
+
+build() {
+  cd ${_basedir}
+
+  # Do not install libiberty
+  sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+  # Do not run fixincludes
+  sed -i 's@\./fixinc\.sh at -c true@' gcc/Makefile.in
+
+  if [ "${CARCH}" = "x86_64" ]; then
+    patch -p1 -i ${srcdir}/gcc_pure64.patch
+  fi
+
+  # compatibility with latest cloog
+  patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch
+
+  echo ${pkgver} > gcc/BASE-VER
+
+  cd ${srcdir}
+  mkdir gcc-build && cd gcc-build
+
+  ${_basedir}/configure --prefix=/usr \
+      --libdir=/usr/lib --libexecdir=/usr/lib \
+      --mandir=/usr/share/man --infodir=/usr/share/info \
+      --with-bugurl=https://bugs.archlinux.org/ \
+      --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 \
+      --enable-lto --enable-gold --enable-ld=default \
+      --enable-plugin --with-plugin-ld=ld.gold \
+      --with-linker-hash-style=gnu \
+      --disable-multilib --disable-libssp \
+      --disable-build-with-cxx --disable-build-poststage1-with-cxx \
+      --enable-checking=release
+  make
+}
+
+check() {
+  cd gcc-build
+
+  # increase stack size to prevent test failures
+  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+  ulimit -s 32768
+
+  # do not abort on error as some are "expected"
+  make -k check || true
+  ${_basedir}/contrib/test_summary
+}
+
+package_gcc-libs()
+{
+  pkgdesc="Runtime libraries shipped by GCC"
+  groups=('base')
+  depends=('glibc>=2.15')
+  install=gcc-libs.install
+
+  cd gcc-build
+  make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+  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 -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+
+  # remove static libraries
+  find ${pkgdir} -name *.a -delete
+  
+  # Install Runtime Library Exception
+  install -Dm644 ${_basedir}/COPYING.RUNTIME \
+    ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+  pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+  depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.22' 'libmpc' 'cloog' 'ppl')
+  groups=('base-devel')
+  install=gcc.install
+
+  cd 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}
+
+  # 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/*.so*
+  rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+  rm $pkgdir/usr/lib/libgfortran.spec
+  rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
+  rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
+  rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1}
+  rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{libcaf_single,libgfortranbegin}.a
+  rm -r $pkgdir/usr/lib/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
+  rm $pkgdir/usr/share/man/man3/ffi*
+
+  # many packages require these symlinks
+  install -dm755 ${pkgdir}/lib
+  ln -s /usr/bin/cpp ${pkgdir}/lib/cpp
+  ln -s gcc ${pkgdir}/usr/bin/cc
+
+  # POSIX conformance launcher scripts for c89 and c99
+  cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+  case "$opt" in
+    -ansi|-std=c89|-std=iso9899:1990) fl="";;
+    -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+	    exit 1;;
+  esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+  cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+  case "$opt" in
+    -std=c99|-std=iso9899:1999) fl="";;
+    -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+	    exit 1;;
+  esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+  chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+  # install the libstdc++ man pages
+  install -dm755 ${pkgdir}/usr/share/man/man3
+  install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
+
+  # Install Runtime Library Exception
+  install -Dm644 ${_basedir}/COPYING.RUNTIME \
+    ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran()
+{
+  pkgdesc="Fortran front-end for GCC"
+  depends=("gcc=$pkgver-$pkgrel")
+  install=gcc-fortran.install
+
+  cd 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
+  make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+  install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+  
+  # remove libraries included in gcc-libs
+  rm ${pkgdir}/usr/lib/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/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc()
+{
+  pkgdesc="Objective-C front-end for GCC"
+  depends=("gcc=$pkgver-$pkgrel")
+
+  cd 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 libraries included in gcc-libs
+  rm ${pkgdir}/usr/lib/libobjc.so*
+
+  # Install Runtime Library Exception
+  install -Dm644 ${_basedir}/COPYING.RUNTIME \
+    ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada()
+{
+  pkgdesc="Ada front-end for GCC (GNAT)"
+  depends=("gcc=$pkgver-$pkgrel")
+  install=gcc-ada.install
+
+  cd gcc-build/gcc
+  make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+  install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+  ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+  
+  # Install Runtime Library Exception
+  install -Dm644 ${_basedir}/COPYING.RUNTIME \
+    ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-go()
+{
+  pkgdesc="Go front-end for GCC"
+  depends=("gcc=$pkgver-$pkgrel")
+  install=gcc-go.install
+
+  cd 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
+
+  # Install Runtime Library Exception
+  install -Dm644 ${_basedir}/COPYING.RUNTIME \
+    ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
+}

Copied: gcc/repos/testing-i686/gcc-4.7.0-cloog-0.17.patch (from rev 156417, gcc/repos/staging-i686/gcc-4.7.0-cloog-0.17.patch)
===================================================================
--- testing-i686/gcc-4.7.0-cloog-0.17.patch	                        (rev 0)
+++ testing-i686/gcc-4.7.0-cloog-0.17.patch	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,24 @@
+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
+   ;

Copied: gcc/repos/testing-i686/gcc-ada.install (from rev 156417, gcc/repos/staging-i686/gcc-ada.install)
===================================================================
--- testing-i686/gcc-ada.install	                        (rev 0)
+++ testing-i686/gcc-ada.install	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}

Copied: gcc/repos/testing-i686/gcc-fortran.install (from rev 156417, gcc/repos/staging-i686/gcc-fortran.install)
===================================================================
--- testing-i686/gcc-fortran.install	                        (rev 0)
+++ testing-i686/gcc-fortran.install	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+  [ -x usr/bin/install-info ] || return 0
+  install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}

Copied: gcc/repos/testing-i686/gcc-go.install (from rev 156417, gcc/repos/staging-i686/gcc-go.install)
===================================================================
--- testing-i686/gcc-go.install	                        (rev 0)
+++ testing-i686/gcc-go.install	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}

Copied: gcc/repos/testing-i686/gcc-libs.install (from rev 156417, gcc/repos/staging-i686/gcc-libs.install)
===================================================================
--- testing-i686/gcc-libs.install	                        (rev 0)
+++ testing-i686/gcc-libs.install	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.info)
+
+post_upgrade() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}

Copied: gcc/repos/testing-i686/gcc.install (from rev 156417, gcc/repos/staging-i686/gcc.install)
===================================================================
--- testing-i686/gcc.install	                        (rev 0)
+++ testing-i686/gcc.install	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}

Copied: gcc/repos/testing-i686/gcc_pure64.patch (from rev 156417, gcc/repos/staging-i686/gcc_pure64.patch)
===================================================================
--- testing-i686/gcc_pure64.patch	                        (rev 0)
+++ testing-i686/gcc_pure64.patch	2012-04-18 06:57:53 UTC (rev 156418)
@@ -0,0 +1,26 @@
+diff -Naur gcc-orig/gcc/config/i386/linux64.h gcc/gcc/config/i386/linux64.h
+--- gcc-orig/gcc/config/i386/linux64.h	2011-07-08 01:38:34.000000000 +1000
++++ gcc/gcc/config/i386/linux64.h	2011-07-24 19:48:05.000000000 +1000
+@@ -28,6 +28,6 @@
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+diff -Naur gcc-orig/gcc/config/i386/t-linux64 gcc/gcc/config/i386/t-linux64
+--- gcc-orig/gcc/config/i386/t-linux64	2011-07-08 01:38:34.000000000 +1000
++++ gcc/gcc/config/i386/t-linux64	2011-07-24 19:49:41.000000000 +1000
+@@ -34,8 +34,8 @@
+ comma=,
+ MULTILIB_OPTIONS    = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+ MULTILIB_DIRNAMES   = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = m64=../lib
++MULTILIB_OSDIRNAMES+= m32=../lib32
+ MULTILIB_OSDIRNAMES+= mx32=../libx32
+ 
+ LIBGCC = stmp-multilib




More information about the arch-commits mailing list