multilib: move to contrib
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 21 Jan 2012 10:33:44 +0000 (11:33 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 24 Jan 2012 08:24:22 +0000 (09:24 +0100)
This follows up on commit v1.11-665-gc5df21e of 2012-01-17,
"multilib: deprecate, will be moved to contrib".  See also:
<http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html>

* NEWS: Update.
* automake.in ($seen_multilib): Remove.
(scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't
handle it anymore.
(handle_multilib): Remove.
(generate_makefile): Don't call it anymore.
* doc/automake.texi: Remove documentation about multilib support,
related macros, and helper files.
* m4/multi.m4: Delete.
* m4/Makefile.am (dist_automake_ac_DATA): Remove it.
* lib/am/multilib.am: Delete.
* lib/am/Makefile.am (dist_am_DATA): Remove it.
* contrib/multilib/multilib.am: New file, adapted from extracts of
a Makefile.in generated with automake multilib support.  We did
this instead of moving and editing 'lib/am/multilib.am' because it
allows us to license this file with a liberal license that will
permit users to copy-and-paste it in non-GPLed Makefile.am files
too).
* lib/symlink-tree, lib/config-ml.in: Move ...
* contrib/multilib: ... in here.
* lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update.
* contrib/multilib/README: New file.
* contrib/Makefile.am (EXTRA_DIST): Add the files created or moved
in 'contrib/multlib'.
* tests/multilib.test: Update and enhance a little.
* tests/help-multilib.test: Likewise.

15 files changed:
NEWS
automake.in
contrib/Makefile.am
contrib/multilib/README [new file with mode: 0644]
contrib/multilib/config-ml.in [moved from lib/config-ml.in with 100% similarity]
contrib/multilib/multilib.am [new file with mode: 0644]
contrib/multilib/symlink-tree [moved from lib/symlink-tree with 100% similarity]
doc/automake.texi
lib/Makefile.am
lib/am/Makefile.am
lib/am/multilib.am [deleted file]
m4/Makefile.am
m4/multi.m4 [deleted file]
tests/help-multilib.test
tests/multlib.test

diff --git a/NEWS b/NEWS
index 03ad438..63796cc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,15 +4,15 @@ New in 1.11a:
 
   - Support for automatic de-ANSI-fication has been removed.
 
+  - The support for the "obscure" multilib feature has been removed
+    from Automake core (but remains available in the 'contrib/'
+    directory of the Automake distribution).
+
   - Support for ".log -> .html" conversion and the check-html and
     recheck-html targets has been removed from Automake core (but
     remains available in the 'contrib/' directory of the Automake
     distribution).
 
-  - The support for the "obscure" multilib feature has been deprecated,
-    and will be moved out of the automake core in the next major Automake
-    release (1.12).
-
   - The deprecated `lzma' compression format for distribution archives
     has been removed, in favor of `xz' and `lzip'.
 
index 160210c..6944724 100644 (file)
@@ -386,9 +386,6 @@ my $package_version = '';
 # Where version is defined.
 my $package_version_location;
 
-# TRUE if we've seen AM_ENABLE_MULTILIB.
-my $seen_multilib = 0;
-
 # TRUE if we've seen AM_PROG_AR
 my $seen_ar = 0;
 
@@ -3697,16 +3694,6 @@ sub handle_tags
     }
 }
 
-# Handle multilib support.
-sub handle_multilib
-{
-  if ($seen_multilib && $relative_dir eq '.')
-    {
-      $output_rules .= &file_contents ('multilib', new Automake::Location);
-      push (@all, 'all-multi');
-    }
-}
-
 
 # user_phony_rule ($NAME)
 # -----------------------
@@ -5224,7 +5211,6 @@ sub scan_autoconf_traces ($)
                AC_SUBST_TRACE => 1,
                AM_AUTOMAKE_VERSION => 1,
                AM_CONDITIONAL => 2,
-               AM_ENABLE_MULTILIB => 0,
                AM_GNU_GETTEXT => 0,
                AM_GNU_GETTEXT_INTL_SUBDIR => 0,
                AM_INIT_AUTOMAKE => 0,
@@ -5386,10 +5372,6 @@ sub scan_autoconf_traces ($)
        {
          $configure_cond{$args[1]} = $where;
        }
