automake-patches
[Top][All Lists]
Advanced

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

[PATCH] {master} tests: extend tests on dependency tracking with VPATH (


From: Stefano Lattarini
Subject: [PATCH] {master} tests: extend tests on dependency tracking with VPATH (was: Re: bug#8473: depcomp bug with HP-UX cc and VPATH build)
Date: Tue, 19 Apr 2011 17:59:18 +0200
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Hello Ralf.

On Monday 11 April 2011, Ralf Wildenhues wrote:
> * Ralf Wildenhues wrote on Mon, Apr 11, 2011 at 07:13:00AM CEST:
> >     Fix hp depmode for VPATH builds with GNU make.
> >     
> >     * lib/depcomp: Be sure to remove VPATH-prefixed object from
> >     dependency output when creating stub rule.
> >     * tests/depcomp10.test: New test.
> >     * tests/Makefile.am (TESTS): Update.
> >     * NEWS: Update.
> >     Report by Bruno Haible.
> 
> Of course I should be merging this test and depcomp9, and generalizing
> for all depmodes, and tuning my test scripts to exercise both make and
> gmake on all systems.  (on my TODO list)
> 
I hope you don't mind if I've done this for you ;-)

See the attached patch.  I've tested it with pcc, gcc-2.95, gcc-3.4,
gcc-4.4 and the Sun C compiler, and with GNU, BSD (Debian ports) and
Heirloom make.  Currently there is only one failure (with gcc >= 3
and NetBSD or GNU make and depmode=tru64, which I haven't tried to
analyze yet (in any case, it isn't a regression, so we can tackle it
in a follow-up).  The log of this failure is attached, together with
the content of the offending file `src/sub/.deps/subfoo.Po'.

OK for for a temporary public branch based off of master, to be merged
back into master once the failure above is fixed?

Regards,
  Stefano
From d0c2f586f61e5b01ea74975915b2b67f7635c54e Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Sun, 17 Apr 2011 14:28:17 +0200
Subject: [PATCH] tests: extend tests on dependency tracking with VPATH

* tests/depmod-tests.sh: New script, fulfilling a threefold role:
1. it is called to generate a Makefile.am snippet, containing the
   definition of proper lists of tests;
2. it is called to set up a directory containing some common data
   files and autotools-generated files used by the aforementioned
   tests (this is done for speed reasons only); and
3. it is called to properly run those tests, one at a time.
* tests/depcomp9.test: Delete, it's obsolete now.
* tests/depcomp10.test: Likewise.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
snippet, which defines ...
(depmode_tests): ... this new macro, containing the list of the
newly generated `*.depmod' tests.
(TESTS_EXTENSIONS): Define.  Add `.depmod'.
(DEPMOD_LOG_COMPILER): Define.  It calls `depmod-tests.sh', so that
the "depmode tests" will be executed by passing that driver script
a proper parameter.
($(depmod_tests)): New dependency declaration (dummy, but required
in order to have make actually produce expected log files from the
`.depmod.log' suffix rule).
(TESTS): Update.
(EXTRA_DIST): Distribute depmod-tests.sh.
* bootstrap: Generate depmod-tests.am.
* tests/.gitignore: Updated.
---
 ChangeLog              |   28 ++
 bootstrap              |    1 +
 tests/.gitignore       |    1 +
 tests/Makefile.am      |   26 +-
 tests/Makefile.in      | 1219 +++++++++++-------------------------------------
 tests/depcomp10.test   |   90 ----
 tests/depcomp9.test    |   92 ----
 tests/depmod-data.test |   30 ++
 tests/depmod-tests.sh  |  220 +++++++++
 9 files changed, 581 insertions(+), 1126 deletions(-)
 delete mode 100755 tests/depcomp10.test
 delete mode 100755 tests/depcomp9.test
 create mode 100755 tests/depmod-data.test
 create mode 100755 tests/depmod-tests.sh

diff --git a/ChangeLog b/ChangeLog
index a84daca..dbb0906 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2011-04-19  Stefano Lattarini  <address@hidden>
+
+       tests: extend tests on dependency tracking with VPATH
+       * tests/depmod-tests.sh: New script, fulfilling a threefold role:
+       1. it is called to generate a Makefile.am snippet, containing the
+          definition of proper lists of tests;
+       2. it is called to set up a directory containing some common data
+          files and autotools-generated files used by the aforementioned
+          tests (this is done for speed reasons only); and
+       3. it is called to properly run those tests, one at a time.
+       * tests/depcomp9.test: Delete, it's obsolete now.
+       * tests/depcomp10.test: Likewise.
+       * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
+       snippet, which defines ...
+       (depmode_tests): ... this new macro, containing the list of the
+       newly generated `*.depmod' tests.
+       (TESTS_EXTENSIONS): Define.  Add `.depmod'.
+       (DEPMOD_LOG_COMPILER): Define.  It calls `depmod-tests.sh', so that
+       the "depmode tests" will be executed by passing that driver script
+       a proper parameter.
+       ($(depmod_tests)): New dependency declaration (dummy, but required
+       in order to have make actually produce expected log files from the
+       `.depmod.log' suffix rule).
+       (TESTS): Update.
+       (EXTRA_DIST): Distribute depmod-tests.sh.
+       * bootstrap: Generate depmod-tests.am.
+       * tests/.gitignore: Updated.
+
 2011-04-18  Stefano Lattarini  <address@hidden>
 
        check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
diff --git a/bootstrap b/bootstrap
index 41f1f4e..95e51d1 100755
--- a/bootstrap
+++ b/bootstrap
@@ -107,6 +107,7 @@ dosubst automake.in automake.tmp
 cd tests
 $BOOTSTRAP_SHELL ./gen-parallel-tests > parallel-tests.am
 $BOOTSTRAP_SHELL ./instspc-tests.sh --generate-makefile > instspc-tests.am
+$BOOTSTRAP_SHELL ./depmod-tests.sh --generate-makefile > depmod-tests.am
 cd ..
 
 # Run the autotools.
diff --git a/tests/.gitignore b/tests/.gitignore
index 026e261..c309c22 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -3,6 +3,7 @@ automake-*
 defs-static
 instspc-tests.am
 parallel-tests.am
+depmod-tests.am
 *.dir
 *.log
 *.log-t
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d5a980a..b274373 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -19,6 +19,8 @@
 MAINTAINERCLEANFILES =
 EXTRA_DIST = ChangeLog-old
 
+TEST_EXTENSIONS = .test
+
 XFAIL_TESTS = \
 all.test \
 auxdir2.test \
@@ -98,6 +100,26 @@ EXTRA_DIST += instspc-tests.sh
 XFAIL_TESTS += $(instspc_xfail_tests)
 
 
+include $(srcdir)/depmod-tests.am
+
+$(srcdir)/depmod-tests.am: depmod-tests.sh Makefile.am
+       $(AM_V_GEN)($(am__cd) $(srcdir) \
+         && $(SHELL) ./depmod-tests.sh --generate-makefile) >$@
+
+TEST_EXTENSIONS += .depmod
+DEPMOD_LOG_COMPILER = $(SHELL) $(srcdir)/depmod-tests.sh
+EXTRA_DIST += depmod-tests.sh
+
+# All `*.depmod' tests work by calling the script `depmod-tests.sh'.
+# Also, they all use shared data generated by the `depmod-data.test'
+# helper test (for reasons of speed).
+depmod-data.log: depmod-tests.sh
+$(depmod_tests:.depmod=.log): depmod-tests.sh depmod-data.log
+# This dummy declaration is required to have make actually produce
+# expected log files from the `.depmod.log' suffix rule.
+$(depmod_tests):
+
+
 TESTS = \
 aclocal.test \
 aclocal3.test \
@@ -372,8 +394,7 @@ depcomp6.test \
 depcomp7.test \
 depcomp8a.test \
 depcomp8b.test \
-depcomp9.test \
-depcomp10.test \
+$(depmode_tests) \
 depdist.test \
 depend.test \
 depend2.test \
@@ -381,6 +402,7 @@ depend3.test \
 depend4.test \
 depend5.test \
 depend6.test \
+depmod-data.test \
 deprecated-acinit.test \
 destdir.test \
 dirforbid.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 794a7b7..7d3eb12 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -50,8 +50,251 @@ POST_UNINSTALL = :
 build_triplet = @build@
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/aclocal.in $(srcdir)/automake.in $(srcdir)/defs \
-       $(srcdir)/defs-static.in $(srcdir)/instspc-tests.am \
-       $(srcdir)/parallel-tests.am
+       $(srcdir)/defs-static.in $(srcdir)/depmod-tests.am \
+       $(srcdir)/instspc-tests.am $(srcdir)/parallel-tests.am
+TESTS = aclocal.test aclocal3.test aclocal4.test aclocal5.test \
+       aclocal6.test aclocal7.test aclocal8.test aclocal9.test \
+       acloca10.test acloca11.test acloca12.test acloca13.test \
+       acloca14.test acloca15.test acloca16.test acloca17.test \
+       acloca18.test acloca19.test acloca20.test acloca21.test \
+       acloca22.test acloca23.test acoutnoq.test acoutpt.test \
+       acoutpt2.test acoutqnl.test acoutbs.test acoutbs2.test \
+       acsilent.test acsubst.test acsubst2.test all.test all2.test \
+       alloca.test alloca2.test alpha.test alpha2.test amassign.test \
+       ammissing.test amopt.test amopts-location.test \
+       amopts-variable-expansion.test amsubst.test ansi.test \
+       ansi2.test ansi3.test ansi3b.test ansi4.test ansi5.test \
+       ansi6.test ansi7.test ansi8.test ansi9.test ansi10.test \
+       ar-lib.test ar.test ar2.test asm.test asm2.test asm3.test \
+       autodist.test autodist-subdir.test autodist-acconfig.test \
+       autodist-acconfig-no-subdir.test autodist-aclocal-m4.test \
+       autodist-config-headers.test autodist-configure-no-subdir.test \
+       autodist-stamp-vti.test autohdr.test autohdr2.test \
+       autohdr3.test autohdr4.test autohdrdry.test automake.test \
+       auxdir.test auxdir2.test auxdir3.test auxdir4.test \
+       auxdir5.test auxdir6.test auxdir7.test auxdir8.test \
+       auxdir9.test backcompat.test backcompat2.test backcompat3.test \
+       backcompat4.test backcompat5.test backcompat6.test backsl.test \
+       backsl2.test backsl3.test backsl4.test badline.test \
+       badopt.test badprog.test block.test bsource.test candist.test \
+       canon.test canon2.test canon3.test canon4.test canon5.test \
+       canon6.test canon7.test canon8.test canon-name.test \
+       ccnoco.test ccnoco2.test ccnoco3.test check.test check2.test \
+       check3.test check4.test check5.test check6.test check7.test \
+       check8.test check9.test check10.test check11.test check12.test \
+       check-exported-srcdir.test check-tests-in-builddir.test \
+       check-tests_environment.test checkall.test clean.test \
+       clean2.test colneq.test colneq2.test colneq3.test colon.test \
+       colon2.test colon3.test colon4.test colon5.test colon6.test \
+       colon7.test color.test color2.test comment.test comment2.test \
+       comment3.test comment4.test comment5.test comment6.test \
+       comment7.test comment8.test comment9.test commen10.test \
+       commen11.test comments-in-var-def.test compile.test \
+       compile2.test compile3.test compile4.test compile5.test \
+       compile6.test compile_f90_c_cxx.test compile_f_c_cxx.test \
+       cond-basic.test cond.test cond2.test cond3.test cond4.test \
+       cond5.test cond6.test cond7.test cond8.test cond9.test \
+       cond10.test cond11.test cond13.test cond14.test cond15.test \
+       cond16.test cond17.test cond18.test cond19.test cond20.test \
+       cond21.test cond22.test cond23.test cond24.test cond25.test \
+       cond26.test cond27.test cond28.test cond29.test cond30.test \
+       cond31.test cond32.test cond33.test cond34.test cond35.test \
+       cond36.test cond37.test cond38.test cond39.test cond40.test \
+       cond41.test cond42.test cond43.test cond44.test cond45.test \
+       cond46.test condd.test condhook.test condhook2.test \
+       condinc.test condinc2.test condlib.test condman.test \
+       condman2.test condman3.test configure.test confdeps.test \
+       conff.test conff2.test confh.test confh4.test confh5.test \
+       confh6.test confh7.test confh8.test confincl.test conflnk.test \
+       conflnk2.test conflnk3.test conflnk4.test confsub.test \
+       confvar.test confvar2.test copy.test cscope.test cscope2.test \
+       cscope3.test cxx.test cxx2.test cxxansi.test cxxcpp.test \
+       cxxlibobj.test cxxlink.test cxxnoc.test cxxo.test \
+       cygnus-check-without-all.test cygnus-dependency-tracking.test \
+       cygnus-imply-foreign.test cygnus-no-dist.test \
+       cygnus-no-installinfo.test \
+       cygnus-requires-maintainer-mode.test cygwin32.test dash.test \
+       defun.test defun2.test dejagnu.test dejagnu2.test \
+       dejagnu3.test dejagnu4.test dejagnu5.test dejagnu6.test \
+       dejagnu7.test depacl2.test depcomp.test depcomp2.test \
+       depcomp3.test depcomp4.test depcomp5.test depcomp6.test \
+       depcomp7.test depcomp8a.test depcomp8b.test depdist.test \
+       depend.test depend2.test depend3.test depend4.test \
+       depend5.test depend6.test depmod-data.test \
+       deprecated-acinit.test destdir.test dirforbid.test \
+       dirlist.test dirlist2.test discover.test \
+       dist-included-parent-dir.test distcleancheck.test \
+       distcom2.test distcom3.test distcom4.test distcom5.test \
+       distcom6.test distcom7.test distdir.test distlinks.test \
+       distlinksbrk.test distname.test dmalloc.test dollar.test \
+       dollarvar.test dollarvar2.test double.test dup2.test else.test \
+       empty.test empty2.test empty3.test empty4.test exdir.test \
+       exdir2.test exdir3.test exeext.test exeext2.test exeext3.test \
+       exeext4.test exsource.test ext.test ext2.test ext3.test \
+       extra.test extra2.test extra3.test extra4.test extra5.test \
+       extra6.test extra7.test extra8.test extra9.test extra10.test \
+       extra11.test extra12.test extradep.test extradep2.test \
+       f90only.test flavor.test flibs.test fn99.test fn99subdir.test \
+       fnoc.test fo.test forcemiss.test forcemiss2.test fort1.test \
+       fort2.test fort4.test fort5.test fonly.test fortdep.test \
+       gcj.test gcj2.test gcj3.test gcj4.test gcj5.test gcj6.test \
+       getopt.test gettext.test gettext2.test gettext3.test \
+       gnumake.test gnuwarn.test gnuwarn2.test gnits.test gnits2.test \
+       gnits3.test hdr-vars-defined-once.test header.test help.test \
+       help2.test help3.test help4.test help-depend.test \
+       help-depend2.test help-dmalloc.test help-init.test \
+       help-lispdir.test help-maintainer.test help-multilib.test \
+       help-python.test help-regex.test help-silent.test \
+       help-upc.test hfs.test hosts.test implicit.test info.test \
+       init.test init2.test insh2.test install2.test installdir.test \
+       instsh.test instsh2.test instsh3.test instdat.test \
+       instdat2.test instdir.test instdir2.test instdir-java.test \
+       instdir-lisp.test instdir-ltlib.test instdir-prog.test \
+       instdir-python.test instdir-texi.test instexec.test \
+       instfail.test instfail-info.test instfail-java.test \
+       instfail-libtool.test insthook.test instman.test instman2.test \
+       instmany.test instmany-mans.test instmany-python.test \
+       instspc-data.test $(instspc_tests) interp.test interp2.test \
+       java.test java2.test java3.test java-check.test javaprim.test \
+       javasubst.test java-extra.test java-noinst.test ldadd.test \
+       ldflags.test lex.test lex2.test lex3.test lex4.test lex5.test \
+       lexcpp.test lexvpath.test lex-subobj-nodep.test lflags.test \
+       lflags2.test libexec.test libobj-basic.test libobj2.test \
+       libobj3.test libobj4.test libobj5.test libobj7.test \
+       libobj8.test libobj10.test libobj12.test libobj13.test \
+       libobj14.test libobj15a.test libobj15b.test libobj15c.test \
+       libobj16a.test libobj16b.test libobj17.test libobj18.test \
+       libobj19.test libobj20a.test libobj20b.test libobj20c.test \
+       library.test library2.test library3.test libtool.test \
+       libtool2.test libtool3.test libtool4.test libtool5.test \
+       libtool6.test libtool7.test libtool8.test libtool9.test \
+       libtoo10.test libtoo11.test license.test license2.test \
+       link_c_cxx.test link_dist.test link_f90_only.test link_fc.test \
+       link_fccxx.test link_fcxx.test link_f_only.test \
+       link_override.test lisp2.test lisp3.test lisp4.test lisp5.test \
+       lisp6.test lisp7.test lisp8.test lispdry.test listval.test \
+       location.test longline.test longlin2.test ltcond.test \
+       ltcond2.test ltconv.test ltdeps.test ltinit.test \
+       ltinstloc.test ltlibobjs.test ltlibsrc.test ltorder.test \
+       lzip.test lzma.test m4-inclusion.test maintclean.test \
+       maintclean-vpath.test make.test makej.test makej2.test \
+       maken.test maken2.test maken3.test maken4.test makevars.test \
+       man.test man2.test man3.test man4.test man5.test mclean.test \
+       mdate.test mdate2.test mdate3.test mdate4.test mdate5.test \
+       mdate6.test missing.test missing2.test missing3.test \
+       missing4.test missing5.test missing6.test mkinstall.test \
+       mkinst2.test mkinst3.test mmode.test mmodely.test multlib.test \
+       no-outdir-option.test nobase.test nobase-libtool.test \
+       nobase-python.test nodef.test nodef2.test nodep.test \
+       nodep2.test nodepcomp.test nodist.test nodist2.test \
+       nodist3.test nogzip.test nogzip2.test noinst.test \
+       noinstdir.test nolink.test nostdinc.test notrans.test \
+       number.test objc.test objc2.test obsolete.test oldvars.test \
+       order.test output.test output2.test output3.test output4.test \
+       output5.test output6.test output7.test output8.test \
+       output9.test output10.test output11.test output12.test \
+       output13.test output-order.test override-conditional-1.test \
+       override-conditional-2.test override-html.test \
+       override-suggest-local.test parallel-am.test parallel-am2.test \
+       parallel-am3.test parallel-tests.test parallel-tests2.test \
+       parallel-tests3.test parallel-tests4.test parallel-tests5.test \
+       parallel-tests6.test parallel-tests7.test parallel-tests8.test \
+       parallel-tests9.test parallel-tests10.test \
+       parallel-tests-am_tests_environment.test \
+       parallel-tests-unreadable-log.test parallel-tests-subdir.test \
+       parallel-tests-interrupt.test parallel-tests-reset-term.test \
+       parse.test percent.test percent2.test phony.test pluseq.test \
+       pluseq2.test pluseq3.test pluseq4.test pluseq5.test \
+       pluseq6.test pluseq7.test pluseq8.test pluseq9.test \
+       pluseq10.test pluseq11.test posixsubst-data.test \
+       posixsubst-extradist.test posixsubst-ldadd.test \
+       posixsubst-libraries.test posixsubst-ltlibraries.test \
+       posixsubst-programs.test posixsubst-scripts.test \
+       posixsubst-sources.test posixsubst-tests.test postproc.test \
+       ppf77.test pr2.test pr9.test pr72.test pr87.test pr204.test \
+       pr211.test pr220.test pr224.test pr229.test pr243.test \
+       pr266.test pr279.test pr279-2.test pr287.test pr300-lib.test \
+       pr300-ltlib.test pr300-prog.test pr307.test pr401.test \
+       pr401b.test pr401c.test prefix.test primary.test primary2.test \
+       primary3.test proginst.test python.test python2.test \
+       python3.test python4.test python5.test python5b.test \
+       python6.test python7.test python8.test python9.test \
+       python10.test python11.test python12.test python-dist.test \
+       python-vars.test python-virtualenv.test recurs.test \
+       recurs2.test remake.test remake1a.test remake2.test \
+       remake3.test remake3a.test remake4.test remake5.test \
+       remake6.test remake7.test remake8a.test remake8b.test \
+       remake9a.test remake9b.test remake9c.test remake9d.test \
+       remake10a.test remake10b.test remake10c.test remake11.test \
+       remake12.test remake-gnulib-add-acsubst.test \
+       remake-gnulib-add-header.test remake-gnulib-remove-header.test \
+       remake-moved-m4-file.test remake-deleted-m4-file.test \
+       remake-renamed-m4-file.test \
+       remake-renamed-m4-macro-and-file.test \
+       remake-renamed-m4-macro.test pr8365-remake-timing.test \
+       regex.test regex-obsolete.test req.test reqd.test reqd2.test \
+       repeated-options.test rulepat.test self-check-cleanup.test \
+       self-check-dir.test self-check-exit.test \
+       self-check-is_newest.test self-check-me.test \
+       self-check-sanity.test self-check-unindent.test sanity.test \
+       scripts.test seenc.test silent.test silent2.test silent3.test \
+       silent4.test silent6.test silent7.test silent8.test \
+       silent9.test silentcxx.test silentf77.test silentf90.test \
+       silent-many-gcc.test silent-many-generic.test \
+       silent-lex-gcc.test silent-lex-generic.test \
+       silent-yacc-gcc.test silent-yacc-generic.test \
+       silent-nowarn.test srcsub.test srcsub2.test space.test \
+       specflg.test specflg2.test specflg3.test specflg6.test \
+       specflg7.test specflg8.test specflg9.test specflg10.test \
+       specflg-dummy.test spell.test spell2.test spell3.test \
+       spelling.test spy.test stdinc.test stamph2.test stdlib.test \
+       stdlib2.test strictness-override.test \
+       strictness-precedence.test strip.test strip2.test strip3.test \
+       subdir.test subdir2.test subdir3.test subdir4.test \
+       subdir5.test subdir6.test subdir7.test subdir8.test \
+       subdir9.test subdir10.test subdirbuiltsources.test \
+       subcond.test subcond2.test subcond3.test subobj.test \
+       subobj2.test subobj3.test subobj4.test subobj5.test \
+       subobj6.test subobj7.test subobj8.test subobj9.test \
+       subobj10.test subobj11a.test subobj11b.test subobj11c.test \
+       subobjname.test subpkg.test subpkg2.test subpkg3.test \
+       subpkg4.test subst.test subst2.test subst3.test subst4.test \
+       subst5.test substref.test substre2.test substtarg.test \
+       suffix.test suffix2.test suffix3.test suffix4.test \
+       suffix5.test suffix6.test suffix6b.test suffix6c.test \
+       suffix7.test suffix8.test suffix9.test suffix10.test \
+       suffix11.test suffix12.test suffix13.test symlink.test \
+       symlink2.test syntax.test tags.test tags2.test tagsub.test \
+       tar.test tar2.test tar3.test target-cflags.test \
+       targetclash.test txinfo.test txinfo2.test txinfo3.test \
+       txinfo4.test txinfo5.test txinfo5b.test txinfo6.test \
+       txinfo7.test txinfo8.test txinfo9.test txinfo10.test \
+       txinfo13.test txinfo16.test txinfo17.test txinfo18.test \
+       txinfo19.test txinfo20.test txinfo21.test txinfo22.test \
+       txinfo23.test txinfo24.test txinfo25.test txinfo26.test \
+       txinfo27.test txinfo28.test txinfo29.test txinfo30.test \
+       txinfo31.test txinfo32.test txinfo33.test \
+       txinfo-unrecognized-extension.test transform.test \
+       transform2.test unused.test upc.test upc2.test upc3.test \
+       vala.test vala1.test vala2.test vala3.test vala4.test \
+       vala5.test vars.test vars3.test vartar.test vartypos.test \
+       vartypo2.test version.test version2.test version3.test \
+       version4.test version6.test version7.test version8.test \
+       vpath.test vtexi.test vtexi2.test vtexi3.test vtexi4.test \
+       warnings-override.test warnings-precedence.test \
+       warnings-strictness-interactions.test warnings-unknown.test \
+       warnopts.test warnings-win-over-strictness.test \
+       warning-groups-win-over-strictness.test werror.test \
+       werror2.test werror3.test werror4.test whoami.test \
+       xsource.test xz.test yacc-basic.test yacc-d-basic.test \
+       yacc-clean.test yacc.test yacc2.test yacc4.test yacc5.test \
+       yacc6.test yacc7.test yacc8.test yaccdry.test \
+       yacc-dist-nobuild.test yacc-nodist.test yaccpp.test \
+       yaccvpath.test yacc-d-vpath.test yacc-dist-nobuild-subdir.test \
+       yflags.test yflags2.test yflags-cmdline-override.test \
+       yflags-conditional.test yflags-d-false-positives.test \
+       yflags-force-override.test yflags-force-conditional.test \
+       yflags-var-expand.test $(parallel_tests)
 subdir = tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
@@ -186,11 +429,13 @@ RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
 TEST_SUITE_LOG = test-suite.log
 TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
-TEST_EXTENSIONS = .test
 am__test_logs1 = $(TESTS:=.log)
-TEST_LOGS = $(am__test_logs1:.test.log=.log)
+am__test_logs2 = $(am__test_logs1:.test.log=.log)
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
        $(TEST_LOG_FLAGS)
+TEST_LOGS = $(am__test_logs2:.depmod.log=.log)
+DEPMOD_LOG_COMPILE = $(DEPMOD_LOG_COMPILER) $(AM_DEPMOD_LOG_FLAGS) \
+       $(DEPMOD_LOG_FLAGS)
 TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
@@ -286,7 +531,8 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = $(parallel_tests) $(instspc_tests)
 EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \
-       $(TESTS)
+       depmod-tests.sh $(TESTS)
+TEST_EXTENSIONS = .test .depmod
 XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test \
        override-conditional-2.test pr8365-remake-timing.test \
        yacc-dist-nobuild-subdir.test txinfo5.test \
@@ -362,946 +608,20 @@ instspc_xfail_tests = instspc-squote-build.test \
        instspc-dquote-install.test instspc-bquote-install.test \
        instspc-sharp-install.test instspc-dollar-install.test \
        instspc-linefeed-install.test instspc-a_lf_b-install.test
-TESTS = \
-aclocal.test \
-aclocal3.test \
-aclocal4.test \
-aclocal5.test \
-aclocal6.test \
-aclocal7.test \
-aclocal8.test \
-aclocal9.test \
-acloca10.test \
-acloca11.test \
-acloca12.test \
-acloca13.test \
-acloca14.test \
-acloca15.test \
-acloca16.test \
-acloca17.test \
-acloca18.test \
-acloca19.test \
-acloca20.test \
-acloca21.test \
-acloca22.test \
-acloca23.test \
-acoutnoq.test \
-acoutpt.test \
-acoutpt2.test \
-acoutqnl.test \
-acoutbs.test \
-acoutbs2.test \
-acsilent.test \
-acsubst.test \
-acsubst2.test \
-all.test \
-all2.test \
-alloca.test \
-alloca2.test \
-alpha.test \
-alpha2.test \
-amassign.test \
-ammissing.test \
-amopt.test \
-amopts-location.test \
-amopts-variable-expansion.test \
-amsubst.test \
-ansi.test \
-ansi2.test \
-ansi3.test \
-ansi3b.test \
-ansi4.test \
-ansi5.test \
-ansi6.test \
-ansi7.test \
-ansi8.test \
-ansi9.test \
-ansi10.test \
-ar-lib.test \
-ar.test \
-ar2.test \
-asm.test \
-asm2.test \
-asm3.test \
-autodist.test \
-autodist-subdir.test \
-autodist-acconfig.test \
-autodist-acconfig-no-subdir.test \
-autodist-aclocal-m4.test \
-autodist-config-headers.test \
-autodist-configure-no-subdir.test \
-autodist-stamp-vti.test \
-autohdr.test \
-autohdr2.test \
-autohdr3.test \
-autohdr4.test \
-autohdrdry.test \
-automake.test \
-auxdir.test \
-auxdir2.test \
-auxdir3.test \
-auxdir4.test \
-auxdir5.test \
-auxdir6.test \
-auxdir7.test \
-auxdir8.test \
-auxdir9.test \
-backcompat.test \
-backcompat2.test \
-backcompat3.test \
-backcompat4.test \
-backcompat5.test \
-backcompat6.test \
-backsl.test \
-backsl2.test \
-backsl3.test \
-backsl4.test \
-badline.test \
-badopt.test \
-badprog.test \
-block.test \
-bsource.test \
-candist.test \
-canon.test \
-canon2.test \
-canon3.test \
-canon4.test \
-canon5.test \
-canon6.test \
-canon7.test \
-canon8.test \
-canon-name.test \
-ccnoco.test \
-ccnoco2.test \
-ccnoco3.test \
-check.test \
-check2.test \
-check3.test \
-check4.test \
-check5.test \
-check6.test \
-check7.test \
-check8.test \
-check9.test \
-check10.test \
-check11.test \
-check12.test \
-check-exported-srcdir.test \
-check-tests-in-builddir.test \
-check-tests_environment.test \
-checkall.test \
-clean.test \
-clean2.test \
-colneq.test \
-colneq2.test \
-colneq3.test \
-colon.test \
-colon2.test \
-colon3.test \
-colon4.test \
-colon5.test \
-colon6.test \
-colon7.test \
-color.test \
-color2.test \
-comment.test \
-comment2.test \
-comment3.test \
-comment4.test \
-comment5.test \
-comment6.test \
-comment7.test \
-comment8.test \
-comment9.test \
-commen10.test \
-commen11.test \
-comments-in-var-def.test \
-compile.test \
-compile2.test \
-compile3.test \
-compile4.test \
-compile5.test \
-compile6.test \
-compile_f90_c_cxx.test \
-compile_f_c_cxx.test \
-cond-basic.test \
-cond.test \
-cond2.test \
-cond3.test \
-cond4.test \
-cond5.test \
-cond6.test \
-cond7.test \
-cond8.test \
-cond9.test \
-cond10.test \
-cond11.test \
-cond13.test \
-cond14.test \
-cond15.test \
-cond16.test \
-cond17.test \
-cond18.test \
-cond19.test \
-cond20.test \
-cond21.test \
-cond22.test \
-cond23.test \
-cond24.test \
-cond25.test \
-cond26.test \
-cond27.test \
-cond28.test \
-cond29.test \
-cond30.test \
-cond31.test \
-cond32.test \
-cond33.test \
-cond34.test \
-cond35.test \
-cond36.test \
-cond37.test \
-cond38.test \
-cond39.test \
-cond40.test \
-cond41.test \
-cond42.test \
-cond43.test \
-cond44.test \
-cond45.test \
-cond46.test \
-condd.test \
-condhook.test \
-condhook2.test \
-condinc.test \
-condinc2.test \
-condlib.test \
-condman.test \
-condman2.test \
-condman3.test \
-configure.test \
-confdeps.test \
-conff.test \
-conff2.test \
-confh.test \
-confh4.test \
-confh5.test \
-confh6.test \
-confh7.test \
-confh8.test \
-confincl.test \
-conflnk.test \
-conflnk2.test \
-conflnk3.test \
-conflnk4.test \
-confsub.test \
-confvar.test \
-confvar2.test \
-copy.test \
-cscope.test \
-cscope2.test \
-cscope3.test \
-cxx.test \
-cxx2.test \
-cxxansi.test \
-cxxcpp.test \
-cxxlibobj.test \
-cxxlink.test \
-cxxnoc.test \
-cxxo.test \
-cygnus-check-without-all.test \
-cygnus-dependency-tracking.test \
-cygnus-imply-foreign.test \
-cygnus-no-dist.test \
-cygnus-no-installinfo.test \
-cygnus-requires-maintainer-mode.test \
-cygwin32.test \
-dash.test \
-defun.test \
-defun2.test \
-dejagnu.test \
-dejagnu2.test \
-dejagnu3.test \
-dejagnu4.test \
-dejagnu5.test \
-dejagnu6.test \
-dejagnu7.test \
-depacl2.test \
-depcomp.test \
-depcomp2.test \
-depcomp3.test \
-depcomp4.test \
-depcomp5.test \
-depcomp6.test \
-depcomp7.test \
-depcomp8a.test \
-depcomp8b.test \
-depcomp9.test \
-depcomp10.test \
-depdist.test \
-depend.test \
-depend2.test \
-depend3.test \
-depend4.test \
-depend5.test \
-depend6.test \
-deprecated-acinit.test \
-destdir.test \
-dirforbid.test \
-dirlist.test \
-dirlist2.test \
-discover.test \
-dist-included-parent-dir.test \
-distcleancheck.test \
-distcom2.test \
-distcom3.test \
-distcom4.test \
-distcom5.test \
-distcom6.test \
-distcom7.test \
-distdir.test \
-distlinks.test \
-distlinksbrk.test \
-distname.test \
-dmalloc.test \
-dollar.test \
-dollarvar.test \
-dollarvar2.test \
-double.test \
-dup2.test \
-else.test \
-empty.test \
-empty2.test \
-empty3.test \
-empty4.test \
-exdir.test \
-exdir2.test \
-exdir3.test \
-exeext.test \
-exeext2.test \
-exeext3.test \
-exeext4.test \
-exsource.test \
-ext.test \
-ext2.test \
-ext3.test \
-extra.test \
-extra2.test \
-extra3.test \
-extra4.test \
-extra5.test \
-extra6.test \
-extra7.test \
-extra8.test \
-extra9.test \
-extra10.test \
-extra11.test \
-extra12.test \
-extradep.test \
-extradep2.test \
-f90only.test \
-flavor.test \
-flibs.test \
-fn99.test \
-fn99subdir.test \
-fnoc.test \
-fo.test \
-forcemiss.test \
-forcemiss2.test \
-fort1.test \
-fort2.test \
-fort4.test \
-fort5.test \
-fonly.test \
-fortdep.test \
-gcj.test \
-gcj2.test \
-gcj3.test \
-gcj4.test \
-gcj5.test \
-gcj6.test \
-getopt.test \
-gettext.test \
-gettext2.test \
-gettext3.test \
-gnumake.test \
-gnuwarn.test \
-gnuwarn2.test \
-gnits.test \
-gnits2.test \
-gnits3.test \
-hdr-vars-defined-once.test \
-header.test \
-help.test \
-help2.test \
-help3.test \
-help4.test \
-help-depend.test \
-help-depend2.test \
-help-dmalloc.test \
-help-init.test \
-help-lispdir.test \
-help-maintainer.test \
-help-multilib.test \
-help-python.test \
-help-regex.test \
-help-silent.test \
-help-upc.test \
-hfs.test \
-hosts.test \
-implicit.test \
-info.test \
-init.test \
-init2.test \
-insh2.test \
-install2.test \
-installdir.test \
-instsh.test \
-instsh2.test \
-instsh3.test \
-instdat.test \
-instdat2.test \
-instdir.test \
-instdir2.test \
-instdir-java.test \
-instdir-lisp.test \
-instdir-ltlib.test \
-instdir-prog.test \
-instdir-python.test \
-instdir-texi.test \
-instexec.test \
-instfail.test \
-instfail-info.test \
-instfail-java.test \
-instfail-libtool.test \
-insthook.test \
-instman.test \
-instman2.test \
-instmany.test \
-instmany-mans.test \
-instmany-python.test \
-instspc-data.test \
-$(instspc_tests) \
-interp.test \
-interp2.test \
-java.test \
-java2.test \
-java3.test \
-java-check.test \
-javaprim.test \
-javasubst.test \
-java-extra.test \
-java-noinst.test \
-ldadd.test \
-ldflags.test \
-lex.test \
-lex2.test \
-lex3.test \
-lex4.test \
-lex5.test \
-lexcpp.test \
-lexvpath.test \
-lex-subobj-nodep.test \
-lflags.test \
-lflags2.test \
-libexec.test \
-libobj-basic.test \
-libobj2.test \
-libobj3.test \
-libobj4.test \
-libobj5.test \
-libobj7.test \
-libobj8.test \
-libobj10.test \
-libobj12.test \
-libobj13.test \
-libobj14.test \
-libobj15a.test \
-libobj15b.test \
-libobj15c.test \
-libobj16a.test \
-libobj16b.test \
-libobj17.test \
-libobj18.test \
-libobj19.test \
-libobj20a.test \
-libobj20b.test \
-libobj20c.test \
-library.test \
-library2.test \
-library3.test \
-libtool.test \
-libtool2.test \
-libtool3.test \
-libtool4.test \
-libtool5.test \
-libtool6.test \
-libtool7.test \
-libtool8.test \
-libtool9.test \
-libtoo10.test \
-libtoo11.test \
-license.test \
-license2.test \
-link_c_cxx.test \
-link_dist.test \
-link_f90_only.test \
-link_fc.test \
-link_fccxx.test \
-link_fcxx.test \
-link_f_only.test \
-link_override.test \
-lisp2.test \
-lisp3.test \
-lisp4.test \
-lisp5.test \
-lisp6.test \
-lisp7.test \
-lisp8.test \
-lispdry.test \
-listval.test \
-location.test \
-longline.test \
-longlin2.test \
-ltcond.test \
-ltcond2.test \
-ltconv.test \
-ltdeps.test \
-ltinit.test \
-ltinstloc.test \
-ltlibobjs.test \
-ltlibsrc.test \
-ltorder.test \
-lzip.test \
-lzma.test \
-m4-inclusion.test \
-maintclean.test \
-maintclean-vpath.test \
-make.test \
-makej.test \
-makej2.test \
-maken.test \
-maken2.test \
-maken3.test \
-maken4.test \
-makevars.test \
-man.test \
-man2.test \
-man3.test \
-man4.test \
-man5.test \
-mclean.test \
-mdate.test \
-mdate2.test \
-mdate3.test \
-mdate4.test \
-mdate5.test \
-mdate6.test \
-missing.test \
-missing2.test \
-missing3.test \
-missing4.test \
-missing5.test \
-missing6.test \
-mkinstall.test \
-mkinst2.test \
-mkinst3.test \
-mmode.test \
-mmodely.test \
-multlib.test \
-no-outdir-option.test \
-nobase.test \
-nobase-libtool.test \
-nobase-python.test \
-nodef.test \
-nodef2.test \
-nodep.test \
-nodep2.test \
-nodepcomp.test \
-nodist.test \
-nodist2.test \
-nodist3.test \
-nogzip.test \
-nogzip2.test \
-noinst.test \
-noinstdir.test \
-nolink.test \
-nostdinc.test \
-notrans.test \
-number.test \
-objc.test \
-objc2.test \
-obsolete.test \
-oldvars.test \
-order.test \
-output.test \
-output2.test \
-output3.test \
-output4.test \
-output5.test \
-output6.test \
-output7.test \
-output8.test \
-output9.test \
-output10.test \
-output11.test \
-output12.test \
-output13.test \
-output-order.test \
-override-conditional-1.test \
-override-conditional-2.test \
-override-html.test \
-override-suggest-local.test \
-parallel-am.test \
-parallel-am2.test \
-parallel-am3.test \
-parallel-tests.test \
-parallel-tests2.test \
-parallel-tests3.test \
-parallel-tests4.test \
-parallel-tests5.test \
-parallel-tests6.test \
-parallel-tests7.test \
-parallel-tests8.test \
-parallel-tests9.test \
-parallel-tests10.test \
-parallel-tests-am_tests_environment.test \
-parallel-tests-unreadable-log.test \
-parallel-tests-subdir.test \
-parallel-tests-interrupt.test \
-parallel-tests-reset-term.test \
-parse.test \
-percent.test \
-percent2.test \
-phony.test \
-pluseq.test \
-pluseq2.test \
-pluseq3.test \
-pluseq4.test \
-pluseq5.test \
-pluseq6.test \
-pluseq7.test \
-pluseq8.test \
-pluseq9.test \
-pluseq10.test \
-pluseq11.test \
-posixsubst-data.test \
-posixsubst-extradist.test \
-posixsubst-ldadd.test \
-posixsubst-libraries.test \
-posixsubst-ltlibraries.test \
-posixsubst-programs.test \
-posixsubst-scripts.test \
-posixsubst-sources.test \
-posixsubst-tests.test \
-postproc.test \
-ppf77.test \
-pr2.test \
-pr9.test \
-pr72.test \
-pr87.test \
-pr204.test \
-pr211.test \
-pr220.test \
-pr224.test \
-pr229.test \
-pr243.test \
-pr266.test \
-pr279.test \
-pr279-2.test \
-pr287.test \
-pr300-lib.test \
-pr300-ltlib.test \
-pr300-prog.test \
-pr307.test \
-pr401.test \
-pr401b.test \
-pr401c.test \
-prefix.test \
-primary.test \
-primary2.test \
-primary3.test \
-proginst.test \
-python.test \
-python2.test \
-python3.test \
-python4.test \
-python5.test \
-python5b.test \
-python6.test \
-python7.test \
-python8.test \
-python9.test \
-python10.test \
-python11.test \
-python12.test \
-python-dist.test \
-python-vars.test \
-python-virtualenv.test \
-recurs.test \
-recurs2.test \
-remake.test \
-remake1a.test \
-remake2.test \
-remake3.test \
-remake3a.test \
-remake4.test \
-remake5.test \
-remake6.test \
-remake7.test \
-remake8a.test \
-remake8b.test \
-remake9a.test \
-remake9b.test \
-remake9c.test \
-remake9d.test \
-remake10a.test \
-remake10b.test \
-remake10c.test \
-remake11.test \
-remake12.test \
-remake-gnulib-add-acsubst.test \
-remake-gnulib-add-header.test \
-remake-gnulib-remove-header.test \
-remake-moved-m4-file.test \
-remake-deleted-m4-file.test \
-remake-renamed-m4-file.test \
-remake-renamed-m4-macro-and-file.test \
-remake-renamed-m4-macro.test \
-pr8365-remake-timing.test \
-regex.test \
-regex-obsolete.test \
-req.test \
-reqd.test \
-reqd2.test \
-repeated-options.test \
-rulepat.test \
-self-check-cleanup.test \
-self-check-dir.test \
-self-check-exit.test \
-self-check-is_newest.test \
-self-check-me.test \
-self-check-sanity.test \
-self-check-unindent.test \
-sanity.test \
-scripts.test \
-seenc.test \
-silent.test \
-silent2.test \
-silent3.test \
-silent4.test \
-silent6.test \
-silent7.test \
-silent8.test \
-silent9.test \
-silentcxx.test \
-silentf77.test \
-silentf90.test \
-silent-many-gcc.test \
-silent-many-generic.test \
-silent-lex-gcc.test \
-silent-lex-generic.test \
-silent-yacc-gcc.test \
-silent-yacc-generic.test \
-silent-nowarn.test \
-srcsub.test \
-srcsub2.test \
-space.test \
-specflg.test \
-specflg2.test \
-specflg3.test \
-specflg6.test \
-specflg7.test \
-specflg8.test \
-specflg9.test \
-specflg10.test \
-specflg-dummy.test \
-spell.test \
-spell2.test \
-spell3.test \
-spelling.test \
-spy.test \
-stdinc.test \
-stamph2.test \
-stdlib.test \
-stdlib2.test \
-strictness-override.test \
-strictness-precedence.test \
-strip.test \
-strip2.test \
-strip3.test \
-subdir.test \
-subdir2.test \
-subdir3.test \
-subdir4.test \
-subdir5.test \
-subdir6.test \
-subdir7.test \
-subdir8.test \
-subdir9.test \
-subdir10.test \
-subdirbuiltsources.test \
-subcond.test \
-subcond2.test \
-subcond3.test \
-subobj.test \
-subobj2.test \
-subobj3.test \
-subobj4.test \
-subobj5.test \
-subobj6.test \
-subobj7.test \
-subobj8.test \
-subobj9.test \
-subobj10.test \
-subobj11a.test \
-subobj11b.test \
-subobj11c.test \
-subobjname.test \
-subpkg.test \
-subpkg2.test \
-subpkg3.test \
-subpkg4.test \
-subst.test \
-subst2.test \
-subst3.test \
-subst4.test \
-subst5.test \
-substref.test \
-substre2.test \
-substtarg.test \
-suffix.test \
-suffix2.test \
-suffix3.test \
-suffix4.test \
-suffix5.test \
-suffix6.test \
-suffix6b.test \
-suffix6c.test \
-suffix7.test \
-suffix8.test \
-suffix9.test \
-suffix10.test \
-suffix11.test \
-suffix12.test \
-suffix13.test \
-symlink.test \
-symlink2.test \
-syntax.test \
-tags.test \
-tags2.test \
-tagsub.test \
-tar.test \
-tar2.test \
-tar3.test \
-target-cflags.test \
-targetclash.test \
-txinfo.test \
-txinfo2.test \
-txinfo3.test \
-txinfo4.test \
-txinfo5.test \
-txinfo5b.test \
-txinfo6.test \
-txinfo7.test \
-txinfo8.test \
-txinfo9.test \
-txinfo10.test \
-txinfo13.test \
-txinfo16.test \
-txinfo17.test \
-txinfo18.test \
-txinfo19.test \
-txinfo20.test \
-txinfo21.test \
-txinfo22.test \
-txinfo23.test \
-txinfo24.test \
-txinfo25.test \
-txinfo26.test \
-txinfo27.test \
-txinfo28.test \
-txinfo29.test \
-txinfo30.test \
-txinfo31.test \
-txinfo32.test \
-txinfo33.test \
-txinfo-unrecognized-extension.test \
-transform.test \
-transform2.test \
-unused.test \
-upc.test \
-upc2.test \
-upc3.test \
-vala.test \
-vala1.test \
-vala2.test \
-vala3.test \
-vala4.test \
-vala5.test \
-vars.test \
-vars3.test \
-vartar.test \
-vartypos.test \
-vartypo2.test \
-version.test \
-version2.test \
-version3.test \
-version4.test \
-version6.test \
-version7.test \
-version8.test \
-vpath.test \
-vtexi.test \
-vtexi2.test \
-vtexi3.test \
-vtexi4.test \
-warnings-override.test \
-warnings-precedence.test \
-warnings-strictness-interactions.test \
-warnings-unknown.test \
-warnopts.test \
-warnings-win-over-strictness.test \
-warning-groups-win-over-strictness.test \
-werror.test \
-werror2.test \
-werror3.test \
-werror4.test \
-whoami.test \
-xsource.test \
-xz.test \
-yacc-basic.test \
-yacc-d-basic.test \
-yacc-clean.test \
-yacc.test \
-yacc2.test \
-yacc4.test \
-yacc5.test \
-yacc6.test \
-yacc7.test \
-yacc8.test \
-yaccdry.test \
-yacc-dist-nobuild.test \
-yacc-nodist.test \
-yaccpp.test \
-yaccvpath.test \
-yacc-d-vpath.test \
-yacc-dist-nobuild-subdir.test \
-yflags.test \
-yflags2.test \
-yflags-cmdline-override.test \
-yflags-conditional.test \
-yflags-d-false-positives.test \
-yflags-force-override.test \
-yflags-force-conditional.test \
-yflags-var-expand.test \
-$(parallel_tests)
-
+depmod_tests = depcomp-gcc3.depmod depcomp-gcc.depmod \
+       depcomp-hp.depmod depcomp-sgi.depmod depcomp-aix.depmod \
+       depcomp-icc.depmod depcomp-hp2.depmod depcomp-tru64.depmod \
+       depcomp-msvc7.depmod depcomp-msvc7msys.depmod \
+       depcomp-nosideeffect.depmod depcomp-dashmstdout.depmod \
+       depcomp-dashXmstdout.depmod depcomp-makedepend.depmod \
+       depcomp-cpp.depmod depcomp-msvisualcpp.depmod \
+       depcomp-msvcmsys.depmod
+DEPMOD_LOG_COMPILER = $(SHELL) $(srcdir)/depmod-tests.sh
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .html .log .test
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am 
$(srcdir)/instspc-tests.am $(am__configure_deps)
+.SUFFIXES: .depmod .html .log .test
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am 
$(srcdir)/instspc-tests.am $(srcdir)/depmod-tests.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -1472,6 +792,8 @@ recheck recheck-html:
        $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) 
TEST_LOGS="'"$$list"'"'
 .test.log:
        @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+.depmod.log:
+       @p='$<'; $(am__check_pre) $(DEPMOD_LOG_COMPILE) "$$tst" 
$(am__check_post)
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1706,6 +1028,19 @@ $(instspc_tests): Makefile.am
 instspc-data.log: instspc-tests.sh
 $(instspc_tests:.test=.log): instspc-tests.sh instspc-data.log
 
+$(srcdir)/depmod-tests.am: depmod-tests.sh Makefile.am
+       $(AM_V_GEN)($(am__cd) $(srcdir) \
+         && $(SHELL) ./depmod-tests.sh --generate-makefile) >$@
+
+# All `*.depmod' tests work by calling the script `depmod-tests.sh'.
+# Also, they all use shared data generated by the `depmod-data.test'
+# helper test (for reasons of speed).
+depmod-data.log: depmod-tests.sh
+$(depmod_tests:.depmod=.log): depmod-tests.sh depmod-data.log
+# This dummy declaration is required to have make actually produce
+# expected log files from the `.depmod.log' suffix rule.
+$(depmod_tests):
+
 # Each test case depends on defs, aclocal, and automake.
 $(TEST_LOGS): defs aclocal-$(APIVERSION) automake-$(APIVERSION)
 
diff --git a/tests/depcomp10.test b/tests/depcomp10.test
deleted file mode 100755
index 0fa6c6a..0000000
--- a/tests/depcomp10.test
+++ /dev/null
@@ -1,90 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011 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/>.
-
-# hp depmode should work with GNU make in VPATH mode (bug similar to
-# depcomp9.test).
-# For automake bug#8473.
-
-# Here's the bug: hp depmode will prefix VPATH to the object file name,
-# thus the second gmake will invoke depcomp with object='../../src/foo.o',
-# causing errors such as (broken on multiple lines for clarity):
-#   cpp: "", line 0: error 4066: Cannot create
-#        "../../gllib/.deps/nonblocking.TPo" file for
-#        "-M../../gllib/.deps/nonblocking.TPo" option.
-#        (No such file or directory[errno=2])
-
-required=GNUmake
-. ./defs || Exit 1
-
-mkdir src src/sub build
-
-cat >> configure.in << 'END'
-AC_PROG_CC
-AM_PROG_CC_C_O
-AC_CONFIG_FILES([src/Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = src
-END
-
-cat > src/Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = foo
-foo_SOURCES = foo.c foo.h sub/subfoo.c
-END
-
-cat > src/foo.h <<EOF
-extern int subfoo (void);
-EOF
-
-cat >src/foo.c <<EOF
-#include "foo.h"
-int main (void)
-{
-  return subfoo ();
-}
-EOF
-
-cat >src/sub/subfoo.c <<EOF
-#include "foo.h"
-int subfoo (void)
-{
-  return 0;
-}
-EOF
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-cd build
-../configure am_cv_CC_dependencies_compiler_type=hp
-# Do not error out with the first make, as the forced 'hp' depmode might
-# not actually work, but we have overridden the _AM_DEPENDENCIES tests.
-$MAKE || Exit 77
-
-# We must clean and rebuild, as the actual error only happens the second
-# time the objects are built because 'depcomp' has silently messed up the
-# .Po files the first time.
-$MAKE clean
-
-$MAKE >out 2>&1 || { cat out; Exit 1; }
-cat out
-grep 'src/[._]deps' out && Exit 1
-
-:
diff --git a/tests/depcomp9.test b/tests/depcomp9.test
deleted file mode 100755
index 9972c3d..0000000
--- a/tests/depcomp9.test
+++ /dev/null
@@ -1,92 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011 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/>.
-
-# makedepend should work in VPATH mode.
-
-# Here's the bug: makedepend will prefix VPATH to the object file name,
-# thus the second make will invoke depcomp with object='../../src/foo.o',
-# causing errors such as:
-# touch: cannot touch `../../src/.deps/foo.TPo': No such file or directory
-# makedepend: error:  cannot open "../../src/.deps/foo.TPo"
-# ../../depcomp: line 560: ../../src/.deps/foo.TPo: No such file or directory
-
-# We include subfoo only to be sure that we don't remove too much
-# from the object file name.
-
-required='makedepend'
-. ./defs || Exit 1
-
-mkdir src src/sub build
-
-cat >> configure.in << 'END'
-AC_PROG_CC
-AM_PROG_CC_C_O
-AC_CONFIG_FILES([src/Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = src
-END
-
-cat > src/Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = foo
-foo_SOURCES = foo.c foo.h sub/subfoo.c
-END
-
-cat > src/foo.h <<EOF
-extern int subfoo (void);
-EOF
-
-cat >src/foo.c <<EOF
-#include "foo.h"
-int main (void)
-{
-  return subfoo ();
-}
-EOF
-
-cat >src/sub/subfoo.c <<EOF
-#include "foo.h"
-int subfoo (void)
-{
-  return 0;
-}
-EOF
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-cd build
-../configure am_cv_CC_dependencies_compiler_type=makedepend
-
-# Do not error out with the first make, as the forced 'makedepend'
-# depmode might not actually work, but we have overridden the
-# _AM_DEPENDENCIES tests.
-$MAKE || Exit 77
-
-# We must clean and rebuild, as the actual error only happens the second
-# time the objects are built because 'makedepend' has silently messed up
-# the .Po files the first time.
-$MAKE clean
-
-$MAKE >out 2>&1 || { cat out; Exit 1; }
-cat out
-grep 'src/[._]deps' out && Exit 1
-
-:
diff --git a/tests/depmod-data.test b/tests/depmod-data.test
new file mode 100755
index 0000000..fdaa52b
--- /dev/null
+++ b/tests/depmod-data.test
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# Helper testcase which generate input data for the other tests
+# `*.depmod'.  It basically delegates the work to the helper script
+# `depmod-test.sh'.
+
+# Ensure proper definition of $testsrcdir.
+. ./defs-static || exit 99
+
+# Sanity check.
+if test x"$testsrcdir" = x; then
+  echo "$0: \$testsrcdir not set after sourcing of ./defs-static" >&2
+  exit 99
+fi
+
+exec $SHELL $testsrcdir/depmod-tests.sh --generate-data
diff --git a/tests/depmod-tests.sh b/tests/depmod-tests.sh
new file mode 100755
index 0000000..a013b4c
--- /dev/null
+++ b/tests/depmod-tests.sh
@@ -0,0 +1,220 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# Driver script to generate and run tests checking that dependency
+# tracking in various flavours works with VPATH builds.
+#
+# This script fulfills a threefold role:
+#   1. It is called to generate a Makefile.am snippet, containing the
+#      definition of proper lists of tests.
+#   2. It is called to set up a directory containing some common data
+#      files and autotools-generated files used by the aforementioned
+#      tests (this is done for speed reasons only).
+#   3. It is called to properly run those tests, one at a time.
+#
+# Examples of reported failures follows ...
+
+# <http://lists.gnu.org/archive/html/automake-patches/2011-04/msg00028.html>
+#
+# Here's the bug: makedepend will prefix VPATH to the object file name,
+# thus the second make will invoke depcomp with object='../../src/foo.o',
+# causing errors such as:
+# touch: cannot touch `../../src/.deps/foo.TPo': No such file or directory
+# makedepend: error:  cannot open "../../src/.deps/foo.TPo"
+# ../../depcomp: line 560: ../../src/.deps/foo.TPo: No such file or directory
+
+# <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8473>
+# <http://lists.gnu.org/archive/html/automake-patches/2011-04/msg00079.html>
+#
+# Here's the bug: hp depmode will prefix VPATH to the object file name,
+# thus the second gmake will invoke depcomp with object='../../src/foo.o',
+# causing errors such as (broken on multiple lines for clarity):
+#   cpp: "", line 0: error 4066: Cannot create
+#        "../../gllib/.deps/nonblocking.TPo" file for
+#        "-M../../gllib/.deps/nonblocking.TPo" option.
+#        (No such file or directory[errno=2])
+
+# Be more Bourne compatible (snippet copied from `tests/defs').
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+
+set -e
+
+case $# in
+  0) echo "$0: missing argument" >&2; exit 99;;
+  1) ;;
+  *) echo "$0: too many arguments" >&2; exit 99;;
+esac
+
+case $1 in
+  --generate-makefile|--generate-data)
+    action=`expr x"$1" : x'--\(.*\)'`
+    ;;
+  depcomp-*.depmod|*/depcomp-*.depmod)
+    action=run-test
+    depmode=`expr /"$1" : '.*/depcomp-\(.*\)\.depmod'`
+    ;;
+  *)
+    echo "$0: invalid argument '$1'" >&2
+    exit 99
+    ;;
+esac
+
+# Helper subroutines for creation of input data files.
+
+create_input_data ()
+{
+  mkdir src src/sub
+
+  unindent > configure.in << 'END'
+    AC_INIT([depcomp], [1.0])
+    AM_INIT_AUTOMAKE
+    AC_CONFIG_FILES([Makefile src/Makefile])
+    AC_PROG_CC
+    AM_PROG_CC_C_O
+    AC_OUTPUT
+END
+
+  echo 'SUBDIRS = src' > Makefile.am
+
+  unindent > src/Makefile.am << 'END'
+    AUTOMAKE_OPTIONS = subdir-objects
+    bin_PROGRAMS = foo
+    foo_SOURCES = foo.c foo.h sub/subfoo.c
+END
+
+  echo 'extern int subfoo (void);' > src/foo.h
+
+  unindent > src/foo.c << 'END'
+    #include "foo.h"
+    int main (void)
+    {
+      return subfoo ();
+    }
+END
+
+  # We include subfoo only to be sure that we don't remove too much
+  # from the object file name.
+  unindent > src/sub/subfoo.c << 'END'
+    #include "foo.h"
+    int subfoo (void)
+    {
+      return 0;
+    }
+END
+
+  $ACLOCAL
+  $AUTOCONF
+  $AUTOMAKE -a
+
+  # Sanity check: make sure the cache variable we force is used
+  # by configure.
+  grep am_cv_CC_dependencies_compiler_type configure
+
+  : > success
+}
+
+# Usage: get_depmodes DEPCOMP-FILE PROGRAM-NAME
+get_depmodes ()
+{
+  # Keep this in sync with the contents of depend.m4.
+  all_depmodes=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$1" \
+    | grep -v '^none$' | tr "$nl" "$sp"` \
+    && test -n "$all_depmodes" || {
+      echo "$2: failed to extract list of valid depmodes from '$1'" >&2
+      exit 99
+    }
+}
+
+if test x"$action" = x"generate-makefile"; then
+  # We must generate a makefile fragment on stdout.  It must refer
+  # to all tests at once, hence the loop below.
+  get_depmodes ../lib/depcomp
+  echo '## Generated by depmode-tests.sh.  DO NOT EDIT!'
+  echo 'depmod_tests ='
+  for depmode in $all_depmodes; do
+    echo "depmod_tests += depcomp-$depmode.depmod"
+  done
+  exit 0
+fi
+
+# We'll need the full setup provided by `tests/defs'.  Temporarily disable
+# the errexit flag, since the setup code might not be prepared to deal
+# with it.  Also pre-set `$me' for `tests/defs', so that different calls
+# to `depmod-tests.sh' won't try to use the same temporary directory.
+if test x"$action" = x"generate-data"; then
+  me=depmod-data
+else
+  me=depcomp-$depmode
+fi
+set +e
+. ./defs || Exit 99
+set -e
+
+# The directory set up by the `generate-data' action should contain all
+# the files we need.  So remove the other files created by ./defs.  And
+# check we really are in a temporary `*.dir' directory in the build tree,
+# since the last thing we want is to remove some random user files!
+test -f ../defs-static && test -f ../defs || Exit 99
+case `pwd` in *.dir);; *) Exit 99;; esac
+rm -f *
+
+if test x"$action" = x"generate-data"; then
+  # We must *not* remove the test directory, since its contents must be
+  # used by following dependent tests.
+  keep_testdirs=yes
+  create_input_data
+  Exit 0
+fi
+
+get_depmodes "$top_testsrcdir/lib/depcomp" "$me"
+case " $all_depmodes " in
+  *" $depmode "*) ;;
+  *) echo "$me: invalid depmode '$depmode'" >&2; exit 99;;
+esac
+
+###  If we are still here, we have to run a test ...
+
+test -f ../depmod-data.dir/success || {
+  echo "$me: setup by depmod-data.test failed" >&2
+  Exit 99
+}
+
+../depmod-data.dir/configure am_cv_CC_dependencies_compiler_type=$depmode
+
+# Do not error out with the first make, as the depmode we've forced might
+# not actually work, but we have overridden the _AM_DEPENDENCIES tests.
+$MAKE || Exit 77
+
+# We must clean and rebuild, as the actual error only happens the second
+# time the objects are built because 'depcomp' has silently messed up the
+# .Po files the first time.
+$MAKE clean
+
+$MAKE >out 2>&1 || { cat out; Exit 1; }
+cat out
+grep 'src/[._]deps' out && Exit 1
+
+:
-- 
1.7.2.3

