automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.1-548-gaefbb49
Date: Sun, 01 Jul 2012 10:52:11 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=aefbb49b2b6b872f53ba6a160f78b5d439d7aaa4

The branch, ng/master has been updated
       via  aefbb49b2b6b872f53ba6a160f78b5d439d7aaa4 (commit)
       via  ca9b4d336a67bd0c1a6c66008ae3038f03b52872 (commit)
       via  167f68f488bd448dcbb133eb694f0092e241af22 (commit)
       via  ddc8bf866fc2592aa9d093c711fffb4e7a0773d3 (commit)
       via  dc5aff42f44ea05041498679318e325f6dcbcf30 (commit)
       via  a7aa47e358d00a0cb778a5ae03dd16089ffe2cb0 (commit)
       via  5fb73b05d111bc3da4d16007a2b1a6aee8e49198 (commit)
       via  26c7b8f50a02749e49135cac58c793bde97ec8fc (commit)
       via  e18ac4b80c7817b124880f007ba1c796f8ac9794 (commit)
       via  6c9b282b0a3d7adb3209f74655611e2fdfbf554e (commit)
       via  c49475046c64789daf647f2b566be8fe49aced72 (commit)
       via  848744c8189abdba50d0fdf5dbd2a713ac210632 (commit)
       via  2a3e45d6f3083c5152d94156f8b4e21366090c0f (commit)
       via  f7132aee3c5c0024b91c925e712f249838b98c46 (commit)
      from  31893f6ebc3e41182e5a811cea25410bd2c1170f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit aefbb49b2b6b872f53ba6a160f78b5d439d7aaa4