-      elsif ($macro eq 'AM_ENABLE_MULTILIB')
-       {
-         $seen_multilib = $where;
-       }
       elsif ($macro eq 'AM_GNU_GETTEXT')
        {
          $seen_gettext = $where;
@@ -8110,7 +8092,6 @@ sub generate_makefile ($$)
       define_pretty_variable ('DIST_SOURCES', TRUE, INTERNAL, @dist_sources);
     }
 
-  handle_multilib;
   handle_texinfo;
   handle_emacs_lisp;
   handle_python;
index ce1d699..91c1cab 100644 (file)
@@ -19,5 +19,9 @@
 
 EXTRA_DIST = \
   check-html.am \
+  multilib/README \
+  multilib/config-ml.in \
+  multilib/symlink-tree \
+  multilib/multilib.am \
   multilib/multi.m4 \
   README
diff --git a/contrib/multilib/README b/contrib/multilib/README
new file mode 100644 (file)
index 0000000..35c726f
--- /dev/null
@@ -0,0 +1,9 @@
+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/multilib.am b/contrib/multilib/multilib.am
new file mode 100644 (file)
index 0000000..f38921c
--- /dev/null
@@ -0,0 +1,47 @@
+## automake - create Makefile.in from Makefile.am
+
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+## 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+install-multi:
+       $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
+mostlyclean-multi:
+       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
+clean-multi:
+       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
+distclean-multi:
+       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
+maintainer-clean-multi:
+       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
+
+.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
index 0cdeb7b..8ff081e 100644 (file)
@@ -354,7 +354,6 @@ Miscellaneous Rules
 
 * Tags::                        Interfacing to cscope, etags and mkid
 * Suffixes::                    Handling new file extensions
-* Multilibs::                   Support for multilibs (deprecated, soon to be removed).
 
 Conditionals
 