FAIL: depcomp-tru64.depmod (exit: 1)
====================================

/home/stefano/src/automake/tests:/opt/extra/autoconf-2.68/bin:/home/stefano/go/bin:/home/stefano/bin/linux:/home/stefano/bin:/usr/local/bin:/opt/bin:/usr/lib/jvm/java-6-sun-1.6.0.20/bin:/usr/games:/usr/bin:/usr/sbin:/bin:/sbin
++ set -e
++ pwd
/home/stefano/src/automake/tests/depcomp-tru64.dir
+ set -e
+ test -f ../defs-static
+ test -f ../defs
+ case `pwd` in
++ pwd
+ rm -f configure.in depcomp install-sh missing
+ test xrun-test = xgenerate-data
+ get_depmodes /home/stefano/src/automake/lib/depcomp depcomp-tru64
++ sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p'
++ grep -v '^none$'
++ tr '
' ' '
+ all_depmodes='gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosideeffect 
dashmstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys '
+ test -n 'gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosideeffect 
dashmstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys '
+ case " $all_depmodes " in
+ test -f ../depmod-data.dir/success
+ ../depmod-data.dir/configure am_cv_CC_dependencies_compiler_type=tru64
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether netbsd-make sets $(MAKE)... yes
checking for gcc... /usr/bin/gcc-3.4
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc-3.4 accepts -g... yes
checking for /usr/bin/gcc-3.4 option to accept ISO C89... none needed
checking for style of include used by netbsd-make... GNU
checking dependency style of /usr/bin/gcc-3.4... (cached) tru64
checking whether /usr/bin/gcc-3.4 and cc understand -c and -o together... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
+ netbsd-make
Making all in src
source='../../depmod-data.dir/src/foo.c' object='foo.o' libtool=no  
DEPDIR=.deps depmode=tru64 /bin/sh ../../depmod-data.dir/depcomp  
/usr/bin/gcc-3.4 -DPACKAGE_NAME=\"depcomp\" -DPACKAGE_TARNAME=\"depcomp\" 
-DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"depcomp\ 1.0\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"depcomp\" 
-DVERSION=\"1.0\" -I. -I../../depmod-data.dir/src      -g -O2 -c -o foo.o 
../../depmod-data.dir/src/foo.c
source='../../depmod-data.dir/src/sub/subfoo.c' object='sub/subfoo.o' 
libtool=no  DEPDIR=.deps depmode=tru64 /bin/sh ../../depmod-data.dir/depcomp  
/usr/bin/gcc-3.4 -DPACKAGE_NAME=\"depcomp\" -DPACKAGE_TARNAME=\"depcomp\" 
-DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"depcomp\ 1.0\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"depcomp\" 
-DVERSION=\"1.0\" -I. -I../../depmod-data.dir/src      -g -O2 -c -o 
sub/subfoo.o ../../depmod-data.dir/src/sub/subfoo.c
/usr/bin/gcc-3.4  -g -O2   -o foo foo.o sub/subfoo.o  
+ netbsd-make clean
Making clean in src
netbsd-make: 
"/home/stefano/src/automake/tests/depcomp-tru64.dir/src/sub/.deps/subfoo.Po" 
line 3: Need an operator
netbsd-make: Fatal errors encountered -- cannot continue

netbsd-make: stopped in /home/stefano/src/automake/tests/depcomp-tru64.dir/src
*** Error code 1

Stop.
netbsd-make: stopped in /home/stefano/src/automake/tests/depcomp-tru64.dir
+ exit_status=1
+ set +e
+ cd /home/stefano/src/automake/tests
+ case $exit_status,$keep_testdirs in
+ test 0 '!=' 0
+ echo 'depcomp-tru64: exit 1'
depcomp-tru64: exit 1
+ exit 1
sub/subfoo.o: ../../depmod-data.dir/src/sub/subfoo.c \
  ../../depmod-data.dir/src/foo.h
../../depmod-data.dir/src/sub/subfoo.c \:
  ../../depmod-data.dir/src/foo.h:

reply via email to

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