Merge: a7aa47e ca9b4d3
Author: Stefano Lattarini <address@hidden>
Date:   Sun Jul 1 11:48:56 2012 +0200

    Merge branch 'master' into ng/master
    
    * master:
      parallel-tests: silence an overly verbose recipe
      tests: fix some uses of 'Exit', where 'exit' should now be used instead
      maintcheck: test scripts should be executable, check for that
      parallel-tests: recipes for "check" and "recheck" are separated again
      tests: prefer "test ! -e FILE" to check that a file doesn't exist
      parallel-tests: "recheck" behaves better in case of compilation failures
      scripts: quote 'like this', not `like this'
    
    + Extra non-trivial edits:
    
    * lib/am/parallel-tests.am: Add a FIXME comment about automake bug#11791,
    stating that we should fix that someday.  This is required because the
    changes introduced in mainline automake commit 'v1.12.1-64-g2a3e45d',
    which fixed automake bug#11791 there, couldn't be merged correctly in
    Automake-NG by the present commit, due to great divergences in the
    affected parts of the codebase.
    * Makefile.am (XFAIL_TESTS): Add 't/parallel-tests-recheck-pr11791.sh'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit a7aa47e358d00a0cb778a5ae03dd16089ffe2cb0
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 30 22:41:42 2012 +0200

    contrib: drop 'multilib' support
    
    Its tests are hopelessly failing now, it is complex to debug (and I'm
    too ignorant about its aims and its implementation to do so), and anyway
    it should probably be rewritten to take better advantage of GNU make and
    Automake-NG features.  So let's drop it for now, to avoid slowing down
    the Automake-NG development.  Anyone interested in the 'multilib' will
    send patches re-implementing it after out first Automake-NG beta is out.
    Probably several months from now.
    
    * contrib/multilib/README, contrib/multilib/config-ml.in,
    * contrib/multilib/multi.m4, contrib/multilib/multilib.am,
    * contrib/multilib/symlink-tree, t/help-multilib.sh,
    * t/multlib.sh: Remove.
    * Makefile.am (EXTRA_DIST): Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                         |   11 +-
 NEWS                                |   10 +
 contrib/multilib/README             |    9 -
 contrib/multilib/config-ml.in       |  876 -----------------------------------
 contrib/multilib/multi.m4           |   64 ---
 contrib/multilib/multilib.am        |   46 --
 contrib/multilib/symlink-tree       |   78 ---
 lib/am/parallel-tests.am            |    2 +
 lib/test-driver                     |    6 +-
 syntax-checks.mk                    |   14 +
 t/autohdrdry.sh                     |    2 +-
 t/help-multilib.sh                  |   34 --
 t/multlib.sh                        |  162 -------
 t/parallel-tests-recheck-pr11791.sh |   87 ++++
 14 files changed, 118 insertions(+), 1283 deletions(-)
 delete mode 100644 contrib/multilib/README
 delete mode 100644 contrib/multilib/config-ml.in
 delete mode 100644 contrib/multilib/multi.m4
 delete mode 100644 contrib/multilib/multilib.am
 delete mode 100755 contrib/multilib/symlink-tree
 delete mode 100755 t/help-multilib.sh
 delete mode 100755 t/multlib.sh
 create mode 100755 t/parallel-tests-recheck-pr11791.sh

diff --git a/Makefile.am b/Makefile.am
index 217f2ba..d7e4b1c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -335,6 +335,7 @@ perl_fake_XFAIL_TESTS = \
 XFAIL_TESTS = \
   t/all.sh \
   t/override-suggest-local.sh \
+  t/parallel-tests-recheck-pr11791.sh \
   t/yacc-bison-skeleton-cxx.sh \
   t/yacc-bison-skeleton.sh \
   t/comments-in-var-def.sh \
@@ -524,11 +525,6 @@ $(srcdir)/doc/amhello-1.0.tar.gz: $(amhello_sources) 
$(srcdir)/configure.ac
 
 EXTRA_DIST += \
   contrib/check-html.am \
-  contrib/multilib/README \
-  contrib/multilib/config-ml.in \
-  contrib/multilib/symlink-tree \
-  contrib/multilib/multilib.am \
-  contrib/multilib/multi.m4 \
   contrib/README
 
 
@@ -587,11 +583,6 @@ ChangeLog:
          exit 1; \
        fi
 
-# Ensure tests are world-executable.
-# FIXME: this should be turned into a maintainer check...
-dist-hook:
-       cd $(distdir)/t && chmod a+rx *.sh *.tap
-
 
 ## --------------------------- ##
 ##  Perl coverage statistics.  ##
diff --git a/NEWS b/NEWS
index 54acc7a..1612a36 100644
--- a/NEWS
+++ b/NEWS
@@ -140,6 +140,16 @@ New in 1.12.2:
     to a shell conditional that can be used in recipes to know whether
     make is being run in silent or verbose mode.
 
+Bugs fixed in 1.12.2:
+
+* Long-standing bugs:
+
+  - The "recheck" targets behaves better in the face of build failures
+    related to previously failed tests.  For example, if a test is a
+    compiled program that must be rerun by "make recheck", and its
+    compilation fails, it will still be rerun by further "make recheck"
+    invocations.  See automake bug#11791.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.12.1:
diff --git a/contrib/multilib/README b/contrib/multilib/README
deleted file mode 100644
index 35c726f..0000000
--- a/contrib/multilib/README
+++ /dev/null
@@ -1,9 +0,0 @@
-Minimal support for multilib builds.
-
-For a little more information, see:
-<http://airs.com/ian/configure/configure_8.html>
-
-The master (and probably more up-to-date) copies of the 'config-ml.in'
-and 'symlink-tree' files are maintained in the GCC development tree
-at <http://gcc.gnu.org/svn.html>.  The same is probably true also for
-the 'multi.m4' file.
diff --git a/contrib/multilib/config-ml.in b/contrib/multilib/config-ml.in
deleted file mode 100644
index cc3a99d..0000000
--- a/contrib/multilib/config-ml.in
+++ /dev/null
@@ -1,876 +0,0 @@
-# Configure fragment invoked in the post-target section for subdirs
-# wanting multilib support.
-#
-# Copyright (C) 1995-2012 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-#
-# Please report bugs to <address@hidden>
-# and send patches to <address@hidden>.
-
-# It is advisable to support a few --enable/--disable options to let the
-# user select which libraries s/he really wants.
-#
-# Subdirectories wishing to use multilib should put the following lines
-# in the "post-target" section of configure.in.
-#
-# if [ "${srcdir}" = "." ] ; then
-#   if [ "${with_target_subdir}" != "." ] ; then
-#     . ${with_multisrctop}../../config-ml.in
-#   else
-#     . ${with_multisrctop}../config-ml.in
-#   fi
-# else
-#   . ${srcdir}/../config-ml.in
-# fi
-#
-#
-# Things are complicated because 6 separate cases must be handled:
-# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.
-#
-# srcdir=. is special.  It must handle make programs that don't handle VPATH.
-# To implement this, a symlink tree is built for each library and for each
-# multilib subdir.
-#
-# The build tree is laid out as
-#
-# ./
-#   newlib
-#   m68020/
-#          newlib
-#          m68881/
-#                 newlib
-#
-# The nice feature about this arrangement is that inter-library references
-# in the build tree work without having to care where you are.  Note that
-# inter-library references also work in the source tree because symlink trees
-# are built when srcdir=.
-#
-# Unfortunately, trying to access the libraries in the build tree requires
-# the user to manually choose which library to use as GCC won't be able to
-# find the right one.  This is viewed as the lesser of two evils.
-#
-# Configure variables:
-# ${with_target_subdir} = "." for native, or ${target_alias} for cross.
-# Set by top level Makefile.
-# ${with_multisrctop} = how many levels of multilibs there are in the source
-# tree.  It exists to handle the case of configuring in the source tree:
-# ${srcdir} is not constant.
-# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).
-#
-# Makefile variables:
-# MULTISRCTOP = number of multilib levels in source tree (+1 if cross)
-# (FIXME: note that this is different than ${with_multisrctop}.  Check out.).
-# MULTIBUILDTOP = number of multilib levels in build tree
-# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)
-# (only defined in each library's main Makefile).
-# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000)
-# (only defined in each multilib subdir).
-
-# FIXME: Multilib is currently disabled by default for everything other than
-# newlib.  It is up to each target to turn on multilib support for the other
-# libraries as desired.
-
-# Autoconf incoming variables:
-# srcdir, host, ac_configure_args
-#
-# We *could* figure srcdir and host out, but we'd have to do work that
-# our caller has already done to figure them out and requiring these two
-# seems reasonable.
-# Note that `host' in this case is GCC's `target'.  Target libraries are
-# configured for a particular host.
-
-Makefile=${ac_file-Makefile}
-ml_config_shell=${CONFIG_SHELL-/bin/sh}
-ml_realsrcdir=${srcdir}
-
-# Scan all the arguments and set all the ones we need.
-
-ml_verbose=--verbose
-for option in ${ac_configure_args}
-do
-  # strip single quotes surrounding individual options
-  case $option in
-  \'*\') eval option=$option ;;
-  esac
-
-  case $option in
-  --*) ;;
-  -*) option=-$option ;;
-  esac
-
-  case $option in
-  --*=*)
-       optarg=`echo $option | sed -e 's/^[^=]*=//'`
-       ;;
-  esac
-
-  case $option in
-  --disable-*)
-       enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'`
-       eval $enableopt=no
-       ;;
-  --enable-*)
-       case "$option" in
-       *=*)    ;;
-       *)      optarg=yes ;;
-       esac
-       enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
-       # enable_shared and enable_static are handled by configure.
-       # Don't undo its work.
-       case $enableopt in
-       enable_shared | enable_static) ;;
-       *) eval $enableopt="$optarg" ;;
-       esac
-       ;;
-  --norecursion | --no-recursion)
-       ml_norecursion=yes
-       ;;
-  --silent | --sil* | --quiet | --q*)
-       ml_verbose=--silent
-       ;;
-  --verbose | --v | --verb*)
-       ml_verbose=--verbose
-       ;;
-  --with-*)
-       case "$option" in
-       *=*)    ;;
-       *)      optarg=yes ;;
-       esac
-       withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
-       eval $withopt="$optarg"
-       ;;
-  --without-*)
-       withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'`
-       eval $withopt=no
-       ;;
-  esac
-done
-
-# Only do this if --enable-multilib.
-if [ "${enable_multilib}" = yes ]; then
-
-# Compute whether this is the library's top level directory
-# (ie: not a multilib subdirectory, and not a subdirectory like newlib/src).
-# ${with_multisubdir} tells us we're in the right branch, but we could be
-# in a subdir of that.
-# ??? The previous version could void this test by separating the process into
-# two files: one that only the library's toplevel configure.in ran (to
-# configure the multilib subdirs), and another that all configure.in's ran to
-# update the Makefile.  It seemed reasonable to collapse all multilib support
-# into one file, but it does leave us with having to perform this test.
-ml_toplevel_p=no
-if [ -z "${with_multisubdir}" ]; then
-  if [ "${srcdir}" = "." ]; then
-    # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
-    # ${with_target_subdir} = "." for native, otherwise target alias.
-    if [ "${with_target_subdir}" = "." ]; then
-      if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
-       ml_toplevel_p=yes
-      fi
-    else
-      if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then
-       ml_toplevel_p=yes
-      fi
-    fi
-  else
-    # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
-    if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
-      ml_toplevel_p=yes
-    fi
-  fi
-fi
-
-# If this is the library's top level directory, set multidirs to the
-# multilib subdirs to support.  This lives at the top because we need
-# `multidirs' set right away.
-
-if [ "${ml_toplevel_p}" = yes ]; then
-
-multidirs=
-for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
-  dir=`echo $i | sed -e 's/;.*$//'`
-  if [ "${dir}" = "." ]; then
-    true
-  else
-    if [ -z "${multidirs}" ]; then
-      multidirs="${dir}"
-    else
-      multidirs="${multidirs} ${dir}"
-    fi
-  fi
-done
-
-# Target libraries are configured for the host they run on, so we check
-# $host here, not $target.
-
-case "${host}" in
-arm-*-*)
-       if [ x"$enable_fpu" = xno ]
-       then
-         old_multidirs=${multidirs}
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "${x}" in
-             *fpu*) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x"$enable_26bit" = xno ]
-       then
-         old_multidirs=${multidirs}
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "${x}" in
-             *26bit*) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x"$enable_underscore" = xno ]
-       then
-         old_multidirs=${multidirs}
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "${x}" in
-             *under*) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x"$enable_interwork" = xno ]
-       then
-         old_multidirs=${multidirs}
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "${x}" in
-             *interwork*) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_biendian = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *le* ) : ;;
-             *be* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x"$enable_nofmult" = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *nofmult* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       ;;
-m68*-*-*)
-       if [ x$enable_softfloat = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *soft-float* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_m68881 = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *m68881* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_m68000 = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *m68000* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_m68020 = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *m68020* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       ;;
-mips*-*-*)
-       if [ x$enable_single_float = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *single* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_biendian = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *el* ) : ;;
-             *eb* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_softfloat = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *soft-float* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       ;;
-powerpc*-*-* | rs6000*-*-*)
-       if [ x$enable_aix64 = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *ppc64* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_pthread = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *pthread* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_softfloat = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *soft-float* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_powercpu = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             power | */power | */power/* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_powerpccpu = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *powerpc* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_powerpcos = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *mcall-linux* | *mcall-solaris* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_biendian = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *mlittle* | *mbig* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       if [ x$enable_sysv = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *mcall-sysv* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
-       ;;
-esac
-
-# Remove extraneous blanks from multidirs.
-# Tests like `if [ -n "$multidirs" ]' require it.
-multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ 
][ ]*/ /g'`
-
-# Add code to library's top level makefile to handle building the multilib
-# subdirs.
-
-cat > Multi.tem <<\EOF
-
-PWD_COMMAND=$${PWDCMD-pwd}
-
-# FIXME: There should be an @-sign in front of the `if'.
-# Leave out until this is tested a bit more.
-multi-do:
-       if [ -z "$(MULTIDIRS)" ]; then \
-         true; \
-       else \
-         rootpre=`${PWD_COMMAND}`/; export rootpre; \
-         srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \
-         lib=`echo "$${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
-         compiler="$(CC)"; \
-         for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
-           dir=`echo $$i | sed -e 's/;.*$$//'`; \
-           if [ "$${dir}" = "." ]; then \
-             true; \
-           else \
-             if [ -d ../$${dir}/$${lib} ]; then \
-               flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
-               if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
-                               CFLAGS="$(CFLAGS) $${flags}" \
-                               CCASFLAGS="$(CCASFLAGS) $${flags}" \
-                               FCFLAGS="$(FCFLAGS) $${flags}" \
-                               FFLAGS="$(FFLAGS) $${flags}" \
-                               ADAFLAGS="$(ADAFLAGS) $${flags}" \
-                               prefix="$(prefix)" \
-                               exec_prefix="$(exec_prefix)" \
-                               GCJFLAGS="$(GCJFLAGS) $${flags}" \
-                               GOCFLAGS="$(GOCFLAGS) $${flags}" \
-                               CXXFLAGS="$(CXXFLAGS) $${flags}" \
-                               LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
-                               LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
-                               LDFLAGS="$(LDFLAGS) $${flags}" \
-                               MULTIFLAGS="$${flags}" \
-                               DESTDIR="$(DESTDIR)" \
-                               INSTALL="$(INSTALL)" \
-                               INSTALL_DATA="$(INSTALL_DATA)" \
-                               INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \
-                               INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \
-                               $(DO)); then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else true; \
-             fi; \
-           fi; \
-         done; \
-       fi
-
-# FIXME: There should be an @-sign in front of the `if'.
-# Leave out until this is tested a bit more.
-multi-clean:
-       if [ -z "$(MULTIDIRS)" ]; then \
-         true; \
-       else \
-         lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
-         for dir in : $(MULTIDIRS); do \
-           test $$dir != : || continue; \
-EOF
-cat >>Multi.tem <<EOF
-           if [ -f ../\$\${dir}/\$\${lib}/${Makefile} ]; then \\
-EOF
-cat >>Multi.tem <<\EOF
-             if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
-             then true; \
-             else exit 1; \
-             fi; \
-           else true; \
-           fi; \
-         done; \
-       fi
-EOF
-
-cat ${Makefile} Multi.tem > Makefile.tem
-rm -f ${Makefile} Multi.tem
-mv Makefile.tem ${Makefile}
-
-fi # ${ml_toplevel_p} = yes
-
-if [ "${ml_verbose}" = --verbose ]; then
-  echo "Adding multilib support to ${Makefile} in ${ml_realsrcdir}"
-  if [ "${ml_toplevel_p}" = yes ]; then
-    echo "multidirs=${multidirs}"
-  fi
-  echo "with_multisubdir=${with_multisubdir}"
-fi
-
-if [ "${srcdir}" = "." ]; then
-  if [ "${with_target_subdir}" != "." ]; then
-    ml_srcdotdot="../"
-  else
-    ml_srcdotdot=""
-  fi
-else
-  ml_srcdotdot=""
-fi
-
-if [ -z "${with_multisubdir}" ]; then
-  ml_subdir=
-  ml_builddotdot=
-  : # ml_srcdotdot= # already set
-else
-  ml_subdir="/${with_multisubdir}"
-  # The '[^/][^/]*' appears that way to work around a SunOS sed bug.
-  ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/
-  if [ "$srcdir" = "." ]; then
-    ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot}
-  else
-    : # ml_srcdotdot= # already set
-  fi
-fi
-
-if [ "${ml_toplevel_p}" = yes ]; then
-  ml_do='$(MAKE)'
-  ml_clean='$(MAKE)'
-else
-  ml_do=true
-  ml_clean=true
-fi
-
-# TOP is used by newlib and should not be used elsewhere for this purpose.
-# MULTI{SRC,BUILD}TOP are the proper ones to use.  MULTISRCTOP is empty
-# when srcdir != builddir.  MULTIBUILDTOP is always some number of ../'s.
-# FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can
-# delete TOP.  Newlib may wish to continue to use TOP for its own purposes
-# of course.
-# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile)
-# and lists the subdirectories to recurse into.
-# MULTISUBDIR is non-empty in each cpu subdirectory's Makefile
-# (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with
-# a leading '/'.
-# MULTIDO is used for targets like all, install, and check where
-# $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed.
-# MULTICLEAN is used for the *clean targets.
-#
-# ??? It is possible to merge MULTIDO and MULTICLEAN into one.  They are
-# currently kept separate because we don't want the *clean targets to require
-# the existence of the compiler (which MULTIDO currently requires) and
-# therefore we'd have to record the directory options as well as names
-# (currently we just record the names and use --print-multi-lib to get the
-# options).
-
-sed -e "s:^TOP[        ]*=[    ]*\([./]*\)[    ]*$:TOP = ${ml_builddotdot}\1:" 
\
-    -e "s:^MULTISRCTOP[        ]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \
-    -e "s:^MULTIBUILDTOP[      ]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \
-    -e "s:^MULTIDIRS[  ]*=.*$:MULTIDIRS = ${multidirs}:" \
-    -e "s:^MULTISUBDIR[        ]*=.*$:MULTISUBDIR = ${ml_subdir}:" \
-    -e "s:^MULTIDO[    ]*=.*$:MULTIDO = $ml_do:" \
-    -e "s:^MULTICLEAN[         ]*=.*$:MULTICLEAN = $ml_clean:" \
-       ${Makefile} > Makefile.tem
-rm -f ${Makefile}
-mv Makefile.tem ${Makefile}
-
-# If this is the library's top level, configure each multilib subdir.
-# This is done at the end because this is the loop that runs configure
-# in each multilib subdir and it seemed reasonable to finish updating the
-# Makefile before going on to configure the subdirs.
-
-if [ "${ml_toplevel_p}" = yes ]; then
-
-# We must freshly configure each subdirectory.  This bit of code is
-# actually partially stolen from the main configure script.  FIXME.
-
-if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
-
-  if [ "${ml_verbose}" = --verbose ]; then
-    echo "Running configure in multilib subdirs ${multidirs}"
-    echo "pwd: `${PWDCMD-pwd}`"
-  fi
-
-  ml_origdir=`${PWDCMD-pwd}`
-  ml_libdir=`echo "$ml_origdir" | sed -e 's,^.*/,,'`
-  # cd to top-level-build-dir/${with_target_subdir}
-  cd ..
-
-  for ml_dir in ${multidirs}; do
-
-    if [ "${ml_verbose}" = --verbose ]; then
-      echo "Running configure in multilib subdir ${ml_dir}"
-      echo "pwd: `${PWDCMD-pwd}`"
-    fi
-
-    if [ -d ${ml_dir} ]; then true; else
-      # ``mkdir -p ${ml_dir}''
-      pathcomp=""
-      for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// 
/g;s/^#/\//;p'`; do
-        pathcomp="$pathcomp$d"
-        case "$pathcomp" in
-          -* ) pathcomp=./$pathcomp ;;
-        esac
-        if test ! -d "$pathcomp"; then
-           echo "mkdir $pathcomp" 1>&2
-           mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
-        fi
-        if test ! -d "$pathcomp"; then
-          exit $lasterr
-        fi
-        pathcomp="$pathcomp/"
-      done
-    fi
-    if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir 
${ml_dir}/${ml_libdir}; fi
-
-    # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../
-    dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'`
-
-    case ${srcdir} in
-    ".")
-      echo "Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}"
-      if [ "${with_target_subdir}" != "." ]; then
-       ml_unsubdir="../"
-      else
-       ml_unsubdir=""
-      fi
-      (cd ${ml_dir}/${ml_libdir};
-       ../${dotdot}${ml_unsubdir}symlink-tree 
../${dotdot}${ml_unsubdir}${ml_libdir} "")
-      if [ -f ${ml_dir}/${ml_libdir}/${Makefile} ]; then
-       if [ x"${MAKE}" = x ]; then
-         (cd ${ml_dir}/${ml_libdir}; make distclean)
-       else
-         (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean)
-       fi
-      fi
-      ml_newsrcdir="."
-      ml_srcdiroption=
-      multisrctop=${dotdot}
-      ;;
-    *)
-      case "${srcdir}" in
-      /* | [A-Za-z]:[\\/]* ) # absolute path
-        ml_newsrcdir=${srcdir}
-        ;;
-      *) # otherwise relative
-        ml_newsrcdir=${dotdot}${srcdir}
-        ;;
-      esac
-      ml_srcdiroption="-srcdir=${ml_newsrcdir}"
-      multisrctop=
-      ;;
-    esac
-
-    case "${progname}" in
-    /* | [A-Za-z]:[\\/]* )     ml_recprog=${progname} ;;
-    *)      ml_recprog=${dotdot}${progname} ;;
-    esac
-
-    # FIXME: POPDIR=${PWD=`pwd`} doesn't work here.
-    ML_POPDIR=`${PWDCMD-pwd}`
-    cd ${ml_dir}/${ml_libdir}
-
-    if [ -f ${ml_newsrcdir}/configure ]; then
-      ml_recprog="${ml_newsrcdir}/configure"
-    fi
-
-    # find compiler flag corresponding to ${ml_dir}
-    for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
-      dir=`echo $i | sed -e 's/;.*$//'`
-      if [ "${dir}" = "${ml_dir}" ]; then
-        flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`
-        break
-      fi
-    done
-    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" 
GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
-
-    if [ "${with_target_subdir}" = "." ]; then
-       CC_=$CC' '
-       CXX_=$CXX' '
-       F77_=$F77' '
-       GCJ_=$GCJ' '
-       GFORTRAN_=$GFORTRAN' '
-       GOC_=$GOC' '
-    else
-       # Create a regular expression that matches any string as long
-       # as ML_POPDIR.
-       popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'`
-       CC_=
-       for arg in ${CC}; do
-         case $arg in
-         -[BIL]"${ML_POPDIR}"/*)
-           CC_="${CC_}"`echo "X${arg}" | sed -n 
"s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;;
-         "${ML_POPDIR}"/*)
-           CC_="${CC_}"`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         *)
-           CC_="${CC_}${arg} " ;;
-         esac
-       done
-
-       CXX_=
-       for arg in ${CXX}; do
-         case $arg in
-         -[BIL]"${ML_POPDIR}"/*)
-           CXX_="${CXX_}"`echo "X${arg}" | sed -n 
"s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         "${ML_POPDIR}"/*)
-           CXX_="${CXX_}"`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         *)
-           CXX_="${CXX_}${arg} " ;;
-         esac
-       done
-
-       F77_=
-       for arg in ${F77}; do
-         case $arg in
-         -[BIL]"${ML_POPDIR}"/*)
-           F77_="${F77_}"`echo "X${arg}" | sed -n 
"s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         "${ML_POPDIR}"/*)
-           F77_="${F77_}"`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         *)
-           F77_="${F77_}${arg} " ;;
-         esac
-       done
-
-       GCJ_=
-       for arg in ${GCJ}; do
-         case $arg in
-         -[BIL]"${ML_POPDIR}"/*)
-           GCJ_="${GCJ_}"`echo "X${arg}" | sed -n 
"s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         "${ML_POPDIR}"/*)
-           GCJ_="${GCJ_}"`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         *)
-           GCJ_="${GCJ_}${arg} " ;;
-         esac
-       done
-
-       GFORTRAN_=
-       for arg in ${GFORTRAN}; do
-         case $arg in
-         -[BIL]"${ML_POPDIR}"/*)
-           GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n 
"s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         "${ML_POPDIR}"/*)
-           GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         *)
-           GFORTRAN_="${GFORTRAN_}${arg} " ;;
-         esac
-       done
-
-       GOC_=
-       for arg in ${GOC}; do
-         case $arg in
-         -[BIL]"${ML_POPDIR}"/*)
-           GOC_="${GOC_}"`echo "X${arg}" | sed -n 
"s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         "${ML_POPDIR}"/*)
-           GOC_="${GOC_}"`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-         *)
-           GOC_="${GOC_}${arg} " ;;
-         esac
-       done
-
-       if test "x${LD_LIBRARY_PATH+set}" = xset; then
-         LD_LIBRARY_PATH_=
-         for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
-           case "$arg" in
-           "${ML_POPDIR}"/*)
-             arg=`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`
-             ;;
-           esac
-           if test "x$LD_LIBRARY_PATH_" != x; then
-             LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg
-           else
-             LD_LIBRARY_PATH_=$arg
-           fi
-          done
-         ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_"
-       fi
-
-       if test "x${SHLIB_PATH+set}" = xset; then
-         SHLIB_PATH_=
-         for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do
-           case "$arg" in
-           "${ML_POPDIR}"/*)
-             arg=`echo "X${arg}" | sed -n 
"s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n 
"s/X${popdir_rx}\\(.*\\)/\\1/p"`
-             ;;
-           esac
-           if test "x$SHLIB_PATH_" != x; then
-             SHLIB_PATH_=$SHLIB_PATH_:$arg
-           else
-             SHLIB_PATH_=$arg
-           fi
-          done
-         ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_"
-       fi
-    fi
-
-    if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
-       --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
-       ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
-      true
-    else
-      exit 1
-    fi
-
-    cd "${ML_POPDIR}"
-
-  done
-
-  cd "${ml_origdir}"
-fi
-
-fi # ${ml_toplevel_p} = yes
-fi # ${enable_multilib} = yes
diff --git a/contrib/multilib/multi.m4 b/contrib/multilib/multi.m4
deleted file mode 100644
index d1320d6..0000000
--- a/contrib/multilib/multi.m4
+++ /dev/null
@@ -1,64 +0,0 @@
-##                                                          -*- Autoconf -*-
-# Copyright (C) 1998-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
-# ---------------------------------------------------
-# Add --enable-multilib to configure.
-AC_DEFUN([AM_ENABLE_MULTILIB],
-[# Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[  --enable-multilib       build many library versions (default)],
-[case "$enableval" in
-  yes) multilib=yes ;;
-  no)  multilib=no ;;
-  *)   AC_MSG_ERROR([bad value $enableval for multilib option]) ;;
- esac],
-             [multilib=yes])
-
-# We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
-# See config-ml.in if you want the gory details.
-
-if test "$srcdir" = "."; then
-  if test "$with_target_subdir" != "."; then
-    multi_basedir="$srcdir/$with_multisrctop../$2"
-  else
-    multi_basedir="$srcdir/$with_multisrctop$2"
-  fi
-else
-  multi_basedir="$srcdir/$2"
-fi
-AC_SUBST(multi_basedir)
-
-# Even if the default multilib is not a cross compilation,
-# it may be that some of the other multilibs are.
-if test $cross_compiling = no && test $multilib = yes \
-   && test "x${with_multisubdir}" != x ; then
-   cross_compiling=maybe
-fi
-
-AC_OUTPUT_COMMANDS([
-# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" ]m4_default([$1],Makefile)[ "*)
-   ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in
-   ;;
-esac],
-                  [
-srcdir="$srcdir"
-host="$host"
-target="$target"
-with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
-with_target_subdir="$with_target_subdir"
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-multi_basedir="$multi_basedir"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-CC="$CC"])])dnl
diff --git a/contrib/multilib/multilib.am b/contrib/multilib/multilib.am
deleted file mode 100644
index 5549d44..0000000
--- a/contrib/multilib/multilib.am
+++ /dev/null
@@ -1,46 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-
-## Copyright (C) 1994-2012 Free Software Foundation, Inc.
-
-## This Makefile.in is free software; the Free Software Foundation
-## gives unlimited permission to copy and/or distribute it,
-## with or without modifications, as long as this notice is preserved.
-
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds.  Hence the
-# comments below.
-all-multi:
-       $(MULTIDO) DO=all multi-do # $(MAKE)
-install-multi:
-       $(MULTIDO) DO=install multi-do # $(MAKE)
-mostlyclean-multi:
-       $(MULTICLEAN) DO=mostlyclean multi-clean # $(MAKE)
-clean-multi:
-       $(MULTICLEAN) DO=clean multi-clean # $(MAKE)
-distclean-multi:
-       $(MULTICLEAN) DO=distclean multi-clean # $(MAKE)
-maintainer-clean-multi:
-       $(MULTICLEAN) DO=maintainer-clean multi-clean # $(MAKE)
-
-.PHONY: all-multi clean-multi distclean-multi install-am \
-        install-multi maintainer-clean-multi mostlyclean-multi
-
-install-exec-local: install-multi
-
-all-local: all-multi
-mostlyclean-local: mostlyclean-multi
-clean-local: clean-multi
-distclean-local: distclean-multi
-maintainer-clean-local: maintainer-clean-multi
diff --git a/contrib/multilib/symlink-tree b/contrib/multilib/symlink-tree
deleted file mode 100755
index f1877f9..0000000
--- a/contrib/multilib/symlink-tree
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/sh
-# Create a symlink tree.
-#
-# Copyright (C) 1995-2012 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-#
-# Please report bugs to <address@hidden>
-# and send patches to <address@hidden>.
-
-# Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
-#
-# where srcdir is the directory to create a symlink tree to,
-# and "ignoreN" is a list of files/directories to ignore.
-
-prog=$0
-srcdir=$1
-ignore="$2"
-
-if test $# -lt 1; then
-  echo "symlink-tree error:  Usage: symlink-tree srcdir \"ignore1 ignore2 
...\""
-  exit 1
-fi
-
-ignore_additional=". .. CVS"
-
-# If we were invoked with a relative path name, adjust ${prog} to work
-# in subdirs.
-case ${prog} in
-/* | [A-Za-z]:[\\/]*) ;;
-*) prog=../${prog} ;;
-esac
-
-# Set newsrcdir to something subdirectories can use.
-case ${srcdir} in
-/* | [A-Za-z]:[\\/]*) newsrcdir=${srcdir} ;;
-*) newsrcdir=../${srcdir} ;;
-esac
-
-for f in `ls -a ${srcdir}`; do
-  if [ -d ${srcdir}/$f ]; then
-    found=
-    for i in ${ignore} ${ignore_additional}; do
-      if [ "$f" = "$i" ]; then
-       found=yes
-      fi
-    done
-    if [ -z "${found}" ]; then
-      echo "$f         ..working in"
-      if [ -d $f ]; then true; else mkdir $f; fi
-      (cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
-    fi
-  else
-    echo "$f           ..linked"
-    rm -f $f
-    ln -s ${srcdir}/$f .
-  fi
-done
-
-exit 0
diff --git a/lib/am/parallel-tests.am b/lib/am/parallel-tests.am
index c8913f6..910d8d6 100644
--- a/lib/am/parallel-tests.am
+++ b/lib/am/parallel-tests.am
@@ -406,6 +406,8 @@ check-TESTS:
 
 ## Recheck must depend on $(check_SCRIPTS), $(check_PROGRAMS), etc.
 ## It must also depend on the 'all' target.  See automake bug#11252.
+## FIXME: this recipe should be fixed not to trip on automake
+## FIXME: bug#11791 anymore.
 recheck: all %CHECK_DEPS%
        @bases='$(am__test_bases)'; \
 ## If running a "make recheck", we must only consider tests that had an
diff --git a/lib/test-driver b/lib/test-driver
index 60583c8..c29e726 100755
--- a/lib/test-driver
+++ b/lib/test-driver
@@ -1,7 +1,7 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2012-05-18.16; # UTC
+scriptversion=2012-06-27.10; # UTC
 
 # Copyright (C) 2011-2012 Free Software Foundation, Inc.
 #
@@ -45,7 +45,7 @@ Usage:
   test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
               [--expect-failure={yes|no}] [--color-tests={yes|no}]
               [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
-The \`--test-name', \`--log-file' and \`--trs-file' options are mandatory.
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
 END
 }
 
@@ -74,7 +74,7 @@ while test $# -gt 0; do
 done
 
 if test $color_tests = yes; then
-  # Keep this in sync with `lib/am/check.am:$(am__tty_colors)'.
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
   red='' # Red.
   grn='' # Green.
   lgn='' # Light green.
diff --git a/syntax-checks.mk b/syntax-checks.mk
index 4ba176b..3a525ed 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -77,6 +77,7 @@ sc_tests_automake_fails \
 sc_tests_required_after_defs \
 sc_tests_plain_sleep \
 sc_tests_ls_t \
+sc_tests_executable \
 sc_m4_am_plain_egrep_fgrep \
 sc_tests_PATH_SEPARATOR \
 sc_tests_logs_duplicate_prefixes \
@@ -557,6 +558,19 @@ sc_tests_ls_t:
          exit 1; \
        fi
 
+## Test scripts must be executable.
+sc_tests_executable:
+       @st=0; \
+       for f in $(xtests); do \
+         case $$f in \
+           t/ax/*|./t/ax/*|$(srcdir)/t/ax/*);; \
+           *) test -x $$f || { echo "$$f: not executable" >&2; st=1; }; \
+         esac; \
+       done; \
+       test $$st -eq 0 || echo '$@: some test scripts are not executable' >&2; 
\
+       exit $$st;
+
+
 ## Never use 'sleep 1' to create files with different timestamps.
 ## Use '$sleep' instead.  Some filesystems (e.g., Windows) have only
 ## a 2sec resolution.
diff --git a/t/autohdrdry.sh b/t/autohdrdry.sh
index 3bd474e..af6c198 100755
--- a/t/autohdrdry.sh
+++ b/t/autohdrdry.sh
@@ -37,6 +37,6 @@ $MAKE
 rm -f config.h
 $MAKE -n
 test -f stamp-h1
-test ! -r config.h
+test ! -e config.h
 
 :
diff --git a/t/help-multilib.sh b/t/help-multilib.sh
deleted file mode 100755
index d4f6402..0000000
--- a/t/help-multilib.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Make sure that our macro 'AM_ENABLE_MULTILIB' adds proper text to
-# the configure help screen.
-# FIXME: the features tested by this script has been moved in contrib.
-# FIXME: We should move this script accordingly.
-
-. ./defs || exit 1
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_ENABLE_MULTILIB
-END
-
-cat "$am_top_srcdir"/contrib/multilib/multi.m4 > aclocal.m4
-$AUTOCONF
-
-grep_configure_help --enable-multilib ' many library versions \(default\)'
-
-:
diff --git a/t/multlib.sh b/t/multlib.sh
deleted file mode 100755
index a5b1c94..0000000
--- a/t/multlib.sh
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Check multilib support.
-# Based on a test case from Ralf Corsepius.
-# FIXME: the features tested by this script has been moved in contrib.
-# FIXME: We should move this script accordingly.
-
-required=gcc
-. ./defs || exit 1
-
-mldir=$am_top_srcdir/contrib/multilib
-mkdir m4
-cp "$mldir"/config-ml.in "$mldir"/symlink-tree .
-cp "$mldir"/multi.m4 m4
-
-ACLOCAL_PATH=${ACLOCAL_PATH+"$ACLOCAL_PATH:"}$(pwd)/m4
-export ACLOCAL_PATH
-
-cat >configure.ac <<'END'
-AC_INIT([multlib], [1.0])
-AC_CONFIG_SRCDIR(libfoo/foo.c)
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_SUBDIRS(libfoo)
-AC_CONFIG_SUBDIRS(libbar)
-AC_OUTPUT
-END
-
-cat >mycc <<'END'
-#! /bin/sh
-case ${1+"$@"} in
- *-print-multi-lib*)
-  echo ".;"
-  echo "debug;@g"
-  exit 0 ;;
-esac
-gcc ${1+"$@"}
-END
-
-chmod +x mycc
-PATH=$(pwd)$PATH_SEPARATOR$PATH; export PATH
-
-cat >Makefile.am <<'EOF'
-SUBDIRS = @subdirs@
-EXTRA_DIST = config-ml.in symlink-tree
-check-all:
-       test -f debug/libfoo/libfoo.a
-       test -f debug/libbar/libbar.a
-       test -f libfoo/libfoo.a
-       test -f libbar/libbar.a
-EOF
-
-# libfoo tests multilib supports when there are no subdirectories
-# libbar tests multilib supports when there are subdirectories
-
-mkdir libfoo
-cp "$mldir"/multilib.am libfoo/
-
-cat >libfoo/configure.ac <<'END'
-AC_PREREQ(2.57)
-AC_INIT(libfoo, 0.1, address@hidden)
-AC_CONFIG_SRCDIR(foo.c)
-# Apparently it doesn't work to have auxdir=.. when
-# multilib uses symlinked trees.
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_RANLIB
-AM_ENABLE_MULTILIB(Makefile,[..])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-
-cat >libfoo/Makefile.am <<'END'
-noinst_LIBRARIES = libfoo.a
-libfoo_a_SOURCES = foo.c
-include $(top_srcdir)/multilib.am
-END
-
-: > libfoo/foo.c
-
-mkdir libbar
-cp "$mldir"/multilib.am libbar/
-
-cat >libbar/configure.ac <<'END'
-AC_PREREQ(2.57)
-AC_INIT(libbar, 0.1, address@hidden)
-# Apparently it doesn't work to have auxdir=.. when
-# multilib uses symlinked trees.
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_RANLIB
-AM_ENABLE_MULTILIB(Makefile,[..])
-AC_CONFIG_FILES([Makefile sub/Makefile])
-AC_OUTPUT
-END
-
-cat >libbar/Makefile.am <<'END'
-SUBDIRS = sub
-noinst_LIBRARIES = libbar.a
-libbar_a_SOURCES = bar.c
-include $(top_srcdir)/multilib.am
-END
-
-mkdir libbar/sub
-echo 'include $(top_srcdir)/multilib.am' >libbar/sub/Makefile.am
-: > libbar/bar.c
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-cd libfoo
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-cd ..
-
-cd libbar
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-cd ..
-
-# Check VPATH builds
-mkdir build
-cd build
-../configure --enable-multilib CC=mycc
-$MAKE
-test -f debug/libfoo/libfoo.a
-test -f debug/libbar/libbar.a
-test -f libfoo/libfoo.a
-test -f libbar/libbar.a
-$MAKE install
-$MAKE distcleancheck
-
-# Check standard builds.
-cd ..
-# Why to I have to specify --with-target-subdir?
-./configure --enable-multilib --with-target-subdir=. CC=mycc
-$MAKE check
-DISTCHECK_CONFIGURE_FLAGS='--enable-multilib CC=mycc' $MAKE distcheck
-
-:
diff --git a/t/parallel-tests-recheck-pr11791.sh 
b/t/parallel-tests-recheck-pr11791.sh
new file mode 100755
index 0000000..2cb18cf
--- /dev/null
+++ b/t/parallel-tests-recheck-pr11791.sh
@@ -0,0 +1,87 @@
+#! /bin/sh
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# parallel-tests: "make recheck" "make -k recheck" in the face of build
+# failures for the test cases.  See automake bug#11791.
+
+required='cc native'
+. ./defs || exit 1
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TESTS = $(EXTRA_PROGRAMS)
+EXTRA_PROGRAMS = foo
+END
+
+echo 'int main (void) { return 1; }' > foo.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+$MAKE check >stdout && { cat stdout; exit 1; }
+cat stdout
+count_test_results total=1 pass=0 fail=1 xpass=0 xfail=0 skip=0 error=0
+
+$MAKE -k recheck >stdout && { cat stdout; exit 1; }
+cat stdout
+count_test_results total=1 pass=0 fail=1 xpass=0 xfail=0 skip=0 error=0
+
+# Introduce an error in foo.c, that should cause a compilation failure.
+$sleep
+echo choke me >> foo.c
+
+$MAKE recheck >stdout && { cat stdout; exit 1; }
+cat stdout
+# We don't get a change to run the testsuite.
+$EGREP '(X?PASS|X?FAIL|SKIP|ERROR):' stdout && exit 1
+# These shouldn't be removed, otherwise the next make recheck will do
+# nothing.
+test -f foo.log
+test -f foo.trs
+
+st=0; $MAKE -k recheck >stdout || st=$?
+cat stdout
+# Don't trust the exit status of "make -k" for non-GNU makes.
+if using_gmake && test $st -eq 0; then exit 1; fi
+# We don't get a change to run the testsuite.
+$EGREP '(X?PASS|X?FAIL|SKIP|ERROR):' stdout && exit 1
+test -f foo.log
+test -f foo.trs
+
+# "Repair" foo.c, and expect everything to work.
+$sleep
+echo 'int main (void) { return 0; }' > foo.c
+
+$MAKE recheck >stdout || { cat stdout; exit 1; }
+cat stdout
+count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
+test -f foo.log
+test -f foo.trs
+
+$MAKE recheck >stdout || { cat stdout; exit 1; }
+cat stdout
+count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+test -f foo.log
+test -f foo.trs
+
+:


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]