@@ -2303,14 +2302,6 @@ you are encouraged to fetch the latest versions of these files from
 @url{http://savannah.gnu.org/git/?group=config} before making a
 release.
 
-@item config-ml.in
-This file is not a program, it is a @file{configure} fragment used for
-multilib support (@pxref{Multilibs}).  Since the Automake multilib
-support has been @emph{deprecated} and targeted for removal, this
-file is going to be @emph{removed from the Automake core} in the next
-major release.  The master copy of this file is maintained in the GCC
-tree at @url{http://gcc.gnu.org/svn.html}.
-
 @item depcomp
 This program understands how to run a compiler so that it will
 generate not only the desired output but also dependency information
@@ -2347,15 +2338,6 @@ longer installed automatically, and it should be safe to remove it.
 @item py-compile
 This is used to byte-compile Python scripts.
 
-@item symlink-tree
-This program duplicates a tree of directories, using symbolic links
-instead of copying files.  Such an operation is performed when building
-multilibs (@pxref{Multilibs}).  Since the Automake multilib support has
-been @emph{deprecated} and targeted for removal, this file is going to
-be @emph{removed from the Automake core} in the next major release.
-The master copy of this file is maintained in the GCC tree at
-@url{http://gcc.gnu.org/svn.html}.
-
 @item test-driver
 This implements the default test driver offered by the parallel
 testsuite harness.
@@ -3958,21 +3940,6 @@ Automake ships with several Autoconf macros that you can use from your
 
 @table @code
 
-@item AM_ENABLE_MULTILIB
-@acindex AM_ENABLE_MULTILIB
-
-This is used when a ``multilib'' library is being built.  Please be
-aware that multilib support @emph{will be removed} from the Automake
-core in the next major release, and then @emph{this macro will go away
-as well} (even if a ``frozen'' version of will remain available in the
-@file{contrib/} directory of the Automake distribution).
-
-The first optional argument is the name of the @file{Makefile} being
-generated; it defaults to @samp{Makefile}.  The second optional argument
-is used to find the top source directory; it defaults to the empty
-string (generally this should not be used unless you are familiar with
-the internals).  @xref{Multilibs}.
-
 @item AM_INIT_AUTOMAKE([OPTIONS])
 @itemx AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 @acindex AM_INIT_AUTOMAKE
@@ -10344,7 +10311,6 @@ There are a few rules and variables that didn't fit anywhere else.
 @menu
 * Tags::                        Interfacing to cscope, etags and mkid
 * Suffixes::                    Handling new file extensions
-* Multilibs::   Support for multilibs (deprecated, soon to be removed).
 @end menu
 
 
@@ -10472,22 +10438,6 @@ Automake generate the suffix list for @code{.SUFFIXES}.  Any given
 @code{SUFFIXES} go at the start of the generated suffixes list, followed
 by Automake generated suffixes not already in the list.
 
-@node Multilibs
-@section Support for Multilibs (deprecated, soon to be removed).
-
-Automake used to support an obscure feature called multilibs.  @emph{This
-feature is now deprecated, and will be removed in the next major Automake
-version}.  Still, its implementation will remain available in the
-@file{contrib/} directory of the Automake distribution, so it should be
-very easy for motivated users to continue to use it in their projects,
-if they really need to.
-
-A @dfn{multilib} is a library that is built for multiple different ABIs
-at a single time; each time the library is built with a different target
-flag combination.  This is only useful when the library is intended to
-be cross-compiled, and it is almost exclusively used for compiler
-support libraries.
-
 @node Include
 @chapter Include
 
@@ -14286,7 +14236,7 @@ parentheses is the number of generated test cases.
 @c  LocalWords:  AUX var symlink deps Wno Wnone package's aclocal's distclean
 @c  LocalWords:  ltmain xref LIBSOURCE LIBSOURCES LIBOBJ MEMCMP vs RANLIB CXX
 @c  LocalWords:  LDFLAGS LIBTOOL libtool XTRA LIBS gettext's acdir APIVERSION
-@c  LocalWords:  dirlist noindent usr MULTILIB multilib Multilibs TIOCGWINSZ sc
+@c  LocalWords:  dirlist noindent usr TIOCGWINSZ sc
 @c  LocalWords:  GWINSZ termios SRCDIR tarball bzip LISPDIR lispdir XEmacs CCAS
 @c  LocalWords:  emacsen MicroEmacs CCASFLAGS UX GCJ gcj GCJFLAGS posix DMALLOC
 @c  LocalWords:  dmalloc ldmalloc REGEX regex DEPDIR DEP DEFUN aclocaldir fi
@@ -14318,7 +14268,7 @@ parentheses is the number of generated test cases.
 @c  LocalWords:  distdir distcheck distcleancheck listfiles distuninstallcheck
 @c  LocalWords:  VPATH tarfile stdout XFAIL DejaGnu dejagnu DEJATOOL runtest ln
 @c  LocalWords:  RUNTESTDEFAULTFLAGS toolchain RUNTESTFLAGS asis readme DVIPS
-@c  LocalWords:  installcheck gzipped tarZ std utils etags mkid multilibbing cd
+@c  LocalWords:  installcheck gzipped tarZ std utils etags mkid cd
 @c  LocalWords:  ARGS taggable ETAGSFLAGS lang ctags CTAGSFLAGS GTAGS gtags idl
 @c  LocalWords:  foocc doit idlC multilibs ABIs cmindex defmac ARG enableval FC
 @c  LocalWords:  MSG xtrue DBG pathchk CYGWIN afile proglink versioned CVS's TE
index 426c63d..2e6445b 100644 (file)
 
 SUBDIRS = Automake am
 
-dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex config-ml.in
+dist_pkgvdata_DATA = \
+  COPYING \
+  INSTALL \
+  texinfo.tex
 
 ## These must all be executable when installed.  However, if we use
 ## _SCRIPTS, then the program transform will be applied, which is not
@@ -38,7 +41,6 @@ dist_script_DATA = \
   depcomp \
   compile \
   py-compile \
-  symlink-tree \
   ar-lib \
   test-driver \
   tap-driver.sh \
index a174d20..251df05 100644 (file)
@@ -46,7 +46,6 @@ ltlib.am \
 ltlibrary.am \
 mans-vars.am \
 mans.am \
-multilib.am \
 program.am \
 progs.am \
 python.am \
diff --git a/lib/am/multilib.am b/lib/am/multilib.am
deleted file mode 100644 (file)
index 6897b5d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1998, 2001, 2003, 2004 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/>.
-## Multilib support variables.
-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) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
-install-multi:
-       $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-
-.MAKE .PHONY: all-multi install-multi
-
-
-mostlyclean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
-clean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
-distclean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
-maintainer-clean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-
-.MAKE .PHONY: mostlyclean-multi clean-multi distclean-multi maintainer-clean-multi
-
-install-exec-am: install-multi
-## No uninstall rule?
-
-
-## These cleaning rules are recursive.  They should not be
-## registered as dependencies of *-am rules.  For instance
-## otherwise running `make clean' would cause both
-## clean-multi and mostlyclean-multi to be run, while only
-## clean-multi is really expected (since clean-multi recursively
-## call clean, it already do the job of mostlyclean).
-mostlyclean: mostlyclean-multi
-clean: clean-multi
-distclean: distclean-multi
-maintainer-clean: maintainer-clean-multi
index 95cb44d..b2f937d 100644 (file)
@@ -41,7 +41,6 @@ make.m4 \
 minuso.m4 \
 missing.m4 \
 mkdirp.m4 \
-multi.m4 \
 obsol-gt.m4 \
 obsol-lt.m4 \
 obsolete.m4 \
diff --git a/m4/multi.m4 b/m4/multi.m4
deleted file mode 100644 (file)
index bbb964f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-##                                                          -*- Autoconf -*-
-# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2011,
-# 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 8
-
-# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
-# ---------------------------------------------------
-# Add --enable-multilib to configure.
-AC_DEFUN([AM_ENABLE_MULTILIB],
-[m4_warn([obsolete], [$0 will be removed from Automake core soon.
-Files implementing the "multilib" feature are (and will remain) available
-to the 'contrib/' directory in the Automake distribution.])]dnl
-[# Default to --enable-multilib
-AC_ARG_ENABLE([multilib],
-[AS_HELP_STRING(
-   [--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
index d4df64d..6c31cde 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010, 2011, 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
@@ -16,6 +16,8 @@
 
 # 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
 
@@ -24,7 +26,7 @@ AC_INIT([$me], [1.0])
 AM_ENABLE_MULTILIB
 END
 
-$ACLOCAL
+cat "$top_testsrcdir"/contrib/multilib/multi.m4 > aclocal.m4
 $AUTOCONF
 
 grep_configure_help --enable-multilib ' many library versions \(default\)'
index 894effb..7401d9e 100755 (executable)
 
 # 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 GNUmake'
 . ./defs || Exit 1
 
-# Multilib support has been deprecated in the Automake core.
+mldir=$top_testsrcdir/contrib/multilib
+mkdir m4
+cp "$mldir"/config-ml.in "$mldir"/symlink-tree .
+cp "$mldir"/multi.m4 m4
 
-cat >>configure.in <<'END'
-AM_ENABLE_MULTILIB([Makefile], [.])
-END
-
-$ACLOCAL
-$AUTOCONF -Wall -Werror 2>stderr && { cat stderr >&2; Exit 1; }
-cat stderr >&2
-grep '^configure\.in:4:.*AM_ENABLE_MULTILIB.* removed.* soon' stderr
-grep '"multilib".*feature' stderr
-grep 'contrib.* in the Automake distribution' stderr
-
-rm -rf autom4te*.cache aclocal.m4 configure
-
-# Functional tests now.
+ACLOCAL_PATH=${ACLOCAL_PATH+"$ACLOCAL_PATH:"}`pwd`/m4
+export ACLOCAL_PATH
 
 cat >configure.in <<'END'
 AC_INIT([multlib], [1.0])
@@ -66,12 +59,18 @@ PATH=`pwd`$PATH_SEPARATOR$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.in <<'END'
 AC_PREREQ(2.57)
@@ -92,11 +91,13 @@ 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.in <<'END'
 AC_PREREQ(2.57)
@@ -117,35 +118,38 @@ 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
-
-: >libbar/sub/Makefile.am
-
+echo 'include $(top_srcdir)/multilib.am' >libbar/sub/Makefile.am
 : > libbar/bar.c
 
-cp "$am_scriptdir"/config-ml.in "$am_scriptdir"/symlink-tree .
-
-$ACLOCAL -Wno-obsolete
-$AUTOCONF -Werror -Wall -Wno-obsolete
+$ACLOCAL
+$AUTOCONF
 $AUTOMAKE --add-missing
+
 cd libfoo
 $ACLOCAL
-$AUTOCONF -Werror -Wall -Wno-obsolete
+$AUTOCONF
 $AUTOMAKE --add-missing
-cd ../libbar
+cd ..
+
+cd libbar
 $ACLOCAL
-$AUTOCONF -Werror -Wall -Wno-obsolete
+$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
 
@@ -153,4 +157,7 @@ $MAKE distcleancheck
 cd ..
 # Why to I have to specify --with-target-subdir?
 ./configure --enable-multilib --with-target-subdir=. CC=mycc
-$MAKE
+$MAKE check
+DISTCHECK_CONFIGURE_FLAGS='--enable-multilib CC=mycc' $MAKE distcheck
+
+: