summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Makefile.am31
-rw-r--r--NEWS151
-rw-r--r--aclocal.in73
-rw-r--r--automake.in461
-rw-r--r--configure.ac18
-rw-r--r--contrib/check-html.am21
-rwxr-xr-xcontrib/t/help-multilib.sh (renamed from t/help-multilib.sh)4
-rw-r--r--[-rwxr-xr-x]contrib/t/local.am (renamed from t/silent-amopts.sh)27
-rwxr-xr-xcontrib/t/multilib.sh (renamed from t/multlib.sh)4
-rwxr-xr-xcontrib/t/parallel-tests-html-recursive.sh163
-rwxr-xr-xcontrib/t/parallel-tests-html.sh (renamed from t/parallel-tests2.sh)4
-rw-r--r--defs22
-rw-r--r--doc/automake.texi590
-rwxr-xr-xgen-testsuite-part2
-rw-r--r--lib/Automake/Options.pm21
-rw-r--r--lib/am/check.am13
-rw-r--r--lib/am/configure.am6
-rw-r--r--lib/am/data.am3
-rw-r--r--lib/am/dejagnu.am29
-rw-r--r--lib/am/distdir.am27
-rw-r--r--lib/am/libs.am6
-rw-r--r--lib/am/lisp.am90
-rw-r--r--lib/am/ltlib.am9
-rw-r--r--lib/am/progs.am16
-rw-r--r--lib/am/python.am3
-rw-r--r--lib/am/scripts.am3
-rw-r--r--lib/am/subdirs.am17
-rw-r--r--lib/am/tags.am103
-rw-r--r--lib/am/texibuild.am32
-rw-r--r--lib/am/texinfos.am32
-rwxr-xr-xlib/elisp-comp93
-rwxr-xr-xlib/missing403
-rwxr-xr-xlib/test-driver2
-rw-r--r--m4/amversion.m46
-rw-r--r--m4/ccstdc.m423
-rw-r--r--m4/depout.m42
-rw-r--r--m4/dmalloc.m42
-rw-r--r--m4/extra-recurs.m417
-rw-r--r--m4/header.m49
-rw-r--r--m4/init.m420
-rw-r--r--m4/lispdir.m42
-rw-r--r--m4/maintainer.m42
-rw-r--r--m4/missing.m48
-rw-r--r--m4/mkdirp.m42
-rw-r--r--m4/obsol-gt.m410
-rw-r--r--m4/obsol-lt.m410
-rw-r--r--m4/obsolete.m435
-rw-r--r--syntax-checks.mk34
-rwxr-xr-xt/ac-output-old.tap25
-rwxr-xr-xt/acloca10.sh2
-rwxr-xr-xt/acloca11.sh2
-rwxr-xr-xt/acloca12.sh2
-rwxr-xr-xt/acloca13.sh2
-rwxr-xr-xt/acloca14.sh4
-rwxr-xr-xt/acloca14b.sh108
-rwxr-xr-xt/acloca15.sh2
-rwxr-xr-xt/acloca16.sh2
-rwxr-xr-xt/acloca17.sh2
-rwxr-xr-xt/acloca18.sh2
-rwxr-xr-xt/acloca19.sh2
-rwxr-xr-xt/acloca20.sh2
-rwxr-xr-xt/acloca21.sh2
-rwxr-xr-xt/acloca22.sh14
-rwxr-xr-xt/acloca22b.sh59
-rwxr-xr-xt/acloca23.sh2
-rwxr-xr-xt/aclocal-acdir.sh28
-rwxr-xr-xt/aclocal-amflags.sh69
-rwxr-xr-xt/aclocal-autoconf-version-check.sh (renamed from t/missing6.sh)2
-rwxr-xr-xt/aclocal-install-absdir.sh2
-rwxr-xr-xt/aclocal-install-fail.sh2
-rwxr-xr-xt/aclocal-install-mkdir.sh2
-rwxr-xr-xt/aclocal-macrodir.tap161
-rwxr-xr-xt/aclocal-no-install-no-mkdir.sh2
-rwxr-xr-xt/aclocal-path-install-serial.sh2
-rwxr-xr-xt/aclocal-path-install.sh4
-rwxr-xr-xt/aclocal-path-nonexistent.sh2
-rwxr-xr-xt/aclocal-path-precedence.sh4
-rwxr-xr-xt/aclocal-path.sh2
-rwxr-xr-xt/aclocal-print-acdir.sh5
-rwxr-xr-xt/aclocal-verbose-install.sh2
-rwxr-xr-xt/aclocal.sh2
-rwxr-xr-xt/aclocal3.sh2
-rwxr-xr-xt/aclocal4.sh6
-rwxr-xr-xt/aclocal5.sh18
-rwxr-xr-xt/aclocal6.sh6
-rwxr-xr-xt/aclocal7.sh2
-rwxr-xr-xt/aclocal8.sh2
-rwxr-xr-xt/aclocal9.sh2
-rwxr-xr-xt/acsilent.sh9
-rwxr-xr-xt/acsubst.sh2
-rwxr-xr-xt/acsubst2.sh2
-rwxr-xr-xt/add-missing.tap13
-rwxr-xr-xt/all.sh2
-rwxr-xr-xt/all2.sh2
-rwxr-xr-xt/alloca.sh2
-rwxr-xr-xt/alloca2.sh2
-rwxr-xr-xt/alpha.sh2
-rwxr-xr-xt/alpha2.sh2
-rwxr-xr-xt/am-default-source-ext.sh2
-rwxr-xr-xt/am-macro-not-found.sh2
-rwxr-xr-xt/am-missing-prog.sh6
-rwxr-xr-xt/am-tests-environment.sh2
-rwxr-xr-xt/amassign.sh2
-rwxr-xr-xt/amhello-binpkg.sh2
-rwxr-xr-xt/amhello-cflags.sh2
-rwxr-xr-xt/amhello-cross-compile.sh2
-rwxr-xr-xt/aminit-moreargs-deprecation.sh2
-rwxr-xr-xt/amopt.sh2
-rwxr-xr-xt/amopts-location.sh2
-rwxr-xr-xt/amopts-variable-expansion.sh2
-rwxr-xr-xt/amsubst.sh2
-rwxr-xr-xt/ansi2knr-no-more.sh2
-rwxr-xr-xt/ar-lib.sh2
-rwxr-xr-xt/ar-lib2.sh2
-rwxr-xr-xt/ar-lib3.sh2
-rwxr-xr-xt/ar-lib4.sh2
-rwxr-xr-xt/ar-lib5a.sh2
-rwxr-xr-xt/ar-lib5b.sh2
-rwxr-xr-xt/ar-lib6a.sh2
-rwxr-xr-xt/ar-lib6b.sh2
-rwxr-xr-xt/ar-lib7.sh2
-rwxr-xr-xt/ar.sh2
-rwxr-xr-xt/ar2.sh2
-rwxr-xr-xt/ar3.sh2
-rwxr-xr-xt/ar4.sh2
-rwxr-xr-xt/ar5.sh2
-rwxr-xr-xt/asm.sh2
-rwxr-xr-xt/asm2.sh2
-rwxr-xr-xt/asm3.sh2
-rwxr-xr-xt/autodist-acconfig-no-subdir.sh2
-rwxr-xr-xt/autodist-acconfig.sh2
-rwxr-xr-xt/autodist-aclocal-m4.sh2
-rwxr-xr-xt/autodist-config-headers.sh2
-rwxr-xr-xt/autodist-configure-no-subdir.sh2
-rwxr-xr-xt/autodist-no-duplicate.sh2
-rwxr-xr-xt/autodist-stamp-vti.sh2
-rwxr-xr-xt/autodist-subdir.sh2
-rwxr-xr-xt/autodist.sh2
-rwxr-xr-xt/autohdr-subdir-pr12495.sh2
-rwxr-xr-xt/autohdr.sh2
-rwxr-xr-xt/autohdr2.sh30
-rwxr-xr-xt/autohdr3.sh2
-rwxr-xr-xt/autohdr4.sh2
-rwxr-xr-xt/autohdrdry.sh4
-rwxr-xr-xt/automake-cmdline.tap2
-rwxr-xr-xt/auxdir-autodetect.sh2
-rwxr-xr-xt/auxdir-computed.tap2
-rwxr-xr-xt/auxdir-misplaced.sh2
-rwxr-xr-xt/auxdir-nonexistent.sh2
-rwxr-xr-xt/auxdir-unportable.tap2
-rwxr-xr-xt/auxdir.sh2
-rwxr-xr-xt/auxdir6.sh2
-rwxr-xr-xt/auxdir7.sh2
-rwxr-xr-xt/auxdir8.sh2
-rw-r--r--t/ax/am-test-lib.sh17
-rw-r--r--t/ax/depcomp.sh2
-rw-r--r--t/ax/extract-testsuite-summary.pl4
-rw-r--r--t/ax/tap-setup.sh2
-rw-r--r--t/ax/tap-summary-aux.sh5
-rw-r--r--t/ax/testsuite-summary-checks.sh8
-rwxr-xr-xt/backcompat-acout.sh (renamed from t/backcompat4.sh)2
-rwxr-xr-xt/backcompat.sh2
-rwxr-xr-xt/backcompat2.sh2
-rwxr-xr-xt/backcompat3.sh13
-rwxr-xr-xt/backcompat5.sh126
-rwxr-xr-xt/backcompat6.sh8
-rwxr-xr-xt/backsl.sh2
-rwxr-xr-xt/backsl2.sh2
-rwxr-xr-xt/backsl3.sh2
-rwxr-xr-xt/backsl4.sh2
-rwxr-xr-xt/badline.sh2
-rwxr-xr-xt/badopt.sh2
-rwxr-xr-xt/badprog.sh2
-rwxr-xr-xt/block.sh2
-rwxr-xr-xt/built-sources-check.sh2
-rwxr-xr-xt/built-sources-cond.sh2
-rwxr-xr-xt/built-sources-fork-bomb.sh2
-rwxr-xr-xt/built-sources-install.sh2
-rwxr-xr-xt/built-sources-subdir.sh2
-rwxr-xr-xt/built-sources.sh2
-rwxr-xr-xt/candist.sh2
-rwxr-xr-xt/canon-name.sh2
-rwxr-xr-xt/canon.sh2
-rwxr-xr-xt/canon2.sh2
-rwxr-xr-xt/canon3.sh2
-rwxr-xr-xt/canon4.sh2
-rwxr-xr-xt/canon5.sh2
-rwxr-xr-xt/canon6.sh2
-rwxr-xr-xt/canon7.sh2
-rwxr-xr-xt/canon8.sh2
-rwxr-xr-xt/ccnoco.sh5
-rwxr-xr-xt/ccnoco2.sh2
-rwxr-xr-xt/ccnoco3.sh5
-rwxr-xr-xt/check-concurrency-bug9245.sh2
-rwxr-xr-xt/check-exported-srcdir.sh4
-rwxr-xr-xt/check-fd-redirect.sh2
-rwxr-xr-xt/check-no-test-driver.sh10
-rwxr-xr-xt/check-subst-prog.sh2
-rwxr-xr-xt/check-subst.sh4
-rwxr-xr-xt/check-tests-in-builddir.sh10
-rwxr-xr-xt/check.sh2
-rwxr-xr-xt/check10.sh2
-rwxr-xr-xt/check11.sh2
-rwxr-xr-xt/check12.sh2
-rwxr-xr-xt/check2.sh2
-rwxr-xr-xt/check4.sh2
-rwxr-xr-xt/check5.sh2
-rwxr-xr-xt/check6.sh2
-rwxr-xr-xt/check7.sh2
-rwxr-xr-xt/check8.sh4
-rwxr-xr-xt/checkall.sh2
-rwxr-xr-xt/clean.sh2
-rwxr-xr-xt/colneq.sh2
-rwxr-xr-xt/colneq2.sh2
-rwxr-xr-xt/colneq3.sh2
-rwxr-xr-xt/colon.sh2
-rwxr-xr-xt/colon2.sh2
-rwxr-xr-xt/colon3.sh2
-rwxr-xr-xt/colon4.sh2
-rwxr-xr-xt/colon5.sh2
-rwxr-xr-xt/colon6.sh2
-rwxr-xr-xt/colon7.sh2
-rwxr-xr-xt/color-tests-opt.sh (renamed from t/version.sh)32
-rwxr-xr-xt/color-tests.sh (renamed from t/color.sh)3
-rwxr-xr-xt/color-tests2.sh (renamed from t/color2.sh)20
-rwxr-xr-xt/commen10.sh2
-rwxr-xr-xt/commen11.sh2
-rwxr-xr-xt/comment.sh2
-rwxr-xr-xt/comment2.sh2
-rwxr-xr-xt/comment3.sh2
-rwxr-xr-xt/comment4.sh2
-rwxr-xr-xt/comment5.sh2
-rwxr-xr-xt/comment6.sh2
-rwxr-xr-xt/comment7.sh4
-rwxr-xr-xt/comment8.sh2
-rwxr-xr-xt/comment9.sh2
-rwxr-xr-xt/comments-in-var-def.sh2
-rwxr-xr-xt/compile.sh2
-rwxr-xr-xt/compile2.sh2
-rwxr-xr-xt/compile3.sh2
-rwxr-xr-xt/compile4.sh2
-rwxr-xr-xt/compile5.sh2
-rwxr-xr-xt/compile6.sh2
-rwxr-xr-xt/compile_f90_c_cxx.sh2
-rwxr-xr-xt/compile_f_c_cxx.sh8
-rwxr-xr-xt/cond-basic.sh2
-rwxr-xr-xt/cond.sh2
-rwxr-xr-xt/cond10.sh2
-rwxr-xr-xt/cond11.sh2
-rwxr-xr-xt/cond13.sh2
-rwxr-xr-xt/cond14.sh2
-rwxr-xr-xt/cond15.sh2
-rwxr-xr-xt/cond16.sh2
-rwxr-xr-xt/cond17.sh2
-rwxr-xr-xt/cond18.sh2
-rwxr-xr-xt/cond19.sh2
-rwxr-xr-xt/cond20.sh2
-rwxr-xr-xt/cond21.sh2
-rwxr-xr-xt/cond22.sh2
-rwxr-xr-xt/cond23.sh2
-rwxr-xr-xt/cond24.sh2
-rwxr-xr-xt/cond25.sh2
-rwxr-xr-xt/cond26.sh2
-rwxr-xr-xt/cond27.sh2
-rwxr-xr-xt/cond28.sh2
-rwxr-xr-xt/cond3.sh2
-rwxr-xr-xt/cond30.sh2
-rwxr-xr-xt/cond31.sh2
-rwxr-xr-xt/cond32.sh2
-rwxr-xr-xt/cond33.sh2
-rwxr-xr-xt/cond34.sh2
-rwxr-xr-xt/cond35.sh2
-rwxr-xr-xt/cond36.sh2
-rwxr-xr-xt/cond37.sh2
-rwxr-xr-xt/cond38.sh2
-rwxr-xr-xt/cond39.sh2
-rwxr-xr-xt/cond4.sh2
-rwxr-xr-xt/cond40.sh2
-rwxr-xr-xt/cond41.sh2
-rwxr-xr-xt/cond42.sh2
-rwxr-xr-xt/cond43.sh2
-rwxr-xr-xt/cond44.sh2
-rwxr-xr-xt/cond45.sh2
-rwxr-xr-xt/cond46.sh2
-rwxr-xr-xt/cond5.sh2
-rwxr-xr-xt/cond6.sh2
-rwxr-xr-xt/cond7.sh2
-rwxr-xr-xt/cond8.sh2
-rwxr-xr-xt/cond9.sh2
-rwxr-xr-xt/condd.sh2
-rwxr-xr-xt/condhook.sh2
-rwxr-xr-xt/condhook2.sh2
-rwxr-xr-xt/condinc.sh2
-rwxr-xr-xt/condinc2.sh2
-rwxr-xr-xt/condlib.sh2
-rwxr-xr-xt/condman2.sh2
-rwxr-xr-xt/condman3.sh2
-rwxr-xr-xt/confdeps.sh2
-rwxr-xr-xt/conff.sh2
-rwxr-xr-xt/conff2.sh6
-rwxr-xr-xt/conffile-leading-dot.sh2
-rwxr-xr-xt/confh-subdir-clean.sh4
-rwxr-xr-xt/confh.sh4
-rwxr-xr-xt/confh4.sh4
-rwxr-xr-xt/confh5.sh2
-rwxr-xr-xt/confh6.sh4
-rwxr-xr-xt/confh7.sh4
-rwxr-xr-xt/confh8.sh4
-rwxr-xr-xt/configure.sh2
-rwxr-xr-xt/confincl.sh2
-rwxr-xr-xt/conflnk.sh2
-rwxr-xr-xt/conflnk2.sh2
-rwxr-xr-xt/conflnk3.sh2
-rwxr-xr-xt/conflnk4.sh2
-rwxr-xr-xt/confsub.sh4
-rwxr-xr-xt/confvar.sh2
-rwxr-xr-xt/confvar2.sh2
-rwxr-xr-xt/copy.sh2
-rwxr-xr-xt/cscope.tap2
-rwxr-xr-xt/cscope2.sh2
-rwxr-xr-xt/cscope3.sh2
-rwxr-xr-xt/cxx-demo.sh2
-rwxr-xr-xt/cxx-lt-demo.sh2
-rwxr-xr-xt/cxx.sh2
-rwxr-xr-xt/cxx2.sh2
-rwxr-xr-xt/cxxcpp.sh2
-rwxr-xr-xt/cxxlibobj.sh2
-rwxr-xr-xt/cxxlink.sh2
-rwxr-xr-xt/cxxnoc.sh2
-rwxr-xr-xt/cygnus-dependency-tracking.sh74
-rwxr-xr-xt/cygnus-imply-foreign.sh60
-rwxr-xr-xt/cygnus-no-dist.sh86
-rwxr-xr-xt/cygnus-no-installinfo.sh55
-rwxr-xr-xt/cygnus-no-more.sh (renamed from t/cygnus-deprecation.sh)32
-rwxr-xr-xt/cygwin32.sh2
-rwxr-xr-xt/dash.sh2
-rwxr-xr-xt/defun.sh2
-rwxr-xr-xt/defun2.sh2
-rwxr-xr-xt/dejagnu-absolute-builddir.sh2
-rwxr-xr-xt/dejagnu-relative-srcdir.sh2
-rwxr-xr-xt/dejagnu-siteexp-append.sh2
-rwxr-xr-xt/dejagnu-siteexp-extend.sh2
-rwxr-xr-xt/dejagnu-siteexp-useredit.sh2
-rwxr-xr-xt/dejagnu.sh2
-rwxr-xr-xt/dejagnu2.sh2
-rwxr-xr-xt/dejagnu3.sh2
-rwxr-xr-xt/dejagnu4.sh2
-rwxr-xr-xt/dejagnu5.sh2
-rwxr-xr-xt/dejagnu6.sh2
-rwxr-xr-xt/dejagnu7.sh2
-rwxr-xr-xt/deleted-am.sh2
-rwxr-xr-xt/deleted-m4.sh2
-rwxr-xr-xt/depacl2.sh2
-rwxr-xr-xt/depcomp-implicit-auxdir.sh2
-rwxr-xr-xt/depcomp.sh2
-rwxr-xr-xt/depcomp2.sh2
-rwxr-xr-xt/depcomp8a.sh2
-rwxr-xr-xt/depcomp8b.sh2
-rwxr-xr-xt/depdist.sh2
-rwxr-xr-xt/depend.sh2
-rwxr-xr-xt/depend3.sh2
-rwxr-xr-xt/depend4.sh2
-rwxr-xr-xt/depend5.sh7
-rwxr-xr-xt/depend6.sh2
-rwxr-xr-xt/deprecated-acinit.sh2
-rwxr-xr-xt/destdir.sh2
-rwxr-xr-xt/dir-named-obj-is-bad.sh2
-rwxr-xr-xt/dirlist-abspath.sh2
-rwxr-xr-xt/dirlist.sh9
-rwxr-xr-xt/dirlist2.sh11
-rwxr-xr-xt/discover.sh2
-rwxr-xr-xt/dist-auxdir-many-subdirs.sh7
-rwxr-xr-xt/dist-auxfile-2.sh2
-rwxr-xr-xt/dist-auxfile.sh2
-rwxr-xr-xt/dist-formats.tap2
-rwxr-xr-xt/dist-included-parent-dir.sh2
-rwxr-xr-xt/dist-missing-am.sh2
-rwxr-xr-xt/dist-missing-included-m4.sh2
-rwxr-xr-xt/dist-missing-m4.sh2
-rwxr-xr-xt/dist-pr109765.sh2
-rwxr-xr-xt/dist-readonly.sh2
-rwxr-xr-xt/dist-repeated.sh2
-rwxr-xr-xt/distcheck-configure-flags-am.sh2
-rwxr-xr-xt/distcheck-configure-flags-subpkg.sh2
-rwxr-xr-xt/distcheck-configure-flags.sh2
-rwxr-xr-xt/distcheck-hook.sh2
-rwxr-xr-xt/distcheck-hook2.sh2
-rwxr-xr-xt/distcheck-missing-m4.sh2
-rwxr-xr-xt/distcheck-outdated-m4.sh2
-rwxr-xr-xt/distcheck-override-infodir.sh2
-rwxr-xr-xt/distcheck-pr10470.sh2
-rwxr-xr-xt/distcheck-pr9579.sh2
-rwxr-xr-xt/distcheck-writable-srcdir.sh2
-rwxr-xr-xt/distcleancheck.sh2
-rwxr-xr-xt/distcom-subdir.sh4
-rwxr-xr-xt/distcom2.sh4
-rwxr-xr-xt/distcom3.sh2
-rwxr-xr-xt/distcom4.sh5
-rwxr-xr-xt/distcom5.sh2
-rwxr-xr-xt/distdir.sh2
-rwxr-xr-xt/disthook.sh2
-rwxr-xr-xt/distlinks.sh2
-rwxr-xr-xt/distlinksbrk.sh2
-rwxr-xr-xt/distname.sh2
-rwxr-xr-xt/dmalloc.sh2
-rwxr-xr-xt/doc-parsing-buglets-colneq-subst.sh2
-rwxr-xr-xt/doc-parsing-buglets-tabs.sh2
-rwxr-xr-xt/dollar.sh2
-rwxr-xr-xt/dollarvar.sh13
-rwxr-xr-xt/dollarvar2.sh2
-rwxr-xr-xt/double.sh2
-rwxr-xr-xt/dup2.sh2
-rwxr-xr-xt/else.sh2
-rwxr-xr-xt/empty-data-primary.sh2
-rwxr-xr-xt/empty-sources-primary.tap2
-rwxr-xr-xt/exdir.sh2
-rwxr-xr-xt/exdir2.sh2
-rwxr-xr-xt/exdir3.sh2
-rwxr-xr-xt/exeext.sh2
-rwxr-xr-xt/exeext2.sh2
-rwxr-xr-xt/exeext3.sh2
-rwxr-xr-xt/exeext4.sh2
-rwxr-xr-xt/exsource.sh2
-rwxr-xr-xt/ext.sh9
-rwxr-xr-xt/ext2.sh2
-rwxr-xr-xt/ext3.sh2
-rwxr-xr-xt/extra-portability.sh2
-rwxr-xr-xt/extra-portability2.sh2
-rwxr-xr-xt/extra-portability3.sh2
-rwxr-xr-xt/extra-programs-empty.sh2
-rwxr-xr-xt/extra.sh2
-rwxr-xr-xt/extra10.sh2
-rwxr-xr-xt/extra11.sh2
-rwxr-xr-xt/extra12.sh2
-rwxr-xr-xt/extra2.sh2
-rwxr-xr-xt/extra3.sh2
-rwxr-xr-xt/extra4.sh2
-rwxr-xr-xt/extra5.sh2
-rwxr-xr-xt/extra6.sh2
-rwxr-xr-xt/extra7.sh2
-rwxr-xr-xt/extra8.sh2
-rwxr-xr-xt/extra9.sh2
-rwxr-xr-xt/extradep.sh2
-rwxr-xr-xt/extradep2.sh2
-rwxr-xr-xt/f90only.sh2
-rwxr-xr-xt/flavor.sh19
-rwxr-xr-xt/flibs.sh2
-rwxr-xr-xt/fn99.sh2
-rwxr-xr-xt/fn99subdir.sh2
-rwxr-xr-xt/fnoc.sh2
-rwxr-xr-xt/fonly.sh2
-rwxr-xr-xt/forcemiss.sh2
-rwxr-xr-xt/forcemiss2.sh2
-rwxr-xr-xt/fort1.sh2
-rwxr-xr-xt/fort2.sh2
-rwxr-xr-xt/fort4.sh2
-rwxr-xr-xt/fort5.sh2
-rwxr-xr-xt/fortdep.sh2
-rwxr-xr-xt/gcj.sh2
-rwxr-xr-xt/gcj2.sh2
-rwxr-xr-xt/gcj3.sh2
-rwxr-xr-xt/gcj4.sh2
-rwxr-xr-xt/gcj5.sh2
-rwxr-xr-xt/gcj6.sh2
-rwxr-xr-xt/get-sysconf.sh2
-rwxr-xr-xt/gettext-macros.sh6
-rwxr-xr-xt/gettext.sh2
-rwxr-xr-xt/gettext2.sh2
-rwxr-xr-xt/gettext3.sh2
-rwxr-xr-xt/gnits.sh2
-rwxr-xr-xt/gnits2.sh2
-rwxr-xr-xt/gnits3.sh2
-rwxr-xr-xt/gnumake.sh2
-rwxr-xr-xt/gnuwarn.sh2
-rwxr-xr-xt/gnuwarn2.sh2
-rwxr-xr-xt/hdr-vars-defined-once.sh2
-rwxr-xr-xt/header.sh2
-rwxr-xr-xt/help-depend.sh2
-rwxr-xr-xt/help-depend2.sh2
-rwxr-xr-xt/help-dmalloc.sh2
-rwxr-xr-xt/help-init.sh2
-rwxr-xr-xt/help-lispdir.sh2
-rwxr-xr-xt/help-python.sh2
-rwxr-xr-xt/help-silent.sh21
-rwxr-xr-xt/help-upc.sh2
-rwxr-xr-xt/help.sh2
-rwxr-xr-xt/help2.sh2
-rwxr-xr-xt/help3.sh2
-rwxr-xr-xt/help4.sh2
-rwxr-xr-xt/hfs.sh2
-rwxr-xr-xt/implicit.sh2
-rwxr-xr-xt/init.sh2
-rwxr-xr-xt/init2.sh2
-rwxr-xr-xt/insh2.sh2
-rwxr-xr-xt/install-info-dir.sh2
-rwxr-xr-xt/install2.sh2
-rwxr-xr-xt/installdir.sh2
-rwxr-xr-xt/instdat.sh2
-rwxr-xr-xt/instdat2.sh2
-rwxr-xr-xt/instdir-cond.sh2
-rwxr-xr-xt/instdir-cond2.sh2
-rwxr-xr-xt/instdir-java.sh2
-rwxr-xr-xt/instdir-lisp.sh2
-rwxr-xr-xt/instdir-ltlib.sh2
-rwxr-xr-xt/instdir-no-empty.sh2
-rwxr-xr-xt/instdir-prog.sh2
-rwxr-xr-xt/instdir-python.sh2
-rwxr-xr-xt/instdir-texi.sh4
-rwxr-xr-xt/instdir.sh2
-rwxr-xr-xt/instdir2.sh2
-rwxr-xr-xt/instexec.sh2
-rwxr-xr-xt/instfail-info.sh2
-rwxr-xr-xt/instfail-java.sh2
-rwxr-xr-xt/instfail-libtool.sh2
-rwxr-xr-xt/instfail.sh2
-rwxr-xr-xt/insthook.sh2
-rwxr-xr-xt/instman.sh2
-rwxr-xr-xt/instman2.sh2
-rwxr-xr-xt/instmany-mans.sh2
-rwxr-xr-xt/instmany-python.sh2
-rwxr-xr-xt/instmany.sh2
-rwxr-xr-xt/instsh.sh2
-rwxr-xr-xt/instsh2.sh2
-rwxr-xr-xt/instsh3.sh2
-rwxr-xr-xt/instspc.tap2
-rwxr-xr-xt/interp.sh2
-rwxr-xr-xt/interp2.sh2
-rwxr-xr-xt/java-check.sh2
-rwxr-xr-xt/java-clean.sh2
-rwxr-xr-xt/java-compile-install.sh2
-rwxr-xr-xt/java-compile-run-flat.sh6
-rwxr-xr-xt/java-compile-run-nested.sh12
-rwxr-xr-xt/java-empty-classpath.sh2
-rwxr-xr-xt/java-extra.sh2
-rwxr-xr-xt/java-mix.sh2
-rwxr-xr-xt/java-no-duplicate.sh2
-rwxr-xr-xt/java-nobase.sh2
-rwxr-xr-xt/java-noinst.sh2
-rwxr-xr-xt/java-rebuild.sh2
-rwxr-xr-xt/java-sources.sh2
-rwxr-xr-xt/java-uninstall.sh2
-rwxr-xr-xt/java.sh2
-rwxr-xr-xt/java2.sh2
-rwxr-xr-xt/java3.sh2
-rwxr-xr-xt/javadir-undefined.sh2
-rwxr-xr-xt/javaflags.sh2
-rwxr-xr-xt/javaprim.sh2
-rwxr-xr-xt/javasubst.sh2
-rwxr-xr-xt/ldadd.sh2
-rwxr-xr-xt/ldflags.sh2
-rwxr-xr-xt/lex-clean-cxx.sh2
-rwxr-xr-xt/lex-clean.sh2
-rwxr-xr-xt/lex-depend-cxx.sh2
-rwxr-xr-xt/lex-depend-grep.sh2
-rwxr-xr-xt/lex-depend.sh2
-rwxr-xr-xt/lex-header.sh2
-rwxr-xr-xt/lex-lib-external.sh2
-rwxr-xr-xt/lex-lib.sh2
-rwxr-xr-xt/lex-libobj.sh2
-rwxr-xr-xt/lex-line.sh2
-rwxr-xr-xt/lex-nodist.sh2
-rwxr-xr-xt/lex-noyywrap.sh2
-rwxr-xr-xt/lex-pr204.sh2
-rwxr-xr-xt/lex-subobj-nodep.sh2
-rwxr-xr-xt/lex.sh2
-rwxr-xr-xt/lex2.sh2
-rwxr-xr-xt/lex3.sh2
-rwxr-xr-xt/lex5.sh2
-rwxr-xr-xt/lexcpp.sh2
-rwxr-xr-xt/lexvpath.sh2
-rwxr-xr-xt/lflags.sh2
-rwxr-xr-xt/lflags2.sh2
-rwxr-xr-xt/libexec.sh2
-rwxr-xr-xt/libobj-basic.sh2
-rwxr-xr-xt/libobj10.sh2
-rwxr-xr-xt/libobj12.sh2
-rwxr-xr-xt/libobj13.sh2
-rwxr-xr-xt/libobj14.sh2
-rwxr-xr-xt/libobj15a.sh2
-rwxr-xr-xt/libobj15b.sh2
-rwxr-xr-xt/libobj15c.sh2
-rwxr-xr-xt/libobj16a.sh2
-rwxr-xr-xt/libobj16b.sh2
-rwxr-xr-xt/libobj17.sh2
-rwxr-xr-xt/libobj18.sh2
-rwxr-xr-xt/libobj19.sh2
-rwxr-xr-xt/libobj2.sh2
-rwxr-xr-xt/libobj20a.sh2
-rwxr-xr-xt/libobj20b.sh2
-rwxr-xr-xt/libobj20c.sh2
-rwxr-xr-xt/libobj3.sh2
-rwxr-xr-xt/libobj4.sh2
-rwxr-xr-xt/libobj5.sh2
-rwxr-xr-xt/libobj7.sh2
-rwxr-xr-xt/library.sh2
-rwxr-xr-xt/library2.sh2
-rwxr-xr-xt/library3.sh2
-rwxr-xr-xt/libtoo10.sh2
-rwxr-xr-xt/libtoo11.sh2
-rwxr-xr-xt/libtool-macros.sh2
-rwxr-xr-xt/libtool.sh2
-rwxr-xr-xt/libtool2.sh2
-rwxr-xr-xt/libtool3.sh2
-rwxr-xr-xt/libtool4.sh2
-rwxr-xr-xt/libtool5.sh2
-rwxr-xr-xt/libtool6.sh2
-rwxr-xr-xt/libtool7.sh2
-rwxr-xr-xt/libtool8.sh2
-rwxr-xr-xt/libtool9.sh2
-rwxr-xr-xt/license.sh2
-rwxr-xr-xt/license2.sh2
-rwxr-xr-xt/link_c_cxx.sh2
-rwxr-xr-xt/link_cond.sh2
-rwxr-xr-xt/link_dist.sh2
-rwxr-xr-xt/link_f90_only.sh2
-rwxr-xr-xt/link_f_only.sh2
-rwxr-xr-xt/link_fc.sh2
-rwxr-xr-xt/link_fccxx.sh2
-rwxr-xr-xt/link_fcxx.sh2
-rwxr-xr-xt/link_override.sh2
-rwxr-xr-xt/lisp-flags.sh (renamed from t/version2.sh)40
-rwxr-xr-xt/lisp-loadpath.sh67
-rwxr-xr-xt/lisp-pr11806.sh2
-rwxr-xr-xt/lisp-subdir-mix.sh96
-rwxr-xr-xt/lisp-subdir.sh80
-rwxr-xr-xt/lisp-subdir2.sh78
-rwxr-xr-xt/lisp2.sh2
-rwxr-xr-xt/lisp3.sh12
-rwxr-xr-xt/lisp4.sh3
-rwxr-xr-xt/lisp5.sh3
-rwxr-xr-xt/lisp6.sh7
-rwxr-xr-xt/lisp7.sh4
-rwxr-xr-xt/lisp8.sh6
-rwxr-xr-xt/lispdry.sh6
-rw-r--r--t/list-of-tests.mk66
-rwxr-xr-xt/listval.sh2
-rwxr-xr-xt/location.sh2
-rwxr-xr-xt/longlin2.sh2
-rwxr-xr-xt/longline.sh2
-rwxr-xr-xt/ltcond.sh2
-rwxr-xr-xt/ltcond2.sh2
-rwxr-xr-xt/ltconv.sh2
-rwxr-xr-xt/ltdeps.sh2
-rwxr-xr-xt/ltinit.sh2
-rwxr-xr-xt/ltinstloc.sh2
-rwxr-xr-xt/ltlibobjs.sh2
-rwxr-xr-xt/ltlibsrc.sh2
-rwxr-xr-xt/ltorder.sh2
-rwxr-xr-xt/lzma.sh2
-rwxr-xr-xt/m4-inclusion.sh2
-rwxr-xr-xt/maintclean-vpath.sh2
-rwxr-xr-xt/maintclean.sh2
-rwxr-xr-xt/maintmode-configure-msg.sh2
-rwxr-xr-xt/make-dryrun.tap2
-rwxr-xr-xt/make.sh2
-rwxr-xr-xt/makefile-deps.sh2
-rwxr-xr-xt/makej.sh2
-rwxr-xr-xt/makej2.sh2
-rwxr-xr-xt/maken.sh2
-rwxr-xr-xt/maken3.sh12
-rwxr-xr-xt/makevars.sh2
-rwxr-xr-xt/man.sh2
-rwxr-xr-xt/man2.sh2
-rwxr-xr-xt/man3.sh2
-rwxr-xr-xt/man4.sh105
-rwxr-xr-xt/man5.sh2
-rwxr-xr-xt/man6.sh6
-rwxr-xr-xt/man7.sh2
-rwxr-xr-xt/man8.sh2
-rwxr-xr-xt/mdate.sh2
-rwxr-xr-xt/mdate2.sh2
-rwxr-xr-xt/mdate3.sh2
-rwxr-xr-xt/mdate4.sh2
-rwxr-xr-xt/mdate5.sh2
-rwxr-xr-xt/mdate6.sh2
-rwxr-xr-xt/missing-auxfile-stops-makefiles-creation.sh2
-rwxr-xr-xt/missing-version-mismatch.sh (renamed from t/missing2.sh)56
-rwxr-xr-xt/missing.sh66
-rwxr-xr-xt/missing3.sh50
-rwxr-xr-xt/missing5.sh64
-rwxr-xr-xt/mkdir_p.sh2
-rwxr-xr-xt/mkdirp-deprecation.sh42
-rwxr-xr-xt/mkinst2.sh2
-rwxr-xr-xt/mkinst3.sh2
-rwxr-xr-xt/mkinstall.sh2
-rwxr-xr-xt/mmode.sh2
-rwxr-xr-xt/mmodely.sh2
-rwxr-xr-xt/no-extra-makefile-code.sh2
-rwxr-xr-xt/no-spurious-install-recursive.sh2
-rwxr-xr-xt/nobase-libtool.sh2
-rwxr-xr-xt/nobase-nodist.sh2
-rwxr-xr-xt/nobase-python.sh2
-rwxr-xr-xt/nobase.sh2
-rwxr-xr-xt/nodef.sh4
-rwxr-xr-xt/nodef2.sh2
-rwxr-xr-xt/nodep.sh2
-rwxr-xr-xt/nodep2.sh9
-rwxr-xr-xt/nodepcomp.sh2
-rwxr-xr-xt/nodist.sh2
-rwxr-xr-xt/nodist2.sh2
-rwxr-xr-xt/nodist3.sh2
-rwxr-xr-xt/noinst.sh2
-rwxr-xr-xt/noinstdir.sh2
-rwxr-xr-xt/nolink.sh2
-rwxr-xr-xt/nostdinc.sh2
-rwxr-xr-xt/notrans.sh2
-rwxr-xr-xt/number.sh2
-rwxr-xr-xt/objc-basic.sh2
-rwxr-xr-xt/objc-deps.sh2
-rwxr-xr-xt/objc-flags.sh4
-rwxr-xr-xt/objc-megademo.sh12
-rwxr-xr-xt/objc-minidemo.sh2
-rwxr-xr-xt/objcxx-basic.sh13
-rwxr-xr-xt/objcxx-deps.sh12
-rwxr-xr-xt/objcxx-flags.sh15
-rwxr-xr-xt/objcxx-minidemo.sh12
-rwxr-xr-xt/objext-pr10128.sh2
-rwxr-xr-xt/obsolete.sh57
-rwxr-xr-xt/oldvars.sh2
-rwxr-xr-xt/order.sh2
-rwxr-xr-xt/output-order.sh2
-rwxr-xr-xt/output.sh2
-rwxr-xr-xt/output10.sh2
-rwxr-xr-xt/output11.sh2
-rwxr-xr-xt/output12.sh2
-rwxr-xr-xt/output13.sh2
-rwxr-xr-xt/output2.sh2
-rwxr-xr-xt/output3.sh2
-rwxr-xr-xt/output4.sh2
-rwxr-xr-xt/output5.sh2
-rwxr-xr-xt/output6.sh2
-rwxr-xr-xt/output7.sh2
-rwxr-xr-xt/output8.sh2
-rwxr-xr-xt/output9.sh2
-rwxr-xr-xt/override-conditional-1.sh2
-rwxr-xr-xt/override-conditional-2.sh2
-rwxr-xr-xt/override-html.sh2
-rwxr-xr-xt/override-suggest-local.sh2
-rwxr-xr-xt/parallel-am.sh2
-rwxr-xr-xt/parallel-am2.sh2
-rwxr-xr-xt/parallel-am3.sh2
-rwxr-xr-xt/parallel-tests-basics.sh2
-rwxr-xr-xt/parallel-tests-cmdline-override.sh2
-rwxr-xr-xt/parallel-tests-concurrency-2.sh2
-rwxr-xr-xt/parallel-tests-concurrency.sh2
-rwxr-xr-xt/parallel-tests-console-output.sh2
-rwxr-xr-xt/parallel-tests-driver-install.sh49
-rwxr-xr-xt/parallel-tests-dry-run-1.sh4
-rwxr-xr-xt/parallel-tests-dry-run-2.sh4
-rwxr-xr-xt/parallel-tests-empty-testlogs.sh2
-rwxr-xr-xt/parallel-tests-empty.sh2
-rwxr-xr-xt/parallel-tests-exeext.sh2
-rwxr-xr-xt/parallel-tests-exit-statuses.sh2
-rwxr-xr-xt/parallel-tests-extra-programs.sh2
-rwxr-xr-xt/parallel-tests-fd-redirect-exeext.sh2
-rwxr-xr-xt/parallel-tests-fd-redirect.sh2
-rwxr-xr-xt/parallel-tests-fork-bomb.sh2
-rwxr-xr-xt/parallel-tests-generated-and-distributed.sh2
-rwxr-xr-xt/parallel-tests-harderror.sh2
-rwxr-xr-xt/parallel-tests-interrupt.tap4
-rwxr-xr-xt/parallel-tests-log-compiler-1.sh2
-rwxr-xr-xt/parallel-tests-log-compiler-2.sh2
-rwxr-xr-xt/parallel-tests-log-compiler-example.sh2
-rwxr-xr-xt/parallel-tests-log-override-1.sh2
-rwxr-xr-xt/parallel-tests-log-override-2.sh2
-rwxr-xr-xt/parallel-tests-log-override-recheck.sh2
-rwxr-xr-xt/parallel-tests-no-color-in-log.sh4
-rwxr-xr-xt/parallel-tests-no-spurious-summary.sh2
-rwxr-xr-xt/parallel-tests-once.sh2
-rwxr-xr-xt/parallel-tests-recheck-depends-on-all.sh2
-rwxr-xr-xt/parallel-tests-recheck-pr11791.sh2
-rwxr-xr-xt/parallel-tests-recheck.sh2
-rwxr-xr-xt/parallel-tests-reset-term.sh4
-rwxr-xr-xt/parallel-tests-subdir.sh4
-rwxr-xr-xt/parallel-tests-suffix-prog.sh2
-rwxr-xr-xt/parallel-tests-suffix.sh2
-rwxr-xr-xt/parallel-tests-trailing-whitespace.sh2
-rwxr-xr-xt/parallel-tests-unreadable.sh2
-rwxr-xr-xt/parse.sh2
-rwxr-xr-xt/percent.sh2
-rwxr-xr-xt/percent2.sh2
-rwxr-xr-xt/perf/cond.sh2
-rwxr-xr-xt/perf/testsuite-recheck.sh2
-rwxr-xr-xt/perf/testsuite-summary.sh4
-rwxr-xr-xt/phony.sh2
-rwxr-xr-xt/pluseq.sh2
-rwxr-xr-xt/pluseq10.sh2
-rwxr-xr-xt/pluseq11.sh2
-rwxr-xr-xt/pluseq2.sh2
-rwxr-xr-xt/pluseq3.sh2
-rwxr-xr-xt/pluseq4.sh2
-rwxr-xr-xt/pluseq5.sh2
-rwxr-xr-xt/pluseq6.sh2
-rwxr-xr-xt/pluseq7.sh2
-rwxr-xr-xt/pluseq8.sh2
-rwxr-xr-xt/pluseq9.sh2
-rwxr-xr-xt/posixsubst-data.sh2
-rwxr-xr-xt/posixsubst-extradist.sh2
-rwxr-xr-xt/posixsubst-ldadd.sh2
-rwxr-xr-xt/posixsubst-libraries.sh2
-rwxr-xr-xt/posixsubst-ltlibraries.sh2
-rwxr-xr-xt/posixsubst-programs.sh2
-rwxr-xr-xt/posixsubst-scripts.sh2
-rwxr-xr-xt/posixsubst-sources.sh2
-rwxr-xr-xt/posixsubst-tests.sh2
-rwxr-xr-xt/postproc.sh2
-rwxr-xr-xt/ppf77.sh2
-rwxr-xr-xt/pr2.sh2
-rwxr-xr-xt/pr211.sh2
-rwxr-xr-xt/pr220.sh2
-rwxr-xr-xt/pr224.sh2
-rwxr-xr-xt/pr229.sh2
-rwxr-xr-xt/pr243.sh2
-rwxr-xr-xt/pr266.sh2
-rwxr-xr-xt/pr279-2.sh2
-rwxr-xr-xt/pr279.sh2
-rwxr-xr-xt/pr287.sh2
-rwxr-xr-xt/pr300-lib.sh2
-rwxr-xr-xt/pr300-ltlib.sh2
-rwxr-xr-xt/pr300-prog.sh2
-rwxr-xr-xt/pr307.sh2
-rwxr-xr-xt/pr401.sh2
-rwxr-xr-xt/pr401b.sh2
-rwxr-xr-xt/pr401c.sh2
-rwxr-xr-xt/pr72.sh2
-rwxr-xr-xt/pr87.sh2
-rwxr-xr-xt/pr9.sh2
-rwxr-xr-xt/prefix.sh2
-rwxr-xr-xt/primary-prefix-couples-documented-valid.sh2
-rwxr-xr-xt/primary-prefix-couples-force-valid.sh2
-rwxr-xr-xt/primary-prefix-invalid-couples.tap3
-rwxr-xr-xt/primary-prefix-valid-couples.sh3
-rwxr-xr-xt/primary.sh2
-rwxr-xr-xt/primary2.sh2
-rwxr-xr-xt/primary3.sh2
-rwxr-xr-xt/print-libdir.sh2
-rwxr-xr-xt/proginst.sh2
-rwxr-xr-xt/programs-primary-rewritten.sh2
-rwxr-xr-xt/py-compile-basedir.sh2
-rwxr-xr-xt/py-compile-basic.sh2
-rwxr-xr-xt/py-compile-basic2.sh2
-rwxr-xr-xt/py-compile-destdir.sh2
-rwxr-xr-xt/py-compile-env.sh2
-rwxr-xr-xt/py-compile-option-terminate.sh2
-rwxr-xr-xt/py-compile-usage.sh2
-rwxr-xr-xt/python-am-path-iftrue.sh2
-rwxr-xr-xt/python-dist.sh2
-rwxr-xr-xt/python-missing.sh2
-rwxr-xr-xt/python-pr10995.sh2
-rwxr-xr-xt/python-too-old.sh2
-rwxr-xr-xt/python-vars.sh2
-rwxr-xr-xt/python-virtualenv.sh2
-rwxr-xr-xt/python.sh2
-rwxr-xr-xt/python10.sh2
-rwxr-xr-xt/python11.sh2
-rwxr-xr-xt/python12.sh2
-rwxr-xr-xt/python2.sh2
-rwxr-xr-xt/python3.sh2
-rwxr-xr-xt/recurs-user-deeply-nested.sh97
-rwxr-xr-xt/recurs-user-indir.sh99
-rwxr-xr-xt/recurs-user-keep-going.sh95
-rwxr-xr-xt/recurs-user-many.sh73
-rwxr-xr-xt/recurs-user-no-subdirs.sh52
-rwxr-xr-xt/recurs-user-no-top-level.sh (renamed from t/cygnus-check-without-all.sh)40
-rwxr-xr-xt/recurs-user-override.sh68
-rwxr-xr-xt/recurs-user-phony.sh (renamed from t/cygnus-requires-maintainer-mode.sh)49
-rwxr-xr-xt/recurs-user-wrap.sh (renamed from t/clean2.sh)67
-rwxr-xr-xt/recurs-user.sh81
-rwxr-xr-xt/recurs-user2.sh103
-rwxr-xr-xt/relativize.tap2
-rwxr-xr-xt/remake-aclocal-version-mismatch.sh (renamed from t/missing4.sh)2
-rwxr-xr-xt/remake-after-acinclude-m4.sh2
-rwxr-xr-xt/remake-after-aclocal-m4.sh2
-rwxr-xr-xt/remake-after-configure-ac.sh2
-rwxr-xr-xt/remake-after-makefile-am.sh2
-rwxr-xr-xt/remake-all-1.sh2
-rwxr-xr-xt/remake-all-2.sh2
-rwxr-xr-xt/remake-am-pr10111.sh2
-rwxr-xr-xt/remake-deeply-nested.sh2
-rwxr-xr-xt/remake-deleted-am-2.sh2
-rwxr-xr-xt/remake-deleted-am-subdir.sh2
-rwxr-xr-xt/remake-deleted-am.sh2
-rwxr-xr-xt/remake-deleted-m4-file.sh2
-rwxr-xr-xt/remake-fail.sh2
-rwxr-xr-xt/remake-gnulib-add-acsubst.sh2
-rwxr-xr-xt/remake-gnulib-add-header.sh2
-rwxr-xr-xt/remake-gnulib-remove-header.sh2
-rwxr-xr-xt/remake-include-aclocal.sh6
-rwxr-xr-xt/remake-include-configure.sh2
-rwxr-xr-xt/remake-include-makefile.sh2
-rwxr-xr-xt/remake-m4-pr10111.sh2
-rwxr-xr-xt/remake-macrodir.sh83
-rwxr-xr-xt/remake-maintainer-mode.sh2
-rwxr-xr-xt/remake-makefile-intree.sh14
-rwxr-xr-xt/remake-makefile-vpath.sh14
-rwxr-xr-xt/remake-mild-stress.sh2
-rwxr-xr-xt/remake-moved-m4-file.sh2
-rwxr-xr-xt/remake-not-after-make-dist.sh2
-rwxr-xr-xt/remake-recurs-user.sh89
-rwxr-xr-xt/remake-renamed-am.sh2
-rwxr-xr-xt/remake-renamed-m4-file.sh2
-rwxr-xr-xt/remake-renamed-m4-macro-and-file.sh2
-rwxr-xr-xt/remake-renamed-m4-macro.sh2
-rwxr-xr-xt/remake-subdir-from-subdir.sh2
-rwxr-xr-xt/remake-subdir-gnu.sh2
-rwxr-xr-xt/remake-subdir-grepping.sh2
-rwxr-xr-xt/remake-subdir-long-time.sh2
-rwxr-xr-xt/remake-subdir-no-makefile.sh2
-rwxr-xr-xt/remake-subdir-only.sh2
-rwxr-xr-xt/remake-subdir.sh2
-rwxr-xr-xt/remake-subdir2.sh2
-rwxr-xr-xt/remake-subdir3.sh4
-rwxr-xr-xt/remake-timing-bug-pr8365.sh2
-rwxr-xr-xt/repeated-options.sh2
-rwxr-xr-xt/req.sh11
-rwxr-xr-xt/reqd.sh2
-rwxr-xr-xt/reqd2.sh2
-rwxr-xr-xt/rulepat.sh2
-rwxr-xr-xt/sanity.sh2
-rwxr-xr-xt/seenc.sh2
-rwxr-xr-xt/self-check-configure-help.sh2
-rwxr-xr-xt/self-check-dir.tap10
-rwxr-xr-xt/self-check-exit.tap18
-rwxr-xr-xt/self-check-explicit-skips.sh4
-rwxr-xr-xt/self-check-is-blocked-signal.tap2
-rwxr-xr-xt/self-check-is_newest.tap2
-rwxr-xr-xt/self-check-me.tap10
-rwxr-xr-xt/self-check-report.sh2
-rwxr-xr-xt/self-check-seq.tap2
-rwxr-xr-xt/self-check-unindent.tap2
-rwxr-xr-xt/serial-tests.sh2
-rwxr-xr-xt/silent-configsite.sh14
-rwxr-xr-xt/silent-lex.sh3
-rwxr-xr-xt/silent-many-gcc.sh3
-rwxr-xr-xt/silent-many-generic.sh3
-rwxr-xr-xt/silent-nested-vars.sh2
-rwxr-xr-xt/silent-nowarn.sh44
-rwxr-xr-xt/silent-obsolescent-warns.sh71
-rwxr-xr-xt/silent-yacc-headers.sh3
-rwxr-xr-xt/silent-yacc.sh3
-rwxr-xr-xt/silent.sh3
-rwxr-xr-xt/silent2.sh3
-rwxr-xr-xt/silent3.sh3
-rwxr-xr-xt/silent4.sh3
-rwxr-xr-xt/silent6.sh4
-rwxr-xr-xt/silent7.sh16
-rwxr-xr-xt/silent8.sh9
-rwxr-xr-xt/silent9.sh3
-rwxr-xr-xt/silentcxx-gcc.sh3
-rwxr-xr-xt/silentcxx.sh3
-rwxr-xr-xt/silentf77.sh3
-rwxr-xr-xt/silentf90.sh3
-rwxr-xr-xt/sourcefile-in-subdir.sh2
-rwxr-xr-xt/space.sh2
-rwxr-xr-xt/specflg-dummy.sh2
-rwxr-xr-xt/specflg6.sh2
-rwxr-xr-xt/specflg7.sh2
-rwxr-xr-xt/specflg8.sh2
-rwxr-xr-xt/specflg9.sh2
-rwxr-xr-xt/spell.sh2
-rwxr-xr-xt/spell2.sh2
-rwxr-xr-xt/spell3.sh2
-rwxr-xr-xt/spelling.sh2
-rwxr-xr-xt/spy-rm.tap2
-rwxr-xr-xt/spy.sh2
-rwxr-xr-xt/src-acsubst.sh2
-rwxr-xr-xt/stamph2.sh9
-rwxr-xr-xt/stdinc.sh2
-rwxr-xr-xt/stdlib.sh2
-rwxr-xr-xt/stdlib2.sh2
-rwxr-xr-xt/strictness-override.sh2
-rwxr-xr-xt/strictness-precedence.sh2
-rwxr-xr-xt/strip.sh2
-rwxr-xr-xt/strip2.sh2
-rwxr-xr-xt/strip3.sh2
-rwxr-xr-xt/subdir-ac-subst.sh2
-rwxr-xr-xt/subdir-add-pr46.sh2
-rwxr-xr-xt/subdir-add2-pr46.sh6
-rwxr-xr-xt/subdir-am-cond.sh2
-rwxr-xr-xt/subdir-cond-err.sh2
-rwxr-xr-xt/subdir-cond-gettext.sh2
-rwxr-xr-xt/subdir-distclean.sh2
-rwxr-xr-xt/subdir-env-interference.sh2
-rwxr-xr-xt/subdir-order.sh2
-rwxr-xr-xt/subdir-subsub.sh2
-rwxr-xr-xt/subdir-with-slash.sh2
-rwxr-xr-xt/subdir.sh2
-rwxr-xr-xt/subobj-clean-lt-pr10697.sh2
-rwxr-xr-xt/subobj-clean-pr10697.sh2
-rwxr-xr-xt/subobj.sh2
-rwxr-xr-xt/subobj10.sh2
-rwxr-xr-xt/subobj11a.sh2
-rwxr-xr-xt/subobj11b.sh2
-rwxr-xr-xt/subobj11c.sh2
-rwxr-xr-xt/subobj2.sh2
-rwxr-xr-xt/subobj4.sh2
-rwxr-xr-xt/subobj5.sh2
-rwxr-xr-xt/subobj6.sh2
-rwxr-xr-xt/subobj7.sh2
-rwxr-xr-xt/subobj8.sh2
-rwxr-xr-xt/subobj9.sh2
-rwxr-xr-xt/subobjname.sh2
-rwxr-xr-xt/subpkg-yacc.sh2
-rwxr-xr-xt/subpkg.sh12
-rwxr-xr-xt/subpkg2.sh12
-rwxr-xr-xt/subpkg3.sh2
-rwxr-xr-xt/subpkg4.sh2
-rwxr-xr-xt/subst-no-trailing-empty-line.sh2
-rwxr-xr-xt/subst.sh2
-rwxr-xr-xt/subst3.sh2
-rwxr-xr-xt/subst4.sh2
-rwxr-xr-xt/subst5.sh2
-rwxr-xr-xt/substre2.sh2
-rwxr-xr-xt/substref.sh2
-rwxr-xr-xt/substtarg.sh2
-rwxr-xr-xt/suffix-chain.tap2
-rwxr-xr-xt/suffix-custom-subobj-and-specflg.sh2
-rwxr-xr-xt/suffix-custom-subobj.sh2
-rwxr-xr-xt/suffix.sh2
-rwxr-xr-xt/suffix10.tap2
-rwxr-xr-xt/suffix11.tap2
-rwxr-xr-xt/suffix2.sh2
-rwxr-xr-xt/suffix3.tap2
-rwxr-xr-xt/suffix4.sh2
-rwxr-xr-xt/suffix5.sh2
-rwxr-xr-xt/suffix6.sh2
-rwxr-xr-xt/suffix6b.sh2
-rwxr-xr-xt/suffix6c.sh2
-rwxr-xr-xt/suffix7.sh2
-rwxr-xr-xt/suffix8.tap2
-rwxr-xr-xt/suffix9.sh2
-rwxr-xr-xt/symlink.sh2
-rwxr-xr-xt/symlink2.sh2
-rwxr-xr-xt/syntax.sh2
-rwxr-xr-xt/tags-pr12372.sh2
-rwxr-xr-xt/tags.sh2
-rwxr-xr-xt/tags2.sh2
-rwxr-xr-xt/tagsub.sh2
-rwxr-xr-xt/tap-ambiguous-directive.sh2
-rwxr-xr-xt/tap-autonumber.sh2
-rwxr-xr-xt/tap-bad-prog.tap2
-rwxr-xr-xt/tap-bailout-and-logging.sh2
-rwxr-xr-xt/tap-bailout-leading-space.sh2
-rwxr-xr-xt/tap-bailout-suppress-badexit.sh2
-rwxr-xr-xt/tap-bailout-suppress-later-diagnostic.sh2
-rwxr-xr-xt/tap-bailout-suppress-later-errors.sh2
-rwxr-xr-xt/tap-bailout.sh2
-rwxr-xr-xt/tap-basic.sh2
-rwxr-xr-xt/tap-color.sh2
-rwxr-xr-xt/tap-common-setup.sh2
-rwxr-xr-xt/tap-deps.sh2
-rwxr-xr-xt/tap-diagnostic-custom.sh2
-rwxr-xr-xt/tap-diagnostic.sh2
-rwxr-xr-xt/tap-doc.sh2
-rwxr-xr-xt/tap-doc2.sh4
-rwxr-xr-xt/tap-driver-stderr.sh2
-rwxr-xr-xt/tap-empty-diagnostic.sh2
-rwxr-xr-xt/tap-empty.sh2
-rwxr-xr-xt/tap-escape-directive-2.sh2
-rwxr-xr-xt/tap-escape-directive.sh2
-rwxr-xr-xt/tap-exit.sh2
-rwxr-xr-xt/tap-fancy.sh2
-rwxr-xr-xt/tap-fancy2.sh2
-rwxr-xr-xt/tap-global-log.sh2
-rwxr-xr-xt/tap-global-result.sh2
-rwxr-xr-xt/tap-log.sh2
-rwxr-xr-xt/tap-merge-stdout-stderr.sh2
-rwxr-xr-xt/tap-missing-plan-and-bad-exit.sh2
-rwxr-xr-xt/tap-more.sh2
-rwxr-xr-xt/tap-more2.sh2
-rwxr-xr-xt/tap-msg0-bailout.sh2
-rwxr-xr-xt/tap-msg0-directive.sh2
-rwxr-xr-xt/tap-msg0-misc.sh2
-rwxr-xr-xt/tap-msg0-planskip.sh2
-rwxr-xr-xt/tap-msg0-result.sh2
-rwxr-xr-xt/tap-negative-numbers.sh2
-rwxr-xr-xt/tap-no-disable-hard-error.sh2
-rwxr-xr-xt/tap-no-merge-stdout-stderr.sh2
-rwxr-xr-xt/tap-no-spurious-numbers.sh2
-rwxr-xr-xt/tap-no-spurious-summary.sh2
-rwxr-xr-xt/tap-no-spurious.sh2
-rwxr-xr-xt/tap-not-ok-skip.sh2
-rwxr-xr-xt/tap-number-wordboundary.sh2
-rwxr-xr-xt/tap-numbers-leading-zero.sh2
-rwxr-xr-xt/tap-numeric-description.sh2
-rwxr-xr-xt/tap-out-of-order.sh2
-rwxr-xr-xt/tap-passthrough-exit.sh2
-rwxr-xr-xt/tap-passthrough.sh2
-rwxr-xr-xt/tap-plan-corner.sh2
-rwxr-xr-xt/tap-plan-errors.sh2
-rwxr-xr-xt/tap-plan-leading-zero.sh2
-rwxr-xr-xt/tap-plan-malformed.sh2
-rwxr-xr-xt/tap-plan-middle.sh2
-rwxr-xr-xt/tap-plan-whitespace.sh2
-rwxr-xr-xt/tap-plan.sh2
-rwxr-xr-xt/tap-planskip-and-logging.sh2
-rwxr-xr-xt/tap-planskip-badexit.sh2
-rwxr-xr-xt/tap-planskip-bailout.sh2
-rwxr-xr-xt/tap-planskip-case-insensitive.sh2
-rwxr-xr-xt/tap-planskip-late.sh2
-rwxr-xr-xt/tap-planskip-later-errors.sh2
-rwxr-xr-xt/tap-planskip-unplanned-corner.sh2
-rwxr-xr-xt/tap-planskip-unplanned.sh2
-rwxr-xr-xt/tap-planskip-whitespace.sh2
-rwxr-xr-xt/tap-planskip.sh2
-rwxr-xr-xt/tap-realtime.sh4
-rwxr-xr-xt/tap-recheck-logs.sh2
-rwxr-xr-xt/tap-recheck.sh2
-rwxr-xr-xt/tap-result-comment.sh2
-rwxr-xr-xt/tap-signal.tap2
-rwxr-xr-xt/tap-test-number-0.sh2
-rwxr-xr-xt/tap-todo-skip-together.sh2
-rwxr-xr-xt/tap-todo-skip-whitespace.sh2
-rwxr-xr-xt/tap-todo-skip.sh2
-rwxr-xr-xt/tap-unplanned.sh2
-rwxr-xr-xt/tap-whitespace-normalization.sh2
-rwxr-xr-xt/tap-with-and-without-number.sh2
-rwxr-xr-xt/tap-xfail-tests.sh2
-rwxr-xr-xt/tar-override.sh2
-rwxr-xr-xt/tar.sh2
-rwxr-xr-xt/tar2.sh2
-rwxr-xr-xt/tar3.sh2
-rwxr-xr-xt/target-cflags.sh2
-rwxr-xr-xt/targetclash.sh2
-rwxr-xr-xt/test-driver-acsubst.sh2
-rwxr-xr-xt/test-driver-cond.sh2
-rwxr-xr-xt/test-driver-create-log-dir.sh2
-rwxr-xr-xt/test-driver-custom-multitest-recheck.sh2
-rwxr-xr-xt/test-driver-custom-multitest-recheck2.sh2
-rwxr-xr-xt/test-driver-custom-multitest.sh2
-rwxr-xr-xt/test-driver-custom-no-extra-driver.sh2
-rwxr-xr-xt/test-driver-custom-xfail-tests.sh2
-rwxr-xr-xt/test-driver-custom.sh2
-rwxr-xr-xt/test-driver-fail.sh2
-rwxr-xr-xt/test-driver-is-distributed.sh40
-rwxr-xr-xt/test-driver-strip-vpath.sh2
-rwxr-xr-xt/test-driver-trs-suffix-registered.sh2
-rwxr-xr-xt/test-extensions-cond.sh2
-rwxr-xr-xt/test-extensions.sh2
-rwxr-xr-xt/test-harness-vpath-rewrite.sh2
-rwxr-xr-xt/test-log.sh2
-rwxr-xr-xt/test-logs-repeated.sh2
-rwxr-xr-xt/test-metadata-global-log.sh4
-rwxr-xr-xt/test-metadata-global-result.sh2
-rwxr-xr-xt/test-metadata-recheck.sh2
-rwxr-xr-xt/test-metadata-results.sh2
-rwxr-xr-xt/test-missing.sh2
-rwxr-xr-xt/test-missing2.sh2
-rwxr-xr-xt/test-trs-basic.sh2
-rwxr-xr-xt/test-trs-recover.sh2
-rwxr-xr-xt/test-trs-recover2.sh2
-rwxr-xr-xt/tests-environment-and-log-compiler.sh2
-rwxr-xr-xt/tests-environment-backcompat.sh4
-rwxr-xr-xt/tests-environment-fd-redirect.sh2
-rwxr-xr-xt/tests-environment.sh2
-rwxr-xr-xt/testsuite-summary-count-many.sh2
-rwxr-xr-xt/testsuite-summary-reference-log.sh2
-rwxr-xr-xt/transform.sh2
-rwxr-xr-xt/transform2.sh2
-rwxr-xr-xt/transform3.sh2
-rwxr-xr-xt/txinfo-no-clutter.sh91
-rwxr-xr-xt/txinfo-unrecognized-extension.sh2
-rwxr-xr-xt/txinfo.sh2
-rwxr-xr-xt/txinfo10.sh2
-rwxr-xr-xt/txinfo13.sh4
-rwxr-xr-xt/txinfo16.sh2
-rwxr-xr-xt/txinfo17.sh2
-rwxr-xr-xt/txinfo19.sh2
-rwxr-xr-xt/txinfo2.sh2
-rwxr-xr-xt/txinfo20.sh2
-rwxr-xr-xt/txinfo21.sh21
-rwxr-xr-xt/txinfo22.sh2
-rwxr-xr-xt/txinfo23.sh4
-rwxr-xr-xt/txinfo24.sh4
-rwxr-xr-xt/txinfo25.sh4
-rwxr-xr-xt/txinfo26.sh2
-rwxr-xr-xt/txinfo27.sh2
-rwxr-xr-xt/txinfo28.sh4
-rwxr-xr-xt/txinfo29.sh2
-rwxr-xr-xt/txinfo3.sh2
-rwxr-xr-xt/txinfo30.sh63
-rwxr-xr-xt/txinfo31.sh2
-rwxr-xr-xt/txinfo32.sh2
-rwxr-xr-xt/txinfo33.sh4
-rwxr-xr-xt/txinfo4.sh2
-rwxr-xr-xt/txinfo5.sh38
-rwxr-xr-xt/txinfo5b.sh42
-rwxr-xr-xt/txinfo6.sh2
-rwxr-xr-xt/txinfo7.sh2
-rwxr-xr-xt/txinfo8.sh2
-rwxr-xr-xt/txinfo9.sh2
-rwxr-xr-xt/uninstall-fail.sh2
-rwxr-xr-xt/uninstall-pr9578.sh2
-rwxr-xr-xt/unused.sh2
-rwxr-xr-xt/upc.sh2
-rwxr-xr-xt/upc2.sh2
-rwxr-xr-xt/upc3.sh2
-rwxr-xr-xt/var-recurs.sh (renamed from t/recurs.sh)4
-rwxr-xr-xt/var-recurs2.sh (renamed from t/recurs2.sh)4
-rwxr-xr-xt/vars.sh2
-rwxr-xr-xt/vars3.sh2
-rwxr-xr-xt/vartar.sh2
-rwxr-xr-xt/vartypo2.sh2
-rwxr-xr-xt/vartypos.sh2
-rwxr-xr-xt/version3.sh2
-rwxr-xr-xt/version4.sh2
-rwxr-xr-xt/version6.sh2
-rwxr-xr-xt/version7.sh2
-rwxr-xr-xt/version8.sh2
-rwxr-xr-xt/vpath.sh2
-rwxr-xr-xt/vtexi.sh2
-rwxr-xr-xt/vtexi2.sh2
-rwxr-xr-xt/vtexi3.sh2
-rwxr-xr-xt/vtexi4.sh4
-rwxr-xr-xt/warning-groups-win-over-strictness.sh2
-rwxr-xr-xt/warnings-obsolete-default.sh2
-rwxr-xr-xt/warnings-override.sh2
-rwxr-xr-xt/warnings-precedence.sh2
-rwxr-xr-xt/warnings-strictness-interactions.sh2
-rwxr-xr-xt/warnings-unknown.sh2
-rwxr-xr-xt/warnings-win-over-strictness.sh2
-rwxr-xr-xt/warnopts.sh2
-rwxr-xr-xt/werror.sh2
-rwxr-xr-xt/werror2.sh2
-rwxr-xr-xt/werror3.sh2
-rwxr-xr-xt/werror4.sh2
-rwxr-xr-xt/whoami.sh2
-rwxr-xr-xt/xsource.sh2
-rwxr-xr-xt/yacc-auxdir.sh2
-rwxr-xr-xt/yacc-basic.sh2
-rwxr-xr-xt/yacc-bison-skeleton-cxx.sh2
-rwxr-xr-xt/yacc-bison-skeleton.sh2
-rwxr-xr-xt/yacc-clean-cxx.sh2
-rwxr-xr-xt/yacc-clean.sh2
-rwxr-xr-xt/yacc-cxx.sh2
-rwxr-xr-xt/yacc-d-basic.sh2
-rwxr-xr-xt/yacc-d-cxx.sh2
-rwxr-xr-xt/yacc-d-vpath.sh2
-rwxr-xr-xt/yacc-deleted-headers.sh2
-rwxr-xr-xt/yacc-depend.sh2
-rwxr-xr-xt/yacc-depend2.sh2
-rwxr-xr-xt/yacc-dist-nobuild-subdir.sh2
-rwxr-xr-xt/yacc-dist-nobuild.sh2
-rwxr-xr-xt/yacc-grepping.sh2
-rwxr-xr-xt/yacc-grepping2.sh2
-rwxr-xr-xt/yacc-headers-and-dist-pr47.sh2
-rwxr-xr-xt/yacc-line.sh2
-rwxr-xr-xt/yacc-mix-c-cxx.sh2
-rwxr-xr-xt/yacc-nodist.sh2
-rwxr-xr-xt/yacc-pr204.sh2
-rwxr-xr-xt/yacc-subdir.sh2
-rwxr-xr-xt/yacc-weirdnames.sh2
-rwxr-xr-xt/yacc4.sh2
-rwxr-xr-xt/yaccdry.sh2
-rwxr-xr-xt/yaccpp.sh2
-rwxr-xr-xt/yaccvpath.sh2
-rwxr-xr-xt/yflags-cmdline-override.sh2
-rwxr-xr-xt/yflags-conditional.sh2
-rwxr-xr-xt/yflags-d-false-positives.sh2
-rwxr-xr-xt/yflags-force-conditional.sh2
-rwxr-xr-xt/yflags-force-override.sh2
-rwxr-xr-xt/yflags-var-expand.sh2
-rwxr-xr-xt/yflags.sh2
-rwxr-xr-xt/yflags2.sh2
1265 files changed, 4410 insertions, 4450 deletions
diff --git a/.gitignore b/.gitignore
index 3bcdc9dec..62d326e62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,8 @@
/doc/automake*.dvi
/doc/automake*.pdf
/doc/automake*.ps
+/doc/automake*.t2d/
+/doc/automake*.t2p/
/doc/automake*.1
/doc/aclocal*.1
/doc/stamp-vti
@@ -45,6 +47,9 @@
/t/*.dir
/t/*.log
/t/*.trs
+/contrib/t/*.dir
+/contrib/t/*.log
+/contrib/t/*.trs
/t/pm/*.log
/t/pm/*.trs
/t/perf/*.log
diff --git a/Makefile.am b/Makefile.am
index 45bf2fce4..065500f90 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -135,7 +135,6 @@ dist_script_DATA = \
lib/mdate-sh \
lib/missing \
lib/mkinstalldirs \
- lib/elisp-comp \
lib/ylwrap \
lib/depcomp \
lib/compile \
@@ -261,14 +260,13 @@ dist_automake_ac_DATA = \
m4/ar-lib.m4 \
m4/as.m4 \
m4/auxdir.m4 \
- m4/ccstdc.m4 \
m4/cond.m4 \
m4/cond-if.m4 \
m4/depend.m4 \
m4/depout.m4 \
m4/dmalloc.m4 \
+ m4/extra-recurs.m4 \
m4/gcj.m4 \
- m4/header.m4 \
m4/init.m4 \
m4/install-sh.m4 \
m4/lead-dot.m4 \
@@ -279,9 +277,6 @@ dist_automake_ac_DATA = \
m4/minuso.m4 \
m4/missing.m4 \
m4/mkdirp.m4 \
- m4/obsol-gt.m4 \
- m4/obsol-lt.m4 \
- m4/obsolete.m4 \
m4/options.m4 \
m4/protos.m4 \
m4/python.m4 \
@@ -392,6 +387,11 @@ EXTRA_DIST += gen-testsuite-part
$(generated_TESTS): $(srcdir)/gen-testsuite-part
$(srcdir)/t/testsuite-part.am: $(srcdir)/gen-testsuite-part Makefile.am
+# Hand-written tests for stuff in 'contrib/'.
+include $(srcdir)/contrib/t/local.am
+TESTS += $(contrib_TESTS)
+EXTRA_DIST += $(contrib_TESTS)
+
# Static dependencies valid for each test case (also further
# extended later). Note that use 'noinst_' rather than 'check_'
# as the prefix, because we really want them to be built by
@@ -509,7 +509,7 @@ check-no-trailing-backslash-in-recipes:
.PHONY: check-no-trailing-backslash-in-recipes
## Checking the list of tests.
-test_subdirs = t t/pm
+test_subdirs = t t/pm contrib/t
include $(srcdir)/t/CheckListOfTests.am
# Run the testsuite with the installed aclocal and automake.
@@ -529,13 +529,16 @@ EXTRA_DIST += $(perf_TESTS)
clean-local: clean-local-check
.PHONY: clean-local-check
clean-local-check:
- -set x t/*.dir; shift; \
- if test "$$#,$$1" = "1,*.dir"; then \
- : there is no test directory to clean; \
- else \
- find "$$@" -type d ! -perm -700 -exec chmod u+rwx {} ';'; \
- rm -rf "$$@"; \
- fi;
+## Directories candidate to be test directories match this wildcard.
+ @globs='t/*.dir t/*/*.dir */t/*.dir */t/*/*.dir'; \
+## The 'nullglob' bash option is not portable, so use perl.
+ dirs=`$(PERL) -e "print join(' ', glob('$$globs'));"` || exit 1; \
+ if test -n "$$dirs"; then \
+## Errors in find are acceptable, errors in rm are not.
+ find $$dirs -type d ! -perm -700 -exec chmod u+rwx {} ';'; \
+ echo " rm -rf $$dirs"; \
+ rm -rf $$dirs || exit 1; \
+ fi
## ---------------- ##
diff --git a/NEWS b/NEWS
index 637723439..4425a89ef 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,154 @@
+New in 1.13:
+
+* Version requirements:
+
+ - Autoconf 2.65 or greater is required.
+
+ - The rules to build PDF and DVI output from Texinfo input now
+ requires Texinfo 4.9 or later.
+
+ - Support for the "Cygnus-style" trees (once enabled by the 'cygnus'
+ option) has been removed. See discussion about automake bug#11034
+ for more background.
+
+ - The automake-provided '@mkdir_p@' configure substitution and
+ AM_PROG_MKDIR m4 macro have been removed. They had been obsolete
+ since automake 1.10, and actively deprecated since Automake 1.12.1.
+ However, to maintain a degree of backward-compatibility, the make
+ variable '$(mkdir_p)' is still defined (now simple as an alias to
+ '$(MKDIR_P)'). It will probably be removed in future major versions
+ of Automake (probably 1.14).
+
+ - The deprecated aclocal option '--acdir' has been removed. You
+ should use the options '--automake-acdir' and '--system-acdir'
+ instead (which have been introduced in Automake 1.11.2).
+
+ - The following long-obsolete m4 macros have been removed:
+
+ AM_PROG_CC_STDC: superseded by AC_PROG_CC since October 2002
+ fp_PROG_CC_STDC: broken alias for AM_PROG_CC_STDC
+ fp_WITH_DMALLOC: old alias for AM_WITH_DMALLOC
+ AM_CONFIG_HEADER: superseded by AC_CONFIG_HEADERS since July 2002
+ ud_PATH_LISPDIR: old alias for AM_PATH_LISPDIR
+ jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE
+ ud_GNU_GETTEXT: old alias for AM_GNU_GETTEXT
+ gm_PROG_LIBTOOL: old alias for AC_PROG_LIBTOOL
+ fp_C_PROTOTYPES: old alias for AM_C_PROTOTYPES (which was part
+ of the now-removed automatic de-ANSI-fication
+ support of Automake)
+
+ - All the "old alias" macros in 'm4/obsolete.m4' have been removed.
+
+* Obsolescent features:
+
+ - Use of the long-deprecated two- and three-arguments invocation forms
+ of the AM_INIT_AUTOMAKE is not documented anymore. It's still
+ supported though (albeit with a warning in the 'obsolete' category),
+ to cater for people who want to define the version number for their
+ package dynamically (e.g., from the current VCS revision). We'll
+ have to continue this support until Autoconf itself is fixed to allow
+ better support for such dynamic version numbers.
+
+* Elisp byte-compilation:
+
+ - The byte compilation of '.el' files into '.elc' files is now done
+ with a suffix rule. This has simplified the compilation process, and
+ more importantly made it less brittle. The downside is that emacs is
+ now invoked once for each '.el' files, which cause some noticeable
+ slowdowns. These should however be mitigated on multicore machines
+ (which are becoming the norm today) if concurrent make ("make -j")
+ is used.
+
+ - Elisp files placed in a subdirectory are now byte-compiled to '.elc'
+ files in the same subdirectory; for example, byte-compiling of file
+ 'sub/foo.el' file will result in 'sub/foo.elc' rather than in
+ 'foo.elc'. This behaviour is backward-incompatible with older
+ Automake versions, but it is more natural and more sane. See also
+ automake bug#7441.
+
+ - The Emacs invocation performing byte-compilation of '.el' files honors
+ the $(AM_ELCFLAGS) and $(ELCFLAGS) variables; as typical, the former
+ one is developer-reserved and the latter one user-reserved.
+
+ - The 'elisp-comp' script, once provided by Automake, has been rendered
+ obsoleted by the just-described changes, and thus removed.
+
+* Changes to Automake-generated testsuite harnesses:
+
+ - The parallel testsuite harness (previously only enabled by the
+ 'parallel-tests' option) is the default one; the older serial
+ testsuite harness will still be available through the use of the
+ 'serial-tests' option (introduced in Automake 1.12).
+
+ - The 'color-tests' option is now unconditionally activated by default.
+ In particular, this means that testsuite output is now colorized by
+ default if the attached terminal seems to support ANSI escapes, and
+ that the user can force output colorization by setting the variable
+ AM_COLOR_TESTS to "always". The 'color-tests' is still recognized
+ for backward-compatibility, although it's a handled as a no-op now.
+
+* Silent rules support:
+
+ - Support for silent rules is now always active in Automake-generated
+ Makefiles. So, although the verbose output is still the default,
+ the user can now always use "./configure --enable-silent-rules" or
+ "make V=0" to enable quieter output in the package he's building.
+
+ - The 'silent-rules' option has now become a no-op, preserved for
+ backward-compatibility only. In particular, its use does not disable
+ the warnings in the 'portability-recursive' category anymore.
+
+* Texinfo Support:
+
+ - The rules to build PDF and DVI files from Texinfo input now use the
+ '--build-dir' option, to keep the auxiliary files used by texi2dvi
+ and texi2pdf around without cluttering the build directory, and to
+ make it possible to run the "dvi" and "pdf" recipes in parallel.
+
+* Automatic remake rules and 'missing' script:
+
+ - The 'missing' script does not try anymore to update the timestamp
+ of out-of-date files that require a maintainer-specific tool to be
+ remade, in case the user lacks such a tool (or has a too-old version
+ of it). It just give a useful warning, and in some cases also a tip
+ about how to obtain such a tool.
+
+ - The missing script has thus become useless as a (poor) way to work
+ around the sketched-timestamps issues that can happen for projects
+ that keep generated files committed in their VCS repository. Such
+ projects are now encouraged to write a custom "fix-timestamps.sh"
+ script to avoid such issues; a simple example is provided in the
+ "CVS and generated files" chapter of the automake manual.
+
+* Recursive targets:
+
+ - The user can now define his own recursive targets that recurse
+ in the directories specified in $(SUBDIRS). This can be done by
+ specifying the name of such targets in invocations of the new
+ 'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
+
+* Tags:
+
+ - Any failure in the recipe of the "tags", "ctags", "cscope" or
+ "cscopelist" targets in a subdirectory is now propagated to the
+ top-level make invocation.
+
+ - Tags are correctly computed also for files in _SOURCES variables that
+ only list files with non-standard suffixes (see automake bug#12372).
+
+* Improvements to aclocal and related rebuilds rules:
+
+ - The Autoconf-provided macro AC_CONFIG_MACRO_DIR is now traced by
+ aclocal, and can be used to declare the local m4 include directory.
+ Formerly, one had to specify it with an explicit '-I' option to the
+ 'aclocal' invocation.
+
+ - The special make variable ACLOCAL_AMFLAGS is deprecated; future
+ Automake versions will warn about its use, and later version will
+ remove support for it altogether.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
New in 1.12.5:
* WARNING: Future backward-incompatibilities!
diff --git a/aclocal.in b/aclocal.in
index e8855d554..e2e953626 100644
--- a/aclocal.in
+++ b/aclocal.in
@@ -52,7 +52,7 @@ $perl_threads = 0;
# user-supplied directories first, then the directory containing the
# automake macros, and finally the system-wide directories for
# third-party macros.
-# @user_includes can be augmented with -I.
+# @user_includes can be augmented with -I or AC_CONFIG_MACRO_DIR.
# @automake_includes can be reset with the '--automake-acdir' option.
# @system_includes can be augmented with the 'dirlist' file or the
# ACLOCAL_PATH environment variable, and reset with the '--system-acdir'
@@ -143,10 +143,14 @@ my $m4_include_rx = "(m4_|m4_s|s)include\\((?:\\[([^]]+)\\]|([^],)\n]+))\\)";
my $serial_line_rx = '^#\s*serial\s+(\S*)';
my $serial_number_rx = '^\d+(?:\.\d+)*$';
-# Autoconf version
-# Set by trace_used_macros.
+# Autoconf version. This variable is set by 'trace_used_macros'.
my $ac_version;
+# Primary user directory containing extra m4 files for macros
+# definition, as extracted from call to macro AC_CONFIG_MACRO_DIR.
+# This variable is set by 'trace_used_macros'.
+my $ac_config_macro_dir;
+
# If set, names a temporary file that must be erased on abnormal exit.
my $erase_me;
@@ -719,13 +723,15 @@ sub trace_used_macros ()
$traces .= join (' ',
(map { "'$_'" }
(grep { exists $files{$_} } @file_order))) . " ";
+
# All candidate macros.
$traces .= join (' ',
(map { "--trace='$_:\$f::\$n::\$1'" }
('AC_DEFUN',
'AC_DEFUN_ONCE',
'AU_DEFUN',
- '_AM_AUTOCONF_VERSION')),
+ '_AM_AUTOCONF_VERSION',
+ 'AC_CONFIG_MACRO_DIR')),
# Do not trace $1 for all other macros as we do
# not need it and it might contains harmful
# characters (like newlines).
@@ -735,6 +741,8 @@ sub trace_used_macros ()
my $tracefh = new Automake::XFile ("$traces $configure_ac |");
+ $ac_config_macro_dir = undef;
+
my %traced = ();
while ($_ = $tracefh->getline)
@@ -744,12 +752,19 @@ sub trace_used_macros ()
$traced{$macro} = 1 if exists $macro_seen{$macro};
- $map_traced_defs{$arg1} = $file
- if ($macro eq 'AC_DEFUN'
- || $macro eq 'AC_DEFUN_ONCE'
- || $macro eq 'AU_DEFUN');
-
- $ac_version = $arg1 if $macro eq '_AM_AUTOCONF_VERSION';
+ if ($macro eq 'AC_DEFUN' || $macro eq 'AC_DEFUN_ONCE'
+ || $macro eq 'AU_DEFUN')
+ {
+ $map_traced_defs{$arg1} = $file;
+ }
+ elsif ($macro eq '_AM_AUTOCONF_VERSION')
+ {
+ $ac_version = $arg1;
+ }
+ elsif ($macro eq 'AC_CONFIG_MACRO_DIR')
+ {
+ $ac_config_macro_dir = $arg1;
+ }
}
$tracefh->close;
@@ -972,15 +987,6 @@ EOF
exit 0;
}
-# Using --acdir overrides both the automake (versioned) directory and
-# the public (unversioned) system directory. This usage is obsolete.
-sub handle_acdir_option ($$)
-{
- msg 'obsolete', '', "'--acdir' is deprecated\n";
- @system_includes = ($_[1]);
- @automake_includes = ();
-}
-
# Parse command line.
sub parse_arguments ()
{
@@ -991,7 +997,6 @@ sub parse_arguments ()
(
'help' => sub { usage(0); },
'version' => \&version,
- 'acdir=s' => \&handle_acdir_option,
'system-acdir=s' => sub { shift; @system_includes = @_; },
'automake-acdir=s' => sub { shift; @automake_includes = @_; },
'diff:s' => \$diff_command,
@@ -1028,12 +1033,6 @@ sub parse_arguments ()
$dry_run = 1;
}
- if ($install && !@user_includes)
- {
- fatal ("--install should copy macros in the directory indicated by the"
- . "\nfirst -I option, but no -I was supplied");
- }
-
# Finally, adds any directory listed in the 'dirlist' file.
if (open (DIRLIST, "$system_includes[0]/dirlist"))
{
@@ -1083,16 +1082,36 @@ $configure_ac = require_configure_ac;
# we did not rerun aclocal, the next run of aclocal would produce a
# different aclocal.m4.
my $loop = 0;
+my $rerun_due_to_macrodir = 0;
while (1)
{
++$loop;
- prog_error "too many loops" if $loop > 2;
+ prog_error "too many loops" if $loop > 2 + $rerun_due_to_macrodir;
reset_maps;
scan_m4_files;
scan_configure;
last if $exit_code;
my %macro_traced = trace_used_macros;
+
+ if (!$rerun_due_to_macrodir && defined $ac_config_macro_dir)
+ {
+ # The directory specified by the AC_CONFIG_MACRO_DIR m4 macro
+ # (if any) must after the user includes specified explicitly
+ # with the '-I' option.
+ push @user_includes, $ac_config_macro_dir
+ if defined $ac_config_macro_dir;
+ # We might have to scan some new directory of .m4 files.
+ $rerun_due_to_macrodir++;
+ next;
+ }
+
+ if ($install && !@user_includes)
+ {
+ fatal "installation of third-party macros impossible without " .
+ "-I options nor AC_CONFIG_MACRO_DIR m4 macro";
+ }
+
last if write_aclocal ($output_file, keys %macro_traced);
last if $dry_run;
}
diff --git a/automake.in b/automake.in
index 4c5ed2cc0..32389f4ae 100644
--- a/automake.in
+++ b/automake.in
@@ -231,7 +231,7 @@ my @common_files =
(qw(ABOUT-GNU ABOUT-NLS AUTHORS BACKLOG COPYING COPYING.DOC COPYING.LIB
COPYING.LESSER ChangeLog INSTALL NEWS README THANKS TODO
ar-lib compile config.guess config.rpath
- config.sub depcomp elisp-comp install-sh libversion.in mdate-sh
+ config.sub depcomp install-sh libversion.in mdate-sh
missing mkinstalldirs py-compile texinfo.tex ylwrap),
@libtool_files, @libtool_sometimes);
@@ -362,6 +362,9 @@ my $ac_gettext_location;
# Whether AM_GNU_GETTEXT_INTL_SUBDIR has been seen.
my $seen_gettext_intl = 0;
+# The arguments of the AM_EXTRA_RECURSIVE_TARGETS call (if any).
+my @extra_recursive_targets = ();
+
# Lists of tags supported by Libtool.
my %libtool_tags = ();
# 1 if Libtool uses LT_SUPPORTED_TAG. If it does, then it also
@@ -459,9 +462,11 @@ my %required_targets =
'install-ps-am' => 1,
'install-info-am' => 1,
'installcheck-am' => 1,
- 'uninstall-am' => 1,
-
- 'install-man' => 1,
+ 'uninstall-am' => 1,
+ 'tags-am' => 1,
+ 'ctags-am' => 1,
+ 'cscopelist-am' => 1,
+ 'install-man' => 1,
);
# Queue to push require_conf_file requirements to.
@@ -1103,11 +1108,11 @@ sub backname ($)
################################################################
-# 'silent-rules' mode handling functions.
+# Silent rules handling functions.
# verbose_var (NAME)
# ------------------
-# The public variable stem used to implement 'silent-rules'.
+# The public variable stem used to implement silent rules.
sub verbose_var ($)
{
my ($name) = @_;
@@ -1116,7 +1121,7 @@ sub verbose_var ($)
# verbose_private_var (NAME)
# --------------------------
-# The naming policy for the private variables for 'silent-rules'.
+# The naming policy for the private variables for silent rules.
sub verbose_private_var ($)
{
my ($name) = @_;
@@ -1125,9 +1130,9 @@ sub verbose_private_var ($)
# define_verbose_var (NAME, VAL-IF-SILENT, [VAL-IF-VERBOSE])
# ----------------------------------------------------------
-# For 'silent-rules' mode, setup VAR and dispatcher, to expand to
-# VAL-IF-SILENT if silent, to VAL-IF-VERBOSE (defaulting to empty)
-# if not.
+# For silent rules, setup VAR and dispatcher, to expand to
+# VAL-IF-SILENT if silent, to VAL-IF-VERBOSE (defaulting to
+# empty) if not.
sub define_verbose_var ($$;$)
{
my ($name, $silent_val, $verbose_val) = @_;
@@ -1136,21 +1141,19 @@ sub define_verbose_var ($$;$)
my $pvar = verbose_private_var ($name);
my $silent_var = $pvar . '_0';
my $verbose_var = $pvar . '_1';
- if (option 'silent-rules')
- {
- # For typical 'make's, 'configure' replaces AM_V (inside @@) with $(V)
- # and AM_DEFAULT_V (inside @@) with $(AM_DEFAULT_VERBOSITY).
- # For strict POSIX 2008 'make's, it replaces them with 0 or 1 instead.
- # See AM_SILENT_RULES in m4/silent.m4.
- define_variable ($var, '$(' . $pvar . '_@'.'AM_V'.'@)', INTERNAL);
- define_variable ($pvar . '_', '$(' . $pvar . '_@'.'AM_DEFAULT_V'.'@)', INTERNAL);
- Automake::Variable::define ($silent_var, VAR_AUTOMAKE, '', TRUE,
- $silent_val, '', INTERNAL, VAR_ASIS)
- if (! vardef ($silent_var, TRUE));
- Automake::Variable::define ($verbose_var, VAR_AUTOMAKE, '', TRUE,
- $verbose_val, '', INTERNAL, VAR_ASIS)
- if (! vardef ($verbose_var, TRUE));
-}
+ # For typical 'make's, 'configure' replaces AM_V (inside @@) with $(V)
+ # and AM_DEFAULT_V (inside @@) with $(AM_DEFAULT_VERBOSITY).
+ # For strict POSIX 2008 'make's, it replaces them with 0 or 1 instead.
+ # See AM_SILENT_RULES in m4/silent.m4.
+ define_variable ($var, '$(' . $pvar . '_@'.'AM_V'.'@)', INTERNAL);
+ define_variable ($pvar . '_', '$(' . $pvar . '_@'.'AM_DEFAULT_V'.'@)',
+ INTERNAL);
+ Automake::Variable::define ($silent_var, VAR_AUTOMAKE, '', TRUE,
+ $silent_val, '', INTERNAL, VAR_ASIS)
+ if (! vardef ($silent_var, TRUE));
+ Automake::Variable::define ($verbose_var, VAR_AUTOMAKE, '', TRUE,
+ $verbose_val, '', INTERNAL, VAR_ASIS)
+ if (! vardef ($verbose_var, TRUE));
}
# Above should not be needed in the general automake code.
@@ -1161,17 +1164,13 @@ sub define_verbose_var ($$;$)
sub verbose_flag ($)
{
my ($name) = @_;
- return '$(' . verbose_var ($name) . ')'
- if (option 'silent-rules');
- return '';
+ return '$(' . verbose_var ($name) . ')';
}
sub verbose_nodep_flag ($)
{
my ($name) = @_;
- return '$(' . verbose_var ($name) . subst ('am__nodep') . ')'
- if (option 'silent-rules');
- return '';
+ return '$(' . verbose_var ($name) . subst ('am__nodep') . ')';
}
# silent_flag
@@ -1184,19 +1183,16 @@ sub silent_flag ()
# define_verbose_tagvar (NAME)
# ----------------------------
-# Engage the needed 'silent-rules' machinery for tag NAME.
+# Engage the needed silent rules machinery for tag NAME.
sub define_verbose_tagvar ($)
{
my ($name) = @_;
- if (option 'silent-rules')
- {
- define_verbose_var ($name, '@echo " '. $name . ' ' x (8 - length ($name)) . '" $@;');
- }
+ define_verbose_var ($name, '@echo " '. $name . ' ' x (8 - length ($name)) . '" $@;');
}
# define_verbose_texinfo
# ----------------------
-# Engage the needed 'silent-rules' machinery for assorted texinfo commands.
+# Engage the needed silent rules machinery for assorted texinfo commands.
sub define_verbose_texinfo ()
{
my @tagvars = ('DVIPS', 'MAKEINFO', 'INFOHTML', 'TEXI2DVI', 'TEXI2PDF');
@@ -1210,7 +1206,7 @@ sub define_verbose_texinfo ()
# define_verbose_libtool
# ----------------------
-# Engage the needed 'silent-rules' machinery for 'libtool --silent'.
+# Engage the needed silent rules machinery for 'libtool --silent'.
sub define_verbose_libtool ()
{
define_verbose_var ('lt', '--silent');
@@ -1219,7 +1215,6 @@ sub define_verbose_libtool ()
sub handle_silent ()
{
- return unless option 'silent-rules';
# Define "$(AM_V_P)", expanding to a shell conditional that can be
# used in make recipes to determine whether we are being run in
# silent mode or not. The choice of the name derives from the LISP
@@ -1227,7 +1222,7 @@ sub handle_silent ()
# also "the '-P' convention" in the Jargon File); we do so for lack
# of a better convention.
define_verbose_var ('P', 'false', ':');
- # *Always* provide the user with 'AM_V_GEN' for 'silent-rules' mode.
+ # *Always* provide the user with '$(AM_V_GEN)', unconditionally.
define_verbose_tagvar ('GEN');
define_verbose_var ('at', '@');
}
@@ -1253,10 +1248,6 @@ sub handle_options
return 1 if process_option_list (@options);
}
- # Override portability-recursive warning.
- switch_warning ('no-portability-recursive')
- if option 'silent-rules';
-
if ($strictness == GNITS)
{
set_option ('readme-alpha', INTERNAL);
@@ -1320,7 +1311,7 @@ sub handle_languages
{
# Include auto-dep code. Don't include it if DEP_FILES would
# be empty.
- if (&saw_sources_p (0) && keys %dep_files)
+ if (keys %extension_seen && keys %dep_files)
{
# Set location of depcomp.
&define_variable ('depcomp',
@@ -2977,35 +2968,15 @@ sub handle_scripts
## Handling Texinfo files. ##
## ------------------------ ##
-# ($OUTFILE, $VFILE, @CLEAN_FILES)
+# ($OUTFILE, $VFILE)
# &scan_texinfo_file ($FILENAME)
# ------------------------------
# $OUTFILE - name of the info file produced by $FILENAME.
# $VFILE - name of the version.texi file used (undef if none).
-# @CLEAN_FILES - list of byproducts (indexes etc.)
sub scan_texinfo_file ($)
{
my ($filename) = @_;
- # Some of the following extensions are always created, no matter
- # whether indexes are used or not. Other (like cps, fns, ... pgs)
- # are only created when they are used. We used to scan $FILENAME
- # for their use, but that is not enough: they could be used in
- # included files. We can't scan included files because we don't
- # know the include path. Therefore we always erase these files, no
- # matter whether they are used or not.
- #
- # (tmp is only created if an @macro is used and a certain e-TeX
- # feature is not available.)
- my %clean_suffixes =
- map { $_ => 1 } (qw(aux log toc tmp
- cp cps
- fn fns
- ky kys
- vr vrs
- tp tps
- pg pgs)); # grep 'new.*index' texinfo.tex
-
my $texi = new Automake::XFile "< $filename";
verb "reading $filename";
@@ -3033,23 +3004,6 @@ sub scan_texinfo_file ($)
{
$vfile = $1;
}
-
- # Try to find new or unused indexes.
-
- # Creating a new category of index.
- elsif (/^\@def(code)?index (\w+)/)
- {
- $clean_suffixes{$2} = 1;
- $clean_suffixes{"$2s"} = 1;
- }
-
- # Merging an index into an another.
- elsif (/^\@syn(code)?index (\w+) (\w+)/)
- {
- delete $clean_suffixes{"$2s"};
- $clean_suffixes{"$3s"} = 1;
- }
-
}
if (! $outfile)
@@ -3060,8 +3014,7 @@ sub scan_texinfo_file ($)
my $infobase = basename ($filename);
$infobase =~ s/\.te?xi(nfo)?$//;
- return ($outfile, $vfile,
- map { "$infobase.$_" } (sort keys %clean_suffixes));
+ return ($outfile, $vfile);
}
@@ -3201,10 +3154,13 @@ sub handle_texinfo_helper ($)
# If 'version.texi' is referenced by input file, then include
# automatic versioning capability.
- my ($out_file, $vtexi, @clean_files) =
+ my ($out_file, $vtexi) =
scan_texinfo_file ("$relative_dir/$texi")
or next;
- push (@mostly_cleans, @clean_files);
+ # Directory of auxiliary files and build by-products used by texi2dvi
+ # and texi2pdf.
+ push @mostly_cleans, "$infobase.t2d";
+ push @mostly_cleans, "$infobase.t2p";
# If the Texinfo source is in a subdirectory, create the
# resulting info in this subdirectory. If it is in the current
@@ -3392,11 +3348,6 @@ sub handle_texinfo_helper ($)
$texinfodir = ('$(srcdir)/'
. dirname (variable_value ('TEXINFO_TEX')));
}
- elsif (option 'cygnus')
- {
- $texinfodir = '$(top_srcdir)/../texinfo';
- define_variable ('TEXINFO_TEX', "$texinfodir/texinfo.tex", INTERNAL);
- }
elsif ($config_aux_dir_set_in_configure_ac)
{
$texinfodir = $am_config_aux_dir;
@@ -3635,85 +3586,43 @@ sub handle_data
# Handle TAGS.
sub handle_tags
{
- my @tag_deps = ();
- my @ctag_deps = ();
- my @cscope_deps = ();
- if (var ('SUBDIRS'))
- {
- $output_rules .= ("tags-recursive:\n"
- . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do \\\n"
- # Never fail here if a subdir fails; it
- # isn't important.
- . "\t test \"\$\$subdir\" = . || (\$(am__cd) \$\$subdir"
- . " && \$(MAKE) \$(AM_MAKEFLAGS) tags); \\\n"
- . "\tdone\n");
- push (@tag_deps, 'tags-recursive');
- &depend ('.PHONY', 'tags-recursive');
- &depend ('.MAKE', 'tags-recursive');
-
- $output_rules .= ("ctags-recursive:\n"
- . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do \\\n"
- # Never fail here if a subdir fails; it
- # isn't important.
- . "\t test \"\$\$subdir\" = . || (\$(am__cd) \$\$subdir"
- . " && \$(MAKE) \$(AM_MAKEFLAGS) ctags); \\\n"
- . "\tdone\n");
- push (@ctag_deps, 'ctags-recursive');
- &depend ('.PHONY', 'ctags-recursive');
- &depend ('.MAKE', 'ctags-recursive');
-
- $output_rules .= ("cscopelist-recursive:\n"
- . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do \\\n"
- # Never fail here if a subdir fails; it
- # isn't important.
- . "\t test \"\$\$subdir\" = . || (\$(am__cd) \$\$subdir"
- . " && \$(MAKE) \$(AM_MAKEFLAGS) cscopelist); \\\n"
- . "\tdone\n");
- push (@cscope_deps, 'cscopelist-recursive');
- &depend ('.PHONY', 'cscopelist-recursive');
- &depend ('.MAKE', 'cscopelist-recursive');
- }
-
- if (&saw_sources_p (1)
- || var ('ETAGS_ARGS')
- || @tag_deps)
- {
- my @config;
- foreach my $spec (@config_headers)
- {
- my ($out, @ins) = split_config_file_spec ($spec);
- foreach my $in (@ins)
- {
- # If the config header source is in this directory,
- # require it.
- push @config, basename ($in)
- if $relative_dir eq dirname ($in);
- }
- }
- $output_rules .= &file_contents ('tags',
- new Automake::Location,
- CONFIG => "@config",
- TAGSDIRS => "@tag_deps",
- CTAGSDIRS => "@ctag_deps",
- CSCOPEDIRS => "@cscope_deps");
+ my @config;
+ foreach my $spec (@config_headers)
+ {
+ my ($out, @ins) = split_config_file_spec ($spec);
+ foreach my $in (@ins)
+ {
+ # If the config header source is in this directory,
+ # require it.
+ push @config, basename ($in)
+ if $relative_dir eq dirname ($in);
+ }
+ }
+ define_variable ('am__tagged_files',
+ '$(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)'
+ . "@config", INTERNAL);
+
+ if (rvar('am__tagged_files')->value_as_list_recursive
+ || var ('ETAGS_ARGS') || var ('SUBDIRS'))
+ {
+ $output_rules .= &file_contents ('tags', new Automake::Location);
set_seen 'TAGS_DEPENDENCIES';
- }
- elsif (reject_var ('TAGS_DEPENDENCIES',
- "it doesn't make sense to define 'TAGS_DEPENDENCIES'"
- . " without\nsources or 'ETAGS_ARGS'"))
- {
- }
+ }
else
- {
+ {
+ reject_var ('TAGS_DEPENDENCIES',
+ "it doesn't make sense to define 'TAGS_DEPENDENCIES'"
+ . " without\nsources or 'ETAGS_ARGS'");
# Every Makefile must define some sort of TAGS rule.
# Otherwise, it would be possible for a top-level "make TAGS"
- # to fail because some subdirectory failed.
- $output_rules .= "tags: TAGS\nTAGS:\n\n";
- # Ditto ctags and cscope.
- $output_rules .= "ctags: CTAGS\nCTAGS:\n\n";
- $output_rules .= "cscope cscopelist:\n\n";
- }
+ # to fail because some subdirectory failed. Ditto ctags and
+ # cscope.
+ $output_rules .=
+ "tags TAGS:\n\n" .
+ "ctags CTAGS:\n\n" .
+ "cscope cscopelist:\n\n";
+ }
}
@@ -3742,26 +3651,6 @@ sub user_phony_rule ($)
}
-# $BOOLEAN
-# &for_dist_common ($A, $B)
-# -------------------------
-# Subroutine for &handle_dist: sort files to dist.
-#
-# We put README first because it then becomes easier to make a
-# Usenet-compliant shar file (in these, README must be first).
-#
-# FIXME: do more ordering of files here.
-sub for_dist_common
-{
- return 0
- if $a eq $b;
- return -1
- if $a eq 'README';
- return 1
- if $b eq 'README';
- return $a cmp $b;
-}
-
# handle_dist
# -----------
# Handle 'dist' target.
@@ -3872,7 +3761,7 @@ sub handle_dist ()
# Files to distributed. Don't use ->value_as_list_recursive
# as it recursively expands '$(dist_pkgdata_DATA)' etc.
my @dist_common = split (' ', rvar ('DIST_COMMON')->variable_value);
- @dist_common = uniq (sort for_dist_common (@dist_common));
+ @dist_common = uniq @dist_common;
variable_delete 'DIST_COMMON';
define_pretty_variable ('DIST_COMMON', TRUE, INTERNAL, @dist_common);
@@ -4135,8 +4024,8 @@ sub handle_configure ($$$@)
define_pretty_variable ('am__configure_deps', TRUE, INTERNAL,
@configuredeps);
- my $automake_options = '--' . (global_option 'cygnus' ? 'cygnus' : $strictness_name)
- . (global_option 'no-dependencies' ? ' --ignore-deps' : '');
+ my $automake_options = '--' . $strictness_name .
+ (global_option 'no-dependencies' ? ' --ignore-deps' : '');
$output_rules .= file_contents
('configure',
@@ -4600,6 +4489,32 @@ sub handle_all ($)
}
}
+# Generate helper targets for user recursion, where needed.
+sub handle_user_recursion ()
+{
+ return unless @extra_recursive_targets;
+
+ define_pretty_variable ('am__extra_recursive_targets', TRUE, INTERNAL,
+ map { "$_-recursive" } @extra_recursive_targets);
+ my $aux = var ('SUBDIRS') ? 'recursive' : 'am';
+ foreach my $target (@extra_recursive_targets)
+ {
+ # This allows the default target's rules to be overridden in
+ # Makefile.am.
+ user_phony_rule ($target);
+ depend ("$target", "$target-$aux");
+ depend ("$target-am", "$target-local");
+ # Every user-defined recursive target 'foo' *must* have a valid
+ # associated 'foo-local' rule; we define it as an empty rule by
+ # default, so that the user can transparently extend it in his
+ # own Makefile.am.
+ pretty_print_rule ("$target-local:");
+ # $target-recursive might as well be undefined, so do not add
+ # it here; it's taken care of in subdirs.am anyway.
+ depend (".PHONY", "$target-am", "$target-local");
+ }
+}
+
# &do_check_merge_target ()
# -------------------------
@@ -4610,25 +4525,16 @@ sub do_check_merge_target ()
push @check_tests, 'check-local'
if user_phony_rule 'check-local';
- # In --cygnus mode, check doesn't depend on all.
- if (option 'cygnus')
+ # The check target must depend on the local equivalent of
+ # 'all', to ensure all the primary targets are built. Then it
+ # must build the local check rules.
+ $output_rules .= "check-am: all-am\n";
+ if (@check)
{
- # Just run the local check rules.
- pretty_print_rule ('check-am:', "\t\t", @check);
- }
- else
- {
- # The check target must depend on the local equivalent of
- # 'all', to ensure all the primary targets are built. Then it
- # must build the local check rules.
- $output_rules .= "check-am: all-am\n";
- if (@check)
- {
- pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ",
- @check);
- depend ('.MAKE', 'check-am');
- }
+ pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ", @check);
+ depend ('.MAKE', 'check-am');
}
+
if (@check_tests)
{
pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ",
@@ -4819,9 +4725,7 @@ sub handle_tests_dejagnu
sub handle_per_suffix_test
{
my ($test_suffix, %transform) = @_;
- my ($pfx, $generic, $parallel_tests_option, $am_exeext);
- prog_error ("called with 'parallel-tests' option not set")
- unless $parallel_tests_option = option 'parallel-tests';
+ my ($pfx, $generic, $am_exeext);
if ($test_suffix eq '')
{
$pfx = '';
@@ -4838,13 +4742,12 @@ sub handle_per_suffix_test
: 'FALSE';
}
# The "test driver" program, deputed to handle tests protocol used by
- # test scripts. By default, it's assumed that no protocol is used,
- # so we fall back to the old "parallel-tests" behaviour, implemented
- # by the 'test-driver' auxiliary script.
+ # test scripts. By default, it's assumed that no protocol is used, so
+ # we fall back to the old behaviour, implemented by the 'test-driver'
+ # auxiliary script.
if (! var "${pfx}LOG_DRIVER")
{
- require_conf_file ($parallel_tests_option->{position}, FOREIGN,
- 'test-driver');
+ require_conf_file ("parallel-tests", FOREIGN, 'test-driver');
define_variable ("${pfx}LOG_DRIVER",
"\$(SHELL) $am_config_aux_dir/test-driver",
INTERNAL);
@@ -4903,8 +4806,7 @@ sub handle_tests
push (@check_tests, 'check-TESTS');
my $check_deps = "@check";
$output_rules .= &file_contents ('check', new Automake::Location,
- COLOR => !! option 'color-tests',
- PARALLEL_TESTS => !! option 'parallel-tests',
+ SERIAL_TESTS => !! option 'serial-tests',
CHECK_DEPS => $check_deps);
# Tests that are known programs should have $(EXEEXT) appended.
@@ -4913,7 +4815,7 @@ sub handle_tests
append_exeext { exists $known_programs{$_[0]} } 'XFAIL_TESTS'
if (var ('XFAIL_TESTS'));
- if (my $parallel_tests = option 'parallel-tests')
+ if (! option 'serial-tests')
{
define_variable ('TEST_SUITE_LOG', 'test-suite.log', INTERNAL);
my $suff = '.test';
@@ -4963,7 +4865,7 @@ sub handle_tests
if ($val =~ /(\$\((top_)?srcdir\))\//o)
{
msg ('error', $subvar->rdef ($cond)->location,
- "parallel-tests: using '$1' in TESTS is currently broken: '$val'");
+ "using '$1' in TESTS is currently broken: '$val'");
}
foreach my $test_suffix (@test_suffixes)
@@ -5036,8 +4938,6 @@ sub handle_emacs_lisp
require_variables ($elfiles[0][0], "Emacs Lisp sources seen", TRUE,
'EMACS', 'lispdir');
- require_conf_file ($elfiles[0][0], FOREIGN, 'elisp-comp');
- &define_variable ('elisp_comp', "$am_config_aux_dir/elisp-comp", INTERNAL);
}
# Handle Python
@@ -5228,15 +5128,15 @@ sub scan_autoconf_traces ($)
AC_REQUIRE_AUX_FILE => 1,
AC_SUBST_TRACE => 1,
AM_AUTOMAKE_VERSION => 1,
- AM_PROG_MKDIR_P => 0, # FIXME: to be removed in 1.13
+ AM_PROG_MKDIR_P => 0, # FIXME: to be removed in 1.14
AM_CONDITIONAL => 2,
+ _AM_EXTRA_RECURSIVE_TARGETS => 1,
AM_GNU_GETTEXT => 0,
AM_GNU_GETTEXT_INTL_SUBDIR => 0,
AM_INIT_AUTOMAKE => 0,
AM_MAINTAINER_MODE => 0,
AM_PROG_AR => 0,
AM_PROG_CC_C_O => 0,
- AM_SILENT_RULES => 0,
_AM_SUBST_NOTMAKE => 1,
_AM_COND_IF => 1,
_AM_COND_ELSE => 1,
@@ -5384,7 +5284,7 @@ sub scan_autoconf_traces ($)
$seen_automake_version = 1;
}
- elsif ($macro eq 'AM_PROG_MKDIR_P') # FIXME: to be removed in 1.13
+ elsif ($macro eq 'AM_PROG_MKDIR_P') # FIXME: to be removed in 1.14
{
msg 'obsolete', $where, <<'EOF';
The 'AM_PROG_MKDIR_P' macro is deprecated, and will soon be removed.
@@ -5396,6 +5296,10 @@ EOF
{
$configure_cond{$args[1]} = $where;
}
+ elsif ($macro eq '_AM_EXTRA_RECURSIVE_TARGETS')
+ {
+ push @extra_recursive_targets, split (' ', $args[1]);
+ }
elsif ($macro eq 'AM_GNU_GETTEXT')
{
$seen_gettext = $where;
@@ -5437,10 +5341,6 @@ EOF
{
$seen_cc_c_o = $where;
}
- elsif ($macro eq 'AM_SILENT_RULES')
- {
- set_global_option ('silent-rules', $where);
- }
elsif ($macro eq '_AM_COND_IF')
{
cond_stack_if ('', $args[1], $where);
@@ -5597,26 +5497,6 @@ sub scan_autoconf_files ()
################################################################
-# Set up for Cygnus mode.
-sub check_cygnus
-{
- my $cygnus = option 'cygnus';
- return unless $cygnus;
-
- # This feature is deprecated, will be removed in the next
- # Automake major release.
- msg 'obsolete', $cygnus->get,
- "support for Cygnus-style trees is deprecated";
-
- set_strictness ('foreign');
- set_option ('no-installinfo', $cygnus);
- set_option ('no-dependencies', $cygnus);
- set_option ('no-dist', $cygnus);
-
- err_ac "'AM_MAINTAINER_MODE' required when --cygnus specified"
- if !$seen_maint_mode;
-}
-
# Do any extra checking for GNU standards.
sub check_gnu_standards
{
@@ -6027,76 +5907,9 @@ sub resolve_linker
sub saw_extension
{
my ($ext) = @_;
- if (! defined $extension_seen{$ext})
- {
- $extension_seen{$ext} = 1;
- }
- else
- {
- ++$extension_seen{$ext};
- }
+ $extension_seen{$ext} = 1;
}
-# Return the number of files seen for a given language. Knows about
-# special cases we care about. FIXME: this is hideous. We need
-# something that involves real language objects. For instance yacc
-# and yaccxx could both derive from a common yacc class which would
-# know about the strange ylwrap requirement. (Or better yet we could
-# just not support legacy yacc!)
-sub count_files_for_language
-{
- my ($name) = @_;
-
- my @names;
- if ($name eq 'yacc' || $name eq 'yaccxx')
- {
- @names = ('yacc', 'yaccxx');
- }
- elsif ($name eq 'lex' || $name eq 'lexxx')
- {
- @names = ('lex', 'lexxx');
- }
- else
- {
- @names = ($name);
- }
-
- my $r = 0;
- foreach $name (@names)
- {
- my $lang = $languages{$name};
- foreach my $ext (@{$lang->extensions})
- {
- $r += $extension_seen{$ext}
- if defined $extension_seen{$ext};
- }
- }
-
- return $r
-}
-
-# Called to ask whether source files have been seen . If HEADERS is 1,
-# headers can be included.
-sub saw_sources_p
-{
- my ($headers) = @_;
-
- # count all the sources
- my $count = 0;
- foreach my $val (values %extension_seen)
- {
- $count += $val;
- }
-
- if (!$headers)
- {
- $count -= count_files_for_language ('header');
- }
-
- return $count > 0;
-}
-
-
# register_language (%ATTRIBUTE)
# ------------------------------
# Register a single language.
@@ -6862,8 +6675,6 @@ sub transform_token ($$$)
# - replaces %KEY% with $VAL,
# - enables/disables ?KEY? and ?!KEY?,
# - replaces %?KEY% with TRUE or FALSE.
-# - replaces %KEY?IFTRUE%, %KEY:IFFALSE%, and %KEY?IFTRUE:IFFALSE% with
-# IFTRUE / IFFALSE, as appropriate.
sub transform ($$)
{
my ($token, $transform) = @_;
@@ -6875,11 +6686,6 @@ sub transform ($$)
{
return transform_token ($token, $transform, $1);
}
- # %KEY?IFTRUE%, %KEY:IFFALSE%, and %KEY?IFTRUE:IFFALSE%.
- elsif ($token =~ /^%([\w\-]+)(?:\?([^?:%]+))?(?::([^?:%]+))?%$/)
- {
- return transform_token ($token, $transform, $1) ? ($2 || '') : ($3 || '');
- }
# %?KEY%.
elsif ($token =~ /^%\?([\w\-]+)%$/)
{
@@ -6910,8 +6716,7 @@ sub preprocess_file ($%)
# Complete %transform with global options.
# Note that %transform goes last, so it overrides global options.
- %transform = ('CYGNUS' => !! option 'cygnus',
- 'MAINTAINER-MODE'
+ %transform = ( 'MAINTAINER-MODE'
=> $seen_maint_mode ? subst ('MAINTAINER_MODE_TRUE') : '',
'XZ' => !! option 'dist-xz',
@@ -6924,7 +6729,6 @@ sub preprocess_file ($%)
'INSTALL-INFO' => ! option 'no-installinfo',
'INSTALL-MAN' => ! option 'no-installman',
- 'HAVE-MANS' => !! var ('MANS'),
'CK-NEWS' => !! option 'check-news',
'SUBDIRS' => !! var ('SUBDIRS'),
@@ -6957,7 +6761,6 @@ sub preprocess_file ($%)
# Substitute Automake template tokens.
s/(?: % \?? [\w\-]+ %
- | % [\w\-]+ (?:\?[^?:%]+)? (?::[^?:%]+)? %
| \? !? [\w\-]+ \?
)/transform($&, \%transform)/gex;
# transform() may have added some ##%-comments to strip.
@@ -8045,7 +7848,6 @@ sub generate_makefile ($$)
if var 'DIST_SUBDIRS' && ! var 'SUBDIRS';
# Check first, because we might modify some state.
- check_cygnus;
check_gnu_standards;
check_gnits_standards;
@@ -8080,6 +7882,7 @@ sub generate_makefile ($$)
handle_data;
handle_headers;
handle_subdirs;
+ handle_user_recursion;
handle_tags;
handle_minor_options;
# Must come after handle_programs so that %known_programs is up-to-date.
@@ -8230,7 +8033,6 @@ Dependency tracking:
--include-deps enable dependency tracking code
Flavors:
- --cygnus assume program is part of Cygnus-style tree
--foreign set strictness to foreign
--gnits set strictness to gnits
--gnu set strictness to gnu
@@ -8288,7 +8090,6 @@ EOF
sub parse_arguments ()
{
my $strict = 'gnu';
- my $cygnus = 0;
my $ignore_deps = 0;
my @warnings = ();
@@ -8301,7 +8102,6 @@ sub parse_arguments ()
'gnu' => sub { $strict = 'gnu'; },
'gnits' => sub { $strict = 'gnits'; },
'foreign' => sub { $strict = 'foreign'; },
- 'cygnus' => \$cygnus,
'include-deps' => sub { $ignore_deps = 0; },
'i|ignore-deps' => sub { $ignore_deps = 1; },
'no-force' => sub { $force_generation = 0; },
@@ -8317,7 +8117,6 @@ sub parse_arguments ()
set_strictness ($strict);
my $cli_where = new Automake::Location;
- set_global_option ('cygnus', $cli_where) if $cygnus;
set_global_option ('no-dependencies', $cli_where) if $ignore_deps;
for my $warning (@warnings)
{
diff --git a/configure.ac b/configure.ac
index 805064844..90985da11 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ([2.69])
-AC_INIT([GNU Automake], [1.12.4a], [bug-automake@gnu.org])
+AC_INIT([GNU Automake], [1.12a], [bug-automake@gnu.org])
AC_CONFIG_SRCDIR([automake.in])
AC_CONFIG_AUX_DIR([lib])
@@ -40,7 +40,7 @@ dnl We call AC_PROG_CC in an unusual way, and only for use in our
dnl testsuite, so also use 'no-dependencies' and 'no-define' among
dnl the automake options to avoid bloating and potential problems.
AM_INIT_AUTOMAKE([dist-xz filename-length-max=99 color-tests
- parallel-tests silent-rules no-define no-dependencies])
+ no-define no-dependencies])
## Keep this on a line of its own, since it must be found and processed
## by the 'update-copyright' rule in our Makefile.
@@ -65,8 +65,14 @@ AC_SUBST([system_acdir], ["\${datadir}/aclocal"])
# $AUTOMAKE and $ACLOCAL are always run after a "cd $top_srcdir",
# hence '.' is really what we want for perllibdir, libdir, and acdir.
-ACLOCAL="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/aclocal\" --acdir=m4 -I m4"
-AUTOMAKE="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/automake\" --libdir=lib"
+# Use '-I' with aclocal so that our own *.m4 files in m4/ gets included,
+# not copied, in aclocal.m4.
+ACLOCAL="\
+ perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/aclocal\" \
+ --automake-acdir=m4 --system-acdir=m4/acdir -I m4"
+AUTOMAKE="\
+ perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/automake\" \
+ --libdir=lib"
AC_PATH_PROG([PERL], [perl])
if test -z "$PERL"; then
@@ -135,7 +141,7 @@ AC_CHECK_PROGS([LEX], [lex flex], [false])
# following tests, but some users were unable to figure out that their
# installation was broken since --version appeared to work.
-required_autoconf_version=2.62
+required_autoconf_version=2.65
AC_CACHE_CHECK([whether autoconf is installed], [am_cv_autoconf_installed],
[if AM_RUN_LOG([$am_AUTOCONF --version]);
then
@@ -601,9 +607,7 @@ AC_SUBST([EXEEXT])
## ---------------------- ##
AC_CONFIG_FILES([Makefile])
-
AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])
-AC_CONFIG_LINKS([defs:defs])
AC_CONFIG_FILES([t/wrap/aclocal-${APIVERSION}:t/wrap/aclocal.in],
[chmod +x t/wrap/aclocal-${APIVERSION}],
diff --git a/contrib/check-html.am b/contrib/check-html.am
index 4495ac05c..36a5dbef0 100644
--- a/contrib/check-html.am
+++ b/contrib/check-html.am
@@ -29,18 +29,17 @@ mostlyclean-check-html:
rm -f $(TEST_SUITE_HTML)
.log.html:
- @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \
- for r2h in $$list; do \
- if ($$r2h --version) >/dev/null 2>&1; then \
- R2H=$$r2h; \
- fi; \
- done; \
- if test -z "$$R2H"; then \
- echo >&2 "cannot find rst2html, cannot create $@"; \
+ @list='$(RST2HTML) rst2html rst2html.py'; \
+ while :; do \
+ for r2h in $$list; do \
+ if ($$r2h --version) >/dev/null 2>&1; then break 2; \
+ else :; fi; \
+ done; \
+ echo "cannot find rst2html, cannot create $@" >&2; \
exit 2; \
- fi; \
- $$R2H $< >$@.tmp
- @mv $@.tmp $@
+ done; \
+ $$r2h $(AM_RST2HTMLFLAGS) $(RST2HTMLFLAGS) $< >$@-t \
+ && mv -f $@-t $@
# Be sure to run check first, and then to convert the result.
# Beware of concurrent executions. Run "check" not "check-TESTS", as
diff --git a/t/help-multilib.sh b/contrib/t/help-multilib.sh
index d4f64024a..7973d92cc 100755
--- a/t/help-multilib.sh
+++ b/contrib/t/help-multilib.sh
@@ -16,10 +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
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/silent-amopts.sh b/contrib/t/local.am
index c7414537b..3859c70c7 100755..100644
--- a/t/silent-amopts.sh
+++ b/contrib/t/local.am
@@ -1,28 +1,25 @@
-#!/bin/sh
-# Copyright (C) 2012 Free Software Foundation, Inc.
-#
+# Copyright (C) 1995-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 that automake complaints if the 'silent-rules' option is
-# used in AUTOMAKE_OPTIONS.
-
-. ./defs || exit 1
-
-echo AUTOMAKE_OPTIONS = silent-rules > Makefile.am
+# Automake: tests for stuff in 'contrib/'.
-$ACLOCAL
-AUTOMAKE_fails
-grep "^Makefile\.am:1:.*'silent-rules'.*AM_INIT_AUTOMAKE" stderr
+## Relative to the top-level directory.
+contrib_testsuite_dir = contrib/t
-:
+contrib_TESTS = \
+ $(contrib_testsuite_dir)/parallel-tests-html.sh \
+ $(contrib_testsuite_dir)/parallel-tests-html-recursive.sh \
+ $(contrib_testsuite_dir)/help-multilib.sh \
+ $(contrib_testsuite_dir)/multilib.sh
diff --git a/t/multlib.sh b/contrib/t/multilib.sh
index 778db14e4..bfcdb530b 100755
--- a/t/multlib.sh
+++ b/contrib/t/multilib.sh
@@ -16,11 +16,9 @@
# 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
+. test-init.sh
mldir=$am_top_srcdir/contrib/multilib
mkdir m4
diff --git a/contrib/t/parallel-tests-html-recursive.sh b/contrib/t/parallel-tests-html-recursive.sh
new file mode 100755
index 000000000..8d038ef91
--- /dev/null
+++ b/contrib/t/parallel-tests-html-recursive.sh
@@ -0,0 +1,163 @@
+#! /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/>.
+
+# Recursive use of 'check-html'. See Automake bug#11287.
+
+. test-init.sh
+
+# Try the variants that are tried in check-html.am.
+while :; do
+ for r2h in $RST2HTML rst2html rst2html.py; do
+ echo "$me: running $r2h --version"
+ $r2h --version && break 2
+ : For shells with busted 'set -e'.
+ done
+ skip_all_ "no proper rst2html program found"
+done
+unset r2h
+
+cp "$am_top_srcdir"/contrib/check-html.am . \
+ || fatal_ "cannot fetch 'check-html.am' from contrib"
+
+cat >> configure.ac << 'END'
+AM_EXTRA_RECURSIVE_TARGETS([check-html])
+AC_CONFIG_FILES([sub/Makefile sub/more/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+EXTRA_DIST = $(TESTS)
+TEST_SUITE_LOG = mylog.log
+TESTS = foo.test bar.sh mu
+XFAIL_TESTS = bar.sh
+check_SCRIPTS = bla
+bla:
+ echo '#!/bin/sh' > $@-t
+ echo 'echo Blah Blah Blah' >> $@-t
+ chmod a+x,a-w $@-t
+ mv -f $@-t $@
+CLEANFILES = bla
+include $(srcdir)/check-html.am
+END
+
+mkdir sub
+echo SUBDIRS = more > sub/Makefile.am
+
+mkdir sub/more
+cat > sub/more/Makefile.am << 'END'
+include $(top_srcdir)/check-html.am
+TEST_EXTENSIONS = .test .sh
+TESTS = sh.sh test.test
+LOG_COMPILER = true
+test.log: sh.log
+nodist_check_DATA = x.txt
+$(nodist_check_DATA):
+ echo $@ > $@
+CLEANFILES = $(nodist_check_DATA)
+EXTRA_DIST = $(TESTS)
+END
+
+cat > foo.test <<'END'
+#! /bin/sh
+./bla
+exit 77
+END
+
+cat > bar.sh <<'END'
+#! /bin/sh
+echo "this is $0"
+exit 1
+END
+
+cat > mu <<'END'
+#! /bin/sh
+set -x
+test -f sub/more/test.log
+test -f sub/more/sh.log
+END
+
+cat > sub/more/test.test << 'END'
+#!/bin/sh
+echo "this is $0"
+set -x
+test -f sh.log
+test -f x.txt
+exit 77
+END
+
+cat > sub/more/sh.sh << 'END'
+#!/bin/sh
+set -x
+test ! -f test.log
+test -f x.txt
+END
+
+
+cat > sub/more/mu << 'END'
+#!/bin/sh
+exit 99
+END
+
+chmod a+x foo.test bar.sh mu sub/more/test.test sub/more/sh.sh
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+$MAKE check-html
+grep 'Blah Blah Blah' mylog.html
+grep 'this is .*bar\.sh' mylog.html
+grep 'this is .*test\.test' sub/more/test-suite.html
+# check-html should cause check_SCRIPTS and check_DATA to be created.
+test -f bla
+test -f sub/more/x.txt
+
+# "make clean" should remove HTML files.
+$MAKE clean
+test ! -e mylog.html
+test ! -e sub/more/test-suite.html
+test ! -e bla
+test ! -e sub/more/x.txt
+
+# Create HTML output for individual tests.
+
+$MAKE bla
+$MAKE foo.html bar.sh.html
+grep 'Blah Blah Blah' foo.html
+grep 'this is .*bar\.sh' bar.sh.html
+test ! -e mu.hml
+
+ocwd=$(pwd) || fatal_ "getting current workind directory"
+( cd sub/more \
+ && $MAKE sh.html \
+ && test -f sh.html \
+ && test ! -e test.html \
+ && $MAKE test.html \
+ && grep 'this is .*test\.test' test.html) || exit 1
+
+# HTML output removed by mostlyclean.
+$MAKE check-html
+test -f mylog.html
+test -f sub/more/test-suite.html
+$MAKE mostlyclean
+find . -name '*.html' | grep . && exit 1
+
+$MAKE distcheck
+
+:
diff --git a/t/parallel-tests2.sh b/contrib/t/parallel-tests-html.sh
index ae9bd38b6..120cb784a 100755
--- a/t/parallel-tests2.sh
+++ b/contrib/t/parallel-tests-html.sh
@@ -17,10 +17,8 @@
# Check parallel-tests features:
# - check-html
# - recheck-html
-# FIXME: the features tested by this script has been moved in contrib.
-# FIXME: We should move this script accordingly.
-. ./defs || exit 1
+. test-init.sh
# Try the variants that are tried in check-html.am.
while :; do
diff --git a/defs b/defs
deleted file mode 100644
index 586181e63..000000000
--- a/defs
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright (C) 1996-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/>.
-#
-# This file is here for backward-compatibility with the existing
-# tests still unconverted to the use of 'test-init.sh'. It should
-# eventually be removed, once all the tests have been converted.
-
-. test-init.sh
diff --git a/doc/automake.texi b/doc/automake.texi
index 7289d8543..0118a2125 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -115,7 +115,6 @@ section entitled ``GNU Free Documentation License.''
* Conditionals:: Conditionals
* Silencing Make:: Obtain less verbose output from @command{make}
* Gnits:: The effect of @option{--gnu} and @option{--gnits}
-* Cygnus:: The effect of @option{--cygnus} (deprecated, soon to be removed)
* Not Enough:: When Automake is not Enough
* Distributing:: Distributing the Makefile.in
* API Versioning:: About compatibility between Automake versions
@@ -190,7 +189,6 @@ Auto-generating aclocal.m4
Autoconf macros supplied with Automake
* Public Macros:: Macros that you can use.
-* Obsolete Macros:: Macros that will soon be removed.
* Private Macros:: Macros that you should not use.
Directories
@@ -360,9 +358,9 @@ Conditionals
Silencing Make
-* Make verbosity:: Make is verbose by default
-* Tricks For Silencing Make:: Standard and generic ways to silence make
-* Automake silent-rules Option:: How Automake can help in silencing make
+* Make verbosity:: Make is verbose by default
+* Tricks For Silencing Make:: Standard and generic ways to silence make
+* Automake Silent Rules:: How Automake can help in silencing make
When Automake Isn't Enough
@@ -1954,14 +1952,6 @@ standard is actually published (which may never happen).
@xref{Gnits}, for more information on the precise implications of the
strictness level.
-Automake also has a special (and @emph{today deprecated}) ``cygnus'' mode
-that is similar to strictness but handled differently. This mode is
-useful for packages that are put into a ``Cygnus'' style tree (e.g., older
-versions of the GCC and gdb trees). @xref{Cygnus}, for more information
-on this mode. Please note that this mode @emph{is deprecated and will be
-removed in the next major Automake release (1.13)}; you must avoid its use
-in new packages, and should stop using it in existing packages as well.
-
@node Uniform
@section The Uniform Naming Scheme
@@ -2290,9 +2280,6 @@ generate not only the desired output but also dependency information
that is then used by the automatic dependency tracking feature
(@pxref{Dependencies}).
-@item elisp-comp
-This program is used to byte-compile Emacs Lisp code.
-
@item install-sh
This is a replacement for the @command{install} program that works on
platforms where @command{install} is unavailable or unusable.
@@ -2303,9 +2290,9 @@ a file and prints some date information about it.
@item missing
This wraps a number of programs that are typically only required by
-maintainers. If the program in question doesn't exist,
-@command{missing} prints an informative warning and attempts to fix
-things so that the build can continue.
+maintainers. If the program in question doesn't exist, or seems to old,
+@command{missing} will print an informative warning before failing out,
+to provide the user with more context and information.
@item mkinstalldirs
This script used to be a wrapper around @samp{mkdir -p}, which is not
@@ -2599,13 +2586,6 @@ scripts and data files (like e.g., @file{texinfo.texi} and
When used with @option{--add-missing}, causes installed files to be
copied. The default is to make a symbolic link.
-@item --cygnus
-@opindex --cygnus
-Causes the generated @file{Makefile.in}s to follow Cygnus rules, instead
-of GNU or Gnits rules. For more information, see @ref{Cygnus}.
-Note that @emph{this mode of operation is deprecated, and will be removed}
-in the next major Automake release (1.13).
-
@item -f
@opindex -f
@itemx --force-missing
@@ -2712,8 +2692,6 @@ variables.
The categories output by default are @samp{obsolete}, @samp{syntax} and
@samp{unsupported}. Additionally, @samp{gnu} and @samp{portability}
are enabled in @option{--gnu} and @option{--gnits} strictness.
-On the other hand, the @option{silent-rules} options (@pxref{Options})
-turns off portability warnings about recursive variable expansions.
@c Checked by extra-portability.sh
Turning off @samp{portability} will also turn off @samp{extra-portability},
@@ -2947,7 +2925,6 @@ Automake will look for various helper scripts, such as
@file{config.guess},
@file{config.sub},
@file{depcomp},
-@file{elisp-comp},
@file{compile},
@file{install-sh},
@file{ltmain.sh},
@@ -2981,9 +2958,9 @@ macro.
@item AC_CONFIG_HEADERS
Automake will generate rules to rebuild these headers from the
corresponding templates (usually, the template for a @file{foo.h}
-header being @file{foo.h.in}). Older versions of Automake required
-the use of @code{AM_CONFIG_HEADER} (@pxref{Macros}); this is no
-longer the case.
+header being @file{foo.h.in}). Older versions of Automake
+required the use of @code{AM_CONFIG_HEADER}; this is no longer
+the case, and that macro has indeed been removed.
As with @code{AC_CONFIG_FILES} (@pxref{Requirements}), parts of the
specification using shell variables will be ignored as far as
@@ -3625,32 +3602,19 @@ henceforth be visible to @command{autoconf}. However if it contains
numerous macros, it will rapidly become difficult to maintain, and it
will be almost impossible to share macros between packages.
-@vindex ACLOCAL_AMFLAGS
The second possibility, which we do recommend, is to write each macro
-in its own file and gather all of these files in a directory. This
-directory is usually called @file{m4/}. To build @file{aclocal.m4},
-one should therefore instruct @command{aclocal} to scan @file{m4/}.
-From the command line, this is done with @samp{aclocal -I m4}. The
-top-level @file{Makefile.am} should also be updated to define
-
-@example
-ACLOCAL_AMFLAGS = -I m4
-@end example
-
-@code{ACLOCAL_AMFLAGS} contains options to pass to @command{aclocal}
-when @file{aclocal.m4} is to be rebuilt by @command{make}. This line is
-also used by @command{autoreconf} (@pxref{autoreconf Invocation, ,
-Using @command{autoreconf} to Update @file{configure} Scripts,
-autoconf, The Autoconf Manual}) to run @command{aclocal} with suitable
-options, or by @command{autopoint} (@pxref{autopoint Invocation, ,
-Invoking the @command{autopoint} Program, gettext, GNU gettext tools})
-and @command{gettextize} (@pxref{gettextize Invocation, , Invoking the
-@command{gettextize} Program, gettext, GNU gettext tools}) to locate
-the place where Gettext's macros should be installed. So even if you
-do not really care about the rebuild rules, you should define
-@code{ACLOCAL_AMFLAGS}.
-
-When @samp{aclocal -I m4} is run, it will build an @file{aclocal.m4}
+in its own file and gather all these files in a directory. This
+directory is usually called @file{m4/}. Then it's enough to update
+@file{configure.ac} by adding a proper call to @code{AC_CONFIG_MACRO_DIR}:
+
+@example
+AC_CONFIG_MACRO_DIR([m4])
+@end example
+
+@command{aclocal} will then take care of automatically adding @file{m4/}
+to its search path for m4 files.
+
+When @samp{aclocal} is run, it will build an @file{aclocal.m4}
that @code{m4_include}s any file from @file{m4/} that defines a
required macro. Macros not found locally will still be searched in
system-wide directories, as explained in @ref{Macro Search Path}.
@@ -3679,19 +3643,14 @@ this requirement will hinder development. An easy solution is to copy
such third-party macros in your local @file{m4/} directory so they get
distributed.
-Since Automake 1.10, @command{aclocal} offers an option to copy these
-system-wide third-party macros in your local macro directory, solving
-the above problem. Simply use:
-
-@example
-ACLOCAL_AMFLAGS = -I m4 --install
-@end example
+Since Automake 1.10, @command{aclocal} offers the option @code{--install}
+to copy these system-wide third-party macros in your local macro directory,
+helping to solve the above problem.
-@noindent
With this setup, system-wide macros will be copied to @file{m4/}
-the first time you run @command{autoreconf}. Then the locally
-installed macros will have precedence over the system-wide installed
-macros each time @command{aclocal} is run again.
+the first time you run @command{aclocal}. Then the locally installed
+macros will have precedence over the system-wide installed macros
+each time @command{aclocal} is run again.
One reason why you should keep @option{--install} in the flags even
after the first run is that when you later edit @file{configure.ac}
@@ -3772,16 +3731,14 @@ MyPackage uses an @file{m4/} directory to store local macros as
explained in @ref{Local Macros}, and has
@example
-ACLOCAL_AMFLAGS = -I m4 --install
+AC_CONFIG_MACRO_DIR([m4])
@end example
@noindent
-in its top-level @file{Makefile.am}.
+in its @file{configure.ac}.
Initially the @file{m4/} directory is empty. The first time we run
-@command{autoreconf}, it will fetch the options to pass to
-@command{aclocal} in @file{Makefile.am}, and run @samp{aclocal -I m4
---install}. @command{aclocal} will notice that
+@command{aclocal --install}, it will notice that
@itemize @bullet
@item
@@ -3799,9 +3756,8 @@ and @command{aclocal} was given the @option{--install} option, it will
copy this file in @file{m4/thirdparty.m4}, and output an
@file{aclocal.m4} that contains @samp{m4_include([m4/thirdparty.m4])}.
-The next time @samp{aclocal -I m4 --install} is run (either via
-@command{autoreconf}, by hand, or from the @file{Makefile} rebuild
-rules) something different happens. @command{aclocal} notices that
+The next time @samp{aclocal --install} is run, something different
+happens. @command{aclocal} notices that
@itemize @bullet
@item
@@ -3827,8 +3783,8 @@ the system-wide file in case of equal serial numbers.
Now suppose the system-wide third-party macro is changed. This can
happen if the package installing this macro is updated. Let's suppose
-the new macro has serial number 2. The next time @samp{aclocal -I m4
---install} is run the situation is the following:
+the new macro has serial number 2. The next time @samp{aclocal --install}
+is run the situation is the following:
@itemize @bullet
@item
@@ -3854,16 +3810,16 @@ macro in @file{m4/thirdparty.m4}, in this case overriding the old
version. MyPackage just had its macro updated as a side effect of
running @command{aclocal}.
-If you are leery of letting @command{aclocal} update your local macro,
-you can run @samp{aclocal -I m4 --diff} to review the changes
-@samp{aclocal -I m4 --install} would perform on these macros.
+If you are leery of letting @command{aclocal} update your local
+macro, you can run @samp{aclocal --diff} to review the changes
+@samp{aclocal --install} would perform on these macros.
Finally, note that the @option{--force} option of @command{aclocal} has
absolutely no effect on the files installed by @option{--install}. For
instance, if you have modified your local macros, do not expect
@option{--install --force} to replace the local macros by their
system-wide versions. If you want to do so, simply erase the local
-macros you want to revert, and run @samp{aclocal -I m4 --install}.
+macros you want to revert, and run @samp{aclocal --install}.
@node Future of aclocal
@@ -3940,19 +3896,19 @@ Automake ships with several Autoconf macros that you can use from your
Runs many macros required for proper operation of the generated Makefiles.
@vindex AUTOMAKE_OPTIONS
-Today, @code{AM_INIT_AUTOMAKE} is called with a single argument: a
-space-separated list of Automake options that should
-be applied to every @file{Makefile.am} in the tree. The effect is as if
-each option were listed in @code{AUTOMAKE_OPTIONS} (@pxref{Options}).
+@code{AM_INIT_AUTOMAKE} is called with a single argument: a space-separated
+list of Automake options that should be applied to every @file{Makefile.am}
+in the tree. The effect is as if each option were listed in
+@code{AUTOMAKE_OPTIONS} (@pxref{Options}).
+
+@c FIXME: Remove this "modernization advice" in Automake 1.14 (and adjust
+@c FIXME: the error message in m4/init.m4:AM_INIT_AUTOMAKE accordingly).
@acindex AC_INIT
-This macro can also be called in @emph{another, deprecated form} (support
-for which will be @emph{removed in the next major Automake release (1.13)}):
+This macro could once (before Automake 1.13) also be called in the
+@emph{now obsolete and completely unsupported} form
@code{AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])}. In this form,
-there are two required arguments: the package and the version number.
-This form is obsolete because the @var{package} and @var{version} can
-be obtained from Autoconf's @code{AC_INIT} macro (which itself has an
-old and a new form).
+there were two required arguments: the package and the version number.
@anchor{Modernize AM_INIT_AUTOMAKE invocation}
If your @file{configure.ac} has:
@@ -3963,7 +3919,8 @@ AM_INIT_AUTOMAKE([mumble], [1.5])
@end example
@noindent
-you should modernize it as follows:
+you must modernize it as follows in order to make it work with Automake
+1.13 or later:
@example
AC_INIT([mumble], [1.5])
@@ -4075,7 +4032,8 @@ the @command{missing} script is appropriate.
@item AM_SILENT_RULES
@acindex AM_SILENT_RULES
-Enable the machinery for less verbose build output (@pxref{Options}).
+Control the machinery for less verbose build output
+(@pxref{Automake Silent Rules}).
@item AM_WITH_DMALLOC
@acindex AM_WITH_DMALLOC
@@ -4105,19 +4063,6 @@ Invocation, , Using @command{autoupdate} to Modernize
@table @code
-@item AM_CONFIG_HEADER
-@acindex AM_CONFIG_HEADER
-Automake will generate rules to automatically regenerate the config
-header. This obsolete macro is a synonym of @code{AC_CONFIG_HEADERS}
-today (@pxref{Optional}).
-
-@item AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
-@acindex AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
-If the use of @code{TIOCGWINSZ} requires @file{<sys/ioctl.h>}, then
-define @code{GWINSZ_IN_SYS_IOCTL}. Otherwise @code{TIOCGWINSZ} can be
-found in @file{<termios.h>}. This macro is obsolete, you should
-use Autoconf's @code{AC_HEADER_TIOCGWINSZ} instead.
-
@item AM_PROG_MKDIR_P
@acindex AM_PROG_MKDIR_P
@cindex @code{mkdir -p}, macro check
@@ -4138,15 +4083,6 @@ you are advised to switch ASAP to the more modern Autoconf-provided
interface instead; both the macro and the variable @emph{will be
removed} in the next major Automake release.
-@item AM_SYS_POSIX_TERMIOS
-@acindex AM_SYS_POSIX_TERMIOS
-@cindex POSIX termios headers
-@cindex termios POSIX headers
-Check to see if POSIX termios headers and functions are available on the
-system. If so, set the shell variable @code{am_cv_sys_posix_termios} to
-@samp{yes}. If not, set the variable to @samp{no}. This macro is obsolete,
-you should use Autoconf's @code{AC_SYS_POSIX_TERMIOS} instead.
-
@end table
@@ -4284,6 +4220,34 @@ will be built. It is customary to arrange test directories to be
built after everything else since they are meant to test what has
been constructed.
+In addition to the built-in recursive targets defined by Automake
+(@code{all}, @code{check}, etc.), the developer can also define his
+own recursive targets. That is done by passing the names of such
+targets as arguments to the m4 macro @code{AM_EXTRA_RECURSIVE_TARGETS}
+in @file{configure.ac}. Automake generates rules to handle the
+recursion for such targets; and the developer can define real actions
+for them by defining corresponding @code{-local} targets.
+
+@example
+% @kbd{cat configure.ac}
+AC_INIT([pkg-name], [1.0]
+AM_INIT_AUTOMAKE
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_CONFIG_FILES([Makefile sub/Makefile sub/src/Makefile])
+AC_OUTPUT
+% @kbd{cat Makefile.am}
+SUBDIRS = sub
+foo-local:
+ @@echo This will be run by "make foo".
+% @kbd{cat sub/Makefile.am}
+SUBDIRS = src
+% @kbd{cat sub/src/Makefile.am}
+foo-local:
+ @@echo This too will be run by a "make foo" issued either in
+ @@echo the 'sub/src/' directory, the 'sub/' directory, or the
+ @@echo top-level directory.
+@end example
+
@node Conditional Subdirectories
@section Conditional Subdirectories
@cindex Subdirectories, building conditionally
@@ -5507,9 +5471,8 @@ The libtool rules also use a @code{LIBTOOLFLAGS} variable that should
not be set in @file{Makefile.am}: this is a user variable (@pxref{Flag
Variables Ordering}. It allows users to run @samp{make
LIBTOOLFLAGS=--silent}, for instance. Note that the verbosity of
-@command{libtool} can also be influenced with the Automake
-@option{silent-rules} option (@pxref{Options}).
-
+@command{libtool} can also be influenced by the Automake support
+for silent rules (@pxref{Automake Silent Rules}).
@node LTLIBOBJS, Libtool Issues, Libtool Flags, A Shared Library
@subsection @code{LTLIBOBJS} and @code{LTALLOCA}
@@ -6138,9 +6101,9 @@ Automake already provides some @option{-I} options automatically, in a
separate variable that is also passed to every compilation that invokes
the C preprocessor. In particular it generates @samp{-I.},
@samp{-I$(srcdir)}, and a @option{-I} pointing to the directory holding
-@file{config.h} (if you've used @code{AC_CONFIG_HEADERS} or
-@code{AM_CONFIG_HEADER}). You can disable the default @option{-I}
-options using the @option{nostdinc} option.
+@file{config.h} (if you've used @code{AC_CONFIG_HEADERS}). You can
+disable the default @option{-I} options using the @option{nostdinc}
+option.
When a file to be included is generated during the build and not part
of a distribution tarball, its location is under @code{$(builddir)},
@@ -7551,7 +7514,10 @@ Lisp sources are not distributed by default. You can prefix the
distributed.
Automake will byte-compile all Emacs Lisp source files using the Emacs
-found by @code{AM_PATH_LISPDIR}, if any was found.
+found by @code{AM_PATH_LISPDIR}, if any was found. When performing such
+byte-compilation, the flags specified in the (developer-reserved)
+@code{AM_ELCFLAGS} and (user-reserved) @code{ELCFLAGS} make variables
+will be passed to the Emacs invocation.
Byte-compiled Emacs Lisp files are not portable among all versions of
Emacs, so it makes sense to turn this off if you expect sites to have
@@ -8849,21 +8815,20 @@ also data files to be passed to one or more test scripts defined by
different means (the so-called ``log compilers'', @pxref{Parallel Test
Harness}).
-Test scripts can be executed serially or concurrently. Automake
-supports both these kinds of test execution, with the serial test harness
-being the default (for backward-compatibility reasons only, as its use
-is nowadays discouraged). The concurrent test harness relies on the
-concurrence capabilities (if any) offered by the underlying @command{make}
+Test scripts can be executed serially or concurrently. Automake supports
+both these kinds of test execution, with the parallel test harness being
+the default. The concurrent test harness relies on the concurrence
+capabilities (if any) offered by the underlying @command{make}
implementation, and can thus only be as good as those are.
By default, only the exit statuses of the test scripts are considered when
determining the testsuite outcome. But Automake allows also the use of
more complex test protocols, either standard (@pxref{Using the TAP test
-protocol}) or custom (@pxref{Custom Test Drivers}). Note that you can
-enable such protocols only when the parallel harness is used: they won't
-work with the serial test harness. In the rest of this section we are
-going to concentrate mostly on protocol-less tests, since we cover
-test protocols in a later section (again, @pxref{Custom Test Drivers}).
+protocol}) or custom (@pxref{Custom Test Drivers}). Note that you can't
+enable such protocols when the serial harness is used, though.
+In the rest of this section we are going to concentrate mostly on
+protocol-less tests, since we cover test protocols in a later section
+(again, @pxref{Custom Test Drivers}).
@cindex Exit status 77, special interpretation
@cindex Exit status 99, special interpretation
@@ -8922,18 +8887,18 @@ run.
@anchor{Simple tests and color-tests}
@vindex AM_COLOR_TESTS
@cindex Colorized testsuite output
-If the Automake option @code{color-tests} is used (@pxref{Options})
-and standard output is connected to a capable terminal, then the test
-results and the summary are colored appropriately. The user can disable
-colored output by setting the @command{make} variable
-@samp{AM_COLOR_TESTS=no}, or force colored output even without a connecting
-terminal with @samp{AM_COLOR_TESTS=always}. It's also worth noting that
-some @command{make} implementations, when used in parallel mode, have
-slightly different semantics (@pxref{Parallel make,,, autoconf,
-The Autoconf Manual}), which can break the automatic detection of a
-connection to a capable terminal. If this is the case, you'll have to
-resort to the use of @samp{AM_COLOR_TESTS=always} in order to have the
-testsuite output colorized.
+If the standard output is connected to a capable terminal, then the test
+results and the summary are colored appropriately. The developer and the
+user can disable colored output by setting the @command{make} variable
+@samp{AM_COLOR_TESTS=no}; the user can in addition force colored output
+even without a connecting terminal with @samp{AM_COLOR_TESTS=always}.
+It's also worth noting that some @command{make} implementations,
+when used in parallel mode, have slightly different semantics
+(@pxref{Parallel make,,, autoconf, The Autoconf Manual}), which can
+break the automatic detection of a connection to a capable terminal.
+If this is the case, the user will have to resort to the use of
+@samp{AM_COLOR_TESTS=always} in order to have the testsuite output
+colorized.
Test programs that need data files should look for them in @code{srcdir}
(which is both a make variable and an environment variable made available
@@ -9009,14 +8974,12 @@ by the tests, not the tests themselves. Of course you can set
@code{TESTS = $(check_PROGRAMS)} if all your programs are test cases.
@node Serial Test Harness
-@subsection Serial Test Harness
+@subsection Older (and obsolescent) serial test harness
@cindex @option{serial-tests}, Using
-@emph{NOTE:} This harness, while still being the default one, is
-obsolescent, and kept mostly for backward-compatibility reasons. The user
-is advised to use the parallel test harness instead (@pxref{Parallel Test
-Harness}). Be warned that future Automake versions might switch to use
-that more modern and feature-rich harness by default.
+@emph{This harness is obsolescent}, and kept for backward-compatibility
+reasons only. The user is strongly advised to just use the parallel test
+harness instead (@pxref{Parallel Test Harness}).
The serial test harness is enabled by the Automake option
@option{serial-tests}. It operates by simply running the tests serially,
@@ -9051,14 +9014,12 @@ versions.
@node Parallel Test Harness
@subsection Parallel Test Harness
-@cindex @option{parallel-tests}, Using
-The parallel (or concurrent) test harness is enabled by the Automake option
-@option{parallel-tests}. It features automatic collection of the test
-scripts output in @file{.log} files, concurrent execution of tests with
-@code{make -j}, specification of inter-test dependencies, lazy reruns of
-tests that have not completed in a prior run, and hard errors for exceptional
-failures.
+By default, Automake generated a parallel (concurrent) test harness. It
+features automatic collection of the test scripts output in @file{.log}
+files, concurrent execution of tests with @code{make -j}, specification
+of inter-test dependencies, lazy reruns of tests that have not completed
+in a prior run, and hard errors for exceptional failures.
This harness is still somewhat experimental and may undergo changes in
order to satisfy additional portability requirements.
@@ -9362,9 +9323,9 @@ definition of generic and extension-specific @code{LOG_COMPILER} and
@end itemize
@noindent
-On the other hand, the exact semantics of how (and if)
-@option{color-tests}, @code{XFAIL_TESTS}, and hard errors are supported
-and handled is left to the individual test drivers.
+On the other hand, the exact semantics of how (and if) testsuite output
+colorization, @code{XFAIL_TESTS}, and hard errors are supported and
+handled is left to the individual test drivers.
@c TODO: We should really add a working example in the doc/ directory,
@c TODO: and reference if from here.
@@ -9426,11 +9387,10 @@ with the parallel test harness and its default driver.
@subsubsection Command-line arguments for test drivers
A custom driver can rely on various command-line options and arguments
-being passed to it automatically by the Automake's @option{parallel-tests}
-harness. It is @emph{mandatory} that it understands all of them (even
-if the exact interpretation of the associated semantics can legitimately
-change between a test driver and another, and even be a no-op in some
-drivers).
+being passed to it automatically by the Automake-generated test harness.
+It is @emph{mandatory} that it understands all of them (even if the exact
+interpretation of the associated semantics can legitimately change
+between a test driver and another, and even be a no-op in some drivers).
@noindent
Here is the list of options:
@@ -9474,9 +9434,9 @@ for this program.
Note that the exact semantics attached to the @option{--color-tests},
@option{--expect-failure} and @option{--enable-hard-errors} options are
left up to the individual test drivers. Still, having a behaviour
-compatible or at least similar to that provided by the default
-@option{parallel-tests} driver is advised, as that would offer a better
-consistency and a more pleasant user experience.
+compatible or at least similar to that provided by the default driver
+is advised, as that would offer a better consistency and a more pleasant
+user experience.
@node Log files generation and test results recording
@subsubsection Log files generation and test results recording
@@ -9518,8 +9478,8 @@ The only recognized test results are currently @code{PASS}, @code{XFAIL},
@code{SKIP}, @code{FAIL}, @code{XPASS} and @code{ERROR}. These results,
when declared with @code{:test-result:}, can be optionally followed by
text holding the name and/or a brief description of the corresponding
-test; the @option{parallel-tests} harness will ignore such extra text when
-generating @file{test-suite.log} and preparing the testsuite summary.
+test; the harness will ignore such extra text when generating
+@file{test-suite.log} and preparing the testsuite summary.
@c Keep in sync with 'test-metadata-recheck.sh'.
@item @code{:recheck:}
@@ -9627,7 +9587,7 @@ on standard output; a test harness (also called ``TAP consumer'') will
parse and interpret these results, and properly present them to the user,
and/or register them for later analysis. The exact details of how this
is accomplished can vary among different test harnesses. The Automake
-parallel harness will present the results on the console in the usual
+harness will present the results on the console in the usual
fashion (@pxref{Testsuite progress on console}), and will use the
@file{.trs} files (@pxref{Basics of test metadata}) to store the test
results and related metadata. Apart from that, it will try to remain
@@ -9711,7 +9671,7 @@ Here is an example of how the TAP driver can be set up and used.
% @kbd{cat configure.ac}
AC_INIT([GNU Try Tap], [1.0], [bug-automake@@gnu.org])
AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([foreign parallel-tests -Wall -Werror])
+AM_INIT_AUTOMAKE([foreign -Wall -Werror])
AC_CONFIG_FILES([Makefile])
AC_REQUIRE_AUX_FILE([tap-driver.sh])
AC_PROG_AWK
@@ -9792,7 +9752,7 @@ mainstream versions, which you should be aware of.
A @code{Bail out!} directive doesn't stop the whole testsuite, but only
the test script it occurs in. This doesn't follow TAP specifications,
but on the other hand it maximizes compatibility (and code sharing) with
-the ``hard error'' concept of the default @option{parallel-tests} driver.
+the ``hard error'' concept of the default testsuite driver.
@item
The @code{version} and @code{pragma} directives are not supported.
@item
@@ -9916,15 +9876,6 @@ Automake generates rules to automatically rebuild @file{Makefile}s,
If you are using @code{AM_MAINTAINER_MODE} in @file{configure.ac}, then
these automatic rebuilding rules are only enabled in maintainer mode.
-@vindex ACLOCAL_AMFLAGS
-Sometimes you need to run @command{aclocal} with an argument like
-@option{-I} to tell it where to find @file{.m4} files. Since
-sometimes @command{make} will automatically run @command{aclocal}, you
-need a way to specify these arguments. You can do this by defining
-@code{ACLOCAL_AMFLAGS}; this holds arguments that are passed verbatim
-to @command{aclocal}. This variable is only useful in the top-level
-@file{Makefile.am}.
-
@vindex CONFIG_STATUS_DEPENDENCIES
@vindex CONFIGURE_DEPENDENCIES
@cindex @file{version.sh}, example
@@ -9967,27 +9918,8 @@ be read as a side effect of running @command{configure}, like @file{version.sh}
in the example above.
Speaking of @file{version.sh} scripts, we recommend against them
-today. They are mainly used when the version of a package is updated
-automatically by a script (e.g., in daily builds). Here is what some
-old-style @file{configure.ac}s may look like:
-
-@example
-AC_INIT
-. $srcdir/version.sh
-AM_INIT_AUTOMAKE([name], $VERSION_NUMBER)
-@dots{}
-@end example
-
-@noindent
-Here, @file{version.sh} is a shell fragment that sets
-@code{VERSION_NUMBER}. The problem with this example is that
-@command{automake} cannot track dependencies (listing @file{version.sh}
-in @command{CONFIG_STATUS_DEPENDENCIES}, and distributing this file is up
-to the user), and that it uses the obsolete form of @code{AC_INIT} and
-@code{AM_INIT_AUTOMAKE}. Upgrading to the new syntax is not
-straightforward, because shell variables are not allowed in
-@code{AC_INIT}'s arguments. We recommend that @file{version.sh} be
-replaced by an M4 file that is included by @file{configure.ac}:
+today. We recommend that @file{version.sh} be replaced by an M4 file
+that is included by @file{configure.ac}:
@example
m4_include([version.m4])
@@ -10001,9 +9933,7 @@ Here @file{version.m4} could contain something like
@samp{m4_define([VERSION_NUMBER], [1.2])}. The advantage of this
second form is that @command{automake} will take care of the
dependencies when defining the rebuild rule, and will also distribute
-the file automatically. An inconvenience is that @command{autoconf}
-will now be rerun each time the version number is bumped, when only
-@file{configure} had to be rerun in the previous setup.
+the file automatically.
@node Options
@@ -10071,15 +10001,12 @@ then @samp{portability} warnings will be @emph{disabled} in
@item @option{gnits}
@itemx @option{gnu}
@itemx @option{foreign}
-@itemx @option{cygnus}
@cindex Option, @option{gnits}
@cindex Option, @option{gnu}
@cindex Option, @option{foreign}
-@cindex Option, @option{cygnus}
@opindex gnits
@opindex gnu
@opindex foreign
-@opindex cygnus
Set the strictness as appropriate. The @option{gnits} option also
implies options @option{readme-alpha} and @option{check-news}.
@@ -10090,13 +10017,6 @@ implies options @option{readme-alpha} and @option{check-news}.
Cause @samp{make dist} to fail unless the current version number appears
in the first few lines of the @file{NEWS} file.
-@item @option{color-tests}
-@cindex Option, @option{color-tests}
-@opindex color-tests
-Cause output of the serial and parallel test harnesses (see @ref{Simple
-Tests}) and of properly-written custom test drivers (@pxref{Custom Test
-Drivers}) to be colorized on capable terminals.
-
@item @option{dejagnu}
@cindex Option, @option{dejagnu}
@opindex dejagnu
@@ -10214,18 +10134,19 @@ are ordinarily automatically provided by Automake.
Don't require @file{texinfo.tex}, even if there are texinfo files in
this directory.
-@item @option{parallel-tests}
-@cindex Option, @option{parallel-tests}
-@opindex parallel-tests
-Enable test suite harness for @code{TESTS} that can run tests in parallel
-(@pxref{Parallel Test Harness}, for more information).
-
@item @option{serial-tests}
@cindex Option, @option{serial-tests}
@opindex serial-tests
Enable the older serial test suite harness for @code{TESTS} (@pxref{Serial
-Test Harness}, for more information). This is still the default for the
-moment.
+Test Harness}, for more information).
+
+@item @option{parallel-tests}
+@cindex Option, @option{parallel-tests}
+@opindex parallel-tests
+Enable test suite harness for @code{TESTS} that can run tests in parallel
+(@pxref{Parallel Test Harness}, for more information). This option is
+only kept for backward-compatibility, since the parallel test harness is
+the default now.
@item @option{readme-alpha}
@cindex Option, @option{readme-alpha}
@@ -10239,23 +10160,6 @@ non-alpha releases. The second form is
@samp{@var{major}.@var{minor}@var{alpha}}, where @var{alpha} is a
letter; it should be omitted for non-alpha releases.
-@item @option{silent-rules}
-@cindex Option, @option{silent-rules}
-@opindex silent-rules
-Enable less verbose build rules. This can be used to let build rules
-output status lines of the form:
-@example
-GEN @var{output-file}
- CC @var{object-file}
-@end example
-@noindent
-instead of printing the command that will be executed to update
-@var{output-file} or to compile @var{object-file}. It can also
-silence @command{libtool} output.
-
-For more information about how to use, enable, or disable silent
-rules, @pxref{Automake silent-rules Option}.
-
@item @option{std-options}
@cindex Options, @option{std-options}
@cindex @samp{make installcheck}, testing @option{--help} and @option{--version}
@@ -10737,9 +10641,9 @@ Libtool Sources}).
@cindex Silent @command{make} rules
@menu
-* Make verbosity:: Make is verbose by default
-* Tricks For Silencing Make:: Standard and generic ways to silence make
-* Automake silent-rules Option:: How Automake can help in silencing make
+* Make verbosity:: Make is verbose by default
+* Tricks For Silencing Make:: Standard and generic ways to silence make
+* Automake Silent Rules:: How Automake can help in silencing make
@end menu
@node Make verbosity
@@ -10774,8 +10678,8 @@ the easy detection of potentially important warning messages.
Here we describe some common idioms/tricks to obtain a quieter make
output, with their relative advantages and drawbacks. In the next
-section (@ref{Automake silent-rules Option}) we'll see how Automake
-can help in this respect.
+section (@ref{Automake Silent Rules}) we'll see how Automake can help
+in this respect, providing more elaborate and flexible idioms.
@itemize @bullet
@@ -10827,20 +10731,19 @@ automatically activated if the @option{-s} flag is used.
@end itemize
-@node Automake silent-rules Option
+@node Automake Silent Rules
@section How Automake can help in silencing make
The tricks and idioms for silencing @command{make} described in the
previous section can be useful from time to time, but we've seen that
they all have their serious drawbacks and limitations. That's why
automake provides support for a more advanced and flexible way of
-obtaining quieter output from @command{make}: the @option{silent-rules}
-mode.
+obtaining quieter output from @command{make} (for most rules at least).
@c TODO: Maybe describe in brief the precedent set by the build system
@c of the Linux Kernel, from which Automake took inspiration ... Links?
-To give the gist of what @option{silent-rules} can do, here is a simple
+To give the gist of what Automake can do in this respect, here is a simple
comparison between a typical @command{make} output (where silent rules
are disabled) and one with silent rules enabled:
@@ -10889,7 +10792,7 @@ func.c:4:3: warning: ‘i’ used uninitialized in this function
CCLD foo
@end example
-@cindex silent-rules and libtool
+@cindex silent rules and libtool
Also, in projects using @command{libtool}, the use of silent rules can
automatically enable the @command{libtool}'s @option{--silent} option:
@@ -10915,26 +10818,9 @@ libtool: link: cd .libs && rm -f libx.so && ln -s libx.so.0.0.0 libx.so
CCLD libx.la
@end example
-Let's now see how the @option{silent-rules} mode interfaces with the
-package developer and the package user.
-
-To enable the use of @option{silent-rules} in his package, a developer
-needs to do either of the following:
-
-@itemize @bullet
-@item
-Add the @option{silent-rules} option as argument to @code{AM_INIT_AUTOMAKE}.
-@item
-Call the @code{AM_SILENT_RULES} macro from within the @file{configure.ac}
-file.
-@end itemize
-
-It is not possible to instead specify @option{silent-rules} in a
-@file{Makefile.am} file.
-
-If the developer has done either of the above, then the user of the
-package may influence the verbosity at @command{configure} run time as
-well as at @command{make} run time:
+For Automake-generated @file{Makefile}s, the user may influence the
+verbosity at @command{configure} run time as well as at @command{make}
+run time:
@itemize @bullet
@item
@@ -10950,17 +10836,16 @@ time may be overridden: @code{make V=1} will produce verbose output,
@code{make V=0} less verbose output.
@end itemize
-@cindex default verbosity for silent-rules
+@cindex default verbosity for silent rules
Note that silent rules are @emph{disabled} by default; the user must
enable them explicitly at either @command{configure} run time or at
@command{make} run time. We think that this is a good policy, since
it provides the casual user with enough information to prepare a good
bug report in case anything breaks.
-Still, notwithstanding the rationales above, a developer who wants to
-make silent rules enabled by default in his own package can do so by
-adding a @samp{yes} argument to the @code{AM_SILENT_RULES} call in
-@file{configure.ac}. We advise against this approach, though.
+Still, notwithstanding the rationales above, a developer who really
+wants to make silent rules enabled by default in his own package can
+do so by calling @code{AM_SILENT_RULES([yes])} in @file{configure.ac}.
@c Keep in sync with silent-configsite.sh
Users who prefer to have silent rules enabled by default can edit their
@@ -10973,16 +10858,13 @@ For portability to different @command{make} implementations, package authors
are advised to not set the variable @code{V} inside the @file{Makefile.am}
file, to allow the user to override the value for subdirectories as well.
-The current implementation of this feature normally uses nested
-variable expansion @samp{$(@var{var1}$(V))}, a @file{Makefile} feature
-that is not required by POSIX 2008 but is widely supported in
-practice. The @option{silent-rules} option thus turns off warnings
-about recursive variable expansion, which are in turn enabled by
-@option{-Wportability} (@pxref{automake Invocation}). On the rare
-@command{make} implementations that do not support nested variable
-expansion, whether rules are silent is always determined at configure
-time, and cannot be overridden at make time. Future versions of POSIX
-are likely to require nested variable expansion, so this minor
+To work at its best, the current implementation of this feature normally
+uses nested variable expansion @samp{$(@var{var1}$(V))}, a @file{Makefile}
+feature that is not required by POSIX 2008 but is widely supported in
+practice. On the rare @command{make} implementations that do not support
+nested variable expansion, whether rules are silent is always determined at
+configure time, and cannot be overridden at make time. Future versions of
+POSIX are likely to require nested variable expansion, so this minor
limitation should go away with time.
@vindex @code{AM_V_GEN}
@@ -11107,64 +10989,6 @@ The file @file{THANKS} is required.
@end itemize
-@node Cygnus
-@chapter The effect of @option{--cygnus}
-
-@cindex @option{cygnus} strictness
-
-@emph{The features described in this section are deprecated; you must
-not use any of them in new code, and should remove their use from older
-but still maintained code: they will be withdrawn the next major Automake
-release (1.13).}
-
-Some packages, notably GNU GCC and GNU gdb, used to have a build
-environment originally written at Cygnus Support (subsequently renamed
-Cygnus Solutions, and then later purchased by Red Hat). Packages with
-this ancestry are sometimes referred to as ``Cygnus'' trees.
-
-A Cygnus tree has slightly different rules for how a
-@file{Makefile.in} is to be constructed. Passing @option{--cygnus} to
-@command{automake} will cause any generated @file{Makefile.in} to
-comply with Cygnus rules.
-
-Here are the precise effects of @option{--cygnus}:
-
-@itemize @bullet
-
-@item
-The @option{foreign} strictness is implied.
-
-@item
-The options @option{no-installinfo}, @option{no-dependencies} and
-@option{no-dist} are implied (@pxref{Options}).
-
-@item
-The macro @code{AM_MAINTAINER_MODE} is required.
-
-@item
-Info files are always created in the build directory, and not in the
-source directory. Packages that don't use the @option{cygnus} option
-can emulate this effect by using the @option{no-installinfo} option
-and listing the generated info files in the @code{CLEANFILES} variable.
-
-@item
-@file{texinfo.tex} is not required if a Texinfo source file is
-specified. The assumption is that the file will be supplied, but in a
-place that Automake cannot find -- it is an artifact of how Cygnus
-packages are typically bundled. This effect can be emulated in
-packages not using the @option{cygnus} option with a proper definition
-of the @code{TEXINFO_TEX} variable (@pxref{Texinfo}).
-
-@item
-Certain tools will be searched for in the build tree as well as in the
-user's @env{PATH}. These tools are @command{runtest}, @command{expect},
-@command{makeinfo} and @command{texi2dvi}.
-
-@item
-The @code{check} target doesn't depend on @code{all}.
-@end itemize
-
-
@node Not Enough
@chapter When Automake Isn't Enough
@@ -11719,12 +11543,12 @@ lists.
Packages made with Autoconf and Automake ship with some generated
files like @file{configure} or @file{Makefile.in}. These files were
-generated on the developer's host and are distributed so that
+generated on the developer's machine and are distributed so that
end-users do not have to install the maintainer tools required to
rebuild them. Other generated files like Lex scanners, Yacc parsers,
or Info documentation, are usually distributed on similar grounds.
-Automake outputs rules in @file{Makefile}s to rebuild these files. For
+Automake output rules in @file{Makefile}s to rebuild these files. For
instance, @command{make} will run @command{autoconf} to rebuild
@file{configure} whenever @file{configure.ac} is changed. This makes
development safer by ensuring a @file{configure} is never out-of-date
@@ -11787,10 +11611,41 @@ If users use @command{cvs update} to update their copy, instead of
inaccurate. Some rebuild rules will be triggered and attempt to
run developer tools such as @command{autoconf} or @command{automake}.
-Actually, calls to such tools are all wrapped into a call to the
-@command{missing} script discussed later (@pxref{maintainer-mode}).
-@command{missing} will take care of fixing the timestamps when these
-tools are not installed, so that the build can continue.
+Calls to such tools are all wrapped into a call to the @command{missing}
+script discussed later (@pxref{maintainer-mode}), so that the user will
+see more descriptive warnings about missing or out-of-date tools, and
+possible suggestions about how to obtain them, rather than just some
+``command not found'' error, or (worse) some obscure message from some
+older version of the required tool they happen to have installed.
+
+Maintainers interested in keeping their package buildable from a CVS
+checkout even for those users that lack maintainer-specific tools might
+want to provide an helper script (or to enhance their existing bootstrap
+script) to fix the timestamps after a
+@command{cvs update} or a @command{git checkout}, to prevent spurious
+rebuilds. In case of a project committing the Autotools-generated
+files, as well as the generated @file{.info} files, such script might
+look something like this:
+
+@smallexample
+#!/bin/sh
+# fix-timestamp.sh: prevents useless rebuilds after "cvs update"
+sleep 1
+# aclocal-generated aclocal.m4 depends on locally-installed
+# '.m4' macro files, as well as on 'configure.ac'
+touch aclocal.m4
+sleep 1
+# autoconf-generated configure depends on aclocal.m4 and on
+# configure.ac
+configure config.h.in
+# so does autoheader-generated config.h.in
+configure config.h.in
+# and all the automake-generated Makefile.in files
+touch `find . -name Makefile.in -print`
+# finally, the makeinfo-generated '.info' files depend on the
+# corresponding '.texi' files
+touch doc/*.info
+@end smallexample
@item
In distributed development, developers are likely to have different
@@ -11887,20 +11742,20 @@ tools shouldn't be required during a user build and they are not
checked for in @file{configure}.
However, if for some reason a rebuild rule is triggered and involves a
-missing tool, @command{missing} will notice it and warn the user.
-Besides the warning, when a tool is missing, @command{missing} will
-attempt to fix timestamps in a way that allows the build to continue.
-For instance, @command{missing} will touch @file{configure} if
-@command{autoconf} is not installed. When all distributed files are
-kept under version control, this feature of @command{missing} allows a
-user @emph{with no maintainer tools} to build a package off its version
-control repository, bypassing any timestamp inconsistency (implied by
-e.g.@: @samp{cvs update} or @samp{git clone}).
+missing tool, @command{missing} will notice it and warn the user, even
+suggesting how to obtain such a tool (at least in case it is a well-known
+one, like @command{makeinfo} or @command{bison}). This is more helpful
+and user-friendly than just having the rebuild rules spewing out a terse
+error message like @samp{sh: @var{tool}: command not found}. Similarly,
+@command{missing} will warn the user if it detects that a maintainer
+tool it attempted to use seems too old (be warned that diagnosing this
+correctly is typically more difficult that detecting missing tools, and
+requires cooperation from the tool itself, so it won't always work).
If the required tool is installed, @command{missing} will run it and
won't attempt to continue after failures. This is correct during
development: developers love fixing failures. However, users with
-wrong versions of maintainer tools may get an error when the rebuild
+missing or too old maintainer tools may get an error when the rebuild
rule is spuriously triggered, halting the build. This failure to let
the build continue is one of the arguments of the
@code{AM_MAINTAINER_MODE} advocates.
@@ -12465,13 +12320,6 @@ obeys this naming scheme. The slight difference is that
@code{MAKEFLAGS} is passed to sub-@command{make}s implicitly by
@command{make} itself.
-However you should not think that all variables ending with
-@code{FLAGS} follow this convention. For instance,
-@code{DISTCHECK_CONFIGURE_FLAGS} (@pxref{Checking the Distribution}) and
-@code{ACLOCAL_AMFLAGS} (see @ref{Rebuilding} and @ref{Local Macros}),
-are two variables that are only useful to the maintainer and have no
-user counterpart.
-
@code{ARFLAGS} (@pxref{A Library}) is usually defined by Automake and
has neither @code{AM_} nor per-target cousin.
@@ -13070,8 +12918,8 @@ generated by @command{automake} effectively:
@itemize
@item
-If less verbose output has been enabled in the package with the
-@samp{silent-rules} option (@pxref{Options}), you can use
+If less verbose output has been enabled in the package with the use
+of silent rules (@pxref{Automake Silent Rules}), you can use
@code{make V=1} to see the commands being executed.
@item
@code{make -n} can help show what would be done without actually doing
@@ -13188,7 +13036,7 @@ suite failures, please attach the @file{test-suite.log} file.
@c LocalWords: texinfo setfilename settitle setchapternewpage texi direntry
@c LocalWords: dircategory in's aclocal ifinfo titlepage Tromey vskip pt sp
@c LocalWords: filll defcodeindex ov cv op tr syncodeindex fn cp vr ifnottex
-@c LocalWords: dir Automake's ac Dist Gnits gnits cygnus dfn Autoconf's pxref
+@c LocalWords: dir Automake's ac Dist Gnits gnits dfn Autoconf's pxref
@c LocalWords: cindex Autoconf autoconf perl samp cvs dist trindex SUBST foo
@c LocalWords: xs emph FIXME ref vindex pkglibdir pkgincludedir pkgdatadir mt
@c LocalWords: pkg libdir cpio bindir sbindir rmt pax sbin zar zardir acindex
diff --git a/gen-testsuite-part b/gen-testsuite-part
index 96f43ccae..59fbf05a5 100755
--- a/gen-testsuite-part
+++ b/gen-testsuite-part
@@ -380,7 +380,7 @@ foreach my $lt (TRUE, FALSE)
# Automatically generated test. DO NOT EDIT BY HAND!
@vars_init
required="@required"
- . ./defs || exit 1
+ . test-init.sh
plan_ $planned
. depcomp.sh
exit \$?
diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm
index 2f977bd54..186d4ca8c 100644
--- a/lib/Automake/Options.pm
+++ b/lib/Automake/Options.pm
@@ -269,7 +269,6 @@ sub _is_valid_easy_option ($)
return scalar grep { $opt eq $_ } qw(
check-news
color-tests
- cygnus
dejagnu
dist-bzip2
dist-lzip
@@ -287,6 +286,9 @@ sub _is_valid_easy_option ($)
no-texinfo.tex
nostdinc
readme-alpha
+ serial-tests
+ parallel-tests
+ silent-rules
std-options
subdir-objects
);
@@ -319,29 +321,20 @@ sub _process_option_list (\%@)
error ($where,
"automatic de-ANSI-fication support has been removed");
}
+ elsif ($_ eq 'cygnus')
+ {
+ error $where, "support for Cygnus-style trees has been removed";
+ }
elsif ($_ eq 'dist-lzma')
{
error ($where, "support for lzma-compressed distribution " .
"archives has been removed");
}
- elsif ($_ eq 'parallel-tests')
- {
- # Just recognize it explicitly.
- }
- elsif ($_ eq 'serial-tests')
- {
- # This is a little of an hack, but good enough for the moment.
- delete $options->{'parallel-tests'};
- }
elsif (/^filename-length-max=(\d+)$/)
{
delete $options->{$_};
$options->{'filename-length-max'} = [$_, $1];
}
- elsif ($_ eq 'silent-rules')
- {
- _option_must_be_from_configure ($_, $where);
- }
elsif ($_ eq 'tar-v7' || $_ eq 'tar-ustar' || $_ eq 'tar-pax')
{
_option_must_be_from_configure ($_, $where);
diff --git a/lib/am/check.am b/lib/am/check.am
index f319e36f8..f085f8e9e 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -17,7 +17,7 @@
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
-if %?COLOR%
+
am__tty_colors = { \
$(am__tty_colors_dummy); \
if test "X$(AM_COLOR_TESTS)" = Xno; then \
@@ -40,13 +40,10 @@ am__tty_colors = { \
std=''; \
fi; \
}
-else !%?COLOR%
-am__tty_colors = $(am__tty_colors_dummy)
-endif !%?COLOR%
.PHONY: check-TESTS
-if %?PARALLEL_TESTS%
+if !%?SERIAL_TESTS%
include inst-vars.am
@@ -463,7 +460,9 @@ AM_RECURSIVE_TARGETS += check recheck
.PHONY: recheck
-else !%?PARALLEL_TESTS%
+else %?SERIAL_TESTS%
+
+## Obsolescent serial testsuite driver.
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
@@ -569,4 +568,4 @@ check-TESTS: $(TESTS)
test "$$failed" -eq 0; \
else :; fi
-endif !%?PARALLEL_TESTS%
+endif %?SERIAL_TESTS%
diff --git a/lib/am/configure.am b/lib/am/configure.am
index 20534c7be..95332fae9 100644
--- a/lib/am/configure.am
+++ b/lib/am/configure.am
@@ -113,13 +113,13 @@ $(top_srcdir)/configure: %MAINTAINER-MODE% $(am__configure_deps)
## aclocal.m4. ##
## ------------ ##
-## aclocal.m4 must be built by the top-level Makefile, because this is
-## where the user is expected to define $(ACLOCAL_AMFLAGS).
-##
## Whenever a configure dependency changes we need to rebuild
## aclocal.m4 too. Changing configure.ac, or any file included by
## aclocal.m4 might require adding more files to aclocal.m4. Hence
## the $(am__configure_deps) dependency.
+## We still need $(ACLOCAL_AMFLAGS) for sake of backward-compatibility;
+## we should hopefully be able to get rid of it in a not-so-distant
+## future.
if %?REGEN-ACLOCAL-M4%
$(ACLOCAL_M4): %MAINTAINER-MODE% $(am__aclocal_m4_deps)
?TOPDIR_P? $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
diff --git a/lib/am/data.am b/lib/am/data.am
index b8b658800..b91f55ca1 100644
--- a/lib/am/data.am
+++ b/lib/am/data.am
@@ -24,7 +24,8 @@ endif %?INSTALL%
if %?INSTALL%
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%%PRIMARY%
+?EXEC?.PHONY install-exec-am: install-%DIR%%PRIMARY%
+?!EXEC?.PHONY install-data-am: install-%DIR%%PRIMARY%
install-%DIR%%PRIMARY%: $(%DIR%_%PRIMARY%)
@$(NORMAL_INSTALL)
if %?BASE%
diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.am
index f1ee47199..50c1f511b 100644
--- a/lib/am/dejagnu.am
+++ b/lib/am/dejagnu.am
@@ -20,24 +20,8 @@ DEJATOOL = $(PACKAGE)
## Default flags to pass to dejagnu. The user can override this.
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-## In Cygnus mode, these are found in the build tree.
-## Otherwise they are looked for in $PATH.
-if %?CYGNUS%
-EXPECT = `if test -f $(top_builddir)/../expect/expect; then \
- echo $(top_builddir)/../expect/expect; \
- else \
- echo expect; \
- fi`
-
-RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then \
- echo $(top_srcdir)/../dejagnu/runtest; \
- else \
- echo runtest; \
- fi`
-else ! %?CYGNUS%
EXPECT = expect
RUNTEST = runtest
-endif ! %?CYGNUS%
.PHONY: check-DEJAGNU
@@ -45,21 +29,14 @@ check-DEJAGNU: site.exp
## Life is easiest with an absolute srcdir, so do that.
srcdir='$(srcdir)'; export srcdir; \
EXPECT=$(EXPECT); export EXPECT; \
-## Allow this to work when expect and DejaGnu are in tree.
-## Only required when --cygnus in force.
-?CYGNUS? if [ -f $(top_builddir)/../expect/expect ]; then \
-?CYGNUS? TCL_LIBRARY=`$(am__cd) $(top_srcdir)/../tcl/library && pwd`; \
-?CYGNUS? export TCL_LIBRARY; \
-?CYGNUS? fi; \
- runtest=$(RUNTEST); \
## If runtest can't be found, print a warning but don't die. It is
## pointless to cause a failure if the tests cannot be run at all.
- if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ if $(SHELL) -c "$(RUNTEST) --version" > /dev/null 2>&1; then \
exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \
- if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ if $(RUNTEST) $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
then :; else exit_status=1; fi; \
done; \
- else echo "WARNING: could not find 'runtest'" 1>&2; :;\
+ else echo "WARNING: could not find '$(RUNTEST)'" 1>&2; :;\
fi; \
exit $$exit_status
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index 07f05023c..1f2eef0d2 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -14,7 +14,6 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-## DIST_COMMON comes first so that README can be the very first file.
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
if %?TOPDIR_P%
@@ -91,32 +90,6 @@ if %?CK-NEWS%
endif %?CK-NEWS%
endif %?TOPDIR_P%
##
-## 'missing help2man' may have created some bogus man pages. Ensure they
-## are not distributed.
-##
-if %?INSTALL-MAN%
-if %?HAVE-MANS%
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-## Note that we check existing man pages here only. If there are man pages
-## which are not distributed, and may be generated only conditionally, then
-## we should not error out because of them. This could be refined to take
-## into account only dist_*_MANS, but then we'd be missing out on those
-## the user distributes with EXTRA_DIST.
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically 'make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
-endif %?HAVE-MANS%
-endif %?INSTALL-MAN%
-##
## Only for the top dir.
##
if %?TOPDIR_P%
diff --git a/lib/am/libs.am b/lib/am/libs.am
index d1f63ae84..f94a7124e 100644
--- a/lib/am/libs.am
+++ b/lib/am/libs.am
@@ -24,7 +24,8 @@ endif %?INSTALL%
if %?INSTALL%
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%LIBRARIES
+?EXEC?.PHONY install-exec-am: install-%DIR%LIBRARIES
+?!EXEC?.PHONY install-data-am: install-%DIR%LIBRARIES
install-%DIR%LIBRARIES: $(%DIR%_LIBRARIES)
@$(NORMAL_INSTALL)
if %?BASE%
@@ -69,7 +70,8 @@ endif !%?BASE%
@list='$(%DIR%_LIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \
for p in $$list; do \
if test -f $$p; then \
- %BASE?$(am__strip_dir):f=$$p;% \
+?BASE? $(am__strip_dir) \
+?!BASE? f=$$p; \
## Must ranlib after installing because mod time changes.
## cd to target directory because AIX ranlib messes up with whitespace
## in the argument.
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index 050d7dc47..fc3575b85 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -22,60 +22,28 @@ endif %?INSTALL%
## Building. ##
## ---------- ##
-elc-stamp: $(LISP)
- @echo 'WARNING: Warnings can be ignored. :-)'
- @rm -f elc-temp && touch elc-temp
- if test "$(EMACS)" != no; then \
-## Make sure "$@" isn't empty initially.
- set x; \
-## Populate "$@" with elisp files (found in the current directory
-## or in $srcdir).
- list='$(LISP)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- set x "$$@" "$$d$$p"; shift; \
- done; \
-## Finally call elisp-comp for all files.
- shift; \
- abs_srcdir="$(abs_srcdir)" EMACS="$(EMACS)" $(SHELL) \
- $(elisp_comp) "$$@" || exit 1; \
- else : ; fi
- @mv -f elc-temp $@
-
-## Do not use $(ELCFILES) as target, because it may have been emptied
-## by the user (to disable byte-compilation), and POSIX does not allow
-## an empty target.
-$(am__ELCFILES): elc-stamp
-## Recover from the removal of $@.
-##
-## Do not call "make elc-stamp" if emacs is not available, because it would
-## be useless.
-##
-## If "make -n" is called, do not execute any command in the recipe that
-## changes the tree; however, invoke the recursive make for debuggability.
- @if $(am__make_dryrun); then dry=:; else dry=; fi; \
- if test "$(EMACS)" != no && test ! -f $@; then \
-## If "make -j" is used and more than one file has been erased, several
-## processes can execute this block. We have to make sure that only
-## the first one will run "$(MAKE) $(AM_MAKEFLAGS) elc-stamp", and the
-## other ones will wait.
-##
-## There is a race here if only one child of make receive a signal.
-## In that case the build may fail. We remove elc-stamp when we receive
-## a signal so we are sure the build will succeed the next time.
- $$dry trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
- if $$dry mkdir elc-lock 2>/dev/null; then \
-## This code is being executed by the first process.
- $$dry rm -f elc-stamp; \
- $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
- $$dry rmdir elc-lock; \
- else \
-## This code is being executed by the follower processes.
-## Wait until the first process is done.
- while test -d elc-lock && test -z "$$dry"; do sleep 1; done; \
-## Succeed if and only if the first process succeeded.
- $$dry test -f elc-stamp; exit $$?; \
- fi; \
- else : ; fi
+.el.elc:
+## We add $(builddir) and $(srcdir) to load-path, so that any '.el' files
+## that $< depends upon can be found (including generated ones).
+## We prefer files from the build directory to those from the source
+## directory, in true VPATH spirit.
+## The destination file is normally determined by appending "c" to the
+## input (which would erronously put it in $(srcdir) in VPATH builds),
+## so we override that, too.
+ if test "$(EMACS)" != "no"; then \
+ am__subdir_includes=''; \
+ case $@ in */*) \
+ am__dir=`echo '$@' | sed 's,/[^/]*$$,,'`; \
+ am__subdir_includes="-L $$am__dir -L $(srcdir)/$$am__dir"; \
+ esac; \
+## Emacs byte-compilation won't create this automatically, sadly.
+ test -d $$am__dir || $(MKDIR_P) $$am__dir || exit 1; \
+ $(EMACS) --batch \
+ $(AM_ELCFLAGS) $(ELCFLAGS) \
+ $$am__subdir_includes -L $(builddir) -L $(srcdir) \
+ --eval "(defun byte-compile-dest-file (f) \"$@\")" \
+ --eval "(unless (byte-compile-file \"$<\") (kill-emacs 1))"; \
+ else :; fi
## ------------ ##
@@ -84,8 +52,13 @@ $(am__ELCFILES): elc-stamp
if %?INSTALL%
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-%DIR%LISP_INSTALL = %BASE?$(INSTALL_DATA):$(install_sh_DATA)%
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%LISP
+
+?BASE?%DIR%LISP_INSTALL = $(INSTALL_DATA)
+?!BASE?%DIR%LISP_INSTALL = $(install_sh_DATA)
+
+?EXEC?.PHONY install-exec-am: install-%DIR%LISP
+?!EXEC?.PHONY install-data-am: install-%DIR%LISP
+
install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES)
@$(NORMAL_INSTALL)
## Do not install anything if EMACS was not found.
@@ -101,7 +74,8 @@ install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES)
for p in $$list; do \
## A lisp file can be in the source directory or the build directory.
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- %BASE?$(am__strip_dir):$(am__vpath_adj)% \
+?BASE? $(am__strip_dir) \
+?!BASE? $(am__vpath_adj) \
echo " $(%DIR%LISP_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
$(%DIR%LISP_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
## Only install .elc file if it exists.
@@ -138,7 +112,7 @@ endif %?INSTALL%
.PHONY clean-am: clean-lisp
clean-lisp:
- -rm -f elc-stamp $(ELCFILES)
+ -rm -f $(ELCFILES)
## -------------- ##
diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am
index 1ca26b58f..af3a25659 100644
--- a/lib/am/ltlib.am
+++ b/lib/am/ltlib.am
@@ -23,8 +23,12 @@ endif %?INSTALL%
## ------------ ##
if %?INSTALL%
+
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%LTLIBRARIES
+
+?EXEC?.PHONY install-exec-am: install-%DIR%LTLIBRARIES
+?!EXEC?.PHONY install-data-am: install-%DIR%LTLIBRARIES
+
install-%DIR%LTLIBRARIES: $(%DIR%_LTLIBRARIES)
@$(NORMAL_INSTALL)
if %?BASE%
@@ -89,7 +93,8 @@ uninstall-%DIR%LTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(%DIR%_LTLIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \
for p in $$list; do \
- %BASE?$(am__strip_dir):f=$$p;% \
+?BASE? $(am__strip_dir) \
+?!BASE? f=$$p; \
?LIBTOOL? echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
?LIBTOOL? $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \
?!LIBTOOL? echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
diff --git a/lib/am/progs.am b/lib/am/progs.am
index 2be8bcab4..104270c8b 100644
--- a/lib/am/progs.am
+++ b/lib/am/progs.am
@@ -20,7 +20,8 @@
if %?INSTALL%
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%PROGRAMS
+?EXEC?.PHONY install-exec-am: install-%DIR%PROGRAMS
+?!EXEC?.PHONY install-data-am: install-%DIR%PROGRAMS
install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS)
@$(NORMAL_INSTALL)
## Funny invocation because Makefile variable can be empty, leading to
@@ -34,13 +35,16 @@ install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS)
## On Cygwin with libtool test won't see 'foo.exe' but instead 'foo'.
## So we check for both.
sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p%LIBTOOL? || test -f $$p1%; \
- then echo "$$p"; echo "$$p"; else :; fi; \
+ while read p p1; do if test -f $$p \
+?LIBTOOL? || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
## We now have a list of sourcefile pairs, separated by newline.
## Turn that into "sourcefile source_base target_dir xformed_target_base",
## with newlines being turned into spaces in a second step.
- sed -e 'p;s,.*/,,;n;h' -e '%BASE?s|.*|.|:s|[^/]*$$||; s|^$$|.|%' \
+ sed -e 'p;s,.*/,,;n;h' \
+?BASE? -e 's|.*|.|' \
+?!BASE? -e 's|[^/]*$$||; s|^$$|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
## The following awk script turns that into one line containing directories
@@ -86,7 +90,9 @@ uninstall-%DIR%PROGRAMS:
## but keep the directory part in the hold buffer, in order to
## reapply it again afterwards in the nobase case. Append $(EXEEXT).
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/'%BASE? : -e 'x;s,[^/]*$$,,;G;s,\n,,'%`; \
+ -e 's/$$/$(EXEEXT)/' \
+?!BASE? -e 'x;s,[^/]*$$,,;G;s,\n,,' \
+ `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files
diff --git a/lib/am/python.am b/lib/am/python.am
index cab61294a..f9b7790c8 100644
--- a/lib/am/python.am
+++ b/lib/am/python.am
@@ -26,7 +26,8 @@ endif %?INSTALL%
if %?INSTALL%
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%PYTHON
+?EXEC?.PHONY install-exec-am: install-%DIR%PYTHON
+?!EXEC?.PHONY install-data-am: install-%DIR%PYTHON
install-%DIR%PYTHON: $(%DIR%_PYTHON)
@$(NORMAL_INSTALL)
if %?BASE%
diff --git a/lib/am/scripts.am b/lib/am/scripts.am
index 64e093e64..88c1c9217 100644
--- a/lib/am/scripts.am
+++ b/lib/am/scripts.am
@@ -25,7 +25,8 @@ endif %?INSTALL%
if %?INSTALL%
## if doesn't work properly for Automake variables yet.
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
-.PHONY install-%EXEC?exec:data%-am: install-%DIR%SCRIPTS
+?EXEC?.PHONY install-exec-am: install-%DIR%SCRIPTS
+?!EXEC?.PHONY install-data-am: install-%DIR%SCRIPTS
install-%DIR%SCRIPTS: $(%DIR%_SCRIPTS)
@$(NORMAL_INSTALL)
## Funny invocation because Makefile variable can be empty, leading to
diff --git a/lib/am/subdirs.am b/lib/am/subdirs.am
index 3fc28884b..005483a9a 100644
--- a/lib/am/subdirs.am
+++ b/lib/am/subdirs.am
@@ -17,13 +17,17 @@
RECURSIVE_TARGETS += all-recursive check-recursive installcheck-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+
## All documented targets which invoke 'make' recursively, or depend
-## on targets that do so.
-AM_RECURSIVE_TARGETS += $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=)
+## on targets that do so. GNUmakefile from gnulib depends on this.
+AM_RECURSIVE_TARGETS += $(am__recursive_targets:-recursive=)
-.PHONY: $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS)
-.MAKE: $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS)
+.PHONY .MAKE: $(am__recursive_targets)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
@@ -32,7 +36,7 @@ AM_RECURSIVE_TARGETS += $(RECURSIVE_TARGETS:-recursive=) \
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
+$(am__recursive_targets):
## Using $failcom allows "-k" to keep its natural meaning when running a
## recursive rule.
@fail= failcom='exit 1'; \
@@ -66,7 +70,6 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-
mostlyclean: mostlyclean-recursive
clean: clean-recursive
distclean: distclean-recursive
diff --git a/lib/am/tags.am b/lib/am/tags.am
index fccacca49..730ccc511 100644
--- a/lib/am/tags.am
+++ b/lib/am/tags.am
@@ -14,20 +14,31 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+## Handle VPATH correctly.
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+
## ---- ##
## ID. ##
## ---- ##
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-## Make sure the list of sources is unique.
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
-## Handle VPATH correctly.
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
## ------ ##
@@ -35,14 +46,17 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
## ------ ##
ETAGS = etags
-.PHONY: tags
+.PHONY: TAGS tags
if %?SUBDIRS%
-AM_RECURSIVE_TARGETS += tags TAGS
-endif %?SUBDIRS%
-tags: TAGS
-
-TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+AM_RECURSIVE_TARGETS += TAGS
+RECURSIVE_TARGETS += tags-recursive
+tags: tags-recursive
+else !%?SUBDIRS%
+tags: tags-am
+endif !%?SUBDIRS%
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
## We use the positional parameters to build the subdir list with
## absolute names, without the need to worry about white space in `pwd`.
set x; \
@@ -67,14 +81,7 @@ TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
?SUBDIRS? set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
?SUBDIRS? fi; \
?SUBDIRS? done; \
-## Make sure the list of sources is unique.
- list='$(SOURCES) $(HEADERS) %CONFIG% $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
-## Handle VPATH correctly.
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
## Remove the 'x' we added first:
shift; \
## Make sure we have something to run etags on.
@@ -97,23 +104,16 @@ TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
CTAGS = ctags
.PHONY: CTAGS ctags
if %?SUBDIRS%
-AM_RECURSIVE_TARGETS += ctags CTAGS
-endif %?SUBDIRS%
-ctags: CTAGS
-
-## We have a dummy name here because 'tags' has already been in use
-## for a long time to mean Emacs-style tags. Oops. This means the
-## dependencies here are useless.
-CTAGS: %CTAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
-## Make sure the list of sources is unique.
- list='$(SOURCES) $(HEADERS) %CONFIG% $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
-## Handle VPATH correctly.
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+AM_RECURSIVE_TARGETS += CTAGS
+RECURSIVE_TARGETS += ctags-recursive
+ctags: ctags-recursive
+else !%?SUBDIRS%
+ctags: ctags-am
+endif !%?SUBDIRS%
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
## Make sure we have something to run ctags on.
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
@@ -136,25 +136,26 @@ GTAGS:
## ------- ##
if %?TOPDIR_P%
-
CSCOPE = cscope
.PHONY: cscope clean-cscope
AM_RECURSIVE_TARGETS += cscope
-
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
clean-cscope:
-rm -f cscope.files
-
-cscope.files: clean-cscope %CSCOPEDIRS% cscopelist
-
+cscope.files: clean-cscope cscopelist
endif %?TOPDIR_P%
-.PHONY: cscopelist
-cscopelist: %CSCOPEDIRS% $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
+if %?SUBDIRS%
+RECURSIVE_TARGETS += cscopelist-recursive
+cscopelist: cscopelist-recursive
+else !%?SUBDIRS%
+cscopelist: cscopelist-am
+endif !%?SUBDIRS%
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
index f77748a3e..0fe09b1f9 100644
--- a/lib/am/texibuild.am
+++ b/lib/am/texibuild.am
@@ -65,14 +65,18 @@ INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
## Must set MAKEINFO like this so that version.texi will be found even
## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS%' \
-## Do not use '-o' unless necessary: it is only supported since Texinfo 4.1.
## texi2dvi doesn't silence everything with -q, redirect to /dev/null instead.
## We still want -q (%TEXIQUIET%) because it turns on batch mode.
-## Use '--clean' to avoid leaving auxiliary files behind cluttering the build
-## directory (see automake bug#11146). We should start using '--tidy' when we
-## can assume Texinf 4.9 or later.
-?GENERIC? $(TEXI2DVI) %TEXIQUIET% --clean %SOURCE% %TEXIDEVNULL%
-?!GENERIC? $(TEXI2DVI) %TEXIQUIET% --clean -o $@ `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% %TEXIDEVNULL%
+## Use '--build-dir' so that TeX and Texinfo auxiliary files and build
+## by-products are left in there, instead of cluttering the current
+## directory (see automake bug#11146). Use a different build-dir for
+## each file (and distinct from that of the corresponding PDF file) to
+## avoid hitting a Texinfop bug that could cause low-probability racy
+## failure when doing parallel builds; see:
+## http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html
+ $(TEXI2DVI) %TEXIQUIET% --build-dir=$(@:.dvi=.t2d) -o $@ %TEXIDEVNULL% \
+?GENERIC? %SOURCE%
+?!GENERIC? `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
?GENERIC?%SOURCE_SUFFIX%.pdf:
?!GENERIC?%DEST_PREFIX%.pdf: %SOURCE% %DEPS% %DIRSTAMP%
@@ -80,14 +84,18 @@ INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
## Must set MAKEINFO like this so that version.texi will be found even
## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS%' \
-## Do not use '-o' unless necessary: it is only supported since Texinfo 4.1.
## texi2pdf doesn't silence everything with -q, redirect to /dev/null instead.
## We still want -q (%TEXIQUIET%) because it turns on batch mode.
-## Use '--clean' to avoid leaving auxiliary files behind cluttering the build
-## directory (see automake bug#11146). We should start using '--tidy' when we
-## can assume Texinf 4.9 or later.
-?GENERIC? $(TEXI2PDF) %TEXIQUIET% --clean %SOURCE% %TEXIDEVNULL%
-?!GENERIC? $(TEXI2PDF) %TEXIQUIET% --clean -o $@ `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% %TEXIDEVNULL%
+## Use '--build-dir' so that TeX and Texinfo auxiliary files and build
+## by-products are left in there, instead of cluttering the current
+## directory (see automake bug#11146). Use a different build-dir for
+## each file (and distinct from that of the corresponding DVI file) to
+## avoid hitting a Texinfop bug that could cause low-probability racy
+## failure when doing parallel builds; see:
+## http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html
+ $(TEXI2PDF) %TEXIQUIET% --build-dir=$(@:.pdf=.t2p) -o $@ %TEXIDEVNULL% \
+?GENERIC? %SOURCE%
+?!GENERIC? `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
?GENERIC?%SOURCE_SUFFIX%.html:
?!GENERIC?%DEST_PREFIX%.html: %SOURCE% %DEPS% %DIRSTAMP%
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 42787c778..6d45c950a 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -20,26 +20,7 @@
## ----------- ##
if %?LOCAL-TEXIS%
-if ! %?CYGNUS%
TEXI2DVI = texi2dvi
-
-else %?CYGNUS%
-
-## Find these programs wherever they may lie. Yes, this has
-## intimate knowledge of the structure of the texinfo distribution.
-MAKEINFO = `if test -f $(top_builddir)/../texinfo/makeinfo/makeinfo; then \
- echo $(top_builddir)/../texinfo/makeinfo/makeinfo; \
- else \
- echo makeinfo; \
- fi`
-
-TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \
- echo $(top_srcdir)/../texinfo/util/texi2dvi; \
- else \
- echo texi2dvi; \
- fi`
-endif %?CYGNUS%
-
TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
@@ -405,13 +386,14 @@ if %?LOCAL-TEXIS%
.PHONY: mostlyclean-aminfo
mostlyclean-aminfo:
## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
-## contain any directory created by "makeinfo --html".
+## contain any directory created by "makeinfo --html", as well as the
+## '*.t2d' and '*.t2p' directories used by texi2dvi and texi2pdf.
-rm -rf %MOSTLYCLEAN%
.PHONY clean-am: clean-aminfo
clean-aminfo:
-## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
-## contain any directory created by "makeinfo --html".
+## Use '-rf', not just '-f'; see comments in 'mostlyclean-aminfo'
+## above for details.
?TEXICLEAN? -test -z "%TEXICLEAN%" \
?TEXICLEAN? || rm -rf %TEXICLEAN%
@@ -423,11 +405,9 @@ maintainer-clean-aminfo:
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
-## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
-## contain any directory created by "makeinfo --html".
+## Use '-rf', not just '-f'; see comments in 'mostlyclean-aminfo'
+## above for details.
?MAINTCLEAN? -test -z "%MAINTCLEAN%" \
?MAINTCLEAN? || rm -rf %MAINTCLEAN%
-?CYGNUS?.PHONY: clean-info
-?CYGNUS?clean-info: mostlyclean-aminfo clean-aminfo
endif %?LOCAL-TEXIS%
diff --git a/lib/elisp-comp b/lib/elisp-comp
deleted file mode 100755
index 5e888bd94..000000000
--- a/lib/elisp-comp
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-# Copyright (C) 1995-2012 Free Software Foundation, Inc.
-
-scriptversion=2012-07-05.17; # UTC
-
-# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1995.
-#
-# 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/>.
-
-# 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.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
- '')
- echo "$0: No files. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: elisp-comp [--help] [--version] FILES...
-
-This script byte-compiles all '.el' files listed as FILES using GNU
-Emacs, and put the resulting '.elc' files into the current directory,
-so disregarding the original directories used in '.el' arguments.
-
-This script manages in such a way that all Emacs LISP files to
-be compiled are made visible between themselves, in the event
-they require or load-library one another.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "elisp-comp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$EMACS" || test "$EMACS" = "t"; then
- # Value of "t" means we are running in a shell under Emacs.
- # Just assume Emacs is called "emacs".
- EMACS=emacs
-fi
-
-tempdir=elc.$$
-
-# Cleanup the temporary directory on exit.
-trap 'ret=$?; rm -rf "$tempdir" && exit $ret' 0
-do_exit='(exit $ret); exit $ret'
-trap "ret=129; $do_exit" 1
-trap "ret=130; $do_exit" 2
-trap "ret=141; $do_exit" 13
-trap "ret=143; $do_exit" 15
-
-mkdir $tempdir
-cp "$@" $tempdir
-
-(
- cd $tempdir
- echo "(setq load-path (cons nil (cons \"$abs_srcdir\" load-path)))" > script
- $EMACS -batch -q -l script -f batch-byte-compile *.el || exit $?
- mv *.elc ..
-) || exit $?
-
-(exit 0); exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/lib/missing b/lib/missing
index 9a5564823..ed429b4dd 100755
--- a/lib/missing
+++ b/lib/missing
@@ -1,10 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.18; # UTC
+scriptversion=2012-06-26.16; # UTC
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# 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
@@ -29,61 +29,33 @@ if test $# -eq 0; then
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, 'missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file 'aclocal.m4'
- autoconf touch file 'configure'
- autoheader touch file 'config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all 'Makefile.in' files
- bison create 'y.tab.[ch]', if possible, from existing .[ch]
- flex create 'lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create 'lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create 'y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
@@ -98,228 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
;;
-*)
- echo 1>&2 "$0: Unknown '$1' option"
+ echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running '$TOOL --version' or '$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'acinclude.m4' or '${configure_ac}'. You might want
- to install the Automake and Perl packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified '${configure_ac}'. You might want to install the
- Autoconf and GNU m4 packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'acconfig.h' or '${configure_ac}'. You might want
- to install the Autoconf and GNU m4 packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
- You might want to install the Automake and Perl packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: '$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get '$1' as part of Autoconf from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: '$1' $msg. You should only need it if
- you modified a '.y' file. You may need the Bison package
- in order for those modifications to take effect. You can get
- Bison from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a '.l' file. You may need the Flex package
- in order for those modifications to take effect. You can get
- Flex from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- Help2man package in order for those modifications to take
- effect. You can get Help2man from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a '.texi' or '.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy 'make' (AIX,
- DU, IRIX). You might want to install the Texinfo package or
- the GNU make package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
- *)
- echo 1>&2 "\
-WARNING: '$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the 'README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing '$1' program."
- exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'automa4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
;;
-esac
-
-exit 0
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/lib/test-driver b/lib/test-driver
index aba4d1d26..53e19b814 100755
--- a/lib/test-driver
+++ b/lib/test-driver
@@ -1,5 +1,5 @@
#! /bin/sh
-# test-driver - basic driver script for the 'parallel-tests' mode.
+# test-driver - basic testsuite driver script.
scriptversion=2012-06-27.10; # UTC
diff --git a/m4/amversion.m4 b/m4/amversion.m4
index 3b1b0562e..368cd6438 100644
--- a/m4/amversion.m4
+++ b/m4/amversion.m4
@@ -12,10 +12,10 @@
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
+[am__api_version='1.12a'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.4a], [],
+m4_if([$1], [1.12a], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -31,7 +31,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.4a])dnl
+[AM_AUTOMAKE_VERSION([1.12a])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/m4/ccstdc.m4 b/m4/ccstdc.m4
deleted file mode 100644
index 66060d9bd..000000000
--- a/m4/ccstdc.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-## ----------------------------------------- ## -*- Autoconf -*-
-## ANSIfy the C compiler whenever possible. ##
-## From Franc,ois Pinard ##
-## ----------------------------------------- ##
-
-# Copyright (C) 1996-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.
-
-# This was merged into AC_PROG_CC in Autoconf.
-
-AU_DEFUN([AM_PROG_CC_STDC],
-[AC_PROG_CC
-AC_DIAGNOSE([obsolete], [$0:
- your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon
- 'ac_cv_prog_cc_stdc'. Remove this warning and the assignment when
- you adjust the code. You can also remove the above call to
- AC_PROG_CC if you already called it elsewhere.])
-am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
-])
-AU_DEFUN([fp_PROG_CC_STDC])
diff --git a/m4/depout.m4 b/m4/depout.m4
index f592b0019..835c32bdd 100644
--- a/m4/depout.m4
+++ b/m4/depout.m4
@@ -11,7 +11,7 @@
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
diff --git a/m4/dmalloc.m4 b/m4/dmalloc.m4
index f9d600f5b..3e7fdb7b8 100644
--- a/m4/dmalloc.m4
+++ b/m4/dmalloc.m4
@@ -24,5 +24,3 @@ else
AC_MSG_RESULT([no])
fi], [AC_MSG_RESULT([no])])
])
-
-AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
diff --git a/m4/extra-recurs.m4 b/m4/extra-recurs.m4
new file mode 100644
index 000000000..7b7ecc71b
--- /dev/null
+++ b/m4/extra-recurs.m4
@@ -0,0 +1,17 @@
+# AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*-
+
+# Copyright (C) 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.
+
+# AM_EXTRA_RECURSIVE_TARGETS
+# --------------------------
+# Define the list of user recursive targets. This macro exists only to
+# be traced by Automake, which will ensure that a proper definition of
+# user-defined recursive targets (and associated rules) is propagated
+# into all the generated Makefiles.
+AC_DEFUN([AM_EXTRA_RECURSIVE_TARGETS], [_$0(m4_flatten([$1]))])
+# TODO: We should really reject non-literal arguments here...
+m4_define([_AM_EXTRA_RECURSIVE_TARGETS], [])
diff --git a/m4/header.m4 b/m4/header.m4
deleted file mode 100644
index e649ba479..000000000
--- a/m4/header.m4
+++ /dev/null
@@ -1,9 +0,0 @@
-## -*- Autoconf -*-
-# Copyright (C) 1996-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.
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
diff --git a/m4/init.m4 b/m4/init.m4
index 5e1bbe3b1..fc0514897 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -21,7 +21,7 @@
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -51,8 +51,7 @@ AC_SUBST([CYGPATH_W])
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[AC_DIAGNOSE([obsolete],
-[$0: two- and three-arguments forms are deprecated. For more info, see:
-http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+ [$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
@@ -106,18 +105,15 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-dnl Support for Objective C++ was only introduced in Autoconf 2.65,
-dnl but we still cater to Autoconf 2.62.
-m4_ifdef([AC_PROG_OBJCXX],
-[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
diff --git a/m4/lispdir.m4 b/m4/lispdir.m4
index 6dca47e8a..72dcd8440 100644
--- a/m4/lispdir.m4
+++ b/m4/lispdir.m4
@@ -49,5 +49,3 @@ AC_DEFUN([AM_PATH_LISPDIR],
])
AC_SUBST([lispdir])
])# AM_PATH_LISPDIR
-
-AU_DEFUN([ud_PATH_LISPDIR], [AM_PATH_LISPDIR])
diff --git a/m4/maintainer.m4 b/m4/maintainer.m4
index 604eb8963..62eef9c72 100644
--- a/m4/maintainer.m4
+++ b/m4/maintainer.m4
@@ -33,5 +33,3 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
AC_SUBST([MAINT])dnl
]
)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
diff --git a/m4/missing.m4 b/m4/missing.m4
index 6c2a55d10..a246a9c93 100644
--- a/m4/missing.m4
+++ b/m4/missing.m4
@@ -15,8 +15,8 @@ AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@@ -29,8 +29,8 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN(['missing' script is too old or missing])
diff --git a/m4/mkdirp.m4 b/m4/mkdirp.m4
index 9155ace20..93c12b0b7 100644
--- a/m4/mkdirp.m4
+++ b/m4/mkdirp.m4
@@ -11,7 +11,7 @@
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl FIXME to be removed in Automake 1.13.
+dnl FIXME to be removed in Automake 1.14.
AC_DIAGNOSE([obsolete],
[$0: this macro is deprecated, and will soon be removed.
You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
diff --git a/m4/obsol-gt.m4 b/m4/obsol-gt.m4
deleted file mode 100644
index 66721d321..000000000
--- a/m4/obsol-gt.m4
+++ /dev/null
@@ -1,10 +0,0 @@
-# Support for obsolete Gettext macro. -*- Autoconf -*-
-
-# Copyright (C) 2002-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.
-
-# See comment in obsolete.m4.
-AU_DEFUN([ud_GNU_GETTEXT], [AM_GNU_GETTEXT])
diff --git a/m4/obsol-lt.m4 b/m4/obsol-lt.m4
deleted file mode 100644
index 1fcc21184..000000000
--- a/m4/obsol-lt.m4
+++ /dev/null
@@ -1,10 +0,0 @@
-# Support for obsolete Libtool macro. -*- Autoconf -*-
-
-# Copyright (C) 2002-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.
-
-# See comment in obsolete.m4.
-AU_DEFUN([gm_PROG_LIBTOOL], [AM_PROG_LIBTOOL])
diff --git a/m4/obsolete.m4 b/m4/obsolete.m4
deleted file mode 100644
index c77c45233..000000000
--- a/m4/obsolete.m4
+++ /dev/null
@@ -1,35 +0,0 @@
-## -*- Autoconf -*-
-# Copyright (C) 2002-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.
-
-# Obsolete Automake macros.
-
-# We put here only the macros whose substitution is not an Automake
-# macro; otherwise including this file would trigger dependencies for
-# all the substitutions. Generally, obsolete Automake macros are
-# better AU_DEFUNed in the same file as their replacement, or alone in
-# a separate file (see obsol-gt.m4 or obsol-lt.m4 for instance).
-
-AU_DEFUN([AC_FEATURE_CTYPE], [AC_HEADER_STDC])
-AU_DEFUN([AC_FEATURE_ERRNO], [AC_REPLACE_FUNCS([strerror])])
-AU_DEFUN([AM_CYGWIN32], [AC_CYGWIN])
-AU_DEFUN([AM_EXEEXT], [AC_EXEEXT])
-AU_DEFUN([AM_FUNC_MKTIME], [AC_FUNC_MKTIME])
-AU_DEFUN([AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
- [AC_HEADER_TIOCGWINSZ])
-AU_DEFUN([AM_MINGW32], [AC_MINGW32])
-AU_DEFUN([AM_PROG_INSTALL], [AC_PROG_INSTALL])
-AU_DEFUN([AM_SANITY_CHECK_CC], [AC_PROG_CC])
-AU_DEFUN([AM_SYS_POSIX_TERMIOS], [AC_SYS_POSIX_TERMIOS])
-AU_DEFUN([fp_FUNC_FNMATCH], [AC_FUNC_FNMATCH])
-AU_DEFUN([fp_PROG_INSTALL], [AC_PROG_INSTALL])
-AU_DEFUN([md_TYPE_PTRDIFF_T], [AC_CHECK_TYPES([ptrdiff_t])])
-
-# Don't know how to translate these.
-# If used, Autoconf will complain that they are possibly unexpended;
-# this seems a good enough error message.
-# AC_FEATURE_EXIT
-# AC_SYSTEM_HEADER
diff --git a/syntax-checks.mk b/syntax-checks.mk
index 89b4d2cdc..16320066b 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -27,15 +27,14 @@ xtests := $(shell \
fi; \
for d in $$dirs; do \
for s in tap sh; do \
- ls $$d/t/*.$$s $$d/t/ax/*.$$s 2>/dev/null; \
+ ls $$d/t/ax/*.$$s $$d/t/*.$$s $$d/contrib/t/*.$$s 2>/dev/null; \
done; \
done | sort)
xdefs = \
$(srcdir)/t/ax/am-test-lib.sh \
$(srcdir)/t/ax/test-lib.sh \
- $(srcdir)/t/ax/test-defs.in \
- $(srcdir)/defs
+ $(srcdir)/t/ax/test-defs.in
ams := $(shell find $(srcdir) -name '*.dir' -prune -o -name '*.am' -print)
@@ -59,10 +58,12 @@ sc_perl_at_uscore_in_scalar_context \
sc_perl_local \
sc_AMDEP_TRUE_in_automake_in \
sc_tests_make_without_am_makeflags \
+$(sc_obsolete_requirements_rules) \
+sc_tests_no_source_defs \
sc_tests_obsolete_variables \
sc_tests_here_document_format \
sc_tests_command_subst \
-sc_tests_Exit_not_exit \
+sc_tests_exit_not_Exit \
sc_tests_automake_fails \
sc_tests_required_after_defs \
sc_tests_overriding_macros_on_cmdline \
@@ -244,6 +245,19 @@ sc_tests_obsolete_variables:
exit 1; \
else :; fi
+## Look out for obsolete requirements specified in the test cases.
+sc_obsolete_requirements_rules = sc_no_texi2dvi-o sc_no_makeinfo-html
+modern-requirement.texi2dvi-o = texi2dvi
+modern-requirement.makeinfo-html = makeinfo
+
+$(sc_obsolete_requirements_rules): sc_no_% :
+ @if grep -E 'required=.*\b$*\b' $(xtests); then \
+ echo "Requirement '$*' is obsolete and shouldn't" \
+ "be used anymore." >&2; \
+ echo "You should use '$(modern-requirement.$*)' instead." >&2; \
+ exit 1; \
+ fi
+
## Tests should never call some programs directly, but only through the
## corresponding variable (e.g., '$MAKE', not 'make'). This will allow
## the programs to be overridden at configure time (for less brittleness)
@@ -311,15 +325,23 @@ sc_tests_command_subst:
exit 1; \
fi
-## Tests should no more call 'Exit', just 'exit'. That's because we
+## Tests should no longer call 'Exit', just 'exit'. That's because we
## now have in place a better workaround to ensure the exit status is
## transported correctly across the exit trap.
-sc_tests_Exit_not_exit:
+sc_tests_exit_not_Exit:
@if grep 'Exit' $(xtests) $(xdefs) | grep -Ev '^[^:]+: *#' | grep .; then \
echo "Use 'exit', not 'Exit'; it's obsolete now." 1>&2; \
exit 1; \
fi
+## Guard against obsolescent uses of ./defs in tests. Now,
+## 'test-init.sh' should be used instead.
+sc_tests_no_source_defs:
+ @if grep -E '\. .*defs($$| )' $(xtests); then \
+ echo "Source 'test-init.sh', not './defs'." 1>&2; \
+ exit 1; \
+ fi
+
## Use AUTOMAKE_fails when appropriate
sc_tests_automake_fails:
@if grep -v '^#' $(xtests) | grep '\$$AUTOMAKE.*&&.*exit'; then \
diff --git a/t/ac-output-old.tap b/t/ac-output-old.tap
index e45fb5f28..a19691a49 100755
--- a/t/ac-output-old.tap
+++ b/t/ac-output-old.tap
@@ -24,8 +24,6 @@ plan_ 22
rm -f configure.ac depcomp # Not required.
-AUTOMAKE="$AUTOMAKE -Wno-obsolete"
-
# -----------------------------------------------------------------------
# Test for bug reported by François Pinard.
@@ -54,18 +52,15 @@ acoutbs_check ()
}
acoutbs_check 1 << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_INIT([acoutbs1], [1.0])
+AM_INIT_AUTOMAKE
AC_OUTPUT(Makefile \
zot)
END
acoutbs_check 2 << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
-AC_ARG_PROGRAM
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
+AC_INIT([acoutbs2], [1.0])
+AM_INIT_AUTOMAKE
AC_OUTPUT(\
Makefile \
zot
@@ -85,8 +80,8 @@ mkdir acoutnoq
cd acoutnoq
cat > configure.ac << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_INIT([acoutnoq], [1.0])
+AM_INIT_AUTOMAKE
AC_OUTPUT(Makefile, [true])
END
@@ -107,8 +102,8 @@ mkdir acoutpt
cd acoutpt
cat > configure.ac << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_INIT([acoutpt], [1.0])
+AM_INIT_AUTOMAKE
AC_OUTPUT([Makefile], [true])
END
@@ -163,8 +158,8 @@ mkdir acoutqnl
cd acoutqnl
cat > configure.ac << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_INIT([acoutqnl], [1.0])
+AM_INIT_AUTOMAKE
AC_OUTPUT([Makefile],
[echo zardoz has spoken])
END
diff --git a/t/acloca10.sh b/t/acloca10.sh
index d12035214..b7d350bd0 100755
--- a/t/acloca10.sh
+++ b/t/acloca10.sh
@@ -24,7 +24,7 @@
# TODO: puts third-party macros directly into 'acdir'.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/acloca11.sh b/t/acloca11.sh
index 3db8508ab..f24d4edbd 100755
--- a/t/acloca11.sh
+++ b/t/acloca11.sh
@@ -18,7 +18,7 @@
# directory, the macro from the lexically greatest file is used.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/acloca12.sh b/t/acloca12.sh
index 01acb0281..d0d4016b6 100755
--- a/t/acloca12.sh
+++ b/t/acloca12.sh
@@ -19,7 +19,7 @@
# Same as acloca11.sh, but without calling MACRO2.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/acloca13.sh b/t/acloca13.sh
index bffd4f1f6..cb4c8f695 100755
--- a/t/acloca13.sh
+++ b/t/acloca13.sh
@@ -16,7 +16,7 @@
# Make sure changes to m4_included files also cause aclocal.m4 to change.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
m4_include([somefile.m4])
diff --git a/t/acloca14.sh b/t/acloca14.sh
index eb9105dde..c84023d72 100755
--- a/t/acloca14.sh
+++ b/t/acloca14.sh
@@ -17,9 +17,10 @@
# Make sure m4_included files are also scanned for definitions.
# Report from Phil Edwards.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
+AC_CONFIG_MACRO_DIR([defs])
AM_PROG_LIBTOOL
AC_OUTPUT
END
@@ -45,7 +46,6 @@ echo 'AC_DEFUN([SOMETHING_ELSE])' >defs/e.m4
echo 'AC_DEFUN([ANOTHER_MACRO])' >defs/f.m4
cat >>Makefile.am<<\EOF
-ACLOCAL_AMFLAGS = -I defs
testdist1: distdir
test -f $(distdir)/acinclude.m4
test -f $(distdir)/a.m4
diff --git a/t/acloca14b.sh b/t/acloca14b.sh
new file mode 100755
index 000000000..31a05409b
--- /dev/null
+++ b/t/acloca14b.sh
@@ -0,0 +1,108 @@
+#! /bin/sh
+# Copyright (C) 2004-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 m4_included files are also scanned for definitions.
+# Report from Phil Edwards.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+echo 'm4_include([a.m4])' > acinclude.m4
+echo 'm4_include([b.m4])' > a.m4
+
+cat >b.m4 <<EOF
+m4_include([c.m4])
+AC_DEFUN([AM_PROG_LIBTOOL],
+[AC_REQUIRE([SOMETHING])dnl
+AC_REQUIRE([SOMETHING_ELSE])dnl
+])
+
+AC_DEFUN([SOMETHING])
+EOF
+
+echo 'm4_include([d.m4])' > c.m4
+echo 'AC_DEFUN([SOMETHING_ELSE])' >d.m4
+
+mkdir defs
+echo 'AC_DEFUN([SOMETHING_ELSE])' >defs/e.m4
+echo 'AC_DEFUN([ANOTHER_MACRO])' >defs/f.m4
+
+cat >>Makefile.am<<\EOF
+ACLOCAL_AMFLAGS = -I defs
+testdist1: distdir
+ test -f $(distdir)/acinclude.m4
+ test -f $(distdir)/a.m4
+ test -f $(distdir)/b.m4
+ test -f $(distdir)/c.m4
+ test -f $(distdir)/d.m4
+ test ! -d $(distdir)/defs
+testdist2: distdir
+ test -f $(distdir)/acinclude.m4
+ test -f $(distdir)/a.m4
+ test -f $(distdir)/b.m4
+ test -f $(distdir)/c.m4
+ test -f $(distdir)/d.m4
+ test ! -f $(distdir)/defs/e.m4
+ test -f $(distdir)/defs/f.m4
+EOF
+
+$ACLOCAL -I defs
+
+$FGREP acinclude.m4 aclocal.m4
+# None of the following macro should be included. acinclude.m4
+# includes the first four, and the last two are not needed at all.
+$FGREP a.m4 aclocal.m4 && exit 1
+$FGREP b.m4 aclocal.m4 && exit 1
+$FGREP c.m4 aclocal.m4 && exit 1
+$FGREP d.m4 aclocal.m4 && exit 1
+$FGREP defs/e.m4 aclocal.m4 && exit 1
+$FGREP defs/f.m4 aclocal.m4 && exit 1
+
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE testdist1
+
+cp aclocal.m4 aclocal.old
+$sleep
+echo 'AC_DEFUN([FOO], [ANOTHER_MACRO])' >> c.m4
+$MAKE
+# Because c.m4 has changed, aclocal.m4 must have been rebuilt.
+is_newest aclocal.m4 aclocal.old
+# However, since FOO is not used, f.m4 should not be included
+# and the contents of aclocal.m4 should remain the same
+diff aclocal.m4 aclocal.old
+
+# If FOO where to be used, that would be another story, of course:
+# f.m4 should be included
+$sleep
+echo FOO >> configure.ac
+$MAKE
+$FGREP defs/f.m4 aclocal.m4
+$MAKE testdist2
+
+# Make sure aclocal diagnose missing included files with correct 'file:line:'.
+rm -f b.m4
+$ACLOCAL 2>stderr && { cat stderr >&2; exit 1; }
+cat stderr >&2
+grep 'a\.m4:1: .*b\.m4.*does not exist' stderr
+
+:
diff --git a/t/acloca15.sh b/t/acloca15.sh
index 38c6e3e66..4ce34abba 100755
--- a/t/acloca15.sh
+++ b/t/acloca15.sh
@@ -18,7 +18,7 @@
# PR/319.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
# Start macros with AM_ because that causes aclocal to complain if it
# cannot find them.
diff --git a/t/acloca16.sh b/t/acloca16.sh
index a702f2729..8387439d7 100755
--- a/t/acloca16.sh
+++ b/t/acloca16.sh
@@ -18,7 +18,7 @@
# evaluated.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_SUBST([POM])
diff --git a/t/acloca17.sh b/t/acloca17.sh
index a15cd57a7..ed8fc322a 100755
--- a/t/acloca17.sh
+++ b/t/acloca17.sh
@@ -17,7 +17,7 @@
# Make sure aclocal report unused required macros.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/acloca18.sh b/t/acloca18.sh
index 8bdbd5689..2e1cbb5fe 100755
--- a/t/acloca18.sh
+++ b/t/acloca18.sh
@@ -17,7 +17,7 @@
# Test for --install with #serial numbers.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/acloca19.sh b/t/acloca19.sh
index c6d23520e..502bc6979 100755
--- a/t/acloca19.sh
+++ b/t/acloca19.sh
@@ -18,7 +18,7 @@
# more than just variable definitions.
# Report from Peter Breitenlohner (PR/450).
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<'END'
AC_INIT([acloca19], [1.0])
diff --git a/t/acloca20.sh b/t/acloca20.sh
index b5881d67f..c381dd78f 100755
--- a/t/acloca20.sh
+++ b/t/acloca20.sh
@@ -17,7 +17,7 @@
# Make sure aclocal does not write into symlinked aclocal.m4.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
echo 'm4_define([FOO], [wrong foo])' > foo.m4
echo 'm4_define([FOO], [right foo])' > acinclude.m4
diff --git a/t/acloca21.sh b/t/acloca21.sh
index 2aca3f925..812f99b21 100755
--- a/t/acloca21.sh
+++ b/t/acloca21.sh
@@ -20,7 +20,7 @@
# an Autoconf macro.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
dnl m4_include(__some_really_bogus_nonexistent_file__.m4)
diff --git a/t/acloca22.sh b/t/acloca22.sh
index 159fbcdb5..1faf21228 100755
--- a/t/acloca22.sh
+++ b/t/acloca22.sh
@@ -18,27 +18,30 @@
# dependencies. See also related the tests 'remake-deleted-m4-file.sh'
# and 'remake-renamed-m4-macro-and-file.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
+AC_CONFIG_MACRO_DIR([.])
FOO
AC_OUTPUT
EOF
+
cat >foo.m4 <<EOF
AC_DEFUN([FOO], [AC_SUBST([GREPFOO])])
EOF
+
cat >bar.m4 <<EOF
AC_DEFUN([BAR], [AC_SUBST([GREPBAR])])
EOF
-cat >Makefile.am <<EOF
-ACLOCAL_AMFLAGS = -I .
-EOF
-$ACLOCAL -I .
+: >Makefile.am
+
+$ACLOCAL
$AUTOMAKE
$AUTOCONF
./configure
+
$MAKE
grep GREPFOO Makefile
grep GREPBAR Makefile && exit 1
@@ -46,6 +49,7 @@ grep GREPBAR Makefile && exit 1
sed 's/FOO/BAR/' < configure.ac > t
mv -f t configure.ac
rm -f foo.m4
+
$MAKE
grep GREPFOO Makefile && exit 1
grep GREPBAR Makefile
diff --git a/t/acloca22b.sh b/t/acloca22b.sh
new file mode 100755
index 000000000..f2806991b
--- /dev/null
+++ b/t/acloca22b.sh
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2007-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 the "deleted header file" issue is fixed wrt. aclocal.m4
+# dependencies.
+# NOTE: this test works by using the obsolete 'ACLOCAL_AMFLAGS' make
+# variable; see sister test 'acloca22.test' for a modern equivalent.
+
+. test-init.sh
+
+cat >>configure.ac <<EOF
+FOO
+AC_OUTPUT
+EOF
+
+cat >foo.m4 <<EOF
+AC_DEFUN([FOO], [AC_SUBST([GREPFOO])])
+EOF
+
+cat >bar.m4 <<EOF
+AC_DEFUN([BAR], [AC_SUBST([GREPBAR])])
+EOF
+
+cat >Makefile.am <<EOF
+ACLOCAL_AMFLAGS = -I .
+EOF
+
+$ACLOCAL -I .
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+$MAKE
+grep GREPFOO Makefile
+grep GREPBAR Makefile && exit 1
+
+sed 's/FOO/BAR/' < configure.ac > t
+mv -f t configure.ac
+rm -f foo.m4
+
+$MAKE
+grep GREPFOO Makefile && exit 1
+grep GREPBAR Makefile
+
+:
diff --git a/t/acloca23.sh b/t/acloca23.sh
index 2366fc40b..071ddae33 100755
--- a/t/acloca23.sh
+++ b/t/acloca23.sh
@@ -17,7 +17,7 @@
# Ensure we diagnose underquoted AC_DEFUN's.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/aclocal-acdir.sh b/t/aclocal-acdir.sh
index abd7857d1..59182bbf5 100755
--- a/t/aclocal-acdir.sh
+++ b/t/aclocal-acdir.sh
@@ -14,11 +14,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test aclocal's '--acdir', '--automake-acdir' and '--system-acdir'
-# options. Also check that stuff in the automake acdir takes precedence
-# over stuff in the system acdir.
+# Test aclocal's '--automake-acdir' and '--system-acdir' options. Also
+# check that stuff in the automake acdir takes precedence over stuff in
+# the system acdir.
-. ./defs || exit 1
+. test-init.sh
mkdir am sys
@@ -72,24 +72,4 @@ $FGREP 'fake--init--automake' configure
$FGREP 'am--macro' configure
$FGREP 'my--macro' configure && exit 1 # Just to be sure.
-rm -rf autom4te*.cache
-
-# Obsolescent '--acdir' option.
-$ACLOCAL -Wobsolete --acdir am 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep '.*--acdir.*deprecated' stderr
-
-rm -rf autom4te*.cache
-
-$ACLOCAL -Wno-obsolete --acdir am
-$AUTOCONF --force
-$FGREP 'fake--init--automake' configure
-$FGREP 'am--macro' configure
-
-rm -rf autom4te*.cache
-
-$ACLOCAL -Wno-obsolete --acdir sys 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep 'macro .*AM_INIT_AUTOMAKE.* not found' stderr
-
:
diff --git a/t/aclocal-amflags.sh b/t/aclocal-amflags.sh
new file mode 100755
index 000000000..49bcf5f37
--- /dev/null
+++ b/t/aclocal-amflags.sh
@@ -0,0 +1,69 @@
+#! /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/>.
+
+# Check that the obsolescent idiom of setting $(ACLOCAL_AMFLAGS) in
+# Makefile.am still works. Remove this test once support for this
+# obsolescent idiom is removed.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+MACRO_FOO || AS_EXIT([1])
+AC_OUTPUT
+END
+
+mkdir m4_1 m4_2
+cat > m4_1/foo.m4 <<'END'
+AC_DEFUN([MACRO_FOO], [: > foo])
+END
+cat > m4_2/bar.m4 <<'END'
+AC_DEFUN([MACRO_BAR], [: > bar])
+END
+
+cat > Makefile.am <<'END'
+ACLOCAL_AMFLAGS = -I m4_2 --verbose
+check-local:
+ test ! -r foo
+ test -f bar
+DISTCLEANFILES = bar
+END
+
+$ACLOCAL -I m4_1 >output 2>&1 || { cat output; exit 1; }
+cat output
+grep 'found macro' output && exit 1 # Sanity check.
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+test -f foo
+rm -f foo
+
+# ACLOCAL_AMFLAGS is used in rebuild rules, so trigger them.
+$sleep
+
+sed 's/MACRO_FOO/MACRO_BAR/' configure.ac > t
+mv -f t configure.ac
+
+$MAKE Makefile >output 2>&1 || { cat output; exit 1; }
+cat output
+grep "^aclocal.*:.*found macro.*MACRO_BAR.*m4_2/bar\.m4" output
+grep "macro.*MACRO_FOO" output && exit 1
+test ! -r foo
+test -f bar
+
+$MAKE distcheck
+
+:
diff --git a/t/missing6.sh b/t/aclocal-autoconf-version-check.sh
index 8e02ae999..f5d810165 100755
--- a/t/missing6.sh
+++ b/t/aclocal-autoconf-version-check.sh
@@ -17,7 +17,7 @@
# Make sure autoconf version checks in aclocal.m4 are robust.
am_create_testdirs=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
m4_define([AC_AUTOCONF_VERSION], [9999a])
diff --git a/t/aclocal-install-absdir.sh b/t/aclocal-install-absdir.sh
index ada83c229..450bc7451 100755
--- a/t/aclocal-install-absdir.sh
+++ b/t/aclocal-install-absdir.sh
@@ -19,7 +19,7 @@
# ACLOCAL_PATH variable, it is clear that this is the right thing
# to do. See also automake bug#8407.
-. ./defs || exit 1
+. test-init.sh
mkdir loc sys
diff --git a/t/aclocal-install-fail.sh b/t/aclocal-install-fail.sh
index 99fa77ab6..f0cb57320 100755
--- a/t/aclocal-install-fail.sh
+++ b/t/aclocal-install-fail.sh
@@ -19,7 +19,7 @@
am_create_testdir=empty
required=ro-dir
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/aclocal-install-mkdir.sh b/t/aclocal-install-mkdir.sh
index 43eec3752..57bfd69b3 100755
--- a/t/aclocal-install-mkdir.sh
+++ b/t/aclocal-install-mkdir.sh
@@ -19,7 +19,7 @@
# FIXME: this is a good candidate for a conversion to TAP.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/aclocal-macrodir.tap b/t/aclocal-macrodir.tap
new file mode 100755
index 000000000..3daedadc9
--- /dev/null
+++ b/t/aclocal-macrodir.tap
@@ -0,0 +1,161 @@
+#! /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/>.
+
+# Several tests on the use of the m4 macro AC_CONFIG_MACRO_DIR with
+# aclocal.
+
+am_create_testdir=empty
+. test-init.sh
+
+plan_ later
+
+ocwd=$(pwd) || fatal_ "getting current working directory"
+ACLOCAL_PATH=; unset ACLOCAL_PATH
+
+#
+# General utility functions and variables.
+#
+# TODO: These should maybe be refactored, generalized and
+# moved into 't/ax/tap-functions.sh' ...
+#
+
+tcount=0
+r=invalid
+description=''
+directive=''
+
+test_begin ()
+{
+ if test -n "$description"; then
+ fatal_ "'test_begin' called, but another test seems active already"
+ else
+ r=ok
+ description=$1
+ echo "$description" > README.txt
+ shift
+ fi
+ tcount=$(($tcount + 1)) && test $tcount -gt 0 \
+ || fatal_ "failed to bump the test count"
+ mkdir $tcount.d
+ cd $tcount.d
+}
+
+test_end ()
+{
+ if test -z "$description"; then
+ fatal_ "'test_end' called, but no test seems active"
+ else
+ cd "$ocwd" || fatal_ "cannot chdir back to top-level directory"
+ result_ "$r" -D "$directive" -- "$description"
+ # Don't leave directories for successful subtests hanging around.
+ if test -z "$directive" && test "$r" = ok; then
+ rm -rf "$tcount.d" || fatal_ "removing subdir $tcount.d"
+ fi
+ r=invalid directive= description=
+ fi
+}
+
+test_todo () { directive=TODO; }
+
+#---------------------------------------------------------------------------
+
+test_begin "AC_CONFIG_MACRO_DIR is honored"
+
+cat > configure.ac <<'END'
+AC_INIT([md], [10.0])
+AC_CONFIG_MACRO_DIR([macro-dir])
+MY_FOO
+END
+
+mkdir macro-dir
+echo 'AC_DEFUN([MY_FOO], [::my::foo::])' > macro-dir/foo.m4
+
+$ACLOCAL \
+ && $FGREP 'm4_include([macro-dir/foo.m4])' aclocal.m4 \
+ && $AUTOCONF \
+ && not $FGREP 'MY_FOO' configure \
+ && $FGREP '::my::foo::' configure \
+ || r='not ok'
+
+test_end
+
+#---------------------------------------------------------------------------
+
+test_begin "AC_CONFIG_MACRO_DIR([foo]) interaction with --install"
+
+cat > configure.ac << 'END'
+AC_INIT([inst], [1.0])
+AC_CONFIG_MACRO_DIR([the-dir])
+THE_MACRO
+END
+
+mkdir sys-dir the-dir
+echo 'AC_DEFUN([THE_MACRO], [:])' > sys-dir/my.m4
+
+test ! -r the-dir/my.m4 \
+ && $ACLOCAL --install --system-acdir ./sys-dir \
+ && diff sys-dir/my.m4 the-dir/my.m4 \
+ || r='not ok'
+
+test_end
+
+#---------------------------------------------------------------------------
+
+test_begin "'-I' option wins over AC_CONFIG_MACRO_DIR"
+
+cat > configure.ac <<'END'
+AC_INIT([md], [4.6])
+AC_CONFIG_MACRO_DIR([dir1])
+MY_FOO
+END
+
+mkdir dir1 dir2
+echo 'AC_DEFUN([MY_FOO], [::ko::ko::])' > dir1/1.m4
+echo 'AC_DEFUN([MY_FOO], [::ok::ok::])' > dir2/2.m4
+
+$ACLOCAL -I dir2 \
+ && $FGREP 'm4_include([dir2/2.m4])' aclocal.m4 \
+ && not $FGREP 'm4_include([dir1/1.m4])' aclocal.m4 \
+ && $AUTOCONF \
+ && not $FGREP '::ko::ko::' configure \
+ && $FGREP '::ok::ok::' configure \
+ || r='not ok'
+
+test_end
+
+#---------------------------------------------------------------------------
+
+test_begin "AC_CONFIG_MACRO_DIR([foo]) can create directory 'foo'"
+
+cat > configure.ac << 'END'
+AC_INIT([x], [1.0])
+AC_CONFIG_MACRO_DIR([foo])
+MY_MACRO
+END
+
+mkdir acdir
+echo 'AC_DEFUN([MY_MACRO], [:])' > acdir/bar.m4
+
+test ! -d foo \
+ && $ACLOCAL --install --system-acdir ./acdir \
+ && diff acdir/bar.m4 foo/bar.m4 \
+ || r='not ok'
+
+test_end
+
+#---------------------------------------------------------------------------
+
+:
diff --git a/t/aclocal-no-install-no-mkdir.sh b/t/aclocal-no-install-no-mkdir.sh
index 5b4776877..58dafb998 100755
--- a/t/aclocal-no-install-no-mkdir.sh
+++ b/t/aclocal-no-install-no-mkdir.sh
@@ -18,7 +18,7 @@
# if the '--install' option is not given.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/aclocal-path-install-serial.sh b/t/aclocal-path-install-serial.sh
index 683845ced..c3f0c8a56 100755
--- a/t/aclocal-path-install-serial.sh
+++ b/t/aclocal-path-install-serial.sh
@@ -18,7 +18,7 @@
# are involved.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/aclocal-path-install.sh b/t/aclocal-path-install.sh
index 4ed1a2c27..eb10f99f4 100755
--- a/t/aclocal-path-install.sh
+++ b/t/aclocal-path-install.sh
@@ -17,7 +17,7 @@
# ACLOCAL_PATH and '--install' interactions.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
@@ -41,7 +41,7 @@ END
# in a directory specified in ACLOCAL_PATH.
$ACLOCAL --install 2>stderr && { cat stderr >&2; exit 1; }
cat stderr >&2
-grep ' no -I was supplied' stderr
+grep 'impossible without -I .* nor AC_CONFIG_MACRO_DIR' stderr
test ! -e pdir/foo.m4
# The '--install' option should cause a required macro found in a
diff --git a/t/aclocal-path-nonexistent.sh b/t/aclocal-path-nonexistent.sh
index ad8d5b7ca..df1bae1dd 100755
--- a/t/aclocal-path-nonexistent.sh
+++ b/t/aclocal-path-nonexistent.sh
@@ -17,7 +17,7 @@
# Non-existent directories in ACLOCAL_PATH are ok.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/aclocal-path-precedence.sh b/t/aclocal-path-precedence.sh
index 81eee9886..054523178 100755
--- a/t/aclocal-path-precedence.sh
+++ b/t/aclocal-path-precedence.sh
@@ -17,11 +17,11 @@
# Check precedence rules for ACLOCAL_PATH.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([foo], [1.0])
-AM_INIT_AUTOMAKE([parallel-tests])
+AM_INIT_AUTOMAKE
FOO_MACRO
BAR_MACRO
AC_PROG_LIBTOOL
diff --git a/t/aclocal-path.sh b/t/aclocal-path.sh
index c22a7c4bc..a4ee3ee17 100755
--- a/t/aclocal-path.sh
+++ b/t/aclocal-path.sh
@@ -17,7 +17,7 @@
# Check basic ACLOCAL_PATH support.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/aclocal-print-acdir.sh b/t/aclocal-print-acdir.sh
index d057d826e..440bb7235 100755
--- a/t/aclocal-print-acdir.sh
+++ b/t/aclocal-print-acdir.sh
@@ -17,14 +17,11 @@
# Test on aclocal's '--print-ac-dir' option.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
$ACLOCAL --print-ac-dir
test "$($ACLOCAL --print-ac-dir)" = "$am_system_acdir"
-$ACLOCAL -Wno-obsolete --acdir foo --print-ac-dir
-test "$($ACLOCAL -Wno-obsolete --acdir foo --print-ac-dir)" = foo
-
$ACLOCAL --system-acdir /bar --print-ac-dir
test "$($ACLOCAL --system-acdir /bar --print-ac-dir)" = /bar
diff --git a/t/aclocal-verbose-install.sh b/t/aclocal-verbose-install.sh
index 27fa0c5ba..b598bb89a 100755
--- a/t/aclocal-verbose-install.sh
+++ b/t/aclocal-verbose-install.sh
@@ -17,7 +17,7 @@
# Check verbose messages by 'aclocal --install'.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/aclocal.sh b/t/aclocal.sh
index d99da5ff8..3234496b7 100755
--- a/t/aclocal.sh
+++ b/t/aclocal.sh
@@ -17,7 +17,7 @@
# Test on some aclocal options. Report from Alexandre Oliva.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
echo "AC_INIT([$me], [0]) AM_INIT_AUTOMAKE" > configure.ac
diff --git a/t/aclocal3.sh b/t/aclocal3.sh
index 03aa42d8b..ce93251da 100755
--- a/t/aclocal3.sh
+++ b/t/aclocal3.sh
@@ -17,7 +17,7 @@
# Test to make sure include of include detects missing macros
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/aclocal4.sh b/t/aclocal4.sh
index feae3ec17..3e77d9e06 100755
--- a/t/aclocal4.sh
+++ b/t/aclocal4.sh
@@ -18,9 +18,10 @@
# Report from Jim Meyering.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
+AC_CONFIG_MACRO_DIR([m4])
AC_PROG_RANLIB
AM_PROG_AR
AC_PROG_CC
@@ -46,7 +47,6 @@ EOF
cat >Makefile.am <<'EOF'
SUBDIRS = lib
EXTRA_DIST = m4/mymacro.m4
-ACLOCAL_AMFLAGS = -I m4
check-foo: distdir
test -f $(distdir)/lib/foo.c
test -f $(distdir)/lib/bar.c
@@ -56,7 +56,7 @@ check-not-foo: distdir
test -f $(distdir)/lib/bar.c
EOF
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE --add-missing
./configure
diff --git a/t/aclocal5.sh b/t/aclocal5.sh
index 040666162..947311475 100755
--- a/t/aclocal5.sh
+++ b/t/aclocal5.sh
@@ -17,26 +17,26 @@
# Test to make sure that aclocal.m4's dependencies are honored in
# sub-directories. See also related tests 'remake-subdir*.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-AM_TEST([GREPME])
+AC_CONFIG_MACRO_DIR([m4])
+FOO_TEST([GREPME])
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
END
cat > Makefile.am << 'END'
SUBDIRS = sub
-ACLOCAL_AMFLAGS = -I m4
END
mkdir sub
: > sub/Makefile.am
mkdir m4
-echo 'AC_DEFUN([AM_TEST], [echo $@])' > m4/moredefs.m4
+echo 'AC_DEFUN([FOO_TEST], [echo $@])' > m4/moredefs.m4
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE --copy --add-missing
./configure
@@ -44,10 +44,10 @@ $MAKE
# Update an aclocal.m4 dependency, then make sure all Makefiles are
# updated, even from a sub-directory. Check that AU_ALIAS is
-# recognized. Change the definition of AM_TEST to check that its new
+# recognized. Change the definition of FOO_TEST to check that its new
# definition is used.
$sleep # Modified configure dependencies must be newer than config.status.
-echo 'AU_ALIAS([AM_TEST], [AC_SUBST])' > m4/moredefs.m4
+echo 'AU_ALIAS([FOO_TEST], [AC_SUBST])' > m4/moredefs.m4
cd sub
$MAKE
cd ..
@@ -58,10 +58,10 @@ grep GREPME sub/Makefile
$MAKE distdir
test -f $me-1.0/m4/moredefs.m4
-# Change the definition of AM_TEST to check that its new definition is
+# Change the definition of FOO_TEST to check that its new definition is
# used. Check that AC_DEFUN_ONCE is caught.
$sleep # Modified configure dependencies must be newer than config.status.
-echo 'AC_DEFUN_ONCE([AM_TEST], [AC_SUBST(__$1__)])' > m4/moredefs.m4
+echo 'AC_DEFUN_ONCE([FOO_TEST], [AC_SUBST(__$1__)])' > m4/moredefs.m4
$MAKE
grep 'm4/moredefs\.m4' aclocal.m4
grep '__GREPME__' configure
diff --git a/t/aclocal6.sh b/t/aclocal6.sh
index dc6b38db3..97b748243 100755
--- a/t/aclocal6.sh
+++ b/t/aclocal6.sh
@@ -17,17 +17,17 @@
# Make sure aclocal.m4 is rebuilt whenever a configure
# dependency changes. Test for acinclude.m4 and VPATH too.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
SOME_DEFS
AC_CONFIG_FILES([sub/Makefile])
+AC_CONFIG_MACRO_DIR([m4])
AC_OUTPUT
END
cat > Makefile.am << 'END'
SUBDIRS = sub
-ACLOCAL_AMFLAGS = -I m4
END
mkdir sub
@@ -37,7 +37,7 @@ mkdir m4
echo 'AC_DEFUN([SOME_DEFS], [])' > m4/somedefs.m4
echo 'AC_DEFUN([MORE_DEFS], [AC_SUBST([GREPME])])' > m4/moredefs.m4
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE --copy --add-missing
diff --git a/t/aclocal7.sh b/t/aclocal7.sh
index c050b07d1..9f246143e 100755
--- a/t/aclocal7.sh
+++ b/t/aclocal7.sh
@@ -17,7 +17,7 @@
# Make sure aclocal does not overwrite aclocal.m4 needlessly.
# Also make sure automake --no-force does not overwrite Makefile.in needlessly.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
SOME_DEFS
diff --git a/t/aclocal8.sh b/t/aclocal8.sh
index a242fca36..9f2d1db81 100755
--- a/t/aclocal8.sh
+++ b/t/aclocal8.sh
@@ -17,7 +17,7 @@
# Make sure aclocal does not require unused macros.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/aclocal9.sh b/t/aclocal9.sh
index bcdd6f477..bcdecb022 100755
--- a/t/aclocal9.sh
+++ b/t/aclocal9.sh
@@ -17,7 +17,7 @@
# Make sure aclocal define macros in the same order as -I's.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT
diff --git a/t/acsilent.sh b/t/acsilent.sh
index 18f18ff92..2200d7da6 100755
--- a/t/acsilent.sh
+++ b/t/acsilent.sh
@@ -16,17 +16,16 @@
# Test to make sure there are no spurious acinclude warnings.
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<EOF
-AC_INIT
+AC_INIT([$me], [1.0])
AM_INIT_GUILE_MODULE
EOF
cat > acinclude.m4 << 'END'
-AC_DEFUN([AM_INIT_GUILE_MODULE],[
-. $srcdir/../GUILE-VERSION
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_DEFUN([AM_INIT_GUILE_MODULE], [
+AM_INIT_AUTOMAKE([dist-xz])
AC_CONFIG_AUX_DIR(..)
module=[$1]
AC_SUBST(module)])
diff --git a/t/acsubst.sh b/t/acsubst.sh
index 19dfbdfc1..4081f66fb 100755
--- a/t/acsubst.sh
+++ b/t/acsubst.sh
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/acsubst2.sh b/t/acsubst2.sh
index ea7749c37..da858fd79 100755
--- a/t/acsubst2.sh
+++ b/t/acsubst2.sh
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/add-missing.tap b/t/add-missing.tap
index c47382b5f..ac8c763c5 100755
--- a/t/add-missing.tap
+++ b/t/add-missing.tap
@@ -20,7 +20,7 @@
# default, but copied if the '--copy' option is used.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
plan_ "later"
@@ -343,17 +343,6 @@ rm -f foo.texi
check_ <<'END'
== Name ==
-elisp-comp
-== Files ==
-elisp-comp
-== configure.ac ==
-AM_PATH_LISPDIR
-== Makefile.am ==
-lisp_LISP = foo.el
-END
-
-check_ <<'END'
-== Name ==
py-compile
== Files ==
py-compile
diff --git a/t/all.sh b/t/all.sh
index 3797acf3f..0a0216c23 100755
--- a/t/all.sh
+++ b/t/all.sh
@@ -16,7 +16,7 @@
# Test to make sure several *-local's in a single rule work.
-. ./defs || exit 1
+. test-init.sh
targets='all install-exec install-data uninstall'
echo "$targets:" | sed -e 's/[ :]/-local&/g' > Makefile.am
diff --git a/t/all2.sh b/t/all2.sh
index 879cdfcee..7c9ab3245 100755
--- a/t/all2.sh
+++ b/t/all2.sh
@@ -16,7 +16,7 @@
# Test to make sure all-local and other -local targets work correctly.
-. ./defs || exit 1
+. test-init.sh
$ACLOCAL
diff --git a/t/alloca.sh b/t/alloca.sh
index e054dd4f8..aa436ff7e 100755
--- a/t/alloca.sh
+++ b/t/alloca.sh
@@ -16,7 +16,7 @@
# Make sure we complain if @ALLOCA@ is used without being set in configure.ac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AM_PROG_AR
diff --git a/t/alloca2.sh b/t/alloca2.sh
index 38d2cf84f..6410344a3 100755
--- a/t/alloca2.sh
+++ b/t/alloca2.sh
@@ -16,7 +16,7 @@
# Make sure we complain if @LTALLOCA@ is used without being set in configure.ac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/alpha.sh b/t/alpha.sh
index b1315f0b7..d8dc30a84 100755
--- a/t/alpha.sh
+++ b/t/alpha.sh
@@ -16,7 +16,7 @@
# Make sure README-alpha is distributed when appropriate. Report from
# Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([alpha], [1.0a])
diff --git a/t/alpha2.sh b/t/alpha2.sh
index 86f60b9c2..318b1c949 100755
--- a/t/alpha2.sh
+++ b/t/alpha2.sh
@@ -17,7 +17,7 @@
# Another check for README-alpha support. This time it is requested
# from configure.ac. Report from Akim Demaille.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([alpha], [1.0b])
diff --git a/t/am-default-source-ext.sh b/t/am-default-source-ext.sh
index 4e0fed893..ec91a19be 100755
--- a/t/am-default-source-ext.sh
+++ b/t/am-default-source-ext.sh
@@ -17,7 +17,7 @@
# AM_DEFAULT_SOURCE_EXT
required='cc c++'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/am-macro-not-found.sh b/t/am-macro-not-found.sh
index 038dabfe9..37e6959bc 100755
--- a/t/am-macro-not-found.sh
+++ b/t/am-macro-not-found.sh
@@ -16,7 +16,7 @@
# Test to see if aclocal correctly reports missing AM_ macro.
-. ./defs || exit 1
+. test-init.sh
echo AM_ZARDOZ >> configure.ac
diff --git a/t/am-missing-prog.sh b/t/am-missing-prog.sh
index 6368db5ba..08fc455f2 100755
--- a/t/am-missing-prog.sh
+++ b/t/am-missing-prog.sh
@@ -16,7 +16,7 @@
# Test AM_MISSING_PROG.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AM_MISSING_PROG([NO_SUCH_COMMAND], [am-none-none])
@@ -51,13 +51,11 @@ o = $@-stdout
e = $@-stderr
debug_info = grep . $@-stdout $@-stderr
-status_is = $(debug_info); echo $@: st=$$st; : test $$st -eq
+status_is = $(debug_info); echo $@: st=$$st; test $$st -eq
w_mis = 'am-none-none' is needed, and is missing on your system
w_old = 'am-exit-63' is needed, and is probably too old
-# FIXME: make this test stricter w.r.t. the exit statuses once
-# FIXME: we are merged to master!
test1:
st=0; $(NO_SUCH_COMMAND) >$o 2>$e || st=$$?; $(status_is) 127
grep "^WARNING: $(w_mis)" $e
diff --git a/t/am-tests-environment.sh b/t/am-tests-environment.sh
index e8fbbe38d..eff785013 100755
--- a/t/am-tests-environment.sh
+++ b/t/am-tests-environment.sh
@@ -17,7 +17,7 @@
# parallel-tests: check AM_TESTS_ENVIRONMENT support, and its
# interactions with TESTS_ENVIRONMENT.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_MKDIR_P
diff --git a/t/amassign.sh b/t/amassign.sh
index 555e3f4b6..96ec96d07 100755
--- a/t/amassign.sh
+++ b/t/amassign.sh
@@ -17,7 +17,7 @@
# Test to see if AM_ name can be assigned to in configure.ac.
# Report from Steve Robbins.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CFLAGS=foo
diff --git a/t/amhello-binpkg.sh b/t/amhello-binpkg.sh
index c1d2575ee..c87717c74 100755
--- a/t/amhello-binpkg.sh
+++ b/t/amhello-binpkg.sh
@@ -18,7 +18,7 @@
# using DESTDIR to build simple, no-frills binary packages.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cp "$am_docdir"/amhello-1.0.tar.gz . \
|| fatal_ "cannot get amhello tarball"
diff --git a/t/amhello-cflags.sh b/t/amhello-cflags.sh
index a120d8110..601378999 100755
--- a/t/amhello-cflags.sh
+++ b/t/amhello-cflags.sh
@@ -20,7 +20,7 @@
am_create_testdir=empty
required=gcc
-. ./defs || exit 1
+. test-init.sh
cp "$am_docdir"/amhello-1.0.tar.gz . \
|| fatal_ "cannot get amhello tarball"
diff --git a/t/amhello-cross-compile.sh b/t/amhello-cross-compile.sh
index d4476570f..c4992d491 100755
--- a/t/amhello-cross-compile.sh
+++ b/t/amhello-cross-compile.sh
@@ -19,7 +19,7 @@
am_create_testdir=empty
required=i586-mingw32msvc-gcc
-. ./defs || exit 1
+. test-init.sh
cp "$am_docdir"/amhello-1.0.tar.gz . \
|| fatal_ "cannot get amhello tarball"
diff --git a/t/aminit-moreargs-deprecation.sh b/t/aminit-moreargs-deprecation.sh
index a8d4605e2..99ac969d1 100755
--- a/t/aminit-moreargs-deprecation.sh
+++ b/t/aminit-moreargs-deprecation.sh
@@ -17,7 +17,7 @@
# Check that automake warns against old-style usages of AM_INIT_AUTOMAKE
# (i.e., calls with two or three arguments).
-. ./defs || exit 1
+. test-init.sh
warn_rx='AM_INIT_AUTOMAKE.* two-.* three-arguments form.*deprecated'
diff --git a/t/amopt.sh b/t/amopt.sh
index 5d6005de5..7b4a93301 100755
--- a/t/amopt.sh
+++ b/t/amopt.sh
@@ -17,7 +17,7 @@
# Make Automake diagnose a conditional AUTOMAKE_OPTIONS.
# Report from Bas Wijnen.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AM_CONDITIONAL([COND], [true])
diff --git a/t/amopts-location.sh b/t/amopts-location.sh
index c0d471a00..0f489a4ba 100755
--- a/t/amopts-location.sh
+++ b/t/amopts-location.sh
@@ -17,7 +17,7 @@
# Check that errors about AUTOMAKE_OPTIONS refers to correct
# locations.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<'END'
# comment \
diff --git a/t/amopts-variable-expansion.sh b/t/amopts-variable-expansion.sh
index bc0daea28..d63b5f0fa 100755
--- a/t/amopts-variable-expansion.sh
+++ b/t/amopts-variable-expansion.sh
@@ -16,7 +16,7 @@
# Check that AUTOMAKE_OPTIONS support variable expansion.
-. ./defs || exit 1
+. test-init.sh
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
diff --git a/t/amsubst.sh b/t/amsubst.sh
index 49d50c1e0..c22992434 100755
--- a/t/amsubst.sh
+++ b/t/amsubst.sh
@@ -16,7 +16,7 @@
# Check for _AM_SUBST_NOTMAKE.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([backslash], "\\")
diff --git a/t/ansi2knr-no-more.sh b/t/ansi2knr-no-more.sh
index 5387d20fb..e28e65106 100755
--- a/t/ansi2knr-no-more.sh
+++ b/t/ansi2knr-no-more.sh
@@ -17,7 +17,7 @@
# Check that any attempt to use the obsolete de-ANSI-fication support
# is diagnosed.
-. ./defs || exit 1
+. test-init.sh
warn_rx='automatic de-ANSI-fication.*removed'
diff --git a/t/ar-lib.sh b/t/ar-lib.sh
index c6f6a3c88..e7ca34c5b 100755
--- a/t/ar-lib.sh
+++ b/t/ar-lib.sh
@@ -18,7 +18,7 @@
am_create_testdir=empty
required=xsi-lib-shell
-. ./defs || exit 1
+. test-init.sh
get_shell_script ar-lib
diff --git a/t/ar-lib2.sh b/t/ar-lib2.sh
index da2b5ca58..df5332d9d 100755
--- a/t/ar-lib2.sh
+++ b/t/ar-lib2.sh
@@ -16,7 +16,7 @@
# Test if AM_PROG_AR installs ar-lib.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ar-lib3.sh b/t/ar-lib3.sh
index 513808aa2..77a8db9f2 100755
--- a/t/ar-lib3.sh
+++ b/t/ar-lib3.sh
@@ -16,7 +16,7 @@
# Test if lib_LIBRARIES requests AM_PROG_AR.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ar-lib4.sh b/t/ar-lib4.sh
index 2bd93aa90..0bd51498c 100755
--- a/t/ar-lib4.sh
+++ b/t/ar-lib4.sh
@@ -17,7 +17,7 @@
# Test if lib_LTLIBRARIES requests AM_PROG_AR.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cp configure.ac X
diff --git a/t/ar-lib5a.sh b/t/ar-lib5a.sh
index a11e218f7..6f800e601 100755
--- a/t/ar-lib5a.sh
+++ b/t/ar-lib5a.sh
@@ -19,7 +19,7 @@
# Keep this test in sync with sister test 'ar-lib5b.sh'.
required=lib
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/ar-lib5b.sh b/t/ar-lib5b.sh
index a3007602c..fcf45b9ce 100755
--- a/t/ar-lib5b.sh
+++ b/t/ar-lib5b.sh
@@ -18,7 +18,7 @@
# This test does not require Microsoft lib.
# Keep this test in sync with sister test 'ar-lib5a.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/ar-lib6a.sh b/t/ar-lib6a.sh
index 7ee5257c1..86b8c991c 100755
--- a/t/ar-lib6a.sh
+++ b/t/ar-lib6a.sh
@@ -18,7 +18,7 @@
# Keep this test in sync with sister test 'ar-lib6b.sh'.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ar-lib6b.sh b/t/ar-lib6b.sh
index 92709f851..e402b63dc 100755
--- a/t/ar-lib6b.sh
+++ b/t/ar-lib6b.sh
@@ -18,7 +18,7 @@
# Keep this test in sync with sister test 'ar-lib6a.sh'.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ar-lib7.sh b/t/ar-lib7.sh
index c27cabf47..dd7d4a738 100755
--- a/t/ar-lib7.sh
+++ b/t/ar-lib7.sh
@@ -16,7 +16,7 @@
# Test if automake warns if ar-lib is missing when AM_PROG_AR is used.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR
diff --git a/t/ar.sh b/t/ar.sh
index da01d7537..5aa16812f 100755
--- a/t/ar.sh
+++ b/t/ar.sh
@@ -16,7 +16,7 @@
# Make sure that AR, ARFLAGS, and RANLIB can be substituted from configure.ac.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR
diff --git a/t/ar2.sh b/t/ar2.sh
index 88e90ca02..bcda001e1 100755
--- a/t/ar2.sh
+++ b/t/ar2.sh
@@ -17,7 +17,7 @@
# Make sure AR and ARFLAGS are defined for EXTRA_LIBRARIES.
# Report from Kevin Ryde.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ar3.sh b/t/ar3.sh
index f8bf855e9..3b3ab4e74 100755
--- a/t/ar3.sh
+++ b/t/ar3.sh
@@ -17,7 +17,7 @@
# Make sure that AR, ARFLAGS, etc. works also when the macro AM_PROG_AR
# is used.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ar4.sh b/t/ar4.sh
index dc82605b8..15c59138b 100755
--- a/t/ar4.sh
+++ b/t/ar4.sh
@@ -16,7 +16,7 @@
# Test if configure bails out if $AR does not work and AM_PROG_AR is used.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR
diff --git a/t/ar5.sh b/t/ar5.sh
index 50cf2b0ba..90c4f963e 100755
--- a/t/ar5.sh
+++ b/t/ar5.sh
@@ -16,7 +16,7 @@
# Test the optional argument of AM_PROG_AR.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR([
diff --git a/t/asm.sh b/t/asm.sh
index 48df68b2c..0ce4d07e9 100755
--- a/t/asm.sh
+++ b/t/asm.sh
@@ -17,7 +17,7 @@
# Test of basic assembly functionality.
# Keep this in sync with sister tests 'asm2.sh' and 'asm3.sh'.
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.stub
diff --git a/t/asm2.sh b/t/asm2.sh
index d62cb60b8..29ab10bf0 100755
--- a/t/asm2.sh
+++ b/t/asm2.sh
@@ -17,7 +17,7 @@
# Test of basic preprocessed assembly functionality.
# Keep this in sync with sister tests 'asm.sh' and 'asm3.sh'.
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.stub
diff --git a/t/asm3.sh b/t/asm3.sh
index 67bb876a6..8044c0829 100755
--- a/t/asm3.sh
+++ b/t/asm3.sh
@@ -17,7 +17,7 @@
# Test of basic preprocessed assembly functionality with extension '.sx'.
# Keep this in sync with sister tests 'asm.sh' and 'asm2.sh'.
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.stub
diff --git a/t/autodist-acconfig-no-subdir.sh b/t/autodist-acconfig-no-subdir.sh
index 474e05fa2..835d53ed8 100755
--- a/t/autodist-acconfig-no-subdir.sh
+++ b/t/autodist-acconfig-no-subdir.sh
@@ -18,7 +18,7 @@
# placed in a subdirectory.
# Related to automake bug#7819.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/autodist-acconfig.sh b/t/autodist-acconfig.sh
index 98db0a6cd..3dc417a87 100755
--- a/t/autodist-acconfig.sh
+++ b/t/autodist-acconfig.sh
@@ -18,7 +18,7 @@
# (at automake runtime).
# Related to automake bug#7819.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/autodist-aclocal-m4.sh b/t/autodist-aclocal-m4.sh
index a61d804e9..582171dfe 100755
--- a/t/autodist-aclocal-m4.sh
+++ b/t/autodist-aclocal-m4.sh
@@ -21,7 +21,7 @@
# remove this test.
# Related to automake bug#7819.
-. ./defs || exit 1
+. test-init.sh
{ echo 'm4_include([defs.m4])'
cat configure.ac
diff --git a/t/autodist-config-headers.sh b/t/autodist-config-headers.sh
index ad61fd667..ab86e8b5e 100755
--- a/t/autodist-config-headers.sh
+++ b/t/autodist-config-headers.sh
@@ -19,7 +19,7 @@
# exist at automake runtime.
# Related to automake bug#7819.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_CONFIG_HEADERS([config.h sub/config.h cfg2.h:conf2.hin])
diff --git a/t/autodist-configure-no-subdir.sh b/t/autodist-configure-no-subdir.sh
index a48a0a76c..8fd325beb 100755
--- a/t/autodist-configure-no-subdir.sh
+++ b/t/autodist-configure-no-subdir.sh
@@ -18,7 +18,7 @@
# automatically distributed when placed in a subdirectory.
# Related to automake bug#7819.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/autodist-no-duplicate.sh b/t/autodist-no-duplicate.sh
index 58742ceb5..20b3caf6c 100755
--- a/t/autodist-no-duplicate.sh
+++ b/t/autodist-no-duplicate.sh
@@ -17,7 +17,7 @@
# Check that there are no duplicates in the list of files automatically
# distributed by automake.
-. ./defs || exit 1
+. test-init.sh
re='Files .*automatically distributed.*if found'
diff --git a/t/autodist-stamp-vti.sh b/t/autodist-stamp-vti.sh
index 6d8b02d15..d8e2efda2 100755
--- a/t/autodist-stamp-vti.sh
+++ b/t/autodist-stamp-vti.sh
@@ -19,7 +19,7 @@
# Related to automake bug#7819.
required=makeinfo
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << END
AC_OUTPUT
diff --git a/t/autodist-subdir.sh b/t/autodist-subdir.sh
index 9af7128ac..0ca57dc40 100755
--- a/t/autodist-subdir.sh
+++ b/t/autodist-subdir.sh
@@ -24,7 +24,7 @@
#
# Keep this test in sync with sister test 'autodist.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/autodist.sh b/t/autodist.sh
index 2e591de38..9834508ed 100755
--- a/t/autodist.sh
+++ b/t/autodist.sh
@@ -20,7 +20,7 @@
# Keep this test in sync with sister test 'autodist-subdir.sh'.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/autohdr-subdir-pr12495.sh b/t/autohdr-subdir-pr12495.sh
index 77d2522bc..7517fd575 100755
--- a/t/autohdr-subdir-pr12495.sh
+++ b/t/autohdr-subdir-pr12495.sh
@@ -18,7 +18,7 @@
# remake rules for AC_CONFIG_HEADERS arguments after the first one,
# not even when subdirs are involved.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_HEADERS([a.h b.h sub/c.h])
diff --git a/t/autohdr.sh b/t/autohdr.sh
index 19daabeed..4079c7c57 100755
--- a/t/autohdr.sh
+++ b/t/autohdr.sh
@@ -16,7 +16,7 @@
# Check that autoheaders works, despite our AC_CONFIG_HEADERS hack.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_CONFIG_HEADERS([thisfile.h])
diff --git a/t/autohdr2.sh b/t/autohdr2.sh
deleted file mode 100755
index 292a800bd..000000000
--- a/t/autohdr2.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2002-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 that autoheaders works, despite our AC_CONFIG_HEADERS hack.
-
-. ./defs || exit 1
-
-cat >>configure.ac <<EOF
-AM_CONFIG_HEADER([thisfile.h])
-EOF
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOHEADER
-
-test -f thisfile.h.in
diff --git a/t/autohdr3.sh b/t/autohdr3.sh
index 0fccc535a..93ef52ec2 100755
--- a/t/autohdr3.sh
+++ b/t/autohdr3.sh
@@ -16,7 +16,7 @@
# Check rebuild rules for autoheader.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
m4_include([foo.m4])
diff --git a/t/autohdr4.sh b/t/autohdr4.sh
index fa1f8f0f6..6f46aaf65 100755
--- a/t/autohdr4.sh
+++ b/t/autohdr4.sh
@@ -18,7 +18,7 @@
# (This should also work without GNU Make.)
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_PROG_CC
diff --git a/t/autohdrdry.sh b/t/autohdrdry.sh
index 3bd474ea0..0a9acd36e 100755
--- a/t/autohdrdry.sh
+++ b/t/autohdrdry.sh
@@ -17,7 +17,7 @@
# Removal recovery rules for AC_CONFIG_HEADERS should not remove files
# with 'make -n'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_CONFIG_HEADERS([config.h])
@@ -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/automake-cmdline.tap b/t/automake-cmdline.tap
index dd8b30a48..eb8bf78ff 100755
--- a/t/automake-cmdline.tap
+++ b/t/automake-cmdline.tap
@@ -16,7 +16,7 @@
# Test Automake's command-line options.
-. ./defs || exit 1
+. test-init.sh
plan_ 17
diff --git a/t/auxdir-autodetect.sh b/t/auxdir-autodetect.sh
index 654a30348..580f631e3 100755
--- a/t/auxdir-autodetect.sh
+++ b/t/auxdir-autodetect.sh
@@ -17,7 +17,7 @@
# Make sure that, if AC_CONFIG_AUX_DIR is not specified, Automake tries
# to use '.', '..' and '../..', in precisely that order.
-. ./defs || exit 1
+. test-init.sh
nil=__no_such_program
diff --git a/t/auxdir-computed.tap b/t/auxdir-computed.tap
index 95d1003a1..324d8256f 100755
--- a/t/auxdir-computed.tap
+++ b/t/auxdir-computed.tap
@@ -17,7 +17,7 @@
# It should be possible to use a computed auxdir. This might seem
# bizarre, but it is actually used in multilib builds.
-. ./defs || exit 1
+. test-init.sh
plan_ 3
diff --git a/t/auxdir-misplaced.sh b/t/auxdir-misplaced.sh
index 87259b297..98e059173 100755
--- a/t/auxdir-misplaced.sh
+++ b/t/auxdir-misplaced.sh
@@ -16,7 +16,7 @@
# Test to make sure we diagnose misplaced AC_CONFIG_AUX_DIR.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_AUX_DIR([.]) dnl this will appear after AM_INIT_AUTOMAKE
diff --git a/t/auxdir-nonexistent.sh b/t/auxdir-nonexistent.sh
index 43eeed2ce..82c46b01c 100755
--- a/t/auxdir-nonexistent.sh
+++ b/t/auxdir-nonexistent.sh
@@ -16,7 +16,7 @@
# Make sure we diagnose non-existent AC_CONFIG_AUX_DIR names.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/auxdir-unportable.tap b/t/auxdir-unportable.tap
index 8f06999fc..c68740608 100755
--- a/t/auxdir-unportable.tap
+++ b/t/auxdir-unportable.tap
@@ -16,7 +16,7 @@
# Make sure we diagnose unportable AC_CONFIG_AUX_DIR names.
-. ./defs || exit 1
+. test-init.sh
plan_ 4
diff --git a/t/auxdir.sh b/t/auxdir.sh
index c7f7d7320..ea16e44f4 100755
--- a/t/auxdir.sh
+++ b/t/auxdir.sh
@@ -16,7 +16,7 @@
# Test to make sure AC_CONFIG_AUX_DIR works correctly.
-. ./defs || exit 1
+. test-init.sh
# The "./." is here so we don't have to mess with subdirs.
cat > configure.ac <<END
diff --git a/t/auxdir6.sh b/t/auxdir6.sh
index b07cd13a3..2f81b83f9 100755
--- a/t/auxdir6.sh
+++ b/t/auxdir6.sh
@@ -20,7 +20,7 @@
# config auxdir.
# Keep this in sync with sister tests 'auxdir7.sh' and 'auxdir8.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/auxdir7.sh b/t/auxdir7.sh
index 2c82bcbde..ed4cb1e30 100755
--- a/t/auxdir7.sh
+++ b/t/auxdir7.sh
@@ -19,7 +19,7 @@
# making the top-level directory the config auxdir.
# Keep this in sync with sister tests 'auxdir6.sh' and 'auxdir8.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/auxdir8.sh b/t/auxdir8.sh
index c4043293c..55c0afd94 100755
--- a/t/auxdir8.sh
+++ b/t/auxdir8.sh
@@ -21,7 +21,7 @@
# directory.
# Keep this in sync with sister tests 'auxdir6.sh' and 'auxdir7.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index e69a9046b..d3351d2d0 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -616,13 +616,6 @@ require_tool ()
makedepend -f- \
|| skip_all_ "required program 'makedepend' not available"
;;
- makeinfo-html)
- # Make sure we have makeinfo, and it understands '--html'.
- echo "$me: running makeinfo --html --version"
- makeinfo --html --version \
- || skip_all_ "cannot find a makeinfo program that groks" \
- "the '--html' option"
- ;;
mingw)
uname_s=$(uname -s || echo UNKNOWN)
echo "$me: system name: $uname_s"
@@ -696,12 +689,6 @@ require_tool ()
skip_all_ "TeX is required, but it wasn't found by configure"
fi
;;
- texi2dvi-o)
- # Texi2dvi supports '-o' since Texinfo 4.1.
- echo "$me: running texi2dvi -o /dev/null --version"
- texi2dvi -o /dev/null --version \
- || skip_all_ "required program 'texi2dvi' not available"
- ;;
lex)
test x"$LEX" = x"false" && skip_all_ "lex not found or disabled"
export LEX
@@ -783,9 +770,9 @@ am_setup_testdir ()
{
echo "AC_INIT([$me], [1.0])"
if test x"$am_serial_tests" = x"yes"; then
- echo "AM_INIT_AUTOMAKE"
+ echo "AM_INIT_AUTOMAKE([serial-tests])"
else
- echo "AM_INIT_AUTOMAKE([parallel-tests])"
+ echo "AM_INIT_AUTOMAKE"
fi
echo "AC_CONFIG_FILES([Makefile])"
} >configure.ac || framework_failure_ "creating configure.ac skeleton"
diff --git a/t/ax/depcomp.sh b/t/ax/depcomp.sh
index f8e372f16..4094a37eb 100644
--- a/t/ax/depcomp.sh
+++ b/t/ax/depcomp.sh
@@ -67,7 +67,7 @@
# -------------------------------------------------------------------------
-# This expects ./defs has already been included has already been included..
+# This code expects test-init.sh has already been included in advance.
ocwd=$(pwd) || fatal_ "getting current working directory"
longpath=this-is/a-path/which-has/quite-a/definitely/truly/long_long_name
diff --git a/t/ax/extract-testsuite-summary.pl b/t/ax/extract-testsuite-summary.pl
index 28a9c3560..a8b634373 100644
--- a/t/ax/extract-testsuite-summary.pl
+++ b/t/ax/extract-testsuite-summary.pl
@@ -1,6 +1,6 @@
#! /usr/bin/env perl
-# Extract the testsuite summary generated by the parallel-tests harness
-# from the output of "make check".
+# Extract the testsuite summary generated by the parallel testsuite
+# harness from the output of "make check".
# Copyright (C) 2012 Free Software Foundation, Inc.
diff --git a/t/ax/tap-setup.sh b/t/ax/tap-setup.sh
index 952a49dfa..bd7efe303 100644
--- a/t/ax/tap-setup.sh
+++ b/t/ax/tap-setup.sh
@@ -22,7 +22,7 @@
# Check that we are running from a proper directory: last thing we want
# is to overwrite some random user files.
-test -f ../../automake && test -f ../../defs && test -d ../../t \
+test -f ../../automake && test -f ../../runtest && test -d ../../t \
|| fatal_ "running from a wrong directory"
test ! -f Makefile.am || mv Makefile.am Makefile.am~ \
diff --git a/t/ax/tap-summary-aux.sh b/t/ax/tap-summary-aux.sh
index 156c4ad83..6f03b6967 100644
--- a/t/ax/tap-summary-aux.sh
+++ b/t/ax/tap-summary-aux.sh
@@ -16,7 +16,7 @@
# Auxiliary script for tests on TAP support: checking testsuite summary.
-. ./defs || exit 1
+. test-init.sh
br='============================================================================'
@@ -29,7 +29,7 @@ fetch_tap_driver
cat > configure.ac <<END
AC_INIT([GNU AutoTAP], [5.12], [bug-automake@gnu.org])
-AM_INIT_AUTOMAKE([parallel-tests])
+AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
@@ -89,7 +89,6 @@ if test $use_colors = yes; then
mgn="$esc[0;35m"
brg="$esc[1m"
std="$esc[m"
- echo AUTOMAKE_OPTIONS = color-tests >> Makefile.am
else
red= grn= lgn= blu= mgn= brg= std=
fi
diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh
index 54d76cd04..7e65efbf6 100644
--- a/t/ax/testsuite-summary-checks.sh
+++ b/t/ax/testsuite-summary-checks.sh
@@ -14,13 +14,13 @@
# 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 the testsuite summary with the parallel-tests harness. This
+# Check the testsuite summary with the parallel test harness. This
# script is meant to be sourced by other test script, so that it can
# be used to check different scenarios (colorized and non-colorized
# testsuite output, packages with and without bug-report addresses,
# testsuites in subdirectories, ...)
-. ./defs || exit 1
+. test-init.sh
case $use_colors in
yes)
@@ -28,10 +28,8 @@ case $use_colors in
# Forced colorization should take place also with non-ANSI
# terminals; hence this setting.
TERM=dumb; export TERM
- am_opts='parallel-tests color-tests'
;;
no)
- am_opts='parallel-tests'
;;
*)
fatal_ "invalid use_colors='$use_colors'";;
@@ -39,7 +37,7 @@ esac
cat > configure.ac <<END
AC_INIT([GNU AutoFoo], [7.1], [bug-automake@gnu.org])
-AM_INIT_AUTOMAKE([$am_opts])
+AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
diff --git a/t/backcompat4.sh b/t/backcompat-acout.sh
index f2e552bf5..c483be504 100755
--- a/t/backcompat4.sh
+++ b/t/backcompat-acout.sh
@@ -16,7 +16,7 @@
# Backward-compatibility: AC_OUTPUT with arguments.
-. ./defs || exit 1
+. test-init.sh
mkdir sub
: > Makefile.am
diff --git a/t/backcompat.sh b/t/backcompat.sh
index 214515d17..ee7906ea8 100755
--- a/t/backcompat.sh
+++ b/t/backcompat.sh
@@ -17,7 +17,7 @@
# Test usage of AM_INIT_AUTOMAKE with two or three arguments, for
# backward-compatibility.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<'END'
.PHONY: test display
diff --git a/t/backcompat2.sh b/t/backcompat2.sh
index 109483b47..fe3bb07cd 100755
--- a/t/backcompat2.sh
+++ b/t/backcompat2.sh
@@ -19,7 +19,7 @@
# third argument is empty or non-existent.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
# A trick to make the test run muuuch faster, by avoiding repeated
# runs of aclocal (one order of magnitude improvement in speed!).
diff --git a/t/backcompat3.sh b/t/backcompat3.sh
index f25bd57c0..b245e36fc 100755
--- a/t/backcompat3.sh
+++ b/t/backcompat3.sh
@@ -18,7 +18,7 @@
# AM_INIT_AUTOMAKE are both given two or more arguments.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
empty=''
@@ -76,15 +76,8 @@ diff exp got
### Run 2 ###
cat > configure.ac <<'END'
-dnl: 'AC_INIT' in Autoconf <= 2.63 doesn't have an URL argument.
-dnl: Luckily, 'AC_AUTOCONF_VERSION' and 'm4_version_prereq' are
-dnl: both present in autoconf 2.62, which we require; so that we
-dnl: can at least use the following workaround.
-m4_version_prereq([2.64],
- [AC_INIT([ac_name], [ac_version], [ac_bugreport], [ac_tarname],
- [ac_url])],
- [AC_INIT([ac_name], [ac_version], [ac_bugreport], [ac_tarname])
- AC_SUBST([PACKAGE_URL], [ac_url])])
+AC_INIT([ac_name], [ac_version], [ac_bugreport], [ac_tarname],
+ [ac_url])],
AM_INIT_AUTOMAKE([am_name], [am_version])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/t/backcompat5.sh b/t/backcompat5.sh
deleted file mode 100755
index caeac07cf..000000000
--- a/t/backcompat5.sh
+++ /dev/null
@@ -1,126 +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/>.
-
-# Backward-compatibility test: try to build and distribute a package
-# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT,
-# and configure.in as autoconf input file.
-# This script can also serve as mild stress-testing for Automake.
-# See also the similar test 'backcompat6.sh'.
-
-am_serial_tests=yes
-am_create_testdir=empty
-. ./defs || exit 1
-
-makefiles='hacky/Makefile src/Makefile data/Makefile tests/Makefile'
-
-# Yuck!
-cat > configure.in <<END
-dnl: Everything here is *deliberately* underquoted!
-AC_INIT(src/foo.input)
-AM_INIT_AUTOMAKE(foo, 1.0)
-AC_CONFIG_FILES(Makefile:mkfile.in)
-AC_OUTPUT($makefiles)
-END
-
-distdir=foo-1.0
-
-cat > mkfile.am <<'END'
-SUBDIRS = src data tests hacky
-installcheck-local:
- grep DataDataData $(DESTDIR)$(prefix)/data/$(PACKAGE)-$(VERSION)/bar
-END
-
-mkdir hacky src tests data
-
-echo 'This is a dummy package' > README
-
-cat > src/foo.input <<'END'
-#!sh
-echo Zardoz
-END
-
-cat > tests/a.test <<'END'
-#!/bin/sh
-"$srcdir/../src/foo" | grep Zardoz
-END
-chmod a+x tests/a.test
-
-cat > data/bar <<'END'
-line1
-line2
-line3
-END
-
-cat >hacky/Makefile.am <<'END'
-dist-hook:
- find $(top_distdir) -print
- chmod a+rx $(top_distdir)/tests/*.test
-END
-
-cat > src/Makefile.am <<'END'
-dist_bin_SCRIPTS = foo
-foo: foo.input
- sed '1s,^#!.*$$,#!/bin/sh,' $(srcdir)/foo.input >$@
- chmod a+x $@
-EXTRA_DIST = foo.input
-DISTCLEANFILES = foo
-END
-
-cat > data/Makefile.am <<'END'
-nodist_data_DATA = bar
-datadir = $(prefix)/data/$(PACKAGE)-$(VERSION)
-bar:
- echo DataDataData >$@
-distclean-local:
- rm -f bar
-END
-
-cat > tests/Makefile.am <<'END'
-TESTS = a.test
-EXTRA_DIST = $(TESTS)
-END
-
-$ACLOCAL -Wno-obsolete
-$AUTOCONF
-$AUTOMAKE -a -Wno-obsolete
-test -f install-sh
-for f in $makefiles; do mv -f $f.in $f.sav; done
-$AUTOMAKE -Wno-obsolete
-for f in $makefiles; do diff $f.sav $f.in; done
-
-./configure
-ls -l . hacky src data tests # For debugging.
-test ! -e mkfile
-$MAKE
-$MAKE distdir
-test ! -e $distdir/Makefile.in
-test ! -e $distdir/data/bar
-test -f $distdir/src/foo
-diff README $distdir/README
-diff mkfile.in $distdir/mkfile.in
-diff tests/a.test $distdir/tests/a.test
-diff src/foo.input $distdir/src/foo.input
-
-$MAKE check
-$MAKE distcheck
-
-test -f $distdir.tar.gz
-
-chmod a-x tests/a.test
-# dist-hook should take care of making test files executables.
-$MAKE distcheck
-
-:
diff --git a/t/backcompat6.sh b/t/backcompat6.sh
index ee86e3644..b99321a72 100755
--- a/t/backcompat6.sh
+++ b/t/backcompat6.sh
@@ -18,15 +18,15 @@
# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT,
# and 'configure.in' as autconf input file.
# This script can also serve as mild stress-testing for Automake.
-# See also the similar test 'backcompat5.sh'.
+# See also the similar test 'backcompat5.test'.
required=cc
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
# Anyone doing something like this in a real-life package probably
# deserves to be killed.
-cat > configure.in <<'END'
+cat > configure.ac <<'END'
dnl: Everything here is *deliberately* underquoted!
AC_INIT(quux.c)
PACKAGE=nonesuch-zardoz
@@ -98,7 +98,7 @@ $MAKE check
distdir=nonesuch-zardoz-nonesuch-0.1
$MAKE distdir
test -f $distdir/quux.c
-test ! -e $distdir/foo.got
+test ! -f $distdir/foo.got
$MAKE distcheck
diff --git a/t/backsl.sh b/t/backsl.sh
index fb34ee169..a781e8010 100755
--- a/t/backsl.sh
+++ b/t/backsl.sh
@@ -16,7 +16,7 @@
# Test for "\" problems. Bug report from Joerg-Martin Schwarz.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/backsl2.sh b/t/backsl2.sh
index 5d9d6d158..10046f927 100755
--- a/t/backsl2.sh
+++ b/t/backsl2.sh
@@ -17,7 +17,7 @@
# We must skip the backslash, not complain about './\' not existing.
# Reported by Rick Scott <rwscott@omnisig.com>
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUBDIRS = \
diff --git a/t/backsl3.sh b/t/backsl3.sh
index 7891753f2..b17631db0 100755
--- a/t/backsl3.sh
+++ b/t/backsl3.sh
@@ -17,7 +17,7 @@
# Make sure we diagnose trailing backslash at the end of a file.
# Report from Akim Demaile <akim@epita.fr>.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
foo = \
diff --git a/t/backsl4.sh b/t/backsl4.sh
index 707d35860..7ac4c860d 100755
--- a/t/backsl4.sh
+++ b/t/backsl4.sh
@@ -17,7 +17,7 @@
# Make sure we diagnose and fix white spaces following backslash.
# Report from Peter Muir.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >>configure.ac
diff --git a/t/badline.sh b/t/badline.sh
index 3d714250a..e6eb5c80e 100755
--- a/t/badline.sh
+++ b/t/badline.sh
@@ -17,7 +17,7 @@
# Test to make sure that line number and file name in error message
# referring to variable is always correct.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/badopt.sh b/t/badopt.sh
index b548a4f53..927a10deb 100755
--- a/t/badopt.sh
+++ b/t/badopt.sh
@@ -16,7 +16,7 @@
# Test to make sure bad options cause error.
-. ./defs || exit 1
+. test-init.sh
echo 'AUTOMAKE_OPTIONS = zardoz' > Makefile.am
diff --git a/t/badprog.sh b/t/badprog.sh
index 6134e3e57..e8df06a3b 100755
--- a/t/badprog.sh
+++ b/t/badprog.sh
@@ -17,7 +17,7 @@
# Test to make sure that programs with bad names are properly
# transformed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/block.sh b/t/block.sh
index 7cdb5ff27..a50b9d3e7 100755
--- a/t/block.sh
+++ b/t/block.sh
@@ -17,7 +17,7 @@
# Make sure block comments are not double-spaced.
# Report from François Pinard.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
#START
diff --git a/t/built-sources-check.sh b/t/built-sources-check.sh
index d4d3c51e2..3e0204c88 100755
--- a/t/built-sources-check.sh
+++ b/t/built-sources-check.sh
@@ -18,7 +18,7 @@
# PR/359.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([dir/Makefile])
diff --git a/t/built-sources-cond.sh b/t/built-sources-cond.sh
index ac78a9756..a09334ff4 100755
--- a/t/built-sources-cond.sh
+++ b/t/built-sources-cond.sh
@@ -16,7 +16,7 @@
# Interaction of BUILT_SOURCES with conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AM_CONDITIONAL([COND1], [test $cond1 = yes])
diff --git a/t/built-sources-fork-bomb.sh b/t/built-sources-fork-bomb.sh
index fac37505f..bfb1b4283 100755
--- a/t/built-sources-fork-bomb.sh
+++ b/t/built-sources-fork-bomb.sh
@@ -24,7 +24,7 @@
# Backported to improve coverage of mainline Automake.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/built-sources-install.sh b/t/built-sources-install.sh
index 2f53bb51e..e1c0bbc07 100755
--- a/t/built-sources-install.sh
+++ b/t/built-sources-install.sh
@@ -17,7 +17,7 @@
# Make sure 'install:' honors $(BUILT_SOURCES).
# PR/359.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([dir/Makefile])
diff --git a/t/built-sources-subdir.sh b/t/built-sources-subdir.sh
index cc162bb99..b1c7764ca 100755
--- a/t/built-sources-subdir.sh
+++ b/t/built-sources-subdir.sh
@@ -19,7 +19,7 @@
# all-recursive-am which depended on BUILT_SOURCES.
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir lib
diff --git a/t/built-sources.sh b/t/built-sources.sh
index 517313660..2f960b0aa 100755
--- a/t/built-sources.sh
+++ b/t/built-sources.sh
@@ -17,7 +17,7 @@
# Basic test on BUILT_SOURCES.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/candist.sh b/t/candist.sh
index d87836a97..4c8416410 100755
--- a/t/candist.sh
+++ b/t/candist.sh
@@ -16,7 +16,7 @@
# Test to make sure things that cannot be dist_'ed are diagnosed.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >>configure.ac
diff --git a/t/canon-name.sh b/t/canon-name.sh
index 59f8d8dbe..460fb8938 100755
--- a/t/canon-name.sh
+++ b/t/canon-name.sh
@@ -17,7 +17,7 @@
# PR 511: Make sure we warn about e.g. AC_CONFIG_FILES([./gmakefile]),
# as not all make implementations treat 'file' and './file' equally.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/canon.sh b/t/canon.sh
index 8b3c75633..5b229489c 100755
--- a/t/canon.sh
+++ b/t/canon.sh
@@ -16,7 +16,7 @@
# Test to make sure that name canonicalization error works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/canon2.sh b/t/canon2.sh
index d9869e8a3..f79c2a563 100755
--- a/t/canon2.sh
+++ b/t/canon2.sh
@@ -16,7 +16,7 @@
# Test to make sure name canonicalization happens for texinfo.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = zar-doz.texi
diff --git a/t/canon3.sh b/t/canon3.sh
index 4a95cb5d3..2efdd4c9c 100755
--- a/t/canon3.sh
+++ b/t/canon3.sh
@@ -16,7 +16,7 @@
# Yet another canonicalization test.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/canon4.sh b/t/canon4.sh
index c79b15141..eea87aa94 100755
--- a/t/canon4.sh
+++ b/t/canon4.sh
@@ -17,7 +17,7 @@
# Test to make sure name canonicalization happens for static libraries.
# Keep this in sync with sister test 'canon6.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/canon5.sh b/t/canon5.sh
index 124da0211..dd66ec025 100755
--- a/t/canon5.sh
+++ b/t/canon5.sh
@@ -17,7 +17,7 @@
# Test to make sure that we allow variable names starting in
# non-letters. Whatever that might mean.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/canon6.sh b/t/canon6.sh
index 9c7fd94bf..aa1be20ec 100755
--- a/t/canon6.sh
+++ b/t/canon6.sh
@@ -18,7 +18,7 @@
# Keep this in sync with sister test 'canon4.sh'.
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/canon7.sh b/t/canon7.sh
index 8ffeffbf8..853db0a75 100755
--- a/t/canon7.sh
+++ b/t/canon7.sh
@@ -17,7 +17,7 @@
# Stress test on canonicalization.
required='cc libtool libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/canon8.sh b/t/canon8.sh
index bb5e7f932..4c29f6db2 100755
--- a/t/canon8.sh
+++ b/t/canon8.sh
@@ -16,7 +16,7 @@
# Check that canonicalization does not transliterate the '@' charactrer.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ccnoco.sh b/t/ccnoco.sh
index 2e5bd4fb0..960860c61 100755
--- a/t/ccnoco.sh
+++ b/t/ccnoco.sh
@@ -18,7 +18,7 @@
# understand '-c -o'.
required=gcc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
@@ -53,7 +53,8 @@ case " \$* " in
;;
esac
-# Use '$CC', not 'gcc', to honour the compiler chosen by 't/defs'.
+# Use '$CC', not 'gcc', to honour the compiler chosen
+# by the testsuite setup.
exec $CC "\$@"
END
diff --git a/t/ccnoco2.sh b/t/ccnoco2.sh
index dcb6fa70d..523018224 100755
--- a/t/ccnoco2.sh
+++ b/t/ccnoco2.sh
@@ -17,7 +17,7 @@
# Make sure Automake requires AM_PROG_CC_C_O when either per-targets
# flags or subdir-objects are used.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CC
diff --git a/t/ccnoco3.sh b/t/ccnoco3.sh
index ff773f4ca..417f0c136 100755
--- a/t/ccnoco3.sh
+++ b/t/ccnoco3.sh
@@ -17,7 +17,7 @@
# Test to make sure 'compile' doesn't call 'mv SRC SRC'.
required=gcc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
@@ -52,7 +52,8 @@ case " \$* " in
;;
esac
-# Use '$CC', not 'gcc', to honour the compiler chosen by 't/defs'.
+# Use '$CC', not 'gcc', to honour the compiler chosen
+# by the testsuite setup.
exec $CC "\$@"
END
diff --git a/t/check-concurrency-bug9245.sh b/t/check-concurrency-bug9245.sh
index 79e8ffcf9..ac0e66b91 100755
--- a/t/check-concurrency-bug9245.sh
+++ b/t/check-concurrency-bug9245.sh
@@ -18,7 +18,7 @@
# even when the Automake-generated parallel testsuite harness failed.
# See automake bug#9245.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/check-exported-srcdir.sh b/t/check-exported-srcdir.sh
index baa8c4003..26d481ff2 100755
--- a/t/check-exported-srcdir.sh
+++ b/t/check-exported-srcdir.sh
@@ -15,11 +15,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check that the testsuite driver (either with or without the
-# parallel-tests option enabled) exports the 'srcdir' value in the
+# serial-tests option enabled) exports the 'srcdir' value in the
# environment of the tests. This is documented in the manual.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
show_info ()
{
diff --git a/t/check-fd-redirect.sh b/t/check-fd-redirect.sh
index a11d0cdf8..3eeb52c3f 100755
--- a/t/check-fd-redirect.sh
+++ b/t/check-fd-redirect.sh
@@ -19,7 +19,7 @@
# See also related test 'parallel-tests-fd-redirect.sh'.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/check-no-test-driver.sh b/t/check-no-test-driver.sh
index 7df5251f8..9632e8e8d 100755
--- a/t/check-no-test-driver.sh
+++ b/t/check-no-test-driver.sh
@@ -15,13 +15,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check that auxiliary script 'test-driver' doesn't get needlessly
-# installed or referenced when the 'parallel-tests' option is not
-# used.
+# installed or referenced when the 'serial-tests' option is used.
am_serial_tests=yes
-. ./defs || exit 1
+. test-init.sh
-echo 'TESTS = foo.test' > Makefile.am
+cat > Makefile.am <<'END'
+AUTOMAKE_OPTIONS = serial-tests
+TESTS = foo.test
+END
$ACLOCAL
diff --git a/t/check-subst-prog.sh b/t/check-subst-prog.sh
index 77538cd9e..5400220b0 100755
--- a/t/check-subst-prog.sh
+++ b/t/check-subst-prog.sh
@@ -19,7 +19,7 @@
# For gen-testsuite-part: ==> try-with-serial-tests <==
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/check-subst.sh b/t/check-subst.sh
index b84762ed7..47d635922 100755
--- a/t/check-subst.sh
+++ b/t/check-subst.sh
@@ -16,11 +16,11 @@
# Check @substituted@ TESTS.
# Note that in this test, we rely on the .test extension for the
-# substituted names: this is necessary for parallel-tests.
+# substituted names: this is necessary for the parallel harness.
# See also sister test 'check-subst-prog.sh'.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([script_tests], ['subst-pass-script.sh subst-xfail-script.sh'])
diff --git a/t/check-tests-in-builddir.sh b/t/check-tests-in-builddir.sh
index de453d222..2421b2a9b 100755
--- a/t/check-tests-in-builddir.sh
+++ b/t/check-tests-in-builddir.sh
@@ -18,7 +18,7 @@
# well as in builddir, and that is prefers those in the builddir.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
@@ -54,8 +54,8 @@ chmod a+x bar.test
$MAKE check >out 2>&1 || { cat out; exit 1; }
cat out
-# The simple-tests driver does not strip VPATH components from
-# the name of the test, but the parallel-tests driver should.
+# The serial test driver does not strip VPATH components from
+# the name of the test, but the parallel driver should.
if test x"$am_serial_tests" = x"yes"; then
grep '^PASS: .*foo\.test *$' out
else
@@ -68,8 +68,8 @@ rm -f test-suite.log foo.log bar.log
FOO_EXIT_STATUS=1 $MAKE check >out 2>&1 && { cat out; exit 1; }
cat out
-# The simple-tests driver does not strip VPATH components from
-# the name of the test, but the parallel-tests driver should.
+# The serial test driver does not strip VPATH components from
+# the name of the test, but the parallel driver should.
if test x"$am_serial_tests" = x"yes"; then
grep '^FAIL: .*foo\.test *$' out
else
diff --git a/t/check.sh b/t/check.sh
index 1717e3b05..74fdaa3dd 100755
--- a/t/check.sh
+++ b/t/check.sh
@@ -17,7 +17,7 @@
# Test Automake style tests.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TESTS = frob.test
diff --git a/t/check10.sh b/t/check10.sh
index e76773c16..1751b60c3 100755
--- a/t/check10.sh
+++ b/t/check10.sh
@@ -18,7 +18,7 @@
# This test only makes sense for the older serial testsuite driver.
am_serial_tests=yes
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/check11.sh b/t/check11.sh
index 2fa489a44..90a5676d7 100755
--- a/t/check11.sh
+++ b/t/check11.sh
@@ -17,7 +17,7 @@
# Check skip summary.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/check12.sh b/t/check12.sh
index 53cc4e626..0294d2571 100755
--- a/t/check12.sh
+++ b/t/check12.sh
@@ -19,7 +19,7 @@
# For gen-testsuite-part: ==> try-with-serial-tests <==
required=runtest
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/check2.sh b/t/check2.sh
index 2332fd607..8b7902421 100755
--- a/t/check2.sh
+++ b/t/check2.sh
@@ -17,7 +17,7 @@
# Test Automake style tests.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([dir/Makefile])
diff --git a/t/check4.sh b/t/check4.sh
index 946290f34..f351c0cce 100755
--- a/t/check4.sh
+++ b/t/check4.sh
@@ -17,7 +17,7 @@
# Make sure 'make -k check' processes all directories.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([dir/Makefile])
diff --git a/t/check5.sh b/t/check5.sh
index 50113b96a..2f57e56b6 100755
--- a/t/check5.sh
+++ b/t/check5.sh
@@ -18,7 +18,7 @@
# For gen-testsuite-part: ==> try-with-serial-tests <==
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/check6.sh b/t/check6.sh
index d885713e8..d0965b1ca 100755
--- a/t/check6.sh
+++ b/t/check6.sh
@@ -18,7 +18,7 @@
# Also test that Solaris make VPATH rewriting is honored
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/check7.sh b/t/check7.sh
index e77249fd0..52a52bcc8 100755
--- a/t/check7.sh
+++ b/t/check7.sh
@@ -18,7 +18,7 @@
# For gen-testsuite-part: ==> try-with-serial-tests <==
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/check8.sh b/t/check8.sh
index b968c3a0d..9651c0d44 100755
--- a/t/check8.sh
+++ b/t/check8.sh
@@ -18,7 +18,7 @@
# For gen-testsuite-part: ==> try-with-serial-tests <==
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
@@ -75,7 +75,7 @@ grep '^[^X]*PASS.* bar' stdout
grep '^[^X]*PASS.* sub/bar' stdout
grep '^[^X]*FAIL.* baz' stdout
grep 'XFAIL.* sub/baz' stdout
-# 'parallel-tests' should not add circular dependencies.
+# The parallel test driver should cause circular dependencies.
# Look for known warnings from a couple of 'make' implementations.
grep -i 'circular.*dependency' stderr && exit 1
grep -i 'graph cycles' stderr && exit 1
diff --git a/t/checkall.sh b/t/checkall.sh
index 43205745e..d030738ac 100755
--- a/t/checkall.sh
+++ b/t/checkall.sh
@@ -16,7 +16,7 @@
# Test for bug where check target doesn't depend on all.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_SCRIPTS = derived
diff --git a/t/clean.sh b/t/clean.sh
index 80f56df03..683629c3e 100755
--- a/t/clean.sh
+++ b/t/clean.sh
@@ -16,7 +16,7 @@
# Test to make sure a clean target depends on previous one.
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/colneq.sh b/t/colneq.sh
index 6df427f30..1db536ab7 100755
--- a/t/colneq.sh
+++ b/t/colneq.sh
@@ -16,7 +16,7 @@
# Test that := definitions produce warnings, but otherwise work.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
ICONS := $(wildcard *.xbm)
diff --git a/t/colneq2.sh b/t/colneq2.sh
index 124b6d282..7d5d121f0 100755
--- a/t/colneq2.sh
+++ b/t/colneq2.sh
@@ -16,7 +16,7 @@
# Test that := in var substitutions works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/colneq3.sh b/t/colneq3.sh
index 4211131c7..dd1adaa43 100755
--- a/t/colneq3.sh
+++ b/t/colneq3.sh
@@ -17,7 +17,7 @@
# Test that := definitions work as expected at make time.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/colon.sh b/t/colon.sh
index f3e95a6e3..33cf35b19 100755
--- a/t/colon.sh
+++ b/t/colon.sh
@@ -17,7 +17,7 @@
# Test for bug reported by Nyul Laszlo. When using the ":" syntax in
# AC_OUTPUT, Automake fails to find the correct file.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_FILES([foo.h:foo.hin])
diff --git a/t/colon2.sh b/t/colon2.sh
index febf20a29..fde35239f 100755
--- a/t/colon2.sh
+++ b/t/colon2.sh
@@ -17,7 +17,7 @@
# Make sure ":" works with files automake generates.
# See also sister test 'colon3.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/colon3.sh b/t/colon3.sh
index e594d6fb4..49a619161 100755
--- a/t/colon3.sh
+++ b/t/colon3.sh
@@ -18,7 +18,7 @@
# This test is for multiple ":"s.
# See also sister test 'colon2.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/colon4.sh b/t/colon4.sh
index 34f0571d2..fa4b67574 100755
--- a/t/colon4.sh
+++ b/t/colon4.sh
@@ -18,7 +18,7 @@
# rebuild rules.
# Test from Maciej W. Rozycki.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_CONFIG_FILES([zardoz:one:two:three])
diff --git a/t/colon5.sh b/t/colon5.sh
index c600679bd..2b7d55b07 100755
--- a/t/colon5.sh
+++ b/t/colon5.sh
@@ -16,7 +16,7 @@
# Another multi-":" test, this time from Doug Evans.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/colon6.sh b/t/colon6.sh
index d89deaa9d..8bfb14604 100755
--- a/t/colon6.sh
+++ b/t/colon6.sh
@@ -16,7 +16,7 @@
# Yet another multi-":" test, this time from Ken Pizzini.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/colon7.sh b/t/colon7.sh
index 51607c63e..b2183d709 100755
--- a/t/colon7.sh
+++ b/t/colon7.sh
@@ -17,7 +17,7 @@
# Another test for a failing ":" in AC_OUTPUT.
# Report from Maciej Stachowiak.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([colon7], [1.0])
diff --git a/t/version.sh b/t/color-tests-opt.sh
index acfbbe6eb..ac26ab7a9 100755
--- a/t/version.sh
+++ b/t/color-tests-opt.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 2007-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
@@ -14,28 +14,26 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test to make sure [...] is ok in version number. Report from Jim
-# Meyering.
+# Check that the 'color-tests' option, now active by default, is
+# nonetheless still silently accepted, for backward compatibility.
-. ./defs || exit 1
+. test-init.sh
-cat > configure.ac << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE([sh-utils], [1.12o])
+cat >configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE([color-tests])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
-: > Makefile.am
+cat >Makefile.am <<END
+AUTOMAKE_OPTIONS = color-tests
+TESTS = foo.test
+END
-# Files required by Gnits.
-: > INSTALL
-: > NEWS
-: > README
-: > COPYING
-: > AUTHORS
-: > ChangeLog
-: > THANKS
+: > test-driver
$ACLOCAL
-$AUTOMAKE --gnits -Wno-obsolete
+$AUTOMAKE
+
+:
diff --git a/t/color.sh b/t/color-tests.sh
index 97063d711..b90446e4b 100755
--- a/t/color.sh
+++ b/t/color-tests.sh
@@ -19,7 +19,7 @@
required='grep-nonprint'
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
# Escape '[' for grep, below.
red="$esc\[0;31m"
@@ -34,7 +34,6 @@ AC_OUTPUT
END
cat >Makefile.am <<'END'
-AUTOMAKE_OPTIONS = color-tests
TESTS = $(check_SCRIPTS)
check_SCRIPTS = pass fail skip xpass xfail error
XFAIL_TESTS = xpass xfail
diff --git a/t/color2.sh b/t/color-tests2.sh
index 96b644735..174d734e1 100755
--- a/t/color2.sh
+++ b/t/color-tests2.sh
@@ -19,7 +19,7 @@
required='grep-nonprint'
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
# Escape '[' for grep, below.
red="$esc\[0;31m"
@@ -58,12 +58,14 @@ rm -f expect-check Makefile
# Do the tests.
-cat >>configure.ac <<END
+cat >>configure.ac << 'END'
+if $testsuite_colorized; then :; else
+ AC_SUBST([AM_COLOR_TESTS], [no])
+fi
AC_OUTPUT
END
cat >Makefile.am <<'END'
-AUTOMAKE_OPTIONS = color-tests
TESTS = $(check_SCRIPTS)
check_SCRIPTS = pass fail skip xpass xfail error
XFAIL_TESTS = xpass xfail
@@ -182,6 +184,18 @@ for vpath in false :; do
cat stdout
test_no_color
+ $srcdir/configure testsuite_colorized=false
+
+ TERM=ansi MAKE=$MAKE expect -f $srcdir/expect-make >stdout \
+ || { cat stdout; exit 1; }
+ cat stdout
+ test_no_color
+
+ TERM=ansi MAKE="env AM_COLOR_TESTS=always $MAKE" \
+ expect -f $srcdir/expect-make >stdout || { cat stdout; exit 1; }
+ cat stdout
+ test_color
+
$MAKE distclean
cd $srcdir
diff --git a/t/commen10.sh b/t/commen10.sh
index 1bc60f008..ea5144795 100755
--- a/t/commen10.sh
+++ b/t/commen10.sh
@@ -17,7 +17,7 @@
# Make sure comments following trailing backslashes are diagnosed.
# Report from Harald Dunkel.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUBDIRS = foo \
diff --git a/t/commen11.sh b/t/commen11.sh
index 139545d18..c7ea3120b 100755
--- a/t/commen11.sh
+++ b/t/commen11.sh
@@ -18,7 +18,7 @@
# comments following a trailing backslash, even when the combination
# follows a variable assignment that is preceded by a comment.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
# initial comment
diff --git a/t/comment.sh b/t/comment.sh
index 3508bed93..79f6cb614 100755
--- a/t/comment.sh
+++ b/t/comment.sh
@@ -17,7 +17,7 @@
# Make sure that '#' as start of word in AUTOMAKE_OPTIONS means
# comment.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = #no such option
diff --git a/t/comment2.sh b/t/comment2.sh
index 124e273d1..402296dea 100755
--- a/t/comment2.sh
+++ b/t/comment2.sh
@@ -17,7 +17,7 @@
# Make sure comment recognition works in PROGRAMS. Report from Mark
# Galassi.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/comment3.sh b/t/comment3.sh
index e1f15832c..b7a698bd4 100755
--- a/t/comment3.sh
+++ b/t/comment3.sh
@@ -19,7 +19,7 @@
# shell, which in turn can't find '#' as a command.
# Sigh. Some vendors must be destroyed.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
install-data-local:
diff --git a/t/comment4.sh b/t/comment4.sh
index 8a0ab4531..83413ec0a 100755
--- a/t/comment4.sh
+++ b/t/comment4.sh
@@ -16,7 +16,7 @@
# Make sure commented variables are output near their comments.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/comment5.sh b/t/comment5.sh
index 06478e0fa..fcf5650a2 100755
--- a/t/comment5.sh
+++ b/t/comment5.sh
@@ -17,7 +17,7 @@
# Test for PR/280.
# (Automake should complain about trailing backslashes in comments.)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/comment6.sh b/t/comment6.sh
index 496dfdd32..0a3a06666 100755
--- a/t/comment6.sh
+++ b/t/comment6.sh
@@ -18,7 +18,7 @@
# Automake 1.6.1 seems to have a problem parsing comments that use
# '\' to span multiple lines.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/comment7.sh b/t/comment7.sh
index a4f8d886e..26520e723 100755
--- a/t/comment7.sh
+++ b/t/comment7.sh
@@ -17,7 +17,7 @@
# Make sure comment for conditional variables are output near the
# corresponding conditional definitions.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AM_CONDITIONAL([COND], [true])
@@ -54,4 +54,4 @@ sed -n '/^#.*VAR.*COND_FALSE/ {
}' Makefile.in |
grep '@COND_FALSE@VAR = bar'
-:
+:
diff --git a/t/comment8.sh b/t/comment8.sh
index b4e871bf4..61f780a3a 100755
--- a/t/comment8.sh
+++ b/t/comment8.sh
@@ -17,7 +17,7 @@
# Make sure += does not append to a comment.
# Report from Stepan Kasal.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/comment9.sh b/t/comment9.sh
index 49a9f6f72..1c2551b1c 100755
--- a/t/comment9.sh
+++ b/t/comment9.sh
@@ -17,7 +17,7 @@
# Make sure ##-comments are ignored in variable definitions.
# Report from Julien Sopena.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
TESTS = \
diff --git a/t/comments-in-var-def.sh b/t/comments-in-var-def.sh
index dbb3b1412..dad568dcc 100755
--- a/t/comments-in-var-def.sh
+++ b/t/comments-in-var-def.sh
@@ -17,7 +17,7 @@
# Make sure Automake ignores in-line comments when using variables,
# but preserve them in the output.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/compile.sh b/t/compile.sh
index 1da1cde02..4e44206ca 100755
--- a/t/compile.sh
+++ b/t/compile.sh
@@ -17,7 +17,7 @@
# Make sure 'compile' preserves spaces in its arguments.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
get_shell_script compile
diff --git a/t/compile2.sh b/t/compile2.sh
index 5f38775ef..8c22ed54b 100755
--- a/t/compile2.sh
+++ b/t/compile2.sh
@@ -17,7 +17,7 @@
# Make sure 'compile' deals correctly with Windows-style paths.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
get_shell_script compile
diff --git a/t/compile3.sh b/t/compile3.sh
index e8bf8a439..db715b307 100755
--- a/t/compile3.sh
+++ b/t/compile3.sh
@@ -18,7 +18,7 @@
am_create_testdir=empty
required=xsi-lib-shell
-. ./defs || exit 1
+. test-init.sh
get_shell_script compile
diff --git a/t/compile4.sh b/t/compile4.sh
index e5b5c577c..80ce8610c 100755
--- a/t/compile4.sh
+++ b/t/compile4.sh
@@ -18,7 +18,7 @@
# with respect to absolute paths.
required='cl'
-. ./defs || exit 1
+. test-init.sh
get_shell_script compile
diff --git a/t/compile5.sh b/t/compile5.sh
index 89c5be30f..3661fb187 100755
--- a/t/compile5.sh
+++ b/t/compile5.sh
@@ -17,7 +17,7 @@
# Make sure the file name translation in the 'compile' script works
# correctly
-. ./defs || exit 1
+. test-init.sh
get_shell_script compile
diff --git a/t/compile6.sh b/t/compile6.sh
index 529f22c7d..c4fb22d50 100755
--- a/t/compile6.sh
+++ b/t/compile6.sh
@@ -18,7 +18,7 @@
am_create_testdir=empty
required=xsi-lib-shell
-. ./defs || exit 1
+. test-init.sh
get_shell_script compile
diff --git a/t/compile_f90_c_cxx.sh b/t/compile_f90_c_cxx.sh
index 27998dc4f..0bef8be70 100755
--- a/t/compile_f90_c_cxx.sh
+++ b/t/compile_f90_c_cxx.sh
@@ -18,7 +18,7 @@
# mixed source objects.
# (copied from compile_f_c_cxx.sh) Mike Nolta <mrnolta@princeton.edu>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/compile_f_c_cxx.sh b/t/compile_f_c_cxx.sh
index 97f8d8476..7c1a2a21e 100755
--- a/t/compile_f_c_cxx.sh
+++ b/t/compile_f_c_cxx.sh
@@ -18,7 +18,7 @@
# mixed source objects.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
@@ -39,8 +39,8 @@ $ACLOCAL
$AUTOMAKE
# Look for the macros at the beginning of rules.
-$FGREP "$tab\$(COMPILE)" Makefile.in
-$FGREP "$tab\$(CXXCOMPILE)" Makefile.in
-$FGREP "$tab\$(F77COMPILE)" Makefile.in
+$FGREP "$tab\$(AM_V_CC)\$(COMPILE)" Makefile.in
+$FGREP "$tab\$(AM_V_CXX)\$(CXXCOMPILE)" Makefile.in
+$FGREP "$tab\$(AM_V_F77)\$(F77COMPILE)" Makefile.in
:
diff --git a/t/cond-basic.sh b/t/cond-basic.sh
index 0b79032bf..f01c55820 100755
--- a/t/cond-basic.sh
+++ b/t/cond-basic.sh
@@ -16,7 +16,7 @@
# Check basic use of conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TEST], [true])
diff --git a/t/cond.sh b/t/cond.sh
index 04fb9faa8..2fd6a66a6 100755
--- a/t/cond.sh
+++ b/t/cond.sh
@@ -16,7 +16,7 @@
# Check basic use of conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TEST], [true])
diff --git a/t/cond10.sh b/t/cond10.sh
index a556a9996..89f026308 100755
--- a/t/cond10.sh
+++ b/t/cond10.sh
@@ -16,7 +16,7 @@
# Test for bug in conditionals. From Raja R Harinath.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond11.sh b/t/cond11.sh
index 95073d10e..c4beffc8a 100755
--- a/t/cond11.sh
+++ b/t/cond11.sh
@@ -18,7 +18,7 @@
# This checks that, if LDADD is set from a conditional variable
# and an AC_SUBST, the _DEPENDENCIES variable is set correctly.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([CC], [false])
diff --git a/t/cond13.sh b/t/cond13.sh
index c23df15cb..c522932ff 100755
--- a/t/cond13.sh
+++ b/t/cond13.sh
@@ -17,7 +17,7 @@
# Test for bug in conditionals.
# Report from Lars J. Aas.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond14.sh b/t/cond14.sh
index 345171e22..67aa62501 100755
--- a/t/cond14.sh
+++ b/t/cond14.sh
@@ -17,7 +17,7 @@
# Test for bug in conditionals.
# Report from Robert Boehne.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond15.sh b/t/cond15.sh
index 6ce37d74b..e21f72973 100755
--- a/t/cond15.sh
+++ b/t/cond15.sh
@@ -16,7 +16,7 @@
# Regression test for conditionally defined overriding of automatic rules.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond16.sh b/t/cond16.sh
index ded33700d..8e771e617 100755
--- a/t/cond16.sh
+++ b/t/cond16.sh
@@ -18,7 +18,7 @@
# references.
# Report from Richard Boulton.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/cond17.sh b/t/cond17.sh
index 837fa0255..6726d2eff 100755
--- a/t/cond17.sh
+++ b/t/cond17.sh
@@ -18,7 +18,7 @@
# according to a conditional.
# Report from Richard Boulton.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond18.sh b/t/cond18.sh
index 22bbfcfea..353cad6ec 100755
--- a/t/cond18.sh
+++ b/t/cond18.sh
@@ -17,7 +17,7 @@
# Regression test for substitution references to conditional variables.
# Report from Richard Boulton.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/cond19.sh b/t/cond19.sh
index b0dd05cf8..6187c4c9b 100755
--- a/t/cond19.sh
+++ b/t/cond19.sh
@@ -17,7 +17,7 @@
# Regression test for substitution references to conditional variables.
# Report from Richard Boulton.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([CC], [false])
diff --git a/t/cond20.sh b/t/cond20.sh
index 403c6098f..0a590d513 100755
--- a/t/cond20.sh
+++ b/t/cond20.sh
@@ -17,7 +17,7 @@
# Regression test for recursion handling in substitution references to
# conditional variables.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond21.sh b/t/cond21.sh
index f5c748c71..8df1232a9 100755
--- a/t/cond21.sh
+++ b/t/cond21.sh
@@ -16,7 +16,7 @@
# Check for use of = and += in different conditions.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/cond22.sh b/t/cond22.sh
index 10e1d4d4b..a28c8472c 100755
--- a/t/cond22.sh
+++ b/t/cond22.sh
@@ -17,7 +17,7 @@
# Regression test for bug when sources listed in conditional.
# Report from Richard Boulton. PR/326.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
CC=false; AC_SUBST([CC])
diff --git a/t/cond23.sh b/t/cond23.sh
index 522cffa1e..d7a01eb07 100755
--- a/t/cond23.sh
+++ b/t/cond23.sh
@@ -17,7 +17,7 @@
# Check that conditional redefinitions of AC_SUBST'ed variables are detected.
# Report from Patrik Weiskircher.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AM_CONDITIONAL([COND], [true])
diff --git a/t/cond24.sh b/t/cond24.sh
index eaaf3d7cf..3a98a4eb6 100755
--- a/t/cond24.sh
+++ b/t/cond24.sh
@@ -17,7 +17,7 @@
# Check that conditional redefinitions of AC_SUBST'ed variables are detected.
# Report from Patrik Weiskircher.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_SUBST([foo], [bar])
diff --git a/t/cond25.sh b/t/cond25.sh
index 2119a8a6a..7177faf50 100755
--- a/t/cond25.sh
+++ b/t/cond25.sh
@@ -17,7 +17,7 @@
# Check that conditional primaries can use non-conditional directories.
# From Pavel Roskin.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'EOF'
AM_CONDITIONAL([USE_FOO], [true])
diff --git a/t/cond26.sh b/t/cond26.sh
index 74cc7cc85..275b32d9b 100755
--- a/t/cond26.sh
+++ b/t/cond26.sh
@@ -17,7 +17,7 @@
# Check that non-conditional primaries can use conditional directories.
# Reported by Juergen Keil.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'EOF'
AM_CONDITIONAL([USE_FOO], [true])
diff --git a/t/cond27.sh b/t/cond27.sh
index fa4aa94aa..b1a140afd 100755
--- a/t/cond27.sh
+++ b/t/cond27.sh
@@ -17,7 +17,7 @@
# Check that non-conditional primaries cannot use directories defined
# in some conditions (but not others).
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'EOF'
AM_CONDITIONAL([USE_FOO], [true])
diff --git a/t/cond28.sh b/t/cond28.sh
index 4df74463a..a93e6fdac 100755
--- a/t/cond28.sh
+++ b/t/cond28.sh
@@ -17,7 +17,7 @@
# Check that conditional primaries can use directories defined
# in the same conditions (but not others).
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'EOF'
AM_CONDITIONAL([USE_FOO], [true])
diff --git a/t/cond3.sh b/t/cond3.sh
index 4a348d1fd..d31b9437a 100755
--- a/t/cond3.sh
+++ b/t/cond3.sh
@@ -17,7 +17,7 @@
# Test sources listed in conditional.
# Report from Rob Savoye <rob@cygnus.com>, and Lars J. Aas.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond30.sh b/t/cond30.sh
index cf505d924..09ea343d5 100755
--- a/t/cond30.sh
+++ b/t/cond30.sh
@@ -16,7 +16,7 @@
# For PR/352: make sure we support bin_PROGRAMS being defined conditionally.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([C1], [test -z "$two"])
diff --git a/t/cond31.sh b/t/cond31.sh
index b849a1a9b..d66305f71 100755
--- a/t/cond31.sh
+++ b/t/cond31.sh
@@ -16,7 +16,7 @@
# Make sure we define conditional _DEPENDENCIES correctly.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_SUBST([CC], [false])
diff --git a/t/cond32.sh b/t/cond32.sh
index 07b7814c5..842704cd2 100755
--- a/t/cond32.sh
+++ b/t/cond32.sh
@@ -16,7 +16,7 @@
# Make sure the user can override a conditional _DEPENDENCIES.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([C1], [test -z "$two"])
diff --git a/t/cond33.sh b/t/cond33.sh
index 53225cbed..9ea45f116 100755
--- a/t/cond33.sh
+++ b/t/cond33.sh
@@ -18,7 +18,7 @@
# correctly.
# Report from Ralf Corsepius.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([INC], [test -z "$two"])
diff --git a/t/cond34.sh b/t/cond34.sh
index 3d37a2b32..b4a50bb90 100755
--- a/t/cond34.sh
+++ b/t/cond34.sh
@@ -17,7 +17,7 @@
# Check for _DEPENDENCIES definition with conditional _LDADD.
# Report from Elena A. Vengerova.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([TWO], [test -n "$two"])
diff --git a/t/cond35.sh b/t/cond35.sh
index ea663ce97..fc371f5e3 100755
--- a/t/cond35.sh
+++ b/t/cond35.sh
@@ -18,7 +18,7 @@
# Report from Roman Fietze.
required='cc lex yacc'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([CASE_A], [test -z "$case_B"])
diff --git a/t/cond36.sh b/t/cond36.sh
index 2b8e584ab..a65343fed 100755
--- a/t/cond36.sh
+++ b/t/cond36.sh
@@ -16,7 +16,7 @@
# Check rules output for parser defined conditionally.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([CASE_A], [test -z "$case_B"])
diff --git a/t/cond37.sh b/t/cond37.sh
index 31a1f4059..12a2ac7ef 100755
--- a/t/cond37.sh
+++ b/t/cond37.sh
@@ -17,7 +17,7 @@
# Check conditional local rules.
# Report from Simon Josefsson.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([CASE_A], [test -n "$case_A"])
diff --git a/t/cond38.sh b/t/cond38.sh
index 887aa0381..96aefa9e8 100755
--- a/t/cond38.sh
+++ b/t/cond38.sh
@@ -17,7 +17,7 @@
# Check conditional variable ordering.
# Report from Ed Hartnett.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_CONDITIONAL([CASE_A], :)
diff --git a/t/cond39.sh b/t/cond39.sh
index 4cbda481a..0bea42031 100755
--- a/t/cond39.sh
+++ b/t/cond39.sh
@@ -17,7 +17,7 @@
# Build either as CONFIG_FILE or as PROGRAM.
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/cond4.sh b/t/cond4.sh
index 72d98c9dd..cc580c675 100755
--- a/t/cond4.sh
+++ b/t/cond4.sh
@@ -16,7 +16,7 @@
# Another sources-in-conditional test. Report from Tim Goodwin.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([CC], [false])
diff --git a/t/cond40.sh b/t/cond40.sh
index 8725a0341..2d7ba0d3c 100755
--- a/t/cond40.sh
+++ b/t/cond40.sh
@@ -16,7 +16,7 @@
# Test AM_COND_IF.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_DEFUN([FOO],
diff --git a/t/cond41.sh b/t/cond41.sh
index 9f4cc5376..3f9c3f443 100755
--- a/t/cond41.sh
+++ b/t/cond41.sh
@@ -16,7 +16,7 @@
# AM_COND_IF with an undefined condition should fail.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_COND_IF([BAD_COND], [AC_CONFIG_FILES([file1])])
diff --git a/t/cond42.sh b/t/cond42.sh
index d7f885e2b..b3d0305ce 100755
--- a/t/cond42.sh
+++ b/t/cond42.sh
@@ -18,7 +18,7 @@
# This shouldn't happen with user input, as _AM_COND_* are not documented,
# but better to be safe.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([COND], [:])
diff --git a/t/cond43.sh b/t/cond43.sh
index a6c754548..ff336756d 100755
--- a/t/cond43.sh
+++ b/t/cond43.sh
@@ -16,7 +16,7 @@
# Ensure an error with underquoted usage of AM_COND_IF in configure.ac.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([COND1], [:])
diff --git a/t/cond44.sh b/t/cond44.sh
index 8d4d7d598..b79892bc3 100755
--- a/t/cond44.sh
+++ b/t/cond44.sh
@@ -17,7 +17,7 @@
# Check that redefinitions of AC_SUBST'ed AM_SUBST_NOTMAKE'd variables
# are not diagnosed. See 'cond23.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AM_CONDITIONAL([COND], [true])
diff --git a/t/cond45.sh b/t/cond45.sh
index 5e010cf4c..0db9d8c7e 100755
--- a/t/cond45.sh
+++ b/t/cond45.sh
@@ -17,7 +17,7 @@
# Check that redefinitions of AC_SUBST'ed AM_SUBST_NOTMAKE'd variables
# are not diagnosed. See 'cond24.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_SUBST([foo], [bar])
diff --git a/t/cond46.sh b/t/cond46.sh
index 59820c4bb..18d0f9e6e 100755
--- a/t/cond46.sh
+++ b/t/cond46.sh
@@ -16,7 +16,7 @@
# Ensure the right condition is listed after 'else' and 'endif'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([USE_A], [test x = y])
diff --git a/t/cond5.sh b/t/cond5.sh
index fb5c92005..b0f11946b 100755
--- a/t/cond5.sh
+++ b/t/cond5.sh
@@ -16,7 +16,7 @@
# Yet another sources-in-conditional test. Report from Tim Goodwin.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond6.sh b/t/cond6.sh
index 640f49629..3754d0882 100755
--- a/t/cond6.sh
+++ b/t/cond6.sh
@@ -16,7 +16,7 @@
# Test for an odd conditional bug. Report from Matt Leach.
-. ./defs || exit 1
+. test-init.sh
echo 'AM_CONDITIONAL([FOO], [true])' >> configure.ac
diff --git a/t/cond7.sh b/t/cond7.sh
index 19cd12e87..4f90bde8c 100755
--- a/t/cond7.sh
+++ b/t/cond7.sh
@@ -16,7 +16,7 @@
# Test for an odd conditional bug. Report from Pavel Roskin.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
compat=yes
diff --git a/t/cond8.sh b/t/cond8.sh
index 1eab7075b..f19ede57d 100755
--- a/t/cond8.sh
+++ b/t/cond8.sh
@@ -17,7 +17,7 @@
# Test to make sure _PROGRAMS conditionals can be written in a useful
# way.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cond9.sh b/t/cond9.sh
index 942274882..80f13d194 100755
--- a/t/cond9.sh
+++ b/t/cond9.sh
@@ -16,7 +16,7 @@
# Test for bug in conditionals. From Raja R Harinath.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([WRONG], [test x = y])
diff --git a/t/condd.sh b/t/condd.sh
index 81fd0157a..cb88994a8 100755
--- a/t/condd.sh
+++ b/t/condd.sh
@@ -16,7 +16,7 @@
# Test for bug in conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
dnl Define a macro with the same name as the conditional to exhibit
diff --git a/t/condhook.sh b/t/condhook.sh
index 18ebcb343..8cfc94c49 100755
--- a/t/condhook.sh
+++ b/t/condhook.sh
@@ -18,7 +18,7 @@
# Keep this in sync with sister test 'condhook2.sh'.
# Report by Nik A. Melchior (PR/428).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TEST], [false])
diff --git a/t/condhook2.sh b/t/condhook2.sh
index a6ec7fffb..e41a24d2e 100755
--- a/t/condhook2.sh
+++ b/t/condhook2.sh
@@ -17,7 +17,7 @@
# Test install when a conditional install-*-hook is defined.
# Keep this in sync with sister test 'condhook.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TEST], [true])
diff --git a/t/condinc.sh b/t/condinc.sh
index d826f9614..d61766d16 100755
--- a/t/condinc.sh
+++ b/t/condinc.sh
@@ -16,7 +16,7 @@
# Make sure a conditional include statement is handled properly.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TOBE], [false])
diff --git a/t/condinc2.sh b/t/condinc2.sh
index 1763a6d70..57f92ea02 100755
--- a/t/condinc2.sh
+++ b/t/condinc2.sh
@@ -16,7 +16,7 @@
# Another test of conditional include statements.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TOBE], [false])
diff --git a/t/condlib.sh b/t/condlib.sh
index 3c8822688..6751386a5 100755
--- a/t/condlib.sh
+++ b/t/condlib.sh
@@ -17,7 +17,7 @@
# Test for bug with conditional library.
# From Harlan Stenn.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_RANLIB
diff --git a/t/condman2.sh b/t/condman2.sh
index ad97abcbf..8f79e0e37 100755
--- a/t/condman2.sh
+++ b/t/condman2.sh
@@ -16,7 +16,7 @@
# Make sure appropriate man install targets generated in all cases.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
man_MANS = foo.1 foo.2
diff --git a/t/condman3.sh b/t/condman3.sh
index 094a66cf0..8f0f65810 100755
--- a/t/condman3.sh
+++ b/t/condman3.sh
@@ -16,7 +16,7 @@
# Make sure conditionals work with man pages.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND], [test x"$FOO" = x"true"])
diff --git a/t/confdeps.sh b/t/confdeps.sh
index 95e60f9ee..c2dccf207 100755
--- a/t/confdeps.sh
+++ b/t/confdeps.sh
@@ -16,7 +16,7 @@
# Make sure that config* files are properly regenerated.
-. ./defs || exit 1
+. test-init.sh
echo "FOO = foo" > Makefile.am
diff --git a/t/conff.sh b/t/conff.sh
index b6f908138..745620713 100755
--- a/t/conff.sh
+++ b/t/conff.sh
@@ -17,7 +17,7 @@
# Make sure rebuild rules work even when AC_CONFIG_FILES uses colons.
# Report from Alexander Turbov.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([bar/Makefile:bar/Makefile.in:Makefile.bot])
diff --git a/t/conff2.sh b/t/conff2.sh
index 728d78e3d..9c5184926 100755
--- a/t/conff2.sh
+++ b/t/conff2.sh
@@ -16,10 +16,10 @@
# Make sure empty calls to AC_CONFIG_FILES or AC_CONFIG_HEADERS are diagnosed.
-. ./defs || exit 1
+. test-init.sh
-# We avoid using configure.ac stub initialized by ./defs, since we need
-# to keep track of line numbers (to grep for error messages).
+# We avoid using configure.ac stub initialized by our testsuite setup, as
+# we need to keep track of line numbers (to grep for error messages).
cat > configure.ac << END
AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE
diff --git a/t/conffile-leading-dot.sh b/t/conffile-leading-dot.sh
index 3eed30bb4..acdbc1f53 100755
--- a/t/conffile-leading-dot.sh
+++ b/t/conffile-leading-dot.sh
@@ -19,7 +19,7 @@
# broken in that case.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/confh-subdir-clean.sh b/t/confh-subdir-clean.sh
index 5a942da5b..05720346e 100755
--- a/t/confh-subdir-clean.sh
+++ b/t/confh-subdir-clean.sh
@@ -16,10 +16,10 @@
# Test to make sure config headers in subdirectories are cleaned.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-AM_CONFIG_HEADER([sub/config.h:sub/config.hin])
+AC_CONFIG_HEADERS([sub/config.h:sub/config.hin])
AC_OUTPUT
END
diff --git a/t/confh.sh b/t/confh.sh
index c86b63e84..81e6743a0 100755
--- a/t/confh.sh
+++ b/t/confh.sh
@@ -17,10 +17,10 @@
# Test to make sure config.h works in a subdir.
# Report from Alexandre Oliva.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-AM_CONFIG_HEADER([include/config.h])
+AC_CONFIG_HEADERS([include/config.h])
AC_OUTPUT
END
diff --git a/t/confh4.sh b/t/confh4.sh
index 2f52add86..65c03c548 100755
--- a/t/confh4.sh
+++ b/t/confh4.sh
@@ -22,11 +22,11 @@
# Use AM_CONFIG_HEADER(subdir/config.h) to place configuration
# header in subdirectory and observe that it is not included.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([include/Makefile])
-AM_CONFIG_HEADER([include/config.h])
+AC_CONFIG_HEADERS([include/config.h])
AC_PROG_CC
END
diff --git a/t/confh5.sh b/t/confh5.sh
index 354c88c32..c6c3e2593 100755
--- a/t/confh5.sh
+++ b/t/confh5.sh
@@ -16,7 +16,7 @@
# Make sure we do not distribute header sources when they are built.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([FOO], [NameToBeGrepped])
diff --git a/t/confh6.sh b/t/confh6.sh
index 5479491ca..4db74b5c4 100755
--- a/t/confh6.sh
+++ b/t/confh6.sh
@@ -18,10 +18,10 @@
# idea is that if config.h is in a subdir, and there is no Makefile in
# that subdir, then we want to build config.h as the top level.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-AM_CONFIG_HEADER([subdir/config.h])
+AC_CONFIG_HEADERS([subdir/config.h])
AC_OUTPUT
END
diff --git a/t/confh7.sh b/t/confh7.sh
index 86148ac80..4d3bbbb5f 100755
--- a/t/confh7.sh
+++ b/t/confh7.sh
@@ -17,10 +17,10 @@
# Test to make sure several config headers are allowed.
# See also sister "semantic" test 'confh8.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-AM_CONFIG_HEADER([config.h two.h])
+AC_CONFIG_HEADERS([config.h two.h])
END
: > Makefile.am
diff --git a/t/confh8.sh b/t/confh8.sh
index 35168e0e6..e2fc36f43 100755
--- a/t/confh8.sh
+++ b/t/confh8.sh
@@ -17,10 +17,10 @@
# Test to make sure several config headers are allowed.
# See also sister "minimalistic" test 'confh7.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-AM_CONFIG_HEADER([one.h two.h])
+AC_CONFIG_HEADERS([one.h two.h])
AC_OUTPUT
END
diff --git a/t/configure.sh b/t/configure.sh
index 6ba740e86..1a1bb94ad 100755
--- a/t/configure.sh
+++ b/t/configure.sh
@@ -18,7 +18,7 @@
# Diagnose if both configure.in and configure.ac are present, prefer
# configure.ac.
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<EOF
AC_INIT([$me], [1.0])
diff --git a/t/confincl.sh b/t/confincl.sh
index 4527a144d..c106d6b0f 100755
--- a/t/confincl.sh
+++ b/t/confincl.sh
@@ -18,7 +18,7 @@
# If config.h is not used, @CONFIG_INCLUDE_SPEC@ should not appear
# in Makefile.in.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/conflnk.sh b/t/conflnk.sh
index 8446ac859..7b316a79d 100755
--- a/t/conflnk.sh
+++ b/t/conflnk.sh
@@ -17,7 +17,7 @@
# Test to make sure links created by AC_CONFIG_LINKS get removed with
# 'make distclean'
-. ./defs || exit 1
+. test-init.sh
echo 'SUBDIRS = sdir' > Makefile.am
: > src
diff --git a/t/conflnk2.sh b/t/conflnk2.sh
index fa0b0092b..66b1a49f3 100755
--- a/t/conflnk2.sh
+++ b/t/conflnk2.sh
@@ -17,7 +17,7 @@
# Test to make sure that sources for links created by AC_CONFIG_LINKS
# are distributed.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUBDIRS = sdir
diff --git a/t/conflnk3.sh b/t/conflnk3.sh
index a0b8842c8..1f844fd7e 100755
--- a/t/conflnk3.sh
+++ b/t/conflnk3.sh
@@ -17,7 +17,7 @@
# Test to make sure that AC_CONFIG_LINKS using a variable source
# is not broken.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUBDIRS = sdir
diff --git a/t/conflnk4.sh b/t/conflnk4.sh
index 090f809f2..d879fbf2c 100755
--- a/t/conflnk4.sh
+++ b/t/conflnk4.sh
@@ -17,7 +17,7 @@
# Test to make sure links to _identical files_ created by AC_CONFIG_LINKS get
# removed with 'make distclean' only if doing a VPATH build.
-. ./defs || exit 1
+. test-init.sh
mkdir nonmk-subdir sdir sdir/mk-subdir
: > src
diff --git a/t/confsub.sh b/t/confsub.sh
index 979c66560..6ab6a2fcb 100755
--- a/t/confsub.sh
+++ b/t/confsub.sh
@@ -17,11 +17,11 @@
# Test to make sure config.h can be in subdir.
# Also, make sure config.h is properly rebuilt.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
-AM_CONFIG_HEADER([subdir/config.h:subdir/config.hin])
+AC_CONFIG_HEADERS([subdir/config.h:subdir/config.hin])
AC_OUTPUT
END
diff --git a/t/confvar.sh b/t/confvar.sh
index 39739d9fe..28e9e06d7 100755
--- a/t/confvar.sh
+++ b/t/confvar.sh
@@ -16,7 +16,7 @@
# Test to make sure configure_vars stuff works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([QBERT])
diff --git a/t/confvar2.sh b/t/confvar2.sh
index fc78f6e48..cada47050 100755
--- a/t/confvar2.sh
+++ b/t/confvar2.sh
@@ -16,7 +16,7 @@
# Test for bug reported by Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([OTHER_SCRIPTS])
diff --git a/t/copy.sh b/t/copy.sh
index 64a829d9c..04cb94c95 100755
--- a/t/copy.sh
+++ b/t/copy.sh
@@ -17,7 +17,7 @@
# Test to make sure '-c' works. Report from Andris Pavenis.
# See also the much more in-depth test 'add-missing'.
-. ./defs || exit 1
+. test-init.sh
# We'll have to cater to systems like MSYS/MinGW where there are no
# true symlinks ('ln -s' behaves like 'cp -p'); see automake bug#10441.
diff --git a/t/cscope.tap b/t/cscope.tap
index 9db0d8e81..213481c45 100755
--- a/t/cscope.tap
+++ b/t/cscope.tap
@@ -16,7 +16,7 @@
# Test cscope functionality.
-. ./defs || exit 1
+. test-init.sh
plan_ 18
diff --git a/t/cscope2.sh b/t/cscope2.sh
index 631642fb0..16419a757 100755
--- a/t/cscope2.sh
+++ b/t/cscope2.sh
@@ -17,7 +17,7 @@
# The 'cscope' target should not fail if there are no sources.
required=
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/cscope3.sh b/t/cscope3.sh
index 30e8c0cc9..a7468f880 100755
--- a/t/cscope3.sh
+++ b/t/cscope3.sh
@@ -19,7 +19,7 @@
# is empty.
required=cscope
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/cxx-demo.sh b/t/cxx-demo.sh
index 77f7c83b6..6caae27d5 100755
--- a/t/cxx-demo.sh
+++ b/t/cxx-demo.sh
@@ -18,7 +18,7 @@
required=c++
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([GNU C++ Demo], [1.3], [bug-automake@gnu.org])
diff --git a/t/cxx-lt-demo.sh b/t/cxx-lt-demo.sh
index a060fc851..9289196dc 100755
--- a/t/cxx-lt-demo.sh
+++ b/t/cxx-lt-demo.sh
@@ -18,7 +18,7 @@
required='libtoolize c++'
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([GNU C++/Libtool Demo], [0.73], [bug-automake@gnu.org])
diff --git a/t/cxx.sh b/t/cxx.sh
index fc7fe96bf..744cde27a 100755
--- a/t/cxx.sh
+++ b/t/cxx.sh
@@ -17,7 +17,7 @@
# Test that '.c++' extension works.
# From Ralf Corsepius.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/cxx2.sh b/t/cxx2.sh
index 7ffba4e9d..4abcefc0c 100755
--- a/t/cxx2.sh
+++ b/t/cxx2.sh
@@ -16,7 +16,7 @@
# Test that Automake suggests using AC_PROG_CXX if C++ sources are used.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >>configure.ac
diff --git a/t/cxxcpp.sh b/t/cxxcpp.sh
index cd5d392a9..dca17c7d9 100755
--- a/t/cxxcpp.sh
+++ b/t/cxxcpp.sh
@@ -16,7 +16,7 @@
# Make sure automake sees AC_PROG_CXXCPP. From Garth Corral.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXXCPP
diff --git a/t/cxxlibobj.sh b/t/cxxlibobj.sh
index b6d023146..7c95a4fb5 100755
--- a/t/cxxlibobj.sh
+++ b/t/cxxlibobj.sh
@@ -16,7 +16,7 @@
# Test to make sure LIBOBJS and C++ sources work right.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/cxxlink.sh b/t/cxxlink.sh
index ff271c39c..734dc753d 100755
--- a/t/cxxlink.sh
+++ b/t/cxxlink.sh
@@ -16,7 +16,7 @@
# Test to make sure C++ linker is used when appropriate.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/cxxnoc.sh b/t/cxxnoc.sh
index b3e563126..1cdf58b16 100755
--- a/t/cxxnoc.sh
+++ b/t/cxxnoc.sh
@@ -16,7 +16,7 @@
# Test to make sure pure C++ sources don't include C-specific code.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/cygnus-dependency-tracking.sh b/t/cygnus-dependency-tracking.sh
deleted file mode 100755
index 6fe7edea5..000000000
--- a/t/cygnus-dependency-tracking.sh
+++ /dev/null
@@ -1,74 +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/>.
-
-# Check that cygnus mode disables automatic dependency tracking.
-# And check that this *cannot* be overridden.
-
-required=cc
-. ./defs || exit 1
-
-cat >> configure.ac <<'END'
-AM_MAINTAINER_MODE
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = -Wno-obsolete
-bin_PROGRAMS = foo
-foo_SOURCES = foo.c
-.PHONY: test-nodeps
-test-nodeps:
- test ! -d .deps
- test ! -d _deps
- test ! -d '$(DEPDIR)'
-END
-
-cat > foo.c <<'END'
-#include "bar.h"
-int main ()
-{
- GIVE_BACK 0;
-}
-END
-
-cat > bar.sav <<'END'
-#define GIVE_BACK return
-END
-
-cp bar.sav bar.h
-
-$ACLOCAL
-$AUTOMAKE --include-deps --cygnus --include-deps
-$AUTOCONF
-
-# Unknown options should cause just warnings from configure.
-./configure --enable-dependency-tracking
-$MAKE
-$MAKE test-nodeps
-
-: > bar.h
-$MAKE
-$MAKE test-nodeps
-
-# Sanity check.
-$MAKE clean
-$MAKE >out 2>&1 && { cat out; exit 1; }
-cat out
-# Not all compilers mention the undefined symbol in the error message.
-grep GIVE_BACK out || grep main out
-
-:
diff --git a/t/cygnus-imply-foreign.sh b/t/cygnus-imply-foreign.sh
deleted file mode 100755
index 461265032..000000000
--- a/t/cygnus-imply-foreign.sh
+++ /dev/null
@@ -1,60 +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/>.
-
-# Check that 'cygnus' mode imply 'foreign' mode.
-
-. ./defs || exit 1
-
-cat >> configure.ac <<'END'
-# This is *required* in cygnus mode
-AM_MAINTAINER_MODE
-END
-
-$ACLOCAL
-
-: > Makefile.am
-
-# We want complete control automake flags, while honouring the
-# user overrides for $AUTOMAKE.
-AUTOMAKE="$am_original_AUTOMAKE -Wno-obsolete"
-
-# Sanity check: gnu mode must complain about missing files and
-# portability problems.
-AUTOMAKE_fails
-grep 'required file.*README' stderr
-
-# But cygnus mode should imply foreign mode, so no complaints.
-# And cygnus mode should by able to override gnu and gnits modes.
-$AUTOMAKE --cygnus -Werror
-$AUTOMAKE --gnu --cygnus -Werror
-$AUTOMAKE --gnits --cygnus -Werror
-
-# Try again, this time enabling cygnus mode from Makefile.am.
-cp Makefile.am Makefile.sav
-echo 'AUTOMAKE_OPTIONS = gnu cygnus' >> Makefile.am
-$AUTOMAKE -Werror
-mv -f Makefile.sav Makefile.am
-
-# Try again, this time enabling cygnus mode from configure.ac.
-cp configure.ac configure.sav
-sed 's/^AM_INIT_AUTOMAKE/&([gnits cygnus])/' configure.sav >configure.ac
-cmp configure.ac configure.sav && fatal_ 'failed to edit configure.ac'
-
-$ACLOCAL --force
-$AUTOMAKE -Werror
-mv -f configure.sav configure.ac
-
-:
diff --git a/t/cygnus-no-dist.sh b/t/cygnus-no-dist.sh
deleted file mode 100755
index af2c45f59..000000000
--- a/t/cygnus-no-dist.sh
+++ /dev/null
@@ -1,86 +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/>.
-
-# Check that cygnus mode forbids creation of distribution tarball.
-
-. ./defs || exit 1
-
-echo AM_MAINTAINER_MODE >> configure.ac
-mv -f configure.ac configure.stub
-
-cat configure.stub - > configure.ac <<'END'
-AC_OUTPUT
-END
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --cygnus -Wno-obsolete
-
-./configure
-$MAKE
-
-for target in dist distdir distcheck dist-all dist-gzip; do
- $MAKE -n $target >out 2>&1 && { cat out; exit 1; }
- cat out
- grep $target out
-done
-
-# Now check that cygnus mode in a subdirectory disables
-# distribution-building in that subdirectory.
-
-cat > Makefile.am <<'END'
-SUBDIRS = sub1 sub2
-END
-
-mkdir sub1 sub2
-: > sub1/Makefile.am
-cat > sub2/Makefile.am <<'END'
-# The '-Wall' after 'cygnus' should ensure no warning gets
-# unintentionally disabled. We are particularly interested
-# in override warnings, for when (below) we add the 'distdir'
-# target.
-AUTOMAKE_OPTIONS = cygnus -Wall
-# This is required because the 'cygnus' option is now deprecated.
-AUTOMAKE_OPTIONS += -Wno-obsolete
-END
-
-cat configure.stub - > configure.ac <<'END'
-AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
-AC_OUTPUT
-END
-
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-$MAKE
-cd sub2
-$MAKE -n distdir >out 2>&1 && { cat out; exit 1; }
-grep distdir out
-cd ..
-
-cat >> sub2/Makefile.am <<'END'
-distdir:
-END
-$AUTOMAKE sub2/Makefile
-./config.status sub2/Makefile
-
-$MAKE distdir
-$MAKE dist
-
-:
diff --git a/t/cygnus-no-installinfo.sh b/t/cygnus-no-installinfo.sh
deleted file mode 100755
index 8fe51952b..000000000
--- a/t/cygnus-no-installinfo.sh
+++ /dev/null
@@ -1,55 +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/>.
-
-# Check that cygnus mode enables the 'no-installinfo' option.
-
-required=makeinfo
-. ./defs || exit 1
-
-cat >> configure.ac <<'END'
-AM_MAINTAINER_MODE
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-info_TEXINFOS = foo.texi
-END
-
-cat > foo.texi <<'END'
-@setfilename foo.info
-END
-
-$ACLOCAL
-# -Wno-override works around a buglet in definition of $(MAKEINFO)
-# in cygnus mode; see also xfailing test 'txinfo5.test'.
-# -Wno-obsolete accounts for the fact that the cygnus mode is now
-# deprecated.
-$AUTOMAKE --cygnus -Wno-override -Wno-obsolete
-$AUTOCONF
-
-cwd=$(pwd) || exit 1
-./configure --prefix="$cwd"/_inst
-$MAKE
-$MAKE install
-test ! -e _inst
-test ! -e foo.info
-test ! -e _inst/share/info
-$MAKE install-info
-ls -l _inst
-test -f foo.info
-test -f _inst/share/info/foo.info
-
-:
diff --git a/t/cygnus-deprecation.sh b/t/cygnus-no-more.sh
index 551d0e66a..33803b184 100755
--- a/t/cygnus-deprecation.sh
+++ b/t/cygnus-no-more.sh
@@ -18,39 +18,20 @@
# That feature will be removed in the next major Automake release.
# See automake bug#11034.
-. ./defs || exit 1
+. test-init.sh
-warn_rx='support for Cygnus.*trees.*deprecated'
-
-cat >> configure.ac <<'END'
-AC_PROG_CC
-AM_MAINTAINER_MODE
-END
+warn_rx='support for Cygnus.*trees.*removed'
$ACLOCAL
-$AUTOCONF
-
-: > Makefile.am
-# 'cygnus' option from command line
-$AUTOMAKE --cygnus -Wno-obsolete
-AUTOMAKE_fails --cygnus
-grep "^automake.*: .*$warn_rx" stderr
-AUTOMAKE_fails -Wnone -Wobsolete --cygnus
-grep "^automake.*: .*$warn_rx" stderr
-AUTOMAKE_fails --cygnus -Wnone -Wobsolete
-grep "^automake.*: .*$warn_rx" stderr
-
-rm -rf autom4te*.cache
+# Use of 'cygnus' option must raise an unconditional error, not a
+# warning.
+AUTOMAKE="$am_original_AUTOMAKE -Wnone -Wno-error"
# 'cygnus' option in Makefile.am
echo "AUTOMAKE_OPTIONS = cygnus" > Makefile.am
-cat Makefile.am # For debugging.
-$AUTOMAKE -Wno-obsolete
AUTOMAKE_fails
grep "^Makefile\.am:1:.*$warn_rx" stderr
-AUTOMAKE_fails -Wnone -Wobsolete
-grep "^Makefile\.am:1:.*$warn_rx" stderr
rm -rf autom4te*.cache
@@ -59,10 +40,7 @@ rm -rf autom4te*.cache
sed "s|^\\(AM_INIT_AUTOMAKE\\).*|\1([cygnus])|" configure.ac > t
diff configure.ac t && fatal_ "failed to edit configure.ac"
mv -f t configure.ac
-$AUTOMAKE -Wno-obsolete
AUTOMAKE_fails
grep "^configure\.ac:2:.*$warn_rx" stderr
-AUTOMAKE_fails -Wnone -Wobsolete
-grep "^configure\.ac:2:.*$warn_rx" stderr
:
diff --git a/t/cygwin32.sh b/t/cygwin32.sh
index 95b442e91..716388435 100755
--- a/t/cygwin32.sh
+++ b/t/cygwin32.sh
@@ -16,7 +16,7 @@
# Test basic Cygwin32 functionality.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/dash.sh b/t/dash.sh
index 6c9c9e03b..4cf34f3c3 100755
--- a/t/dash.sh
+++ b/t/dash.sh
@@ -17,7 +17,7 @@
# Test to make sure '-' can be used in path.
# Report from Matthew D. Langston.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
include Make-lang
diff --git a/t/defun.sh b/t/defun.sh
index 5a4530c19..0f6bd0a7d 100755
--- a/t/defun.sh
+++ b/t/defun.sh
@@ -16,7 +16,7 @@
# Make sure aclocal picks up on all macro definitions.
-. ./defs || exit 1
+. test-init.sh
cat > acinclude.m4 << 'END'
AC_DEFUN([AM_FUNC_THREE])
diff --git a/t/defun2.sh b/t/defun2.sh
index 2c74cc497..cb1cee7db 100755
--- a/t/defun2.sh
+++ b/t/defun2.sh
@@ -17,7 +17,7 @@
# Make sure we don't mistake a macro definition for an invocation.
# From Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
dnl if buggy this will require getloadavg.c
diff --git a/t/dejagnu-absolute-builddir.sh b/t/dejagnu-absolute-builddir.sh
index 22f7cc5a7..6b873d091 100755
--- a/t/dejagnu-absolute-builddir.sh
+++ b/t/dejagnu-absolute-builddir.sh
@@ -18,7 +18,7 @@
# to an absolute path.
required=runtest
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/dejagnu-relative-srcdir.sh b/t/dejagnu-relative-srcdir.sh
index 9fdf17926..141f56e54 100755
--- a/t/dejagnu-relative-srcdir.sh
+++ b/t/dejagnu-relative-srcdir.sh
@@ -18,7 +18,7 @@
# (both as TCL variable and as environment variable).
required=runtest
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/dejagnu-siteexp-append.sh b/t/dejagnu-siteexp-append.sh
index c980c8537..07254ca2b 100755
--- a/t/dejagnu-siteexp-append.sh
+++ b/t/dejagnu-siteexp-append.sh
@@ -17,7 +17,7 @@
# Check that the files in $(EXTRA_DEJAGNU_SITE_CONFIG) get appended to
# site.exp in the same order in which they're listed in that variable.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/dejagnu-siteexp-extend.sh b/t/dejagnu-siteexp-extend.sh
index 45d8a225b..8c16c5476 100755
--- a/t/dejagnu-siteexp-extend.sh
+++ b/t/dejagnu-siteexp-extend.sh
@@ -18,7 +18,7 @@
# automake-generated Makefile.
required=runtest
-. ./defs || exit 1
+. test-init.sh
write_check_for ()
{
diff --git a/t/dejagnu-siteexp-useredit.sh b/t/dejagnu-siteexp-useredit.sh
index 42f4d4404..207d8a1ef 100755
--- a/t/dejagnu-siteexp-useredit.sh
+++ b/t/dejagnu-siteexp-useredit.sh
@@ -17,7 +17,7 @@
# Check that the user can edit the Makefile-generated site.exp, and
# have its edits survive to the remaking of that file.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/dejagnu.sh b/t/dejagnu.sh
index 7583347bd..0293de57e 100755
--- a/t/dejagnu.sh
+++ b/t/dejagnu.sh
@@ -17,7 +17,7 @@
# Superficial test to check that dejagnu tests and automake-style
# tests can coexist. See also related deeper test 'check12.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = dejagnu
diff --git a/t/dejagnu2.sh b/t/dejagnu2.sh
index 5b75bb698..78cfb1593 100755
--- a/t/dejagnu2.sh
+++ b/t/dejagnu2.sh
@@ -16,7 +16,7 @@
# Make sure we don't override the user's site.exp rule.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/dejagnu3.sh b/t/dejagnu3.sh
index 42345bee0..4b2580564 100755
--- a/t/dejagnu3.sh
+++ b/t/dejagnu3.sh
@@ -17,7 +17,7 @@
# Check that the DejaGnu rules work for a simple program and test case.
required=runtest
-. ./defs || exit 1
+. test-init.sh
cat > hammer << 'END'
#! /bin/sh
diff --git a/t/dejagnu4.sh b/t/dejagnu4.sh
index 655218b1a..18119b0d5 100755
--- a/t/dejagnu4.sh
+++ b/t/dejagnu4.sh
@@ -24,7 +24,7 @@
# previous tools, but at first glance "make check" has passed.
required=runtest
-. ./defs || exit 1
+. test-init.sh
cat > hammer << 'END'
#! /bin/sh
diff --git a/t/dejagnu5.sh b/t/dejagnu5.sh
index d64a7f2c6..816a65223 100755
--- a/t/dejagnu5.sh
+++ b/t/dejagnu5.sh
@@ -18,7 +18,7 @@
# the package by default.
required=runtest
-. ./defs || exit 1
+. test-init.sh
package=$me
diff --git a/t/dejagnu6.sh b/t/dejagnu6.sh
index 80ff02785..71998cc8e 100755
--- a/t/dejagnu6.sh
+++ b/t/dejagnu6.sh
@@ -17,7 +17,7 @@
# Check that "make check" fails, when a DejaGnu test fails.
required=runtest
-. ./defs || exit 1
+. test-init.sh
cat > faildeja << 'END'
#! /bin/sh
diff --git a/t/dejagnu7.sh b/t/dejagnu7.sh
index d34931b7f..17e5a1864 100755
--- a/t/dejagnu7.sh
+++ b/t/dejagnu7.sh
@@ -18,7 +18,7 @@
# (to detect TCL errors) on a file with TCL errors.
required=runtest
-. ./defs || exit 1
+. test-init.sh
runtest --help | grep '.*--status' \
|| skip_ "dejagnu lacks support for '--status'"
diff --git a/t/deleted-am.sh b/t/deleted-am.sh
index 9dc015a64..ee17a2911 100755
--- a/t/deleted-am.sh
+++ b/t/deleted-am.sh
@@ -19,7 +19,7 @@
# erroring out when a still-required file is missing.
# See also discussion about automake bug#9768.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/deleted-m4.sh b/t/deleted-m4.sh
index 296f453cf..841e30e93 100755
--- a/t/deleted-m4.sh
+++ b/t/deleted-m4.sh
@@ -19,7 +19,7 @@
# erroring out when a still-required file is missing.
# See also discussion about automake bug#9768.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
m4_include([foobar.m4])
diff --git a/t/depacl2.sh b/t/depacl2.sh
index 897a5a226..c7fd85ee1 100755
--- a/t/depacl2.sh
+++ b/t/depacl2.sh
@@ -17,7 +17,7 @@
# Test to make sure dependencies work when required macro is part of
# autoconf.
-. ./defs || exit 1
+. test-init.sh
echo 'AM_FOO' >> configure.ac
echo 'AC_DEFUN([AM_FOO], [AC_REQUIRE([AC_HEADER_STDC])])' > AM_FOO.m4
diff --git a/t/depcomp-implicit-auxdir.sh b/t/depcomp-implicit-auxdir.sh
index dc93a85cb..964b72020 100755
--- a/t/depcomp-implicit-auxdir.sh
+++ b/t/depcomp-implicit-auxdir.sh
@@ -17,7 +17,7 @@
# Make sure a top-level depcomp file is found when
# AC_CONFIG_AUX_DIR is not specified.
-. ./defs || exit 1
+. test-init.sh
mkdir lib src
diff --git a/t/depcomp.sh b/t/depcomp.sh
index 63c702f57..33c293dbe 100755
--- a/t/depcomp.sh
+++ b/t/depcomp.sh
@@ -17,7 +17,7 @@
# Test to make sure depcomp is installed and found properly
# when required for multiple directories.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/depcomp2.sh b/t/depcomp2.sh
index c29d9cdfd..a00236f88 100755
--- a/t/depcomp2.sh
+++ b/t/depcomp2.sh
@@ -18,7 +18,7 @@
# From Pavel Roskin.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
diff --git a/t/depcomp8a.sh b/t/depcomp8a.sh
index 4e34777df..61ffa5692 100755
--- a/t/depcomp8a.sh
+++ b/t/depcomp8a.sh
@@ -20,7 +20,7 @@
# same thing for libtool objects.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/depcomp8b.sh b/t/depcomp8b.sh
index 3e26392ac..a97e2c31a 100755
--- a/t/depcomp8b.sh
+++ b/t/depcomp8b.sh
@@ -20,7 +20,7 @@
# same thing for non-libtool objects.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/depdist.sh b/t/depdist.sh
index 8965cd8cc..e6b245982 100755
--- a/t/depdist.sh
+++ b/t/depdist.sh
@@ -18,7 +18,7 @@
# From Eric Magnien.
required=cc
-. ./defs || exit 1
+. test-init.sh
rm -f configure.ac
diff --git a/t/depend.sh b/t/depend.sh
index 846a4247f..9dbbe8244 100755
--- a/t/depend.sh
+++ b/t/depend.sh
@@ -18,7 +18,7 @@
# In some cases the auto-dependency can get confused and try
# to '-include' a directory (if a backslash-newline appears in _SOURCES).
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/depend3.sh b/t/depend3.sh
index 65f83ce05..fddc9688b 100755
--- a/t/depend3.sh
+++ b/t/depend3.sh
@@ -16,7 +16,7 @@
# Test _DEPENDENCIES variable. From Lee Iverson.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/depend4.sh b/t/depend4.sh
index 3a7174158..ddd77eb2e 100755
--- a/t/depend4.sh
+++ b/t/depend4.sh
@@ -16,7 +16,7 @@
# Check that dependencies are included when there are many header files.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/depend5.sh b/t/depend5.sh
index 2bc6a8f5a..518e00d44 100755
--- a/t/depend5.sh
+++ b/t/depend5.sh
@@ -18,7 +18,7 @@
# quoting in $CONFIG_FILES, done by newer Autoconf.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << END
AC_PROG_CC
@@ -47,9 +47,8 @@ else
depdir=
fi
-# For the fun of it, we should also cope with makefile
-# names that contain weird characters, with Autoconf 2.62
-# and newer.
+# For the fun of it, we should also cope with Makefile names
+# that contain weird characters and newer.
# Pick the first name that the file system will accept.
for name in \
'weird name with $ `#() &! characters"' \
diff --git a/t/depend6.sh b/t/depend6.sh
index 0795f9381..4878b50ab 100755
--- a/t/depend6.sh
+++ b/t/depend6.sh
@@ -17,7 +17,7 @@
# Check for _AM_OUTPUT_DEPENDENCY_COMMANDS grouping bug,
# reported by Markus Duft.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << END
AC_PROG_CC
diff --git a/t/deprecated-acinit.sh b/t/deprecated-acinit.sh
index 516b13979..60b3e5a6f 100755
--- a/t/deprecated-acinit.sh
+++ b/t/deprecated-acinit.sh
@@ -17,7 +17,7 @@
# Check that automake and autoconf complain about an old-style AC_INIT
# call used with a new-style AM_AUTOMAKE_INIT call.
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/destdir.sh b/t/destdir.sh
index f10480b36..6b279845e 100755
--- a/t/destdir.sh
+++ b/t/destdir.sh
@@ -21,7 +21,7 @@
# It will only work for non-root users.
required='ro-dir'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/dir-named-obj-is-bad.sh b/t/dir-named-obj-is-bad.sh
index d14f8c8f3..7b77a906b 100755
--- a/t/dir-named-obj-is-bad.sh
+++ b/t/dir-named-obj-is-bad.sh
@@ -16,7 +16,7 @@
# Naming a subdirectory 'obj/' is a bad idea. Automake should say so.
-. ./defs || exit 1
+. test-init.sh
mkdir obj
diff --git a/t/dirlist-abspath.sh b/t/dirlist-abspath.sh
index 3c25fba5d..d90c1dc46 100755
--- a/t/dirlist-abspath.sh
+++ b/t/dirlist-abspath.sh
@@ -17,7 +17,7 @@
# Check use of absolute paths in dirlist.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
mkdir acdir-more sub sub/acdir
echo "$(pwd)/acdir-more" > sub/acdir/dirlist
diff --git a/t/dirlist.sh b/t/dirlist.sh
index e18877711..2dc903886 100755
--- a/t/dirlist.sh
+++ b/t/dirlist.sh
@@ -16,10 +16,10 @@
# Check dirlist support.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<EOF
-AC_INIT
+AC_INIT([$me], [1.0])
AM_INIT_GUILE_MODULE
EOF
@@ -29,7 +29,7 @@ echo ./dirlist-test > acdir/dirlist
cat >dirlist-test/dirlist-check.m4 <<'END'
AC_DEFUN([AM_INIT_GUILE_MODULE],[
. $srcdir/../GUILE-VERSION
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AM_INIT_AUTOMAKE(foreign)
AC_CONFIG_AUX_DIR(..)
module=[$1]
AC_SUBST(module)])
@@ -50,8 +50,7 @@ grep m4_include aclocal.m4 && exit 1
grep 'GUILE-VERSION' configure
# This bug can occur only when we do a VPATH build of Automake
-# (because of the '-I' passed to aclocal in tests/defs/aclocal.in) but
-# it's OK because VPATH builds are done by 'make distcheck'.
+# but it's OK because VPATH builds are done by 'make distcheck'.
grep 'I should not be included' configure && exit 1
:
diff --git a/t/dirlist2.sh b/t/dirlist2.sh
index 5a11769c2..a678252c1 100755
--- a/t/dirlist2.sh
+++ b/t/dirlist2.sh
@@ -16,10 +16,10 @@
# Check dirlist globbing support.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<EOF
-AC_INIT
+AC_INIT([$me], [1.0])
AM_INIT_GUILE_MODULE
AM_FOO_BAR
EOF
@@ -27,12 +27,7 @@ EOF
mkdir dirlist21-test dirlist22-test
cat >dirlist21-test/dirlist21-check.m4 <<'END'
-AC_DEFUN([AM_INIT_GUILE_MODULE],[
-. $srcdir/../GUILE-VERSION
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-AC_CONFIG_AUX_DIR(..)
-module=[$1]
-AC_SUBST(module)])
+AC_DEFUN([AM_INIT_GUILE_MODULE],[. $srcdir/../GUILE-VERSION])
END
cat >dirlist22-test/dirlist22-check.m4 <<'END'
diff --git a/t/discover.sh b/t/discover.sh
index 4ecf2effc..df11ca3a3 100755
--- a/t/discover.sh
+++ b/t/discover.sh
@@ -16,7 +16,7 @@
# Test to make sure LIBOBJS file cannot be mentioned explicitly.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_RANLIB
diff --git a/t/dist-auxdir-many-subdirs.sh b/t/dist-auxdir-many-subdirs.sh
index eb6b98c33..334e3bdc5 100755
--- a/t/dist-auxdir-many-subdirs.sh
+++ b/t/dist-auxdir-many-subdirs.sh
@@ -19,7 +19,7 @@
am_create_testdir=empty
required=cc
-. ./defs || exit 1
+. test-init.sh
count=0
ocwd=$(pwd) || fatal_ "cannot get current working directory"
@@ -41,7 +41,7 @@ do_check ()
unindent > configure.ac << END
AC_INIT([$me], [$count])
AC_CONFIG_AUX_DIR([$auxdir])
- AM_INIT_AUTOMAKE([parallel-tests])
+ AM_INIT_AUTOMAKE
AC_PROG_CC
# We don't want to require python or emcas in this test, so
# the tricks below.
@@ -56,8 +56,6 @@ END
foo_SOURCES = foo.c
## For py-compile.
python_PYTHON = bar.py
- ## For elisp-comp.
- lisp_LISP = baz.el
## For test-driver.
TESTS =
END
@@ -67,7 +65,6 @@ END
missing
depcomp
py-compile
- elisp-comp
test-driver
'
diff --git a/t/dist-auxfile-2.sh b/t/dist-auxfile-2.sh
index c11083abc..cd62ef067 100755
--- a/t/dist-auxfile-2.sh
+++ b/t/dist-auxfile-2.sh
@@ -20,7 +20,7 @@
# Related to automake bug#9651.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/dist-auxfile.sh b/t/dist-auxfile.sh
index 21c100c77..776997910 100755
--- a/t/dist-auxfile.sh
+++ b/t/dist-auxfile.sh
@@ -20,7 +20,7 @@
# directory was set to '.' by AC_CONFIG_AUX_DIR.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
i=0
for auxdir in build-aux ''; do
diff --git a/t/dist-formats.tap b/t/dist-formats.tap
index 893aa554d..6f217133f 100755
--- a/t/dist-formats.tap
+++ b/t/dist-formats.tap
@@ -18,7 +18,7 @@
# archives.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
plan_ 70
diff --git a/t/dist-included-parent-dir.sh b/t/dist-included-parent-dir.sh
index aed105102..6c225a9f2 100755
--- a/t/dist-included-parent-dir.sh
+++ b/t/dist-included-parent-dir.sh
@@ -16,7 +16,7 @@
# Make sure included files in parent directory are distributed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/dist-missing-am.sh b/t/dist-missing-am.sh
index 80254c49a..2774fa69a 100755
--- a/t/dist-missing-am.sh
+++ b/t/dist-missing-am.sh
@@ -19,7 +19,7 @@
# required '.am' file from a distribution tarball.
# See discussion about automake bug#9768.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/dist-missing-included-m4.sh b/t/dist-missing-included-m4.sh
index 93d11b7de..81fce45be 100755
--- a/t/dist-missing-included-m4.sh
+++ b/t/dist-missing-included-m4.sh
@@ -20,7 +20,7 @@
# See discussion about automake bug#9768.
# See also sister test 'dist-missing-m4.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
m4_include([foobar.m4])
diff --git a/t/dist-missing-m4.sh b/t/dist-missing-m4.sh
index 4ab1e1632..e0ed88614 100755
--- a/t/dist-missing-m4.sh
+++ b/t/dist-missing-m4.sh
@@ -20,7 +20,7 @@
# See discussion about automake bug#9768.
# See also sister test 'dist-missing-included-m4.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
m4_pattern_forbid([^MY_])
diff --git a/t/dist-pr109765.sh b/t/dist-pr109765.sh
index 50085a68f..5c4766964 100755
--- a/t/dist-pr109765.sh
+++ b/t/dist-pr109765.sh
@@ -19,7 +19,7 @@
# so that the latter ones fail.
required=bzip2
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
: > Makefile.am
diff --git a/t/dist-readonly.sh b/t/dist-readonly.sh
index b7b0e0ecc..ab000ee17 100755
--- a/t/dist-readonly.sh
+++ b/t/dist-readonly.sh
@@ -20,7 +20,7 @@
# This test expect the user to be unable to write on files lacking
# write permissions -- so it won't work if the user is 'root'.
required='non-root cc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/dist-repeated.sh b/t/dist-repeated.sh
index 491cf2939..edfbc0f07 100755
--- a/t/dist-repeated.sh
+++ b/t/dist-repeated.sh
@@ -18,7 +18,7 @@
# The distdir target should take care of not copying it more than one
# time anyway.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/distcheck-configure-flags-am.sh b/t/distcheck-configure-flags-am.sh
index 11c992c14..330fde1b4 100755
--- a/t/distcheck-configure-flags-am.sh
+++ b/t/distcheck-configure-flags-am.sh
@@ -17,7 +17,7 @@
# Check support for AM_DISTCHECK_CONFIGURE_FLAGS at "make distcheck"
# time, and its interactions with DISTCHECK_CONFIGURE_FLAGS.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_ARG_ENABLE([success], [], [success=$enableval], [success=no])
diff --git a/t/distcheck-configure-flags-subpkg.sh b/t/distcheck-configure-flags-subpkg.sh
index f5bc15d26..480ad44e3 100755
--- a/t/distcheck-configure-flags-subpkg.sh
+++ b/t/distcheck-configure-flags-subpkg.sh
@@ -20,7 +20,7 @@
# passed down to the configure script of the subpackage. This is
# explicitly documented in the manual.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_SUBDIRS([subpkg])
diff --git a/t/distcheck-configure-flags.sh b/t/distcheck-configure-flags.sh
index e10b2bafe..42dda300c 100755
--- a/t/distcheck-configure-flags.sh
+++ b/t/distcheck-configure-flags.sh
@@ -16,7 +16,7 @@
# Check support for DISTCHECK_CONFIGURE_FLAGS at "make distcheck" time.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_ARG_ENABLE([success], [], [success=$enableval], [success=no])
diff --git a/t/distcheck-hook.sh b/t/distcheck-hook.sh
index 81a6646e1..f55918f68 100755
--- a/t/distcheck-hook.sh
+++ b/t/distcheck-hook.sh
@@ -16,7 +16,7 @@
# Check basic support for distcheck-hook.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/distcheck-hook2.sh b/t/distcheck-hook2.sh
index ee177ee8d..6b4d588ca 100755
--- a/t/distcheck-hook2.sh
+++ b/t/distcheck-hook2.sh
@@ -18,7 +18,7 @@
# Automake, and that a used-defined 'distcheck-hook' is *not* honored
# in a subpackage Makefile.am.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_SUBDIRS([subpkg])
diff --git a/t/distcheck-missing-m4.sh b/t/distcheck-missing-m4.sh
index 1eef8720d..e396e220d 100755
--- a/t/distcheck-missing-m4.sh
+++ b/t/distcheck-missing-m4.sh
@@ -18,7 +18,7 @@
# missing from the dist tarball (interaction with '--install').
# See automake bug#9037.
-. ./defs || exit 1
+. test-init.sh
cwd=$(pwd) || fatal_ "cannot get current working directory"
diff --git a/t/distcheck-outdated-m4.sh b/t/distcheck-outdated-m4.sh
index 50e1057e2..81440bd33 100755
--- a/t/distcheck-outdated-m4.sh
+++ b/t/distcheck-outdated-m4.sh
@@ -18,7 +18,7 @@
# files in a dist tarball (interaction with '--install').
# See automake bug#9037.
-. ./defs || exit 1
+. test-init.sh
cwd=$(pwd) || fatal_ "cannot get current working directory"
diff --git a/t/distcheck-override-infodir.sh b/t/distcheck-override-infodir.sh
index e65078f7a..607c573e4 100755
--- a/t/distcheck-override-infodir.sh
+++ b/t/distcheck-override-infodir.sh
@@ -18,7 +18,7 @@
# working. Related to automake bug#9579.
required='makeinfo tex texi2dvi install-info'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/distcheck-pr10470.sh b/t/distcheck-pr10470.sh
index d888a9972..89a21fee5 100755
--- a/t/distcheck-pr10470.sh
+++ b/t/distcheck-pr10470.sh
@@ -19,7 +19,7 @@
# by a process (e.g., that is its "current working directory").
# See automake bug#10470.
-. ./defs || exit 1
+. test-init.sh
mkdir foo.d
sh -c "cd foo.d && sleep '4'" &
diff --git a/t/distcheck-pr9579.sh b/t/distcheck-pr9579.sh
index ae1da2b92..8c6b6da54 100755
--- a/t/distcheck-pr9579.sh
+++ b/t/distcheck-pr9579.sh
@@ -17,7 +17,7 @@
# Check against automake bug#9579: distcheck does not always detect
# incomplete uninstall as advertised.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/distcheck-writable-srcdir.sh b/t/distcheck-writable-srcdir.sh
index 034dc1e44..4dfd21f92 100755
--- a/t/distcheck-writable-srcdir.sh
+++ b/t/distcheck-writable-srcdir.sh
@@ -21,7 +21,7 @@
# case too (since it doesn't cost us anything but this test).
# See automake bug#10878.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/distcleancheck.sh b/t/distcleancheck.sh
index 5cdd6f181..213ee4e6c 100755
--- a/t/distcleancheck.sh
+++ b/t/distcleancheck.sh
@@ -18,7 +18,7 @@
# The example Makefile.am we use is from the FAQ entry 'distcleancheck'.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'END'
AC_PROG_CC
diff --git a/t/distcom-subdir.sh b/t/distcom-subdir.sh
index cb4d9c33d..b0cbf12de 100755
--- a/t/distcom-subdir.sh
+++ b/t/distcom-subdir.sh
@@ -17,7 +17,7 @@
# Test to make sure that if an auxfile (here depcomp) is required
# by a subdir Makefile.am, it is distributed by that Makefile.am.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
@@ -50,7 +50,7 @@ test -f depcomp
# FIXME: the logic of this check and other similar ones in other
# FIXME: 'distcom*.sh' files should be factored out in a common
-# FIXME: subroutine in 'defs'...
+# FIXME: subroutine in 'am-test-lib.sh'...
sed -n -e "
/^DIST_COMMON =.*\\\\$/ {
:loop
diff --git a/t/distcom2.sh b/t/distcom2.sh
index 27b7dc9a3..1fba523d1 100755
--- a/t/distcom2.sh
+++ b/t/distcom2.sh
@@ -18,7 +18,7 @@
# Report from Pavel Roskin. Report of problems with '--no-force' from
# Scott James Remnant (Debian #206299)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
@@ -52,7 +52,7 @@ for opt in '' --no-force; do
for dir in . subdir; do
# FIXME: the logic of this check and other similar ones in other
# FIXME: 'distcom*.sh' files should be factored out in a common
- # FIXME: subroutine in 'defs'...
+ # FIXME: subroutine in 'am-test-lib.sh'...
sed -n -e "
/^DIST_COMMON =.*\\\\$/ {
:loop
diff --git a/t/distcom3.sh b/t/distcom3.sh
index a2ffe0b0c..35dc73908 100755
--- a/t/distcom3.sh
+++ b/t/distcom3.sh
@@ -17,7 +17,7 @@
# Test to make sure that non-existing common files are distributed
# if they are buildable.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
README:
diff --git a/t/distcom4.sh b/t/distcom4.sh
index 8786ca2cb..04e9cdc88 100755
--- a/t/distcom4.sh
+++ b/t/distcom4.sh
@@ -18,9 +18,8 @@
# This tries to distribute a file from a subdirectory, without
# Makefile in that directory. 'distcom5.sh' performs the same
# test with a Makefile in the directory.
-# Also make sure that README appears first in DIST_COMMON.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([tests/autoconf:tests/wrapper.in],
@@ -71,7 +70,5 @@ cat dc.txt # For debugging.
test 1 -eq $(grep -c tests dc.txt)
grep configure dc.txt
-# README must come first.
-grep 'DIST_COMMON = README' Makefile.in
:
diff --git a/t/distcom5.sh b/t/distcom5.sh
index 6a2c7366e..29ea76c09 100755
--- a/t/distcom5.sh
+++ b/t/distcom5.sh
@@ -19,7 +19,7 @@
# a Makefile in that directory. 'distcom4.sh' performs the same
# test without Makefile in the directory.
-. ./defs || exit 1
+. test-init.sh
extract_distcommon ()
{
diff --git a/t/distdir.sh b/t/distdir.sh
index 9600746b2..d4694fbc8 100755
--- a/t/distdir.sh
+++ b/t/distdir.sh
@@ -21,7 +21,7 @@
# Also test DISTFILES containing a directory and a file in it,
# and repeated directories.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/disthook.sh b/t/disthook.sh
index 6fefacbea..68e6f107b 100755
--- a/t/disthook.sh
+++ b/t/disthook.sh
@@ -16,7 +16,7 @@
# Check that 'dist-hook' works. See automake bug#10878.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/distlinks.sh b/t/distlinks.sh
index 7d05b6eeb..35b8f3f98 100755
--- a/t/distlinks.sh
+++ b/t/distlinks.sh
@@ -17,7 +17,7 @@
# Check that distributed symlinks in the source tree will be expanded
# as regular files in $(distdir).
-. ./defs || exit 1
+. test-init.sh
echo text > file
diff --git a/t/distlinksbrk.sh b/t/distlinksbrk.sh
index eccfd9c70..b549374aa 100755
--- a/t/distlinksbrk.sh
+++ b/t/distlinksbrk.sh
@@ -17,7 +17,7 @@
# Check that distributed broken symlinks cause 'make dist' to fail, and
# to do so with (mostly) meaningful diagnostic.
-. ./defs || exit 1
+. test-init.sh
# We need, for our broken symlinks, names that make it hard to get false
# positives when grepping make output to look for them.
diff --git a/t/distname.sh b/t/distname.sh
index 19806cef0..0b1b54151 100755
--- a/t/distname.sh
+++ b/t/distname.sh
@@ -18,7 +18,7 @@
# From Rainer Orth.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_SRCDIR([a.c])
diff --git a/t/dmalloc.sh b/t/dmalloc.sh
index 3f37eb5ab..ff2d05ea5 100755
--- a/t/dmalloc.sh
+++ b/t/dmalloc.sh
@@ -16,7 +16,7 @@
# Simple checks on the 'AM_WITH_DMALLOC' macro.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_HEADERS([config.h])
diff --git a/t/doc-parsing-buglets-colneq-subst.sh b/t/doc-parsing-buglets-colneq-subst.sh
index f099f0224..ddf37d090 100755
--- a/t/doc-parsing-buglets-colneq-subst.sh
+++ b/t/doc-parsing-buglets-colneq-subst.sh
@@ -22,7 +22,7 @@
# See: <http://lists.gnu.org/archive/html/automake/2010-08/msg00074.html>
# or: <http://thread.gmane.org/gmane.comp.sysutils.automake.general/11943/focus=11962>
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<'END'
$(FOO:=x): bar
diff --git a/t/doc-parsing-buglets-tabs.sh b/t/doc-parsing-buglets-tabs.sh
index 8c9ea4d35..eb51431bc 100755
--- a/t/doc-parsing-buglets-tabs.sh
+++ b/t/doc-parsing-buglets-tabs.sh
@@ -20,7 +20,7 @@
# If you cause some parts of this test to fail, chances are that you've
# improved the Automake parser ;-)
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<END
.PHONY: test
diff --git a/t/dollar.sh b/t/dollar.sh
index e62f42b32..642c07fe0 100755
--- a/t/dollar.sh
+++ b/t/dollar.sh
@@ -21,7 +21,7 @@
# Require GNU make for this test. SunOS Make does not support
# '$$' in a target or a dependency (it outputs the empty string instead).
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/dollarvar.sh b/t/dollarvar.sh
index f28ce04dd..43fc043fc 100755
--- a/t/dollarvar.sh
+++ b/t/dollarvar.sh
@@ -22,7 +22,7 @@
# containing a '$' on the left hand side of an assignment are not
# portable in practice, even though POSIX allows them. :-/
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am <<'EOF'
x = 1
@@ -35,6 +35,7 @@ blo = $(foo${x})
EOF
$ACLOCAL
+
AUTOMAKE_fails -Wportability
grep 'Makefile.am:2' stderr
grep 'Makefile.am:3' stderr
@@ -43,15 +44,7 @@ grep 'Makefile.am:5' stderr
grep 'Makefile.am:6' stderr
grep 'Makefile.am:7' stderr
-# On the other hand, if we allow 'silent-rules' mode, then we need to
-# allow recursive variable expansion, too.
-
-# This should work with the AM_SILENT_RULES macro.
-$sleep
-echo 'AM_SILENT_RULES' >> configure.ac
-
-$ACLOCAL --force
-AUTOMAKE_fails -Wportability
+AUTOMAKE_fails -Wportability -Wno-portability-recursive
grep 'Makefile.am:2' stderr
grep 'Makefile.am:3' stderr
grep 'Makefile.am:4' stderr
diff --git a/t/dollarvar2.sh b/t/dollarvar2.sh
index 1703ceb35..7269ffdb3 100755
--- a/t/dollarvar2.sh
+++ b/t/dollarvar2.sh
@@ -17,7 +17,7 @@
# Test to make sure that -Wportability turns on portability-recursive,
# likewise for -Wno-...
-. ./defs || exit 1
+. test-init.sh
#
# First, try a setup where we have a 'portability-recursive' warning,
diff --git a/t/double.sh b/t/double.sh
index 6e1b96fee..403e86344 100755
--- a/t/double.sh
+++ b/t/double.sh
@@ -17,7 +17,7 @@
# Test to make sure listing a program twice is ok.
# Report from Manu Rouat.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/dup2.sh b/t/dup2.sh
index 82d341cf1..12419b9f6 100755
--- a/t/dup2.sh
+++ b/t/dup2.sh
@@ -16,7 +16,7 @@
# Make sure aclocal only warns about definitions overridden by acinclude.m4.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_FUNC_STRTOD
diff --git a/t/else.sh b/t/else.sh
index 4bf82f6dc..072a40b46 100755
--- a/t/else.sh
+++ b/t/else.sh
@@ -16,7 +16,7 @@
# Test to make sure line numbers are correct in some error reports.
-. ./defs || exit 1
+. test-init.sh
echo 'AM_CONDITIONAL(FOO, true)' >> configure.ac
diff --git a/t/empty-data-primary.sh b/t/empty-data-primary.sh
index a8e1b1678..dd285f000 100755
--- a/t/empty-data-primary.sh
+++ b/t/empty-data-primary.sh
@@ -17,7 +17,7 @@
# Test for bug where if the list of installables is empty, invalid sh
# code is generated.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >>configure.ac
echo 'data_DATA =' >Makefile.am
diff --git a/t/empty-sources-primary.tap b/t/empty-sources-primary.tap
index 3e5b3f400..5f09e6f91 100755
--- a/t/empty-sources-primary.tap
+++ b/t/empty-sources-primary.tap
@@ -17,7 +17,7 @@
# A test for missing _SOURCES variable. Also test to make sure empty
# _SOURCES suppresses assumption about default name.
-. ./defs || exit 1
+. test-init.sh
plan_ 5
diff --git a/t/exdir.sh b/t/exdir.sh
index 0c249e459..7ebe05685 100755
--- a/t/exdir.sh
+++ b/t/exdir.sh
@@ -16,7 +16,7 @@
# Check to make sure new extended directory mechanism works.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
htmldir = $(prefix)/html
diff --git a/t/exdir2.sh b/t/exdir2.sh
index cf17f58ec..ac427dab6 100755
--- a/t/exdir2.sh
+++ b/t/exdir2.sh
@@ -16,7 +16,7 @@
# Test to make sure undefined directories are invalid.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
quuz_DATA = zot.html
diff --git a/t/exdir3.sh b/t/exdir3.sh
index 6d602cbb9..e4ed0950c 100755
--- a/t/exdir3.sh
+++ b/t/exdir3.sh
@@ -16,7 +16,7 @@
# Test to make sure pkgdatadir can be overridden via AC_SUBST.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_SUBST([pkgdatadir], ["FOO"])
diff --git a/t/exeext.sh b/t/exeext.sh
index 1eb42564c..f0850c6ee 100755
--- a/t/exeext.sh
+++ b/t/exeext.sh
@@ -22,7 +22,7 @@
# aren't left around. Report from Jim Meyering.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/exeext2.sh b/t/exeext2.sh
index 956acff2e..606d81a15 100755
--- a/t/exeext2.sh
+++ b/t/exeext2.sh
@@ -16,7 +16,7 @@
# Make sure no-exeext option works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/exeext3.sh b/t/exeext3.sh
index e12462a7f..6d999043b 100755
--- a/t/exeext3.sh
+++ b/t/exeext3.sh
@@ -16,7 +16,7 @@
# Make sure we can override a program rule.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/exeext4.sh b/t/exeext4.sh
index 6d8bc88ea..bd455e092 100755
--- a/t/exeext4.sh
+++ b/t/exeext4.sh
@@ -18,7 +18,7 @@
# programs, but not to @substitutions@.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND], [test -n "$cond"])
diff --git a/t/exsource.sh b/t/exsource.sh
index 4a308cfd1..4494dae26 100755
--- a/t/exsource.sh
+++ b/t/exsource.sh
@@ -17,7 +17,7 @@
# Test to make sure EXTRA_..._SOURCES actually works.
# Bug report from Henrik Frystyk Nielsen.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/ext.sh b/t/ext.sh
index e1e890369..3e10491e3 100755
--- a/t/ext.sh
+++ b/t/ext.sh
@@ -16,18 +16,13 @@
# Test to make sure extensions are set correctly for various languages.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_F77
AC_PROG_FC
AC_PROG_OBJC
-# FIXME: this is to cater to older autoconf; remove this once we
-# FIXME: automake requires Autoconf 2.65 or later.
-m4_ifdef([AC_PROG_OBJCXX], [AC_PROG_OBJCXX], [
- AC_SUBST([OBJCXX], [whocares])
- AM_CONDITIONAL([am__fastdepOBJCXX], [whocares])
-])
+AC_PROG_OBJCXX
AM_PROG_UPC
END
diff --git a/t/ext2.sh b/t/ext2.sh
index 7b97c8542..79114d652 100755
--- a/t/ext2.sh
+++ b/t/ext2.sh
@@ -18,7 +18,7 @@
# Using different extensions for the same language should not
# output the build rules several times.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CXX
diff --git a/t/ext3.sh b/t/ext3.sh
index c32a3e3d3..812d3206b 100755
--- a/t/ext3.sh
+++ b/t/ext3.sh
@@ -20,7 +20,7 @@
# In both cases, we don't try to create a rule; but we shouldn't
# fail either, because magic might be happening behind our back.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
END
diff --git a/t/extra-portability.sh b/t/extra-portability.sh
index fffd6d3d6..0303ba3db 100755
--- a/t/extra-portability.sh
+++ b/t/extra-portability.sh
@@ -20,7 +20,7 @@
# 2. '-Wno-portability' must imply '-Wno-extra-portability'.
# 3. '-Wall' must imply '-Wextra-portability'.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror"
diff --git a/t/extra-portability2.sh b/t/extra-portability2.sh
index e87dde0fb..a82fa47ce 100755
--- a/t/extra-portability2.sh
+++ b/t/extra-portability2.sh
@@ -17,7 +17,7 @@
# Make sure that extra-portability warnings are not enabled by --gnits,
# --gnu and --foreign.
-. ./defs || exit 1
+. test-init.sh
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
diff --git a/t/extra-portability3.sh b/t/extra-portability3.sh
index 2412b4f7b..4f84422a9 100755
--- a/t/extra-portability3.sh
+++ b/t/extra-portability3.sh
@@ -17,7 +17,7 @@
# Check interactions between the 'portability-recursive' and
# 'extra-portability' warning categories.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror"
diff --git a/t/extra-programs-empty.sh b/t/extra-programs-empty.sh
index 189fac4a1..2975d7dbd 100755
--- a/t/extra-programs-empty.sh
+++ b/t/extra-programs-empty.sh
@@ -18,7 +18,7 @@
# This check has been introduced in commit 'Release-1-9-254-g9d0eaef'
# into the former test 'subst2.test'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([Makefile2 Makefile3])
diff --git a/t/extra.sh b/t/extra.sh
index 09937061d..2442faf5b 100755
--- a/t/extra.sh
+++ b/t/extra.sh
@@ -19,7 +19,7 @@
# targets should always be generated. However, they should not be
# built by default.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/extra10.sh b/t/extra10.sh
index db34e1117..bd49d3c58 100755
--- a/t/extra10.sh
+++ b/t/extra10.sh
@@ -20,7 +20,7 @@
# with the involvement of the $(wildcard) GNU make builtin.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra11.sh b/t/extra11.sh
index f5319c61b..6d42d8df2 100755
--- a/t/extra11.sh
+++ b/t/extra11.sh
@@ -18,7 +18,7 @@
# Suggested by observations from Braden McDaniel.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra12.sh b/t/extra12.sh
index a2a797b0d..0dc817c62 100755
--- a/t/extra12.sh
+++ b/t/extra12.sh
@@ -19,7 +19,7 @@
# Suggested by observations from Braden McDaniel.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra2.sh b/t/extra2.sh
index e5576a53e..e3eb5a289 100755
--- a/t/extra2.sh
+++ b/t/extra2.sh
@@ -16,7 +16,7 @@
# Check to make sure EXTRA_foo_SOURCES not defined unnecessarily.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/extra3.sh b/t/extra3.sh
index 02ac789f7..1dd94b52b 100755
--- a/t/extra3.sh
+++ b/t/extra3.sh
@@ -16,7 +16,7 @@
# Check to make sure EXTRA_DATA not required.
-. ./defs || exit 1
+. test-init.sh
echo 'AC_SUBST(CODICIL)' >> configure.ac
diff --git a/t/extra4.sh b/t/extra4.sh
index 286540aa7..248a25b83 100755
--- a/t/extra4.sh
+++ b/t/extra4.sh
@@ -16,7 +16,7 @@
# Check to make sure EXTRA_DATA can be specified.
-. ./defs || exit 1
+. test-init.sh
echo 'AC_SUBST(CODICIL)' >> configure.ac
diff --git a/t/extra5.sh b/t/extra5.sh
index abe8e13c8..51bbb5002 100755
--- a/t/extra5.sh
+++ b/t/extra5.sh
@@ -17,7 +17,7 @@
# Check to make sure EXTRA_DIST can contain a directory from $buildir.
# From Dean Povey.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra6.sh b/t/extra6.sh
index b5308afd2..e3f0a3df2 100755
--- a/t/extra6.sh
+++ b/t/extra6.sh
@@ -17,7 +17,7 @@
# Check to make sure EXTRA_DIST can contain a directory or
# a subdirectory, in $(builddir) or $(srcdir).
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra7.sh b/t/extra7.sh
index b75a0a775..1cd5f6f59 100755
--- a/t/extra7.sh
+++ b/t/extra7.sh
@@ -19,7 +19,7 @@
# $(srcdir)/X and ./X, with the files from the later overriding the
# files from the former.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra8.sh b/t/extra8.sh
index 0a4f818c5..38234a93d 100755
--- a/t/extra8.sh
+++ b/t/extra8.sh
@@ -18,7 +18,7 @@
# and that referring to the same program with inconsistent addition
# of $(EXEEXT) works, too.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/extra9.sh b/t/extra9.sh
index c0bb0f336..96c3122b6 100755
--- a/t/extra9.sh
+++ b/t/extra9.sh
@@ -18,7 +18,7 @@
# are missing; but only if the former is not AC_SUBSTed itself
# (lib_LIBRARIES is in the same boat here).
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/extradep.sh b/t/extradep.sh
index 75daf2eb4..18879f3d1 100755
--- a/t/extradep.sh
+++ b/t/extradep.sh
@@ -17,7 +17,7 @@
# Test EXTRA_*_DEPENDENCIES. See extradep2 for libtool variant.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/extradep2.sh b/t/extradep2.sh
index eecf74fc2..72217e72e 100755
--- a/t/extradep2.sh
+++ b/t/extradep2.sh
@@ -17,7 +17,7 @@
# Test EXTRA_*_DEPENDENCIES, libtool version; see 'extradep.sh'.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/f90only.sh b/t/f90only.sh
index 3d23628e3..7f938afbb 100755
--- a/t/f90only.sh
+++ b/t/f90only.sh
@@ -17,7 +17,7 @@
# Make sure programs with only Fortran 90 source are handled properly.
# (copied from 'fonly.sh') Mike Nolta <mrnolta@princeton.edu>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_FC
diff --git a/t/flavor.sh b/t/flavor.sh
index 8999795ce..383c5c7ab 100755
--- a/t/flavor.sh
+++ b/t/flavor.sh
@@ -18,7 +18,7 @@
# options like '--ignore-deps' and '--silent-rules' are preserved across
# automake reruns.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_MAINTAINER_MODE
@@ -57,21 +57,4 @@ for flavor in --gnits --gnu --foreign --ignore-deps; do
done
-# Cygnus mode is deprecated now, and must be handled separately.
-$AUTOMAKE --cygnus -Wno-obsolete
-./configure --enable-maintainer-mode
-grep " --cygnus" Makefile
-$MAKE
-# Two code paths in configure.am:
-# - either a file in $(am__configure_deps) has been updated ...
-$sleep
-touch aclocal.m4
-$MAKE
-grep " --cygnus" Makefile
-# - ... or not; i.e., Makefile.am or an included file has.
-$sleep
-touch Makefile.am
-$MAKE
-grep " --cygnus" Makefile
-
:
diff --git a/t/flibs.sh b/t/flibs.sh
index d51849f39..10b8e8e90 100755
--- a/t/flibs.sh
+++ b/t/flibs.sh
@@ -17,7 +17,7 @@
# Make sure 'AC_F77_LIBRARY_LDFLAGS' works properly.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_F77
diff --git a/t/fn99.sh b/t/fn99.sh
index f1351bba4..80f9b0581 100755
--- a/t/fn99.sh
+++ b/t/fn99.sh
@@ -16,7 +16,7 @@
# Check the filename-length-max=99 option.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/fn99subdir.sh b/t/fn99subdir.sh
index eb289b48b..0e73263b4 100755
--- a/t/fn99subdir.sh
+++ b/t/fn99subdir.sh
@@ -17,7 +17,7 @@
# PR 507: Check the filename-length-max=99 option
# in conjunction with AC_CONFIG_SUBDIRS.
-. ./defs || exit 1
+. test-init.sh
# The name is so that 99 is exactly hit (including final \0).
subdirname='cnfsubdir'
diff --git a/t/fnoc.sh b/t/fnoc.sh
index f0b2518be..9f7abdd3b 100755
--- a/t/fnoc.sh
+++ b/t/fnoc.sh
@@ -18,7 +18,7 @@
# C-specific code.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_F77
diff --git a/t/fonly.sh b/t/fonly.sh
index 98541872d..796a09386 100755
--- a/t/fonly.sh
+++ b/t/fonly.sh
@@ -17,7 +17,7 @@
# Make sure programs with only Fortran 77 source are handled properly.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_F77
diff --git a/t/forcemiss.sh b/t/forcemiss.sh
index 74da2d7f0..4e006843f 100755
--- a/t/forcemiss.sh
+++ b/t/forcemiss.sh
@@ -16,7 +16,7 @@
# Test to make sure that 'automake --force-missing' works.
-. ./defs || exit 1
+. test-init.sh
rm -f install-sh
diff --git a/t/forcemiss2.sh b/t/forcemiss2.sh
index 8c6369aeb..17aa06d38 100755
--- a/t/forcemiss2.sh
+++ b/t/forcemiss2.sh
@@ -17,7 +17,7 @@
# Test to make sure that 'automake --force-missing' works, even with
# symlinked files.
-. ./defs || exit 1
+. test-init.sh
rm -f install-sh
diff --git a/t/fort1.sh b/t/fort1.sh
index d118e9fad..10753e68d 100755
--- a/t/fort1.sh
+++ b/t/fort1.sh
@@ -17,7 +17,7 @@
# Test that Automake suggests using AC_PROG_F77/FC if Fortran sources
# are used.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am <<END
bin_PROGRAMS = hello
diff --git a/t/fort2.sh b/t/fort2.sh
index fbe05b761..b6c2ead60 100755
--- a/t/fort2.sh
+++ b/t/fort2.sh
@@ -19,7 +19,7 @@
# Cf. 'fort1.sh' and 'link_f90_only.sh'.
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/fort4.sh b/t/fort4.sh
index ee8377306..7f792561c 100755
--- a/t/fort4.sh
+++ b/t/fort4.sh
@@ -19,7 +19,7 @@
# For now, require the GNU compilers (to avoid some Libtool/Autoconf
# issues).
required='g77 gfortran'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/fort5.sh b/t/fort5.sh
index c5be2ab4f..3e65a1448 100755
--- a/t/fort5.sh
+++ b/t/fort5.sh
@@ -19,7 +19,7 @@
# For now, require the GNU compilers (to avoid some Libtool/Autoconf
# issues).
required='libtoolize g77 gfortran'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/fortdep.sh b/t/fortdep.sh
index 8eff4e9c1..99ebb039e 100755
--- a/t/fortdep.sh
+++ b/t/fortdep.sh
@@ -17,7 +17,7 @@
# Test to make sure dependency tracking doesn't interfere with Fortran.
# For PR 75.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_SRCDIR([foo.f])
diff --git a/t/gcj.sh b/t/gcj.sh
index d069ec761..f0a389750 100755
--- a/t/gcj.sh
+++ b/t/gcj.sh
@@ -16,7 +16,7 @@
# Test of compiled java.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
_AM_DEPENDENCIES([GCJ])
diff --git a/t/gcj2.sh b/t/gcj2.sh
index 8da82a199..3aab7a378 100755
--- a/t/gcj2.sh
+++ b/t/gcj2.sh
@@ -16,7 +16,7 @@
# Make sure '..' invalid in subdir .o's.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
_AM_DEPENDENCIES(GCJ)
diff --git a/t/gcj3.sh b/t/gcj3.sh
index c4b45740c..96d0d14ec 100755
--- a/t/gcj3.sh
+++ b/t/gcj3.sh
@@ -16,7 +16,7 @@
# Make sure dependency tracking works for java.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
_AM_DEPENDENCIES([GCJ])
diff --git a/t/gcj4.sh b/t/gcj4.sh
index 299e1c1e4..680e59bec 100755
--- a/t/gcj4.sh
+++ b/t/gcj4.sh
@@ -17,7 +17,7 @@
# Make sure dependency tracking works for Java.
required=gcj
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_GCJ
diff --git a/t/gcj5.sh b/t/gcj5.sh
index 4df105986..9409ee8cc 100755
--- a/t/gcj5.sh
+++ b/t/gcj5.sh
@@ -16,7 +16,7 @@
# Make sure Automake suggests AM_PROG_GCJ when GCJ is needed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
_AM_DEPENDENCIES(GCJ)
diff --git a/t/gcj6.sh b/t/gcj6.sh
index 60023c2c9..fc9fbe684 100755
--- a/t/gcj6.sh
+++ b/t/gcj6.sh
@@ -17,7 +17,7 @@
# AM_PROG_GCJ should cause OBJEXT and EXEEXT to be set.
required='gcj'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_GCJ
diff --git a/t/get-sysconf.sh b/t/get-sysconf.sh
index 60f62cdff..f8026658c 100755
--- a/t/get-sysconf.sh
+++ b/t/get-sysconf.sh
@@ -20,7 +20,7 @@
# we won't have to ask him for more information to start analyzing the
# failure (that had happened too many times in the past!).
-. ./defs || exit 1
+. test-init.sh
st=0
if test -d "$am_top_srcdir"/.git; then
diff --git a/t/gettext-macros.sh b/t/gettext-macros.sh
index a42c031d4..1c774e723 100755
--- a/t/gettext-macros.sh
+++ b/t/gettext-macros.sh
@@ -18,7 +18,7 @@
# to the test cases requiring them.
# See also automake bug#9807.
-. ./defs || exit 1
+. test-init.sh
extract_program_version ()
{
@@ -78,8 +78,6 @@ else
fi
fi
-. ./get.sh
-
cat >> get.sh <<'END'
# Even recent versions of gettext used the now-obsolete 'AM_PROG_MKDIR_P'
# m4 macro. So we need the following to avoid spurious errors.
@@ -87,6 +85,8 @@ ACLOCAL="$ACLOCAL -Wno-obsolete"
AUTOMAKE="$AUTOMAKE -Wno-obsolete"
END
+. ./get.sh
+
$ACLOCAL --force -I m4 || cat >> get.sh <<'END'
# We need to use '-Wno-syntax', since we do not want our test suite
# to fail merely because some third-party '.m4' file is underquoted.
diff --git a/t/gettext.sh b/t/gettext.sh
index a1925f17b..7cf62efab 100755
--- a/t/gettext.sh
+++ b/t/gettext.sh
@@ -17,7 +17,7 @@
# Check gettext support.
required='gettext'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AM_GNU_GETTEXT
diff --git a/t/gettext2.sh b/t/gettext2.sh
index f3d91b04f..39e33bfa3 100755
--- a/t/gettext2.sh
+++ b/t/gettext2.sh
@@ -18,7 +18,7 @@
# PR/338, reported by Charles Wilson.
required='gettext'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AM_GNU_GETTEXT([external])
diff --git a/t/gettext3.sh b/t/gettext3.sh
index bfeb92218..fe2fcdc60 100755
--- a/t/gettext3.sh
+++ b/t/gettext3.sh
@@ -17,7 +17,7 @@
# Check gettext 'AM_GNU_GETTEXT_INTL_SUBDIR' support.
required='gettext'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AM_GNU_GETTEXT([external])
diff --git a/t/gnits.sh b/t/gnits.sh
index f3de3b674..db067b885 100755
--- a/t/gnits.sh
+++ b/t/gnits.sh
@@ -16,7 +16,7 @@
# Test to ensure --gnits version checking is correct.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [3.5.3.2])
diff --git a/t/gnits2.sh b/t/gnits2.sh
index 337c0ae5e..61243f374 100755
--- a/t/gnits2.sh
+++ b/t/gnits2.sh
@@ -17,7 +17,7 @@
# Test to ensure std-options checking is correct.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/gnits3.sh b/t/gnits3.sh
index 0b67253ef..0fe94d517 100755
--- a/t/gnits3.sh
+++ b/t/gnits3.sh
@@ -17,7 +17,7 @@
# Check that AM_INSTALLCHECK_STD_OPTIONS_EXEMPT works.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/gnumake.sh b/t/gnumake.sh
index ed660a2ff..a1447554b 100755
--- a/t/gnumake.sh
+++ b/t/gnumake.sh
@@ -18,7 +18,7 @@
# Report from Braden McDaniel.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/GNUmakefile])
diff --git a/t/gnuwarn.sh b/t/gnuwarn.sh
index 1e468a09f..4a1c03b96 100755
--- a/t/gnuwarn.sh
+++ b/t/gnuwarn.sh
@@ -16,7 +16,7 @@
# Check that Automake warns about user variables being overridden.
-. ./defs || exit 1
+. test-init.sh
# We need (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
diff --git a/t/gnuwarn2.sh b/t/gnuwarn2.sh
index 0cdc71009..5667e279b 100755
--- a/t/gnuwarn2.sh
+++ b/t/gnuwarn2.sh
@@ -16,7 +16,7 @@
# Check diagnostics about no-installman being disallowed in 'gnu'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([gnuwarn2], [1.0])
diff --git a/t/hdr-vars-defined-once.sh b/t/hdr-vars-defined-once.sh
index 92279d704..338007497 100755
--- a/t/hdr-vars-defined-once.sh
+++ b/t/hdr-vars-defined-once.sh
@@ -17,7 +17,7 @@
# Test to make sure header vars defined only once when including.
# Report from Marcus G. Daniels.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/header.sh b/t/header.sh
index 60d8ed1e5..a4550f99b 100755
--- a/t/header.sh
+++ b/t/header.sh
@@ -23,7 +23,7 @@
# in the HEADERS variable for *all* generated Makefile.ins in the
# project.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([MY_HEADERS])
diff --git a/t/help-depend.sh b/t/help-depend.sh
index 9a27d0b0a..12e89bb9b 100755
--- a/t/help-depend.sh
+++ b/t/help-depend.sh
@@ -18,7 +18,7 @@
# the configure help screen.
# Keep this in sync with sister test 'help-depend2.sh'
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help-depend2.sh b/t/help-depend2.sh
index 5cf1273e2..838e961a0 100755
--- a/t/help-depend2.sh
+++ b/t/help-depend2.sh
@@ -18,7 +18,7 @@
# dependency tracking, it adds proper text to the configure help screen.
# Keep this in sync with sister test 'help-depend.sh'
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help-dmalloc.sh b/t/help-dmalloc.sh
index 7d2f10cdc..30f360209 100755
--- a/t/help-dmalloc.sh
+++ b/t/help-dmalloc.sh
@@ -17,7 +17,7 @@
# Make sure that our macro 'AM_WITH_DMALLOC' adds proper text to
# the configure help screen.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help-init.sh b/t/help-init.sh
index 0ae47dd79..3398c2114 100755
--- a/t/help-init.sh
+++ b/t/help-init.sh
@@ -17,7 +17,7 @@
# Make sure that our grand macro 'AM_INIT_AUTOMAKE' add proper text
# to the configure help screen.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help-lispdir.sh b/t/help-lispdir.sh
index 2dd9df36b..23ad0bdde 100755
--- a/t/help-lispdir.sh
+++ b/t/help-lispdir.sh
@@ -17,7 +17,7 @@
# Make sure that our macro 'AM_PATH_LISPDIR' adds proper text to
# the configure help screen.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help-python.sh b/t/help-python.sh
index dcbcfe898..1c3e5a988 100755
--- a/t/help-python.sh
+++ b/t/help-python.sh
@@ -17,7 +17,7 @@
# Make sure that macro 'AM_PATH_PYTHON' adds proper text to the
# configure help screen.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help-silent.sh b/t/help-silent.sh
index b7e805e76..76cae9b1f 100755
--- a/t/help-silent.sh
+++ b/t/help-silent.sh
@@ -14,23 +14,20 @@
# 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_SILENT_RULES' adds proper text to
-# the configure help screen.
+# Make sure configure options relative to automake silent rules are
+# added to the configure help screen.
-. ./defs || exit 1
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_SILENT_RULES
-END
+. test-init.sh
+: > Makefile.am
$ACLOCAL
-mv -f configure.ac configure.tmpl
+cp configure.ac configure.tmpl
-for args in '' '([])' '([yes])' '([no])'; do
- sed "s/AM_SILENT_RULES.*/&$args/" configure.tmpl >configure.ac
- cat configure.ac
+for args in '' 'yes' 'no'; do
+ cp -f configure.tmpl configure.ac
+ test x"$args" = x || echo "AM_SILENT_RULES([$args])/" >> configure.ac
+ cat configure.ac # For debugging.
$AUTOCONF --force
grep_configure_help --enable-silent-rules \
' less verbose build.*\(undo.*"make V=1".*\)'
diff --git a/t/help-upc.sh b/t/help-upc.sh
index 822eadf8c..6ccd96211 100755
--- a/t/help-upc.sh
+++ b/t/help-upc.sh
@@ -17,7 +17,7 @@
# Make sure that our macro 'AM_PROG_UPC' adds proper text to
# the configure help screen.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/help.sh b/t/help.sh
index 2c8175c46..961fcea9b 100755
--- a/t/help.sh
+++ b/t/help.sh
@@ -17,7 +17,7 @@
# Make sure --help and --version work, even when no configure.ac nor
# configure.in is in the current directory.
-. ./defs || exit 1
+. test-init.sh
# Ensure we run in an empty directory.
mkdir emptydir
diff --git a/t/help2.sh b/t/help2.sh
index fad2b29fd..e4a8dffc4 100755
--- a/t/help2.sh
+++ b/t/help2.sh
@@ -16,7 +16,7 @@
# Make sure --help and --version work, even when the current directory
# contains a broken configure.ac and a broken acinclude.m4.
-. ./defs || exit 1
+. test-init.sh
# Ensure we run in a new, clean directory.
mkdir cleandir
diff --git a/t/help3.sh b/t/help3.sh
index 368c45640..14d5f8ecc 100755
--- a/t/help3.sh
+++ b/t/help3.sh
@@ -16,7 +16,7 @@
# Make sure --help and --version takes precedence over other options.
-. ./defs || exit 1
+. test-init.sh
# We must have full control over the content of the current directory.
mkdir cleandir
diff --git a/t/help4.sh b/t/help4.sh
index 775a3abbe..98c8f9a4c 100755
--- a/t/help4.sh
+++ b/t/help4.sh
@@ -17,7 +17,7 @@
# Check that the first among --help and --version to be specified on
# the command line takes precedence over the following one.
-. ./defs || exit 1
+. test-init.sh
# Ensure we run in an empty directory.
mkdir emptydir
diff --git a/t/hfs.sh b/t/hfs.sh
index fae069f5e..f794f5c20 100755
--- a/t/hfs.sh
+++ b/t/hfs.sh
@@ -20,7 +20,7 @@
# Darwin).
# Report from Peter O'Gorman.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >>configure.ac
: >CHANGELOG
diff --git a/t/implicit.sh b/t/implicit.sh
index 86d6032a7..1d53facbc 100755
--- a/t/implicit.sh
+++ b/t/implicit.sh
@@ -17,7 +17,7 @@
# Test to make sure implicit .o's are listed as appropriate. Report
# from Henrik Frystyk Nielsen.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/init.sh b/t/init.sh
index 94cdd649a..0d047bdb7 100755
--- a/t/init.sh
+++ b/t/init.sh
@@ -17,7 +17,7 @@
# Make sure we give a sensible error message when AC_INIT and
# AM_INIT_AUTOMAKE are both given less than two arguments.
-. ./defs || exit 1
+. test-init.sh
for ac_init_args in '' '([x])'; do
for am_init_args in '' '([1.10])'; do
diff --git a/t/init2.sh b/t/init2.sh
index fa2a06573..94af06fae 100755
--- a/t/init2.sh
+++ b/t/init2.sh
@@ -17,7 +17,7 @@
# Make sure we give a sensible error message when AM_INIT_AUTOMAKE
# contains junk.
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<END
AC_INIT([init2], [1.0])
diff --git a/t/insh2.sh b/t/insh2.sh
index 38bb46a9a..a378a2687 100755
--- a/t/insh2.sh
+++ b/t/insh2.sh
@@ -16,7 +16,7 @@
# Test for bug where install-sh not included in distribution.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/install-info-dir.sh b/t/install-info-dir.sh
index abf16e343..c348b5e87 100755
--- a/t/install-info-dir.sh
+++ b/t/install-info-dir.sh
@@ -22,7 +22,7 @@
# FIXME: and could be merged with 'txinfo27.sh'.
required=makeinfo
-. ./defs || exit 1
+. test-init.sh
cwd=$(pwd) || fatal_ "cannot get current working directory"
diff --git a/t/install2.sh b/t/install2.sh
index 96d1c56aa..3aae3c02c 100755
--- a/t/install2.sh
+++ b/t/install2.sh
@@ -18,7 +18,7 @@
# From Pavel Roskin.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/installdir.sh b/t/installdir.sh
index 1cef2c152..2978f5c79 100755
--- a/t/installdir.sh
+++ b/t/installdir.sh
@@ -22,7 +22,7 @@
# installdirs is missing this. Ideally this would be an automatic
# feature of any exported target.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/instdat.sh b/t/instdat.sh
index b6fad9deb..afee3cbeb 100755
--- a/t/instdat.sh
+++ b/t/instdat.sh
@@ -17,7 +17,7 @@
# Test to see if defining INSTALL_DATA causes problems. From EGCS
# list.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_SUBST([INSTALL_DATA])
diff --git a/t/instdat2.sh b/t/instdat2.sh
index 54d26a9fc..5379e8235 100755
--- a/t/instdat2.sh
+++ b/t/instdat2.sh
@@ -17,7 +17,7 @@
# Test that installing under $exec_prefix is handled by install-exec.
# Testing with headers for instance.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am << 'EOF'
# User directories.
diff --git a/t/instdir-cond.sh b/t/instdir-cond.sh
index d0be1a3b1..f6462150c 100755
--- a/t/instdir-cond.sh
+++ b/t/instdir-cond.sh
@@ -17,7 +17,7 @@
# Check against automake bug#10997: directories holding only
# conditionally-installed files should not be created unconditionally.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([ENABLE_FOO], [false])
diff --git a/t/instdir-cond2.sh b/t/instdir-cond2.sh
index 559a7fe85..a5fff9b11 100755
--- a/t/instdir-cond2.sh
+++ b/t/instdir-cond2.sh
@@ -21,7 +21,7 @@
# FIXME: So this test is still xfailing.
# See sister test 'instdir-cond.sh' for the succeeding part.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([ENABLE_FOO], [false])
diff --git a/t/instdir-java.sh b/t/instdir-java.sh
index f31cdb78c..7d7bf3da6 100755
--- a/t/instdir-java.sh
+++ b/t/instdir-java.sh
@@ -17,7 +17,7 @@
# If $(javadir) is the empty string, then nothing should be installed there.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/instdir-lisp.sh b/t/instdir-lisp.sh
index 59bf8b0e4..d37083da4 100755
--- a/t/instdir-lisp.sh
+++ b/t/instdir-lisp.sh
@@ -17,7 +17,7 @@
# If $(lispdir) is the empty string, then nothing should be installed there.
required=emacs
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_PATH_LISPDIR
diff --git a/t/instdir-ltlib.sh b/t/instdir-ltlib.sh
index c6578e24c..2c6deb7bc 100755
--- a/t/instdir-ltlib.sh
+++ b/t/instdir-ltlib.sh
@@ -19,7 +19,7 @@
# This test exercises the libtool code paths.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/instdir-no-empty.sh b/t/instdir-no-empty.sh
index bef179d53..0881fb8e2 100755
--- a/t/instdir-no-empty.sh
+++ b/t/instdir-no-empty.sh
@@ -17,7 +17,7 @@
# An empty "foo_PRIMARY" declaration should *not* cause "make install"
# to create directory $(foodir). See automake bug#10997 and bug#11030.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_SUBST([CC], [whatever])
diff --git a/t/instdir-prog.sh b/t/instdir-prog.sh
index ed0acc130..e59431c2c 100755
--- a/t/instdir-prog.sh
+++ b/t/instdir-prog.sh
@@ -19,7 +19,7 @@
# This test exercises the prog and libs code paths.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/instdir-python.sh b/t/instdir-python.sh
index d57fb4b35..1a20bea28 100755
--- a/t/instdir-python.sh
+++ b/t/instdir-python.sh
@@ -17,7 +17,7 @@
# If $(pythondir) is the empty string, then nothing should be installed there.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_PATH_PYTHON
diff --git a/t/instdir-texi.sh b/t/instdir-texi.sh
index ef6bc2016..d8c575cb3 100755
--- a/t/instdir-texi.sh
+++ b/t/instdir-texi.sh
@@ -17,8 +17,8 @@
# If $(infodir) is the empty string, then nothing should be installed there.
# Likewise for the other install-* targets used for texinfo files.
-required='makeinfo-html tex texi2dvi'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
dvips --help \
|| skip_ "dvips is missing"
diff --git a/t/instdir.sh b/t/instdir.sh
index 6c489fba5..ef45105f2 100755
--- a/t/instdir.sh
+++ b/t/instdir.sh
@@ -18,7 +18,7 @@
# This test only ensures this if $(foo_PRIMARY) is also empty, see
# 'instdir2.sh' and siblings 'instdir-*.sh' for nonempty contents.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_SUBST([foodir], ['${datadir}'/foo])
diff --git a/t/instdir2.sh b/t/instdir2.sh
index 638e25a2b..e777bf65c 100755
--- a/t/instdir2.sh
+++ b/t/instdir2.sh
@@ -18,7 +18,7 @@
# This test ensures this also if $(foo_PRIMARY) is nonempty, see
# 'instdir.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_SUBST([foodir], ['${datadir}'/foo])
diff --git a/t/instexec.sh b/t/instexec.sh
index f394d84a8..dc41c57bf 100755
--- a/t/instexec.sh
+++ b/t/instexec.sh
@@ -17,7 +17,7 @@
# Test for this bug: when a Makefile.am builds nothing, no
# install-exec target is generated.
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/instfail-info.sh b/t/instfail-info.sh
index fea2f5b34..59fb1ebe7 100755
--- a/t/instfail-info.sh
+++ b/t/instfail-info.sh
@@ -20,7 +20,7 @@
# This test has a few sister tests, for java, info, libtool.
required='makeinfo'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AC_OUTPUT
diff --git a/t/instfail-java.sh b/t/instfail-java.sh
index 7211efa6e..ab4c2b420 100755
--- a/t/instfail-java.sh
+++ b/t/instfail-java.sh
@@ -20,7 +20,7 @@
# This is the java sister test of 'instfail.sh'.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/instfail-libtool.sh b/t/instfail-libtool.sh
index 042f07782..d5613b1a9 100755
--- a/t/instfail-libtool.sh
+++ b/t/instfail-libtool.sh
@@ -20,7 +20,7 @@
# This is the libtool sister test of 'instfail.sh'.
required='cc libtool libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AM_PROG_AR
diff --git a/t/instfail.sh b/t/instfail.sh
index 123e08286..98b7a7ae7 100755
--- a/t/instfail.sh
+++ b/t/instfail.sh
@@ -20,7 +20,7 @@
# This test has a few sister tests, for java, info, libtool.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AC_PROG_CC
diff --git a/t/insthook.sh b/t/insthook.sh
index 1b296129f..db243df7b 100755
--- a/t/insthook.sh
+++ b/t/insthook.sh
@@ -16,7 +16,7 @@
# Make sure the install-exec-hook example we give in the manual works.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_PROG_LN_S
diff --git a/t/instman.sh b/t/instman.sh
index 612f9a88a..06166841f 100755
--- a/t/instman.sh
+++ b/t/instman.sh
@@ -17,7 +17,7 @@
# Make sure the MKDIR_P invocation is correct in install-man
# target. Bug reported by Gordon Irlam <gordoni@cygnus.com>.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/instman2.sh b/t/instman2.sh
index 30baf91ef..b124f3624 100755
--- a/t/instman2.sh
+++ b/t/instman2.sh
@@ -17,7 +17,7 @@
# Test to make sure mkinstalldirs invocation correct in install-man
# target. Bug reported by Gordon Irlam <gordoni@cygnus.com>.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
man8_MANS = frob.8
diff --git a/t/instmany-mans.sh b/t/instmany-mans.sh
index 4fd703b5e..1a581bebb 100755
--- a/t/instmany-mans.sh
+++ b/t/instmany-mans.sh
@@ -18,7 +18,7 @@
# This is the mans sister test of 'instmany.sh', see there for details.
-. ./defs || exit 1
+. test-init.sh
# In order to have a useful test on modern systems (which have a high
# limit, if any), use a fake install program that errors out for more
diff --git a/t/instmany-python.sh b/t/instmany-python.sh
index 9cc659ad5..b7a614c21 100755
--- a/t/instmany-python.sh
+++ b/t/instmany-python.sh
@@ -19,7 +19,7 @@
# This is the python sister test of 'instmany.sh', see there for details.
required='python'
-. ./defs || exit 1
+. test-init.sh
limit=2500
subdir=long_subdir_name_with_many_characters
diff --git a/t/instmany.sh b/t/instmany.sh
index 369e23a9e..64005179c 100755
--- a/t/instmany.sh
+++ b/t/instmany.sh
@@ -26,7 +26,7 @@
# For texinfos, we expand names using $(srcdir) in the first place.
# Let's hope nobody uses many texinfos.
-. ./defs || exit 1
+. test-init.sh
# In order to have a useful test on modern systems (which have a high
# limit, if any), use a fake install program that errors out for more
diff --git a/t/instsh.sh b/t/instsh.sh
index e7924b2f9..4a452ba05 100755
--- a/t/instsh.sh
+++ b/t/instsh.sh
@@ -18,7 +18,7 @@
# automake: Makefile.am: required file "../../install-sh" not found; installing
# This also makes sure that install-sh is created in the correct directory.
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
rm -f install-sh
diff --git a/t/instsh2.sh b/t/instsh2.sh
index 9e6182c80..506eee9f3 100755
--- a/t/instsh2.sh
+++ b/t/instsh2.sh
@@ -17,7 +17,7 @@
# Various install-sh checks.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
get_shell_script install-sh
diff --git a/t/instsh3.sh b/t/instsh3.sh
index f8238933a..23334bb62 100755
--- a/t/instsh3.sh
+++ b/t/instsh3.sh
@@ -18,7 +18,7 @@
am_create_testdir=empty
required=non-root
-. ./defs || exit 1
+. test-init.sh
# Solaris /usr/ucb/touch does not accept -t.
touch -t $old_timestamp foo \
diff --git a/t/instspc.tap b/t/instspc.tap
index 2a0fb1009..aace95c66 100755
--- a/t/instspc.tap
+++ b/t/instspc.tap
@@ -19,7 +19,7 @@
# Original report from James Amundson about file names with spaces.
# Other characters added by Paul Eggert.
-. ./defs || exit 99
+. test-init.sh
# Usage: is_in_list ITEM [LIST...]
is_in_list ()
diff --git a/t/interp.sh b/t/interp.sh
index 766e8785c..18d06c182 100755
--- a/t/interp.sh
+++ b/t/interp.sh
@@ -16,7 +16,7 @@
# Test to make sure variable interpolation works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/interp2.sh b/t/interp2.sh
index 5da8a6126..32a357d8c 100755
--- a/t/interp2.sh
+++ b/t/interp2.sh
@@ -17,7 +17,7 @@
# Test to make sure variable interpolation doesn't break other
# features. Report from Joel N. Weber, II.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/java-check.sh b/t/java-check.sh
index c9ae66c10..d4b4f0e80 100755
--- a/t/java-check.sh
+++ b/t/java-check.sh
@@ -19,7 +19,7 @@
# See automake bug#8234.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/java-clean.sh b/t/java-clean.sh
index 5457f1932..a6b465f50 100755
--- a/t/java-clean.sh
+++ b/t/java-clean.sh
@@ -17,7 +17,7 @@
# Test cleaning of Java class files and timestamps.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/java-compile-install.sh b/t/java-compile-install.sh
index 4f78ea883..89749e5f9 100755
--- a/t/java-compile-install.sh
+++ b/t/java-compile-install.sh
@@ -17,7 +17,7 @@
# Test on compilation and installation of Java class files.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/java-compile-run-flat.sh b/t/java-compile-run-flat.sh
index c04f4d997..c4725b0d8 100755
--- a/t/java-compile-run-flat.sh
+++ b/t/java-compile-run-flat.sh
@@ -20,12 +20,12 @@
# This test uses a "flat" setup for the source tree (i.e., everything in
# the top-level directory), and forces the use of the old, non-parallel
# testsuite driver. The sister test 'java-compile-run-nested.sh' do
-# similar checks with a more usual, "nested" setup, and using the newer
-# 'parallel-tests' driver.
+# similar checks with a more usual, "nested" setup, and using the older
+# 'serial-tests' driver.
required='java javac'
am_serial_tests=yes
-. ./defs || exit 1
+. test-init.sh
echo "AC_SUBST([PATH_SEPARATOR], ['$PATH_SEPARATOR'])" >> configure.ac
diff --git a/t/java-compile-run-nested.sh b/t/java-compile-run-nested.sh
index 1448952f5..2d9934596 100755
--- a/t/java-compile-run-nested.sh
+++ b/t/java-compile-run-nested.sh
@@ -18,14 +18,14 @@
# Also meddle with wrapper scripts, as would be probably seen in a real
# "UNIX-style" use case.
# This test uses a typical "nested" source tree setup (i.e., different
-# components/aspects are separated into different subdirectories),
-# and uses the 'parallel-tests' testsuite driver. The sister test
-# 'java-compile-run-flat.sh' do similar checks with a "flat" setup
-# (i.e., everything in the top-level directory), and forcing the use
-# of the older non-parallel 'simple-tests' driver.
+# components/aspects are separated into different subdirectories), and
+# uses the parallel testsuite driver.
+# The sister test 'java-compile-run-flat.sh' do similar checks with
+# a "flat" setup (i.e., everything in the top-level directory), and
+# forcing the use of the older 'serial-tests' driver.
required='java javac'
-. ./defs || exit 1
+. test-init.sh
echo "AC_SUBST([PATH_SEPARATOR], ['$PATH_SEPARATOR'])" >> configure.ac
diff --git a/t/java-empty-classpath.sh b/t/java-empty-classpath.sh
index c54da0ba3..a6102408a 100755
--- a/t/java-empty-classpath.sh
+++ b/t/java-empty-classpath.sh
@@ -18,7 +18,7 @@
# compilation time. See automake bug#9306.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_SRCDIR([org/gnu/bug/Library.java])
diff --git a/t/java-extra.sh b/t/java-extra.sh
index 7b3a7598a..4ab8de03c 100755
--- a/t/java-extra.sh
+++ b/t/java-extra.sh
@@ -20,7 +20,7 @@
# conditionals).
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND], [test x"$cond" = x"yes"])
diff --git a/t/java-mix.sh b/t/java-mix.sh
index 25e851194..65ffd68db 100755
--- a/t/java-mix.sh
+++ b/t/java-mix.sh
@@ -19,7 +19,7 @@
# modifiers. Also check that '.java' files are not distributed by
# default.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/java-no-duplicate.sh b/t/java-no-duplicate.sh
index b5ad9fc98..ec7467ed7 100755
--- a/t/java-no-duplicate.sh
+++ b/t/java-no-duplicate.sh
@@ -17,7 +17,7 @@
# Test that some Java-related variables and rules are not repeatedly
# defined.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
javadir = $(datadir)/java
diff --git a/t/java-nobase.sh b/t/java-nobase.sh
index a643b3d98..b49210b73 100755
--- a/t/java-nobase.sh
+++ b/t/java-nobase.sh
@@ -17,7 +17,7 @@
# Test support of 'nobase_' with the 'JAVA' primary.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/java-noinst.sh b/t/java-noinst.sh
index 8bb3832a9..558a8aa16 100755
--- a/t/java-noinst.sh
+++ b/t/java-noinst.sh
@@ -18,7 +18,7 @@
# be installed.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/java-rebuild.sh b/t/java-rebuild.sh
index 5b5f2966e..3b15c5822 100755
--- a/t/java-rebuild.sh
+++ b/t/java-rebuild.sh
@@ -17,7 +17,7 @@
# Test rebuild rules for Java class files.
required='javac'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/java-sources.sh b/t/java-sources.sh
index 532cb1ff7..b0d51ba80 100755
--- a/t/java-sources.sh
+++ b/t/java-sources.sh
@@ -17,7 +17,7 @@
# Test definition of automake-generated private Makefile variable
# '$(am__java_sources)'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/java-uninstall.sh b/t/java-uninstall.sh
index a1284068f..175b9c67c 100755
--- a/t/java-uninstall.sh
+++ b/t/java-uninstall.sh
@@ -17,7 +17,7 @@
# Check uninstallation of Java class files.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/java.sh b/t/java.sh
index 0103eeae4..b1cf51dad 100755
--- a/t/java.sh
+++ b/t/java.sh
@@ -17,7 +17,7 @@
# Minimal test of Java functionality.
required=javac
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/java2.sh b/t/java2.sh
index 286fdd6b6..c9064aca5 100755
--- a/t/java2.sh
+++ b/t/java2.sh
@@ -18,7 +18,7 @@
# no classes to compile.
# Report from Braden McDaniel.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL(WITH_JDK, false)
diff --git a/t/java3.sh b/t/java3.sh
index eab720385..f7fdf65d1 100755
--- a/t/java3.sh
+++ b/t/java3.sh
@@ -18,7 +18,7 @@
# *.java files when there are none.
# Report from Johannes Nicolai (PR/441).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([WHO_CARES], [false])
diff --git a/t/javadir-undefined.sh b/t/javadir-undefined.sh
index fb0872e8e..e0764bddc 100755
--- a/t/javadir-undefined.sh
+++ b/t/javadir-undefined.sh
@@ -20,7 +20,7 @@
# the *.class files).
# See automake bug#8461.
-. ./defs || exit 1
+. test-init.sh
$ACLOCAL
diff --git a/t/javaflags.sh b/t/javaflags.sh
index 17f0dad9f..e3aad99fa 100755
--- a/t/javaflags.sh
+++ b/t/javaflags.sh
@@ -16,7 +16,7 @@
# Check support for $(JAVACFLAGS) and $(AM_JAVACFLAGS).
-. ./defs || exit 1
+. test-init.sh
cat > fake-javac <<'END'
#!/bin/sh
diff --git a/t/javaprim.sh b/t/javaprim.sh
index a5c4a62f0..6d039c2c4 100755
--- a/t/javaprim.sh
+++ b/t/javaprim.sh
@@ -16,7 +16,7 @@
# Test to make sure JAVA variable can be defined by AC_SUBST.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([JAVA])
diff --git a/t/javasubst.sh b/t/javasubst.sh
index b6929b854..e0e8acaf2 100755
--- a/t/javasubst.sh
+++ b/t/javasubst.sh
@@ -16,7 +16,7 @@
# Test to make sure redefining JAVAC with AC_SUBST works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([JAVAC])
diff --git a/t/ldadd.sh b/t/ldadd.sh
index 948745949..9fbaf2c49 100755
--- a/t/ldadd.sh
+++ b/t/ldadd.sh
@@ -17,7 +17,7 @@
# Check to make sure incorrect LDADD usage is diagnosed.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ldflags.sh b/t/ldflags.sh
index 7eb9be311..d25231d84 100755
--- a/t/ldflags.sh
+++ b/t/ldflags.sh
@@ -18,7 +18,7 @@
# PR 77.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-clean-cxx.sh b/t/lex-clean-cxx.sh
index 38a129c5a..52becb717 100755
--- a/t/lex-clean-cxx.sh
+++ b/t/lex-clean-cxx.sh
@@ -20,7 +20,7 @@
# See also sister test 'lex-clean.sh'.
required='c++ lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/lex-clean.sh b/t/lex-clean.sh
index 3bc52d3aa..7fb7a2ef4 100755
--- a/t/lex-clean.sh
+++ b/t/lex-clean.sh
@@ -20,7 +20,7 @@
# See also sister test 'lex-clean-cxx.sh'.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-depend-cxx.sh b/t/lex-depend-cxx.sh
index 15557a875..0e72281e7 100755
--- a/t/lex-depend-cxx.sh
+++ b/t/lex-depend-cxx.sh
@@ -18,7 +18,7 @@
# Test synthesized from PR automake/6.
required='c++ lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/lex-depend-grep.sh b/t/lex-depend-grep.sh
index e7c953885..7828088fd 100755
--- a/t/lex-depend-grep.sh
+++ b/t/lex-depend-grep.sh
@@ -18,7 +18,7 @@
# in obvious ways. See PR automake/6, and related semantic tests
# 'lex-depend.sh' and 'lex-depend-cxx.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-depend.sh b/t/lex-depend.sh
index 7280b84db..081f1bafb 100755
--- a/t/lex-depend.sh
+++ b/t/lex-depend.sh
@@ -18,7 +18,7 @@
# Test suggested by PR automake/6.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-header.sh b/t/lex-header.sh
index f8d7333e6..d50a1ef20 100755
--- a/t/lex-header.sh
+++ b/t/lex-header.sh
@@ -18,7 +18,7 @@
# bugs #8844 and #9933).
required='cc flex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-lib-external.sh b/t/lex-lib-external.sh
index 9a64266c9..5a2e3c384 100755
--- a/t/lex-lib-external.sh
+++ b/t/lex-lib-external.sh
@@ -18,7 +18,7 @@
# library, if that's available.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-lib.sh b/t/lex-lib.sh
index 11767d890..e0b05f5c2 100755
--- a/t/lex-lib.sh
+++ b/t/lex-lib.sh
@@ -19,7 +19,7 @@
# See also test 'lex-lib-external.sh'.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-libobj.sh b/t/lex-libobj.sh
index 9bd597ae4..f07b1bcf9 100755
--- a/t/lex-libobj.sh
+++ b/t/lex-libobj.sh
@@ -18,7 +18,7 @@
# LIBOBJ machinery.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-line.sh b/t/lex-line.sh
index 11f40b8e8..4a51c1edb 100755
--- a/t/lex-line.sh
+++ b/t/lex-line.sh
@@ -20,7 +20,7 @@
# See also sister test 'yacc-line.sh'.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/lex-nodist.sh b/t/lex-nodist.sh
index 0bbb6cbe4..e318c3ee2 100755
--- a/t/lex-nodist.sh
+++ b/t/lex-nodist.sh
@@ -21,7 +21,7 @@
# for yacc-generated .c and .h files.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-noyywrap.sh b/t/lex-noyywrap.sh
index c4c496498..fed6cb06b 100755
--- a/t/lex-noyywrap.sh
+++ b/t/lex-noyywrap.sh
@@ -17,7 +17,7 @@
# Check Lex support with flex using the '%noyywrap' option.
required='cc flex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex-pr204.sh b/t/lex-pr204.sh
index 8172ec7f1..f6b15ab2c 100755
--- a/t/lex-pr204.sh
+++ b/t/lex-pr204.sh
@@ -21,7 +21,7 @@
# for yacc-generated .c and .h files.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AM_MAINTAINER_MODE
diff --git a/t/lex-subobj-nodep.sh b/t/lex-subobj-nodep.sh
index 0c021a26a..2d6405160 100755
--- a/t/lex-subobj-nodep.sh
+++ b/t/lex-subobj-nodep.sh
@@ -18,7 +18,7 @@
# are used, even when dependency tracking is disabled.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<\END
AC_PROG_CC
diff --git a/t/lex.sh b/t/lex.sh
index 34a14934b..754031d7f 100755
--- a/t/lex.sh
+++ b/t/lex.sh
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex2.sh b/t/lex2.sh
index bfdde02ae..c959db73a 100755
--- a/t/lex2.sh
+++ b/t/lex2.sh
@@ -16,7 +16,7 @@
# Make sure that Automake suggest using AM_PROG_LEX when a lexer is used.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex3.sh b/t/lex3.sh
index b008880f9..633d55a4f 100755
--- a/t/lex3.sh
+++ b/t/lex3.sh
@@ -19,7 +19,7 @@
# From Matthew D. Langston.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lex5.sh b/t/lex5.sh
index cce028a79..d8ccc7a75 100755
--- a/t/lex5.sh
+++ b/t/lex5.sh
@@ -17,7 +17,7 @@
# Test for subdir lexers.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/lexcpp.sh b/t/lexcpp.sh
index d46c82d34..90f2dc07f 100755
--- a/t/lexcpp.sh
+++ b/t/lexcpp.sh
@@ -17,7 +17,7 @@
# Test to make sure Lex + C++ is supported.
# Please keep this is sync with sister test 'yaccpp.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/lexvpath.sh b/t/lexvpath.sh
index 569048ebe..04098bb53 100755
--- a/t/lexvpath.sh
+++ b/t/lexvpath.sh
@@ -23,7 +23,7 @@
# Please keep this in sync with sister test 'yaccvapth.sh'.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
cat > lexoutroot.in << 'END'
LEX_OUTPUT_ROOT='@LEX_OUTPUT_ROOT@'
diff --git a/t/lflags.sh b/t/lflags.sh
index 933f89698..b27752181 100755
--- a/t/lflags.sh
+++ b/t/lflags.sh
@@ -20,7 +20,7 @@
# and yflags2.sh.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >fake-lex <<'END'
#!/bin/sh
diff --git a/t/lflags2.sh b/t/lflags2.sh
index f657da550..5e5e8bf5e 100755
--- a/t/lflags2.sh
+++ b/t/lflags2.sh
@@ -19,7 +19,7 @@
# Please keep this in sync with the sister tests lflags.sh, yflags.sh
# and yflags2.sh.
-. ./defs || exit 1
+. test-init.sh
cat >fake-lex <<'END'
#!/bin/sh
diff --git a/t/libexec.sh b/t/libexec.sh
index e4255e0c5..14c673971 100755
--- a/t/libexec.sh
+++ b/t/libexec.sh
@@ -16,7 +16,7 @@
# PROGRAMS and LIBRARIES can be installed in (pkg)libexecdir.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
libexec_PROGRAMS = foo
diff --git a/t/libobj-basic.sh b/t/libobj-basic.sh
index c730c522a..c9e16da2b 100755
--- a/t/libobj-basic.sh
+++ b/t/libobj-basic.sh
@@ -17,7 +17,7 @@
# Make sure AC_LIBSOURCE and AC_LIBSOURCES work.
required=cc
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.proto
cat >> configure.proto << 'END'
diff --git a/t/libobj10.sh b/t/libobj10.sh
index 1c0736bb2..d8e8d586c 100755
--- a/t/libobj10.sh
+++ b/t/libobj10.sh
@@ -18,7 +18,7 @@
# it's in BUILT_SOURCES. Reported by Erez Zadok.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj12.sh b/t/libobj12.sh
index 6c917e29e..910dd790f 100755
--- a/t/libobj12.sh
+++ b/t/libobj12.sh
@@ -17,7 +17,7 @@
# Test if a file can be mentioned in LIBOBJS and explicitly.
# (See libobj13.sh for the LTLIBRARIES check.)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj13.sh b/t/libobj13.sh
index 3a9ee713a..f872ec7e7 100755
--- a/t/libobj13.sh
+++ b/t/libobj13.sh
@@ -18,7 +18,7 @@
# (Like libobj12.sh, but for Libtool libraries.)
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj14.sh b/t/libobj14.sh
index 266aaadb9..17ba986d0 100755
--- a/t/libobj14.sh
+++ b/t/libobj14.sh
@@ -19,7 +19,7 @@
# that uses it.
# Report from Bill Davidson.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AC_PROG_CC
diff --git a/t/libobj15a.sh b/t/libobj15a.sh
index c7c30e8e7..b60154dfa 100755
--- a/t/libobj15a.sh
+++ b/t/libobj15a.sh
@@ -16,7 +16,7 @@
# Nonexistent sources for AC_LIBOBJ should cause an Automake failure.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj15b.sh b/t/libobj15b.sh
index 71ace126f..004c53914 100755
--- a/t/libobj15b.sh
+++ b/t/libobj15b.sh
@@ -16,7 +16,7 @@
# Nonexistent source for AC_LIBSOURCE should cause Automake to fail.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj15c.sh b/t/libobj15c.sh
index ccaa6bd26..6db5f435c 100755
--- a/t/libobj15c.sh
+++ b/t/libobj15c.sh
@@ -16,7 +16,7 @@
# Nonexistent sources for AC_LIBSOURCES should cause Automake to fail.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj16a.sh b/t/libobj16a.sh
index 9bf602a61..f2b32ac22 100755
--- a/t/libobj16a.sh
+++ b/t/libobj16a.sh
@@ -18,7 +18,7 @@
# Please keep this in sync with sister test 'libobj16b.sh'.
required=cc
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.proto
cat >> configure.proto << 'END'
diff --git a/t/libobj16b.sh b/t/libobj16b.sh
index 600572523..abc6a66c6 100755
--- a/t/libobj16b.sh
+++ b/t/libobj16b.sh
@@ -18,7 +18,7 @@
# Please keep this in sync with sister test 'libobj16a.sh'.
required=cc
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.proto
cat >> configure.proto << 'END'
diff --git a/t/libobj17.sh b/t/libobj17.sh
index e4277f91a..bc743b22c 100755
--- a/t/libobj17.sh
+++ b/t/libobj17.sh
@@ -17,7 +17,7 @@
# Make sure AC_LIBOBJ accept non-literal arguments.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj18.sh b/t/libobj18.sh
index 77d7d54ba..209cab155 100755
--- a/t/libobj18.sh
+++ b/t/libobj18.sh
@@ -16,7 +16,7 @@
# Make sure AC_LIBSOURCE and AC_LIBSOURCES use arguments literally.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libobj19.sh b/t/libobj19.sh
index cae9e8125..7a4c89569 100755
--- a/t/libobj19.sh
+++ b/t/libobj19.sh
@@ -17,7 +17,7 @@
# Test support for AC_CONFIG_LIBOBJ_DIR.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_LIBOBJ_DIR([libobj-dir])
diff --git a/t/libobj2.sh b/t/libobj2.sh
index 778dbd3dd..cce062738 100755
--- a/t/libobj2.sh
+++ b/t/libobj2.sh
@@ -18,7 +18,7 @@
# Bug from Josh MacDonald.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
diff --git a/t/libobj20a.sh b/t/libobj20a.sh
index 52c41ecf9..3f67144dd 100755
--- a/t/libobj20a.sh
+++ b/t/libobj20a.sh
@@ -17,7 +17,7 @@
# Test error reporting for AC_CONFIG_LIBOBJ_DIR.
# See also sister tests 'libobj20b.sh' and 'libobj20c.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_LIBOBJ_DIR([libobj-dir])
diff --git a/t/libobj20b.sh b/t/libobj20b.sh
index d9ba8dad1..b42b8c901 100755
--- a/t/libobj20b.sh
+++ b/t/libobj20b.sh
@@ -17,7 +17,7 @@
# Test error reporting for AC_CONFIG_LIBOBJ_DIR.
# See also sister tests 'libobj20a.sh' and 'libobj20c.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_LIBOBJ_DIR([libobj-dir])
diff --git a/t/libobj20c.sh b/t/libobj20c.sh
index fe6ae6392..295eeacd0 100755
--- a/t/libobj20c.sh
+++ b/t/libobj20c.sh
@@ -17,7 +17,7 @@
# Test error reporting for AC_CONFIG_LIBOBJ_DIR.
# See also sister tests 'libobj20a.sh' and 'libobj20b.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_LIBOBJ_DIR([libobj-dir])
diff --git a/t/libobj3.sh b/t/libobj3.sh
index 1c78cbabe..c42359102 100755
--- a/t/libobj3.sh
+++ b/t/libobj3.sh
@@ -17,7 +17,7 @@
# Make sure we complain if @LIBOBJS@ is used without being set in
# configure.ac.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_RANLIB
diff --git a/t/libobj4.sh b/t/libobj4.sh
index c7a199eb5..f2ab0cf6e 100755
--- a/t/libobj4.sh
+++ b/t/libobj4.sh
@@ -17,7 +17,7 @@
# Test to make sure LIBOBJS error only occurs if LIBOBJS seen. Report
# from Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = foo
diff --git a/t/libobj5.sh b/t/libobj5.sh
index d8b7e2d1d..7d1d51018 100755
--- a/t/libobj5.sh
+++ b/t/libobj5.sh
@@ -17,7 +17,7 @@
# Test to make sure AC_REPLACE_FUNCS works across lines. Report from
# Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = joe
diff --git a/t/libobj7.sh b/t/libobj7.sh
index 1630bee6f..1fa6d2047 100755
--- a/t/libobj7.sh
+++ b/t/libobj7.sh
@@ -17,7 +17,7 @@
# Test for multiple replacement functions.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/library.sh b/t/library.sh
index e95fecb90..8675f28e1 100755
--- a/t/library.sh
+++ b/t/library.sh
@@ -16,7 +16,7 @@
# Test for _DEPENDENCIES with libraries.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_RANLIB
diff --git a/t/library2.sh b/t/library2.sh
index 98c880bdd..0de45af25 100755
--- a/t/library2.sh
+++ b/t/library2.sh
@@ -16,7 +16,7 @@
# Make sure Automake suggest using AC_PROG_RANLIB when *_LIBRARIES is used.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/library3.sh b/t/library3.sh
index 308e74836..642c3c925 100755
--- a/t/library3.sh
+++ b/t/library3.sh
@@ -16,7 +16,7 @@
# Make sure Automake simplify conditions in diagnostics.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CC
diff --git a/t/libtoo10.sh b/t/libtoo10.sh
index c84ddb8a6..968bcb918 100755
--- a/t/libtoo10.sh
+++ b/t/libtoo10.sh
@@ -18,7 +18,7 @@
# Report from Guillermo Ontañón.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR
diff --git a/t/libtoo11.sh b/t/libtoo11.sh
index 1f91f19ef..5ebcf4252 100755
--- a/t/libtoo11.sh
+++ b/t/libtoo11.sh
@@ -18,7 +18,7 @@
# Report by Charles Wilson.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_LIBTOOL
diff --git a/t/libtool-macros.sh b/t/libtool-macros.sh
index 17fea0656..c50777b7c 100755
--- a/t/libtool-macros.sh
+++ b/t/libtool-macros.sh
@@ -18,7 +18,7 @@
# to the test cases requiring them.
# See also automake bug#9807.
-. ./defs || exit 1
+. test-init.sh
echo "# Automatically generated by $me." > get.sh
echo : >> get.sh
diff --git a/t/libtool.sh b/t/libtool.sh
index dd918a14d..d1f116259 100755
--- a/t/libtool.sh
+++ b/t/libtool.sh
@@ -18,7 +18,7 @@
# Report from Kevin Dalley.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_LIBTOOL_DLOPEN
diff --git a/t/libtool2.sh b/t/libtool2.sh
index d9db4aad1..df25abb5b 100755
--- a/t/libtool2.sh
+++ b/t/libtool2.sh
@@ -18,7 +18,7 @@
# Report from Eric Magnien.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libtool3.sh b/t/libtool3.sh
index fdbd86d42..b86c84fdd 100755
--- a/t/libtool3.sh
+++ b/t/libtool3.sh
@@ -18,7 +18,7 @@
# Also make sure we do not bloat the Makefile with unneeded rules.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libtool4.sh b/t/libtool4.sh
index e8704b79a..84fa95d9a 100755
--- a/t/libtool4.sh
+++ b/t/libtool4.sh
@@ -16,7 +16,7 @@
# Make sure Automake suggests AC_PROG_LIBTOOL when *_LTLIBRARIES is used.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/libtool5.sh b/t/libtool5.sh
index 760509808..9f7e995c5 100755
--- a/t/libtool5.sh
+++ b/t/libtool5.sh
@@ -19,7 +19,7 @@
# Report from Harlan Stenn.
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/libtool6.sh b/t/libtool6.sh
index 19f30e79f..34c8dc88e 100755
--- a/t/libtool6.sh
+++ b/t/libtool6.sh
@@ -18,7 +18,7 @@
# in different directories. PR/285.
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/libtool7.sh b/t/libtool7.sh
index 59e9e2504..f810b6902 100755
--- a/t/libtool7.sh
+++ b/t/libtool7.sh
@@ -18,7 +18,7 @@
# Also check basic support for AM_LIBTOOLFLAGS/LIBTOOLFLAGS
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/libtool8.sh b/t/libtool8.sh
index 8cfb8e351..edf432d9f 100755
--- a/t/libtool8.sh
+++ b/t/libtool8.sh
@@ -17,7 +17,7 @@
# Make sure Automake diagnoses conflicting installations.
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/libtool9.sh b/t/libtool9.sh
index 1bb85ccb2..4304467e9 100755
--- a/t/libtool9.sh
+++ b/t/libtool9.sh
@@ -20,7 +20,7 @@
# xxx_LDFLAGS.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/license.sh b/t/license.sh
index cad43074c..bda8b86b1 100755
--- a/t/license.sh
+++ b/t/license.sh
@@ -16,7 +16,7 @@
# Make sure COPYING is not overwritten, even with -a -f.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >>configure.ac
diff --git a/t/license2.sh b/t/license2.sh
index 736e96fa0..ed1fd3c72 100755
--- a/t/license2.sh
+++ b/t/license2.sh
@@ -16,7 +16,7 @@
# Check that installing 'COPYING' outputs a warning.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = gnu
diff --git a/t/link_c_cxx.sh b/t/link_c_cxx.sh
index 27dcb2455..14710e875 100755
--- a/t/link_c_cxx.sh
+++ b/t/link_c_cxx.sh
@@ -17,7 +17,7 @@
# Test to make sure the C++ linker is used when appropriate.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/link_cond.sh b/t/link_cond.sh
index a5ac4b101..6913d47e9 100755
--- a/t/link_cond.sh
+++ b/t/link_cond.sh
@@ -21,7 +21,7 @@
# See automake bug#11089.
required='cc c++'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/link_dist.sh b/t/link_dist.sh
index 9ad431951..e9011e17d 100755
--- a/t/link_dist.sh
+++ b/t/link_dist.sh
@@ -18,7 +18,7 @@
# *_SOURCES
# Richard Boulton <richard@tartarus.org>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/link_f90_only.sh b/t/link_f90_only.sh
index f9c7c18cf..90348d7f9 100755
--- a/t/link_f90_only.sh
+++ b/t/link_f90_only.sh
@@ -17,7 +17,7 @@
# Test to make sure the Fortran 90 linker is used when appropriate.
# (copied from 'link_f_only.sh') Mike Nolta <mrnolta@princeton.edu>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_FC
diff --git a/t/link_f_only.sh b/t/link_f_only.sh
index 5d2702508..a17690201 100755
--- a/t/link_f_only.sh
+++ b/t/link_f_only.sh
@@ -17,7 +17,7 @@
# Test to make sure the Fortran 77 linker is used when appropriate.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_F77
diff --git a/t/link_fc.sh b/t/link_fc.sh
index f334ad83f..76b9053a6 100755
--- a/t/link_fc.sh
+++ b/t/link_fc.sh
@@ -17,7 +17,7 @@
# Test to make sure the Fortran 77 linker is used when appropriate.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/link_fccxx.sh b/t/link_fccxx.sh
index 03b71f5e2..059f1556d 100755
--- a/t/link_fccxx.sh
+++ b/t/link_fccxx.sh
@@ -17,7 +17,7 @@
# Test to make sure the C++ linker is used when appropriate.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/link_fcxx.sh b/t/link_fcxx.sh
index 29893d899..723cddc97 100755
--- a/t/link_fcxx.sh
+++ b/t/link_fcxx.sh
@@ -17,7 +17,7 @@
# Test to make sure the C++ linker is used when appropriate.
# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/link_override.sh b/t/link_override.sh
index 1bf1085dc..682225f29 100755
--- a/t/link_override.sh
+++ b/t/link_override.sh
@@ -16,7 +16,7 @@
# Test to make sure _LINK variables are detected and used as documented.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/version2.sh b/t/lisp-flags.sh
index b690dc9a2..4c52f2e30 100755
--- a/t/version2.sh
+++ b/t/lisp-flags.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# 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
@@ -14,28 +14,28 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test to make sure 3rd arg to AM_INIT_AUTOMAKE not picked up in
-# version. From Joel Weber.
+# Elisp byte-compilation honours AM_ELCFLAFS and ELCFLAGS.
-. ./defs || exit 1
+. test-init.sh
-cat > configure.ac << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE([sh-utils], [1.12o], [no])
-AC_CONFIG_FILES([Makefile])
+cat > Makefile.am << 'EOF'
+lisp_LISP = foo.el
+AM_ELCFLAGS = __am_elcflags__
+EOF
+
+cat >> configure.ac << 'EOF'
+AM_PATH_LISPDIR
AC_OUTPUT
-END
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
-: > Makefile.am
+./configure EMACS='echo >$@' --with-lispdir="$(pwd)/unused"
-# Files required by Gnits.
-: > INSTALL
-: > NEWS
-: > README
-: > COPYING
-: > AUTHORS
-: > ChangeLog
-: > THANKS
+: > foo.el
+ELCFLAGS='__usr_elcflags__' $MAKE -e
+grep '__am_elcflags__.*__usr_elcflags__' foo.elc
-$ACLOCAL
-$AUTOMAKE --gnits -Wno-obsolete
+:
diff --git a/t/lisp-loadpath.sh b/t/lisp-loadpath.sh
new file mode 100755
index 000000000..43e2d0996
--- /dev/null
+++ b/t/lisp-loadpath.sh
@@ -0,0 +1,67 @@
+#! /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/>.
+
+# Emacs lisp files in both $(srcdir) and $(builddir) are found if
+# required by other files. Related to automake bug#11806.
+
+required=emacs
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_PATH_LISPDIR
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LISP = requirer.el
+lisp_LISP = foo.el
+lisp_DATA = bar.el
+END
+
+echo "(require 'foo) (require 'bar)" >> requirer.el
+echo "(provide 'foo)" > foo.el
+echo "(provide 'bar)" > bar.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir build
+cd build
+../configure
+$MAKE
+test -f requirer.elc
+test -f foo.elc
+test ! -e bar.elc
+
+$MAKE clean
+test ! -e requirer.elc
+test ! -e foo.elc
+
+# In the spirit of VPATH, stuff in the builddir is preferred to
+# stuff in the srcdir.
+echo "(provide" > ../foo.el # Break it.
+echo "defun)" > ../bar.el # Likewise.
+$MAKE && exit 1
+$sleep
+echo "(provide 'foo)" > foo.el
+echo "(provide 'bar)" > bar.el
+$MAKE
+test -f requirer.elc
+test -f foo.elc
+test ! -e bar.elc
+
+:
diff --git a/t/lisp-pr11806.sh b/t/lisp-pr11806.sh
index c372ea5db..edcf9bae0 100755
--- a/t/lisp-pr11806.sh
+++ b/t/lisp-pr11806.sh
@@ -18,7 +18,7 @@
# See automake bug#11806.
required=emacs
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PATH_LISPDIR
diff --git a/t/lisp-subdir-mix.sh b/t/lisp-subdir-mix.sh
new file mode 100755
index 000000000..9688eec9f
--- /dev/null
+++ b/t/lisp-subdir-mix.sh
@@ -0,0 +1,96 @@
+#! /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/>.
+
+# Check compiling elisp files in different subdirectories, where a
+# file in a subdirectory might require a file in another one.
+# This doesn't work out of the box, but can be made to work with a
+# judicious use of $(AM_ELCFLAGS).
+
+required=emacs
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_PATH_LISPDIR
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+dist_lisp_LISP = \
+ am-here.el \
+ sub1/am-one.el \
+ sub2/am-two.el \
+ sub3/subsub/am-three.el
+
+AM_ELCFLAGS = \
+ -L $(srcdir)/sub1 \
+ -L $(srcdir)/sub2 \
+ -L $(srcdir)/sub3/subsub
+
+elc-test:
+ test -f sub1/am-one.elc
+ test -f sub2/am-two.elc
+ test -f sub3/subsub/am-three.elc
+.PHONY: elc-test
+check-local: elc-test
+END
+
+mkdir sub1 sub2 sub3 sub3/subsub
+
+cat > am-here.el << 'END'
+(provide 'am-here)
+(require 'am-one)
+(require 'am-two)
+(require 'am-three)
+END
+
+cat > sub1/am-one.el << 'END'
+(require 'am-here)
+(provide 'am-one)
+(require 'am-two)
+(require 'am-three)
+END
+
+cat > sub2/am-two.el << 'END'
+(require 'am-here)
+(require 'am-one)
+(provide 'am-two)
+(require 'am-three)
+END
+
+cat > sub3/subsub/am-three.el << 'END'
+(require 'am-here)
+(require 'am-one)
+(require 'am-two)
+(provide 'am-three)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE
+$MAKE elc-test
+$MAKE clean
+for x in am-here sub1/am-one sub2/am-two sub3/subsub/am-three; do
+ test -f $x.el
+ test ! -e $x.elc
+done
+
+$MAKE distcheck
+
+:
diff --git a/t/lisp-subdir.sh b/t/lisp-subdir.sh
new file mode 100755
index 000000000..9836400da
--- /dev/null
+++ b/t/lisp-subdir.sh
@@ -0,0 +1,80 @@
+#! /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/>.
+
+# Emacs lisp files in subdirectories.
+
+required=emacs
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_PATH_LISPDIR
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+nobase_lisp_LISP = sub/am-one.el sub/am-two.el sub/am-three.el
+nobase_dist_lisp_LISP = sub/am-three.el
+dist_noinst_LISP = sub/am-four.el
+EXTRA_DIST = sub/am-one.el sub/am-two.el
+END
+
+mkdir sub
+echo "(require 'am-two) (provide 'am-one)" > sub/am-one.el
+echo "(require 'am-three) (provide 'am-two)" > sub/am-two.el
+echo "(provide 'am-three)" > sub/am-three.el
+echo "(require 'am-one) (require 'am-two)" > sub/am-four.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure --prefix="$(pwd)/inst" \
+ --with-lispdir="$(pwd)/inst/elisp" \
+
+$MAKE
+# No byte-compiled elisp files in the top-level directory.
+test "$(echo *.elc)" = '*.elc'
+test -f sub/am-one.elc
+test -f sub/am-two.elc
+test -f sub/am-three.elc
+test -f sub/am-four.elc
+$MAKE clean
+test ! -e sub/am-one.elc
+test ! -e sub/am-two.elc
+test ! -e sub/am-three.elc
+test ! -e sub/am-four.elc
+
+# Check installation.
+
+sort > exp << 'END'
+inst/elisp/sub/am-one.elc
+inst/elisp/sub/am-two.elc
+inst/elisp/sub/am-three.elc
+END
+
+$MAKE install
+find inst # For debugging.
+find inst -name '*.elc' > lst || { cat lst; exit 1; }
+sort lst > got
+
+cat exp
+cat got
+diff exp got
+
+# Also check VPATH builds and uninstall completeness.
+$MAKE distcheck
+
+:
diff --git a/t/lisp-subdir2.sh b/t/lisp-subdir2.sh
new file mode 100755
index 000000000..0ea3e9fa2
--- /dev/null
+++ b/t/lisp-subdir2.sh
@@ -0,0 +1,78 @@
+#! /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/>.
+
+# Compiling elisp files in different subdirectories.
+
+required=emacs
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_PATH_LISPDIR
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+dist_lisp_LISP = am-one.el
+nodist_lisp_LISP = sub/am-two.el
+sub/am-two.el:
+ mkdir sub
+ echo "(provide 'am-two)" > $@
+DISTCLEANFILES = $(nodist_lisp_LISP)
+dist_noinst_LISP = x/y/z/am-three.el
+
+elc-test:
+ test -f am-one.elc
+ test -f sub/am-two.elc
+ test -f x/y/z/am-three.elc
+.PHONY: elc-test
+check-local: elc-test
+END
+
+mkdir x x/y x/y/z
+echo "(provide 'am-one)" > am-one.el
+# sub/am-two.el is generated at make runtime
+echo "(provide 'am-three)" > x/y/z/am-three.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE
+$MAKE elc-test
+$MAKE clean
+test ! -e am-one.elc
+test ! -e sub/am-two.elc
+test ! -e x/y/z/am-three.elc
+test -f am-one.el
+test -f sub/am-two.el
+test -f x/y/z/am-three.el
+
+# Byte-compiling only a subset of the elisp files.
+$MAKE am-one.elc sub/am-two.elc
+test -f am-one.elc
+test -f sub/am-two.elc
+test ! -e x/y/z/am-three.elc
+rm -f am-one.elc sub/am-two.elc
+$MAKE x/y/z/am-three.elc
+test ! -e am-one.elc
+test ! -e sub/am-two.elc
+test -f x/y/z/am-three.elc
+
+$MAKE distcheck
+
+:
diff --git a/t/lisp2.sh b/t/lisp2.sh
index 4f0791124..dfd68008f 100755
--- a/t/lisp2.sh
+++ b/t/lisp2.sh
@@ -16,7 +16,7 @@
# Make sure that Automake suggest using AM_PATH_LISPDIR to define lispdir.
-. ./defs || exit 1
+. test-init.sh
: TRY 1 -- We lack both EMACS and lispdir.
diff --git a/t/lisp3.sh b/t/lisp3.sh
index 5b95715ec..7717c1c25 100755
--- a/t/lisp3.sh
+++ b/t/lisp3.sh
@@ -17,7 +17,7 @@
# Test that compiling interdependent elisp files works.
required=emacs
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
lisp_LISP = am-one.el am-two.el am-three.el
@@ -47,7 +47,6 @@ $MAKE
test -f am-one.elc
test -f am-two.elc
test -f am-three.elc
-test -f elc-stamp
# Make sure we can recover from a deletion.
rm -f am-one.elc
@@ -79,15 +78,6 @@ test -f _inst/$dir/site-lisp/am-three.elc
$MAKE uninstall
find _inst | $EGREP '\.elc?$' && exit 1
-# Make sure we build all files when any of them change.
-# (We grep a message to make sure the compilation happens.)
-unique=0a3346e2af8a689b85002b53df09142a
-$sleep
-echo "(message \"$unique\")(provide 'am-three)" > am-three.el
-$MAKE >output 2>&1 || { cat output; exit 1; }
-cat output
-grep $unique output
-
# It should also work for VPATH-builds.
$MAKE distcheck
diff --git a/t/lisp4.sh b/t/lisp4.sh
index b8cb7963a..1b2809ca9 100755
--- a/t/lisp4.sh
+++ b/t/lisp4.sh
@@ -18,7 +18,7 @@
# Report from Simon Josefsson.
required=emacs
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
lisp_LISP = am-one.el am-two.el am-three.el
@@ -32,7 +32,6 @@ test:
test ! -f am-one.elc
test ! -f am-two.elc
test ! -f am-three.elc
- test ! -f elc-stamp
install-test: install
test -f "$(lispdir)/am-one.el"
diff --git a/t/lisp5.sh b/t/lisp5.sh
index 4624010ae..de9c1181e 100755
--- a/t/lisp5.sh
+++ b/t/lisp5.sh
@@ -18,7 +18,7 @@
# non-bytecompiled *.el files.
required=emacs
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
lisp_DATA = am-one.el am-two.el am-three.el
@@ -31,7 +31,6 @@ test:
test ! -f am-one.elc
test ! -f am-two.elc
test ! -f am-three.elc
- test ! -f elc-stamp
install-test: install
test -f "$(lispdir)/am-one.el"
diff --git a/t/lisp6.sh b/t/lisp6.sh
index e877d5a2a..ae81a1cab 100755
--- a/t/lisp6.sh
+++ b/t/lisp6.sh
@@ -17,7 +17,7 @@
# Test for conditional _LISP.
required=emacs
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
dist_lisp_LISP = am-one.el
@@ -57,7 +57,6 @@ $MAKE
test -f am-one.elc
test ! -e am-two.elc
test -f am-three.elc
-test -f elc-stamp
$MAKE install
test -f lisp/am-one.el
@@ -73,7 +72,6 @@ $MAKE distclean
test ! -e am-one.elc
test ! -e am-two.elc
test ! -e am-three.elc
-test ! -e elc-stamp
./configure --with-lispdir="$cwd/lisp" want_two=1
@@ -81,7 +79,6 @@ $MAKE
test -f am-one.elc
test -f am-two.elc
test -f am-three.elc
-test -f elc-stamp
# Let's mutilate the source tree, to check the recover rule.
rm -f am-*.elc
@@ -89,7 +86,6 @@ $MAKE
test -f am-one.elc
test -f am-two.elc
test -f am-three.elc
-test -f elc-stamp
$MAKE install
test -f lisp/am-one.el
@@ -105,6 +101,5 @@ $MAKE distclean
test ! -e am-one.elc
test ! -e am-two.elc
test ! -e am-three.elc
-test ! -e elc-stamp
:
diff --git a/t/lisp7.sh b/t/lisp7.sh
index 4553298cd..4c4676ea9 100755
--- a/t/lisp7.sh
+++ b/t/lisp7.sh
@@ -16,7 +16,7 @@
# Make sure that lisp_LISP also works when emacs is not installed.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
dist_lisp_LISP = am-one.el am-two.el am-three.el
@@ -39,12 +39,10 @@ $AUTOMAKE --add-missing
$MAKE >stdout || { cat stdout; exit 1; }
cat stdout
-test 1 -eq $(grep -c 'Warnings can be ignored' stdout)
test ! -e am-one.elc
test ! -e am-two.elc
test ! -e am-three.elc
-test -f elc-stamp
$MAKE distcheck
diff --git a/t/lisp8.sh b/t/lisp8.sh
index 6e6b901de..7348e4147 100755
--- a/t/lisp8.sh
+++ b/t/lisp8.sh
@@ -17,7 +17,7 @@
# Check the recover rule of lisp_LISP with parallel make.
required='GNUmake emacs'
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
dist_lisp_LISP = am-one.el am-two.el am-three.el
@@ -42,12 +42,10 @@ $AUTOMAKE --add-missing
$MAKE -j >>stdout || { cat stdout; exit 1; }
cat stdout
-test 1 -eq $(grep -c 'Warnings can be ignored' stdout)
test -f am-one.elc
test -f am-two.elc
test -f am-three.elc
-test -f elc-stamp
rm -f am-*.elc
@@ -56,10 +54,8 @@ rm -f am-*.elc
$MAKE -j >>stdout || { cat stdout; exit 1; }
cat stdout
-test 1 -eq $(grep -c 'Warnings can be ignored' stdout)
test -f am-one.elc
test -f am-two.elc
test -f am-three.elc
-test -f elc-stamp
:
diff --git a/t/lispdry.sh b/t/lispdry.sh
index f7de07126..f57e6dce3 100755
--- a/t/lispdry.sh
+++ b/t/lispdry.sh
@@ -17,7 +17,7 @@
# Check that 'make -n' works with the lisp_LISP recover rule.
required='emacs non-root'
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
dist_lisp_LISP = am-one.el am-two.el am-three.el
@@ -42,9 +42,8 @@ $MAKE
test -f am-one.elc
test -f am-two.elc
test -f am-three.elc
-test -f elc-stamp
-rm -f am-*.elc elc-stamp
+rm -f am-*.elc
chmod a-w .
@@ -53,6 +52,5 @@ $MAKE -n
test ! -e am-one.elc
test ! -e am-two.elc
test ! -e am-three.elc
-test ! -e elc-stamp
:
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 4d84940cd..57d271444 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -41,7 +41,6 @@ t/remake-timing-bug-pr8365.sh \
t/lex-subobj-nodep.sh \
t/remake-am-pr10111.sh \
t/remake-m4-pr10111.sh \
-t/tags-pr12372.sh \
t/txinfo5.sh \
$(perl_fake_XFAIL_TESTS)
@@ -85,6 +84,7 @@ t/acloca11.sh \
t/acloca12.sh \
t/acloca13.sh \
t/acloca14.sh \
+t/acloca14b.sh \
t/acloca15.sh \
t/acloca16.sh \
t/acloca17.sh \
@@ -93,9 +93,12 @@ t/acloca19.sh \
t/acloca20.sh \
t/acloca21.sh \
t/acloca22.sh \
+t/acloca22b.sh \
t/acloca23.sh \
t/aclocal-acdir.sh \
t/aclocal-install-absdir.sh \
+t/aclocal-macrodir.tap \
+t/aclocal-amflags.sh \
t/aclocal-print-acdir.sh \
t/aclocal-path.sh \
t/aclocal-path-install.sh \
@@ -106,6 +109,7 @@ t/aclocal-install-fail.sh \
t/aclocal-install-mkdir.sh \
t/aclocal-no-install-no-mkdir.sh \
t/aclocal-verbose-install.sh \
+t/aclocal-autoconf-version-check.sh \
t/ac-output-old.tap \
t/acsilent.sh \
t/acsubst.sh \
@@ -156,7 +160,6 @@ t/autodist-configure-no-subdir.sh \
t/autodist-no-duplicate.sh \
t/autodist-stamp-vti.sh \
t/autohdr.sh \
-t/autohdr2.sh \
t/autohdr3.sh \
t/autohdr4.sh \
t/autohdr-subdir-pr12495.sh \
@@ -174,9 +177,8 @@ t/auxdir-unportable.tap \
t/backcompat.sh \
t/backcompat2.sh \
t/backcompat3.sh \
-t/backcompat4.sh \
-t/backcompat5.sh \
t/backcompat6.sh \
+t/backcompat-acout.sh \
t/backsl.sh \
t/backsl2.sh \
t/backsl3.sh \
@@ -223,7 +225,6 @@ t/check-no-test-driver.sh \
t/check-concurrency-bug9245.sh \
t/checkall.sh \
t/clean.sh \
-t/clean2.sh \
t/colneq.sh \
t/colneq2.sh \
t/colneq3.sh \
@@ -234,8 +235,9 @@ t/colon4.sh \
t/colon5.sh \
t/colon6.sh \
t/colon7.sh \
-t/color.sh \
-t/color2.sh \
+t/color-tests.sh \
+t/color-tests2.sh \
+t/color-tests-opt.sh \
t/comment.sh \
t/comment2.sh \
t/comment3.sh \
@@ -341,13 +343,7 @@ t/cxx-lt-demo.sh \
t/cxxlibobj.sh \
t/cxxlink.sh \
t/cxxnoc.sh \
-t/cygnus-deprecation.sh \
-t/cygnus-check-without-all.sh \
-t/cygnus-dependency-tracking.sh \
-t/cygnus-imply-foreign.sh \
-t/cygnus-no-dist.sh \
-t/cygnus-no-installinfo.sh \
-t/cygnus-requires-maintainer-mode.sh \
+t/cygnus-no-more.sh \
t/cygwin32.sh \
t/dash.sh \
t/defun.sh \
@@ -498,7 +494,6 @@ t/help-depend2.sh \
t/help-dmalloc.sh \
t/help-init.sh \
t/help-lispdir.sh \
-t/help-multilib.sh \
t/help-python.sh \
t/help-silent.sh \
t/help-upc.sh \
@@ -638,8 +633,13 @@ t/lisp5.sh \
t/lisp6.sh \
t/lisp7.sh \
t/lisp8.sh \
+t/lisp-loadpath.sh \
+t/lisp-subdir.sh \
+t/lisp-subdir2.sh \
+t/lisp-subdir-mix.sh \
t/lispdry.sh \
t/lisp-pr11806.sh \
+t/lisp-flags.sh \
t/listval.sh \
t/location.sh \
t/longline.sh \
@@ -669,7 +669,6 @@ t/makevars.sh \
t/man.sh \
t/man2.sh \
t/man3.sh \
-t/man4.sh \
t/man5.sh \
t/man6.sh \
t/man7.sh \
@@ -680,12 +679,8 @@ t/mdate3.sh \
t/mdate4.sh \
t/mdate5.sh \
t/mdate6.sh \
-t/missing.sh \
-t/missing2.sh \
+t/missing-version-mismatch.sh \
t/missing3.sh \
-t/missing4.sh \
-t/missing5.sh \
-t/missing6.sh \
t/am-missing-prog.sh \
t/missing-auxfile-stops-makefiles-creation.sh \
t/mkdir_p.sh \
@@ -695,7 +690,6 @@ t/mkinst2.sh \
t/mkinst3.sh \
t/mmode.sh \
t/mmodely.sh \
-t/multlib.sh \
t/no-extra-makefile-code.sh \
t/no-spurious-install-recursive.sh \
t/nobase.sh \
@@ -726,7 +720,6 @@ t/objcxx-flags.sh \
t/objcxx-deps.sh \
t/objc-megademo.sh \
t/objext-pr10128.sh \
-t/obsolete.sh \
t/oldvars.sh \
t/order.sh \
t/output.sh \
@@ -751,7 +744,6 @@ t/parallel-am.sh \
t/parallel-am2.sh \
t/parallel-am3.sh \
t/serial-tests.sh \
-t/parallel-tests2.sh \
t/parallel-tests-basics.sh \
t/parallel-tests-concurrency.sh \
t/parallel-tests-concurrency-2.sh \
@@ -901,8 +893,17 @@ t/python-dist.sh \
t/python-vars.sh \
t/python-virtualenv.sh \
t/python-pr10995.sh \
-t/recurs.sh \
-t/recurs2.sh \
+t/recurs-user.sh \
+t/recurs-user2.sh \
+t/recurs-user-deeply-nested.sh \
+t/recurs-user-indir.sh \
+t/recurs-user-keep-going.sh \
+t/recurs-user-many.sh \
+t/recurs-user-no-subdirs.sh \
+t/recurs-user-no-top-level.sh \
+t/recurs-user-override.sh \
+t/recurs-user-phony.sh \
+t/recurs-user-wrap.sh \
t/relativize.tap \
t/remake-fail.sh \
t/remake-not-after-make-dist.sh \
@@ -920,6 +921,7 @@ t/remake-deeply-nested.sh \
t/remake-mild-stress.sh \
t/remake-all-1.sh \
t/remake-all-2.sh \
+t/remake-recurs-user.sh \
t/remake-subdir.sh \
t/remake-subdir2.sh \
t/remake-subdir3.sh \
@@ -943,6 +945,8 @@ t/remake-deleted-am-2.sh \
t/remake-deleted-am-subdir.sh \
t/remake-deleted-am.sh \
t/remake-renamed-am.sh \
+t/remake-aclocal-version-mismatch.sh \
+t/remake-macrodir.sh \
t/remake-timing-bug-pr8365.sh \
t/req.sh \
t/reqd.sh \
@@ -970,15 +974,12 @@ t/silent6.sh \
t/silent7.sh \
t/silent8.sh \
t/silent9.sh \
-t/silent-obsolescent-warns.sh \
t/silentcxx.sh \
t/silentcxx-gcc.sh \
t/silentf77.sh \
t/silentf90.sh \
-t/silent-amopts.sh \
t/silent-many-gcc.sh \
t/silent-many-generic.sh \
-t/silent-nowarn.sh \
t/silent-configsite.sh \
t/silent-nested-vars.sh \
t/silent-lex.sh \
@@ -1164,8 +1165,6 @@ t/txinfo.sh \
t/txinfo2.sh \
t/txinfo3.sh \
t/txinfo4.sh \
-t/txinfo5.sh \
-t/txinfo5b.sh \
t/txinfo6.sh \
t/txinfo7.sh \
t/txinfo8.sh \
@@ -1185,7 +1184,6 @@ t/txinfo26.sh \
t/txinfo27.sh \
t/txinfo28.sh \
t/txinfo29.sh \
-t/txinfo30.sh \
t/txinfo31.sh \
t/txinfo32.sh \
t/txinfo33.sh \
@@ -1214,11 +1212,11 @@ t/vala-mix2.sh \
t/vala-parallel.sh \
t/vars.sh \
t/vars3.sh \
+t/var-recurs.sh \
+t/var-recurs2.sh \
t/vartar.sh \
t/vartypos.sh \
t/vartypo2.sh \
-t/version.sh \
-t/version2.sh \
t/version3.sh \
t/version4.sh \
t/version6.sh \
diff --git a/t/listval.sh b/t/listval.sh
index 8bd6b7905..2aa4d0634 100755
--- a/t/listval.sh
+++ b/t/listval.sh
@@ -18,7 +18,7 @@
# From Adam J. Richter.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([LTLIBOBJS])
diff --git a/t/location.sh b/t/location.sh
index dab1e330f..0ff7090bb 100755
--- a/t/location.sh
+++ b/t/location.sh
@@ -16,7 +16,7 @@
# Test for locations in error messages.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/longlin2.sh b/t/longlin2.sh
index 1174a1437..1fcc54e1b 100755
--- a/t/longlin2.sh
+++ b/t/longlin2.sh
@@ -17,7 +17,7 @@
# Long lines should be wrapped.
# Report from Albert Chin.
-. ./defs || exit 1
+. test-init.sh
n=1 files= match=
while test $n -le 100
diff --git a/t/longline.sh b/t/longline.sh
index d0240fdc6..b262f45fe 100755
--- a/t/longline.sh
+++ b/t/longline.sh
@@ -17,7 +17,7 @@
# Long lines of += should be wrapped.
# Report from Simon Josefsson.
-. ./defs || exit 1
+. test-init.sh
(echo DUMMY = some_long_filename_1;
for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;
diff --git a/t/ltcond.sh b/t/ltcond.sh
index ae5415cdf..02e8bad18 100755
--- a/t/ltcond.sh
+++ b/t/ltcond.sh
@@ -18,7 +18,7 @@
# This combines two examples from the manual.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([WANT_LIBFOO], [true])
diff --git a/t/ltcond2.sh b/t/ltcond2.sh
index 49b14d8e9..a16a7cfe7 100755
--- a/t/ltcond2.sh
+++ b/t/ltcond2.sh
@@ -17,7 +17,7 @@
# Test for bug in conditionals.
required='cc native libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ltconv.sh b/t/ltconv.sh
index cf06271d9..580ee6d53 100755
--- a/t/ltconv.sh
+++ b/t/ltconv.sh
@@ -18,7 +18,7 @@
# This example is taken from the manual.
required='cc native libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/ltdeps.sh b/t/ltdeps.sh
index a13ae0352..950bc429e 100755
--- a/t/ltdeps.sh
+++ b/t/ltdeps.sh
@@ -17,7 +17,7 @@
# Test to make sure libtool library dependencies are correct.
# Report from Lars J. Aas.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR
diff --git a/t/ltinit.sh b/t/ltinit.sh
index 69e8d55e7..a98cffa58 100755
--- a/t/ltinit.sh
+++ b/t/ltinit.sh
@@ -19,7 +19,7 @@
# present since libtool 1.9b, circa 2004).
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/ltinstloc.sh b/t/ltinstloc.sh
index f12da7760..e476c987c 100755
--- a/t/ltinstloc.sh
+++ b/t/ltinstloc.sh
@@ -18,7 +18,7 @@
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/ltlibobjs.sh b/t/ltlibobjs.sh
index ed0d2ed3c..1e8ea24d9 100755
--- a/t/ltlibobjs.sh
+++ b/t/ltlibobjs.sh
@@ -17,7 +17,7 @@
# Test to make sure LTLIBOBJS alone works ok.
# Report from Vadim Zeitlin.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([LTLIBOBJS])
diff --git a/t/ltlibsrc.sh b/t/ltlibsrc.sh
index 7c848144c..acce8bbd6 100755
--- a/t/ltlibsrc.sh
+++ b/t/ltlibsrc.sh
@@ -17,7 +17,7 @@
# Test to make sure a sensible default source for libraries is used.
required='cc libtool'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/ltorder.sh b/t/ltorder.sh
index c8f60edec..32d08161d 100755
--- a/t/ltorder.sh
+++ b/t/ltorder.sh
@@ -17,7 +17,7 @@
# Test for correct installation order of nobase libtool libraries.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/lzma.sh b/t/lzma.sh
index da38c3173..46015ed4f 100755
--- a/t/lzma.sh
+++ b/t/lzma.sh
@@ -16,7 +16,7 @@
# Check support for no-dist-gzip with lzma.
-. ./defs || exit 1
+. test-init.sh
errmsg='support for lzma.*removed'
diff --git a/t/m4-inclusion.sh b/t/m4-inclusion.sh
index 3da20eee0..c845617f7 100755
--- a/t/m4-inclusion.sh
+++ b/t/m4-inclusion.sh
@@ -16,7 +16,7 @@
# Test to see if 'm4_sinclude' and 'm4_include' works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
sinclude([doesntexist.m4])
diff --git a/t/maintclean-vpath.sh b/t/maintclean-vpath.sh
index b5c6ffe49..0732fab17 100755
--- a/t/maintclean-vpath.sh
+++ b/t/maintclean-vpath.sh
@@ -18,7 +18,7 @@
# This test is for VPATH builds; see sister test 'maintclean.sh'
# for in-tree builds.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([bar sub/Makefile])
diff --git a/t/maintclean.sh b/t/maintclean.sh
index 757cf859e..b7fd1b288 100755
--- a/t/maintclean.sh
+++ b/t/maintclean.sh
@@ -18,7 +18,7 @@
# This test is for in-tree builds; see sister test 'maintclean-vpath.sh'
# for VPATH builds.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([bar sub/Makefile])
diff --git a/t/maintmode-configure-msg.sh b/t/maintmode-configure-msg.sh
index ebdf4d724..058438db8 100755
--- a/t/maintmode-configure-msg.sh
+++ b/t/maintmode-configure-msg.sh
@@ -19,7 +19,7 @@
# related to the enabling/disabling of maintainer mode are correct (see
# automake bug#9890).
-. ./defs || exit 1
+. test-init.sh
set_maintmode ()
{
diff --git a/t/make-dryrun.tap b/t/make-dryrun.tap
index 1fd255d11..adf2f0441 100755
--- a/t/make-dryrun.tap
+++ b/t/make-dryrun.tap
@@ -16,7 +16,7 @@
# Check that $(am__make_dryrun) works as expected.
-. ./defs || exit 1
+. test-init.sh
plan_ 14
diff --git a/t/make.sh b/t/make.sh
index fad2242b8..1cb814921 100755
--- a/t/make.sh
+++ b/t/make.sh
@@ -18,7 +18,7 @@
# From Ralf Corsepius.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_MAKE_INCLUDE
diff --git a/t/makefile-deps.sh b/t/makefile-deps.sh
index 192e56bae..b4c5bd79e 100755
--- a/t/makefile-deps.sh
+++ b/t/makefile-deps.sh
@@ -17,7 +17,7 @@
# Make sure we don't emit a rule with empty target if list of
# automatically-computed dependencies for Makefile.in is empty.
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/makej.sh b/t/makej.sh
index b339bd73c..e8d1ea57a 100755
--- a/t/makej.sh
+++ b/t/makej.sh
@@ -22,7 +22,7 @@
# via autom4te.
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<END
m4_include([version.m4])
diff --git a/t/makej2.sh b/t/makej2.sh
index c7d809e89..20ebb57ec 100755
--- a/t/makej2.sh
+++ b/t/makej2.sh
@@ -18,7 +18,7 @@
# without -B, it may reuse the same shell for separate commands in a
# rule, which can lead to interesting results.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/maken.sh b/t/maken.sh
index ec7200895..5087b9259 100755
--- a/t/maken.sh
+++ b/t/maken.sh
@@ -19,7 +19,7 @@
# Also, ensure that 'make -n dist' and 'make -n distcheck' show what
# would happen, at least when using GNU make.
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/maken3.sh b/t/maken3.sh
index 6d580eca8..dbbdb4afa 100755
--- a/t/maken3.sh
+++ b/t/maken3.sh
@@ -22,10 +22,10 @@
# special target, the output from make is sufficiently complete.
#
# This test exercises the GCS-mandated targets (except for dist)
-# as well as tags, TAGS.
+# as well as tags.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
# Does $MAKE support the '.MAKE' special target?
have_dotmake=false
@@ -111,8 +111,6 @@ installcheck-local:
@: > stamp-installcheck-sub
tags:
@: > stamp-tags-sub
-TAGS:
- @: > stamp-TAGS-sub
mostlyclean-local:
@: > stamp-mostlyclean-sub
maintainer-clean-local:
@@ -127,7 +125,7 @@ html:
@: > sub2-$@-should-not-be-executed
install-info install-html install-dvi install-pdf install-ps:
@: > sub2-$@-should-not-be-executed
-installcheck installdirs tags TAGS mostlyclean:
+installcheck installdirs tags mostlyclean:
@: > sub2-$@-should-not-be-executed
## These targets cannot be overridden like this:
## install-strip distclean maintainer-clean
@@ -142,12 +140,12 @@ check_targets ()
all install install-strip uninstall clean distclean check \
info html dvi pdf ps \
install-info install-html install-dvi install-pdf install-ps \
- installcheck installdirs tags TAGS mostlyclean maintainer-clean
+ installcheck installdirs tags mostlyclean maintainer-clean
do
$MAKE -n $target >stdout || { cat stdout; exit 1; }
cat stdout
case $target in
- install-* | installdirs | tags | TAGS ) ;;
+ install-* | installdirs | tags ) ;;
*)
if $have_dotmake; then
grep "stamp-$target$" stdout || exit 1
diff --git a/t/makevars.sh b/t/makevars.sh
index 3654196b2..4614cd7c5 100755
--- a/t/makevars.sh
+++ b/t/makevars.sh
@@ -17,7 +17,7 @@
# Test to make sure that automake includes the needed variables,
# but not too many.
-. ./defs || exit 1
+. test-init.sh
# Find the macros wanted by Automake.
$ACLOCAL
diff --git a/t/man.sh b/t/man.sh
index 3feb3fa05..d5c9ece6b 100755
--- a/t/man.sh
+++ b/t/man.sh
@@ -16,7 +16,7 @@
# Test to make sure 'dist' prefix works with man pages.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
dist_man_MANS = foo.1
diff --git a/t/man2.sh b/t/man2.sh
index a7b764659..31c4af5e2 100755
--- a/t/man2.sh
+++ b/t/man2.sh
@@ -17,7 +17,7 @@
# Make sure that man pages listed in man_MANS are installed and
# renamed as documented.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/man3.sh b/t/man3.sh
index 2604c014c..8904e549b 100755
--- a/t/man3.sh
+++ b/t/man3.sh
@@ -16,7 +16,7 @@
# PR 516: Prefer generated manpages to distributed ones.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
dist_man_MANS = foo.1
diff --git a/t/man4.sh b/t/man4.sh
deleted file mode 100755
index 2688b7d47..000000000
--- a/t/man4.sh
+++ /dev/null
@@ -1,105 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2008-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/>.
-
-# Ensure 'make dist' fails when help2man replacement man pages are created.
-#
-# The assumption here is the following: if the developer uses help2man to
-# generate man pages from --help output, then these man pages may not be
-# stored in VCS. However, they should be distributed, so that the end user
-# that receives the tarball doesn't have to install help2man. If they are
-# not distributed, then the developer should make help2man a prerequisite
-# to building the package from a tarball, e.g., with a configure check for
-# help2man that errors out if it is unavailable. In both cases it is
-# sufficient to check only distributed man pages.
-#
-# Idea of this whole shenanigan is to allow somebody to check out sources from
-# a VCS and build and install them without needing help2man installed. The
-# installed man pages will be bogus in this case. Typically, this happens
-# when developers ask users to try out a fix from VCS; the developers themselves
-# will usually have help2man installed (or should install it).
-
-. ./defs || exit 1
-
-cat > Makefile.am << 'END'
-dist_man_MANS = $(srcdir)/foo.1 bar.1
-dist_bin_SCRIPTS = foo bar
-$(srcdir)/foo.1:
- $(HELP2MAN) --output=$@ $(srcdir)/foo
-bar.1:
- $(HELP2MAN) --output=$(srcdir)/bar.1 $(srcdir)/bar
-END
-
-cat >>configure.ac <<'END'
-AM_MISSING_PROG([HELP2MAN], [help2man])
-AC_OUTPUT
-END
-
-cat > foo <<'END'
-#! /bin/sh
-while test $# -gt 0; do
- case $1 in
- -h | --help) echo "usage: $0 [OPTIONS]..."; exit 0;;
- -v | --version) echo "$0 1.0"; exit 0;;
- esac
- shift
-done
-END
-cp foo bar
-chmod +x foo bar
-
-mkdir bin
-cat > bin/help2man <<'END'
-#! /bin/sh
-# Fake help2man script that lets 'missing' think it is not installed.
-exit 127
-END
-chmod +x bin/help2man
-PATH=$(pwd)/bin$PATH_SEPARATOR$PATH
-
-grep_error_messages()
-{
- grep ' man pages contain.*missing help2man.* replacement text' stderr \
- && grep 'install help2man' stderr \
- && grep 'regenerate the man pages' stderr \
- || exit 1
-}
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-./configure
-$MAKE
-$MAKE dist 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep_error_messages
-$MAKE distcheck 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep_error_messages
-$MAKE distclean
-
-mkdir build
-cd build
-../configure
-$MAKE
-$MAKE dist 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep_error_messages
-$MAKE distcheck 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep_error_messages
-
-:
diff --git a/t/man5.sh b/t/man5.sh
index d3c227007..a04ccfe06 100755
--- a/t/man5.sh
+++ b/t/man5.sh
@@ -16,7 +16,7 @@
# Make sure to extract the correct mansection from files in man_MANS.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/man6.sh b/t/man6.sh
index d6b51ef9e..d854732b2 100755
--- a/t/man6.sh
+++ b/t/man6.sh
@@ -18,7 +18,7 @@
# even if the 'missing' script is involved.
required=help2man
-. ./defs || exit 1
+. test-init.sh
# Avoid a spurious failure due to a known FreeBSD make incompatibility.
useless_vpath_rebuild \
@@ -65,7 +65,7 @@ cd build
../configure
# Sanity check.
-grep '^HELP2MAN *=.*/missing --run help2man' Makefile
+grep '^HELP2MAN *=.*/missing help2man' Makefile
$MAKE
$FGREP foobar ../foobar.1
@@ -84,7 +84,7 @@ rm -f *.1 # Remove leftover generated manpages.
./configure
# Sanity check.
-grep '^HELP2MAN *=.*/missing --run help2man' Makefile
+grep '^HELP2MAN *=.*/missing help2man' Makefile
$MAKE
$FGREP foobar foobar.1
diff --git a/t/man7.sh b/t/man7.sh
index 5791b7218..3ce410e14 100755
--- a/t/man7.sh
+++ b/t/man7.sh
@@ -16,7 +16,7 @@
# Check for a bug in maintainer-clean w.r.t. generated manpages.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
dist_man_MANS = $(srcdir)/foo.1 bar.1
diff --git a/t/man8.sh b/t/man8.sh
index a7116ae7e..7396006ec 100755
--- a/t/man8.sh
+++ b/t/man8.sh
@@ -16,7 +16,7 @@
# Check for a bug in distcheck w.r.t. generated manpages.
-. ./defs || exit 1
+. test-init.sh
# Avoid a spurious failure due to a known FreeBSD make incompatibility.
useless_vpath_rebuild \
diff --git a/t/mdate.sh b/t/mdate.sh
index e44144a8f..009c753c9 100755
--- a/t/mdate.sh
+++ b/t/mdate.sh
@@ -16,7 +16,7 @@
# Test that mdate-sh is required when Texinfo used and version.texi needed.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
diff --git a/t/mdate2.sh b/t/mdate2.sh
index 6ba57278b..ea005fe5e 100755
--- a/t/mdate2.sh
+++ b/t/mdate2.sh
@@ -16,7 +16,7 @@
# Test to make sure mdate-sh is included in distribution.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
diff --git a/t/mdate3.sh b/t/mdate3.sh
index aa2755ee0..409abb78f 100755
--- a/t/mdate3.sh
+++ b/t/mdate3.sh
@@ -16,7 +16,7 @@
# Test to make sure mdate-sh run correctly.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/mdate4.sh b/t/mdate4.sh
index 70809a6a6..912ef418d 100755
--- a/t/mdate4.sh
+++ b/t/mdate4.sh
@@ -17,7 +17,7 @@
# Test to make sure that mdate-sh is added to the right directory.
# Report from Kevin Dalley.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/mdate5.sh b/t/mdate5.sh
index 0cbc19856..660366726 100755
--- a/t/mdate5.sh
+++ b/t/mdate5.sh
@@ -17,7 +17,7 @@
# Test to make sure mdate-sh works correctly.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
get_shell_script mdate-sh
diff --git a/t/mdate6.sh b/t/mdate6.sh
index 110bb2d57..fbb85571f 100755
--- a/t/mdate6.sh
+++ b/t/mdate6.sh
@@ -17,7 +17,7 @@
# mdate-sh can work with weird file names, doesn't eval too much.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
a=
file='file name $a'
diff --git a/t/missing-auxfile-stops-makefiles-creation.sh b/t/missing-auxfile-stops-makefiles-creation.sh
index d1c0cd41f..f8e91f9a4 100755
--- a/t/missing-auxfile-stops-makefiles-creation.sh
+++ b/t/missing-auxfile-stops-makefiles-creation.sh
@@ -17,7 +17,7 @@
# Automake should stop the creation of Makefile.in files at the first
# encountered error due to a required auxiliary file not found.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AM_PATH_PYTHON
diff --git a/t/missing2.sh b/t/missing-version-mismatch.sh
index a17c5fd3e..43ebf2002 100755
--- a/t/missing2.sh
+++ b/t/missing-version-mismatch.sh
@@ -16,43 +16,35 @@
# Test missing with version mismatches.
-. ./defs || exit 1
+am_create_testdir=empty
+. test-init.sh
-cat >>configure.ac <<'EOF'
-m4_include([v.m4])
-AC_OUTPUT
-EOF
+get_shell_script missing
-: > v.m4
+do_check ()
+{
+ progname=$1; shift;
+ ./missing "$@" 2>stderr && { cat stderr >&2; exit 1; }
+ cat stderr >&2
+ $FGREP "WARNING: '$progname' is probably too old." stderr
+}
-: > Makefile.am
+echo 'AC_INIT([x], [1.0]) AC_PREREQ([9999])' >> configure.ac
-get_shell_script missing
+do_check autoconf $AUTOCONF
+do_check autoheader $AUTOHEADER
+do_check aclocal-$APIVERSION $am_original_ACLOCAL
+
+cat > configure.ac << 'END'
+AC_INIT([x], [0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+echo AUTOMAKE_OPTIONS = 9999.9999 > Makefile.am
$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-# See the test 'missing.sh' for explanations about this.
-MYAUTOCONF="./missing --run $AUTOCONF"
-unset AUTOCONF
-
-./configure AUTOCONF="$MYAUTOCONF"
-
-$MAKE
-$sleep
-# Hopefully the install version of Autoconf cannot compete with this one...
-echo 'AC_PREREQ(9999)' > v.m4
-$MAKE distdir
-
-# Run again, but without missing, to ensure that timestamps were updated.
-export AUTOMAKE ACLOCAL
-./configure AUTOCONF="$MYAUTOCONF"
-$MAKE
-
-# Make sure $MAKE fail when timestamps aren't updated and missing is not used.
-$sleep
-touch v.m4
-$MAKE && exit 1
+: > install-sh
+# FIXME: this doesn't work due to a bug in automake (not 'missing').
+#do_check automake-$APIVERSION $am_original_AUTOMAKE
:
diff --git a/t/missing.sh b/t/missing.sh
deleted file mode 100755
index fcca48f85..000000000
--- a/t/missing.sh
+++ /dev/null
@@ -1,66 +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/>.
-
-# Test missing with version mismatches.
-
-. ./defs || exit 1
-
-cat >>configure.ac <<'EOF'
-AC_OUTPUT
-EOF
-
-: > Makefile.am
-
-get_shell_script missing
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-# Make sure we do use missing, even if the user exported AUTOCONF.
-# (We cannot export this new value, because it would be used by Automake
-# when tracing, and missing is no good for this.)
-MYAUTOCONF="./missing --run $AUTOCONF"
-unset AUTOCONF
-
-./configure AUTOCONF="$MYAUTOCONF"
-$MAKE
-$sleep
-# Hopefully the install version of Autoconf cannot compete with this one...
-echo 'AC_PREREQ(9999)' >> aclocal.m4
-$MAKE distdir
-
-# Try version number suffixes if we can add them safely.
-case $MYAUTOCONF in *autoconf)
- ./configure AUTOCONF="${MYAUTOCONF}6789"
- $MAKE
- $sleep
- # Hopefully the install version of Autoconf cannot compete with this one...
- echo 'AC_PREREQ(9999)' >> aclocal.m4
- $MAKE distdir
-esac
-
-# Run again, but without missing, to ensure that timestamps were updated.
-export AUTOMAKE ACLOCAL
-./configure AUTOCONF="$MYAUTOCONF"
-$MAKE
-
-# Make sure $MAKE fails when timestamps aren't updated and missing is not used.
-$sleep
-touch aclocal.m4
-$MAKE && exit 1
-
-:
diff --git a/t/missing3.sh b/t/missing3.sh
index c5db4f038..3cd6333a0 100755
--- a/t/missing3.sh
+++ b/t/missing3.sh
@@ -17,37 +17,39 @@
# Test missing when running a tool's --version.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
get_shell_script missing
# b7cb8259 assumed not to exist.
-./missing b7cb8259 --version 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep . stderr && exit 1
-./missing b7cb8259 --grep 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep WARNING stderr
+run_cmd ()
+{
+ st=0; "$@" >stdout 2>stderr || st=$?
+ cat stdout
+ cat stderr >&2
+ return $st
+}
-./missing --run b7cb8259 --version && exit 1
-./missing --run b7cb8259 --grep 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep WARNING stderr
+run_cmd ./missing b7cb8259 --version && exit 1
+grep WARNING stderr && exit 1
+run_cmd ./missing b7cb8259 --grep && exit 1
+
+if test x"$am_test_prefer_config_shell" != x"yes"; then
+ # The /bin/sh from Solaris 10 is a spectacular failure. After a failure
+ # due to a "command not found", it sets '$?' to '1'.
+ if (st=0; /bin/sh -c 'no--such--command' || st=$?; test $st -eq 127); then
+ grep 'WARNING:.*missing on your system' stderr
+ fi
+fi
# missing itself it known to exist :)
-./missing ./missing --version 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep . stderr && exit 1
-./missing ./missing --grep 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep WARNING stderr
-
-./missing --run ./missing --version 2>stderr || { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep . stderr && exit 1
-./missing --run ./missing --grep 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_cmd ./missing ./missing --version || exit 1
+grep 'missing .*(GNU [aA]utomake)' stdout
+test -s stderr && exit 1
+run_cmd ./missing ./missing --grep && exit 1
grep WARNING stderr && exit 1
-grep Unknown stderr
+grep "missing:.* unknown '--grep'" stderr
+
+:
diff --git a/t/missing5.sh b/t/missing5.sh
deleted file mode 100755
index 6e575b636..000000000
--- a/t/missing5.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2006-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/>.
-
-# Test how well 'missing' finds output file names of various tools.
-# PR automake/483.
-
-am_create_testdir=empty
-. ./defs || exit 1
-
-get_shell_script missing
-
-# These programs may be invoked by 'missing'.
-needed_tools='chmod find sed test touch'
-needed_tools_csep=$(echo $needed_tools | sed 's/ /, /g')
-
-cat >configure.ac <<EOF
-AC_INIT([missing4], [1.0])
-m4_foreach([tool], [$needed_tools_csep],
- [AC_PATH_PROG(tool, tool, [false])
- AC_CONFIG_FILES(tool, chmod +x tool)
- ])
-AC_OUTPUT
-EOF
-
-for tool in $needed_tools; do
- unindent >$tool.in <<EOF
- #! /bin/sh
- exec @$tool@ "\$@"
-EOF
-done
-
-$AUTOCONF
-./configure
-
-echo output-file > output-file
-cp output-file my--output--file-o
-
-save_PATH=$PATH
-PATH=.
-export PATH
-missing --help
-missing --version
-for tool in autom4te help2man makeinfo; do
- missing --run $tool -o my--output--file-o input
- missing --run $tool --output my--output--file-o input
-done
-PATH=$save_PATH
-export PATH
-diff output-file my--output--file-o
-test ! -e ./--file-o
-test ! -e input
diff --git a/t/mkdir_p.sh b/t/mkdir_p.sh
index 2cc68a3d5..bbd8c9358 100755
--- a/t/mkdir_p.sh
+++ b/t/mkdir_p.sh
@@ -17,7 +17,7 @@
# AM_INIT_AUTOMAKE should still define $(mkdir_p), for backward
# compatibility.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/mkdirp-deprecation.sh b/t/mkdirp-deprecation.sh
index 68ffa5819..6f3b1ee00 100755
--- a/t/mkdirp-deprecation.sh
+++ b/t/mkdirp-deprecation.sh
@@ -14,37 +14,13 @@
# 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 that the AM_PROG_MKDIR_P macro is deprecated; it will be
-# be removed in the next major Automake release. But also check
-# that it still works as expected in the current release series.
+# Check that the AM_PROG_MKDIR_P macro is deprecated. It will be
+# be removed in the next major Automake release.
-. ./defs || exit 1
+. test-init.sh
-cat >> configure.ac << 'END'
-AM_PROG_MKDIR_P
-AC_CONFIG_FILES([sub/Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub
-all-local:
- $(mkdir_p) . dir1/a
- @mkdir_p@ . dir2/b
-check-local: all
- test -d dir1/a
- test -d dir2/b
- test -d dir3/c
- test -d dir3/d
-END
-
-mkdir sub
-cat > sub/Makefile.am << 'END'
-# '$(mkdir_p)' should continue to work even in subdir makefiles.
-all-local:
- $(mkdir_p) .. ../dir3/c
- @mkdir_p@ .. ../dir3/d
-END
+echo AM_PROG_MKDIR_P >> configure.ac
+: > Makefile.am
grep_err ()
{
@@ -62,15 +38,11 @@ grep_err
$AUTOCONF -Werror -Wno-obsolete
-AUTOMAKE_fails
-grep_err
+#AUTOMAKE_fails
+#grep_err
AUTOMAKE_fails --verbose -Wnone -Wobsolete
grep_err
$AUTOMAKE -Wno-obsolete
-./configure
-$MAKE check-local
-$MAKE distcheck
-
:
diff --git a/t/mkinst2.sh b/t/mkinst2.sh
index daf8760ae..5ac297a22 100755
--- a/t/mkinst2.sh
+++ b/t/mkinst2.sh
@@ -16,7 +16,7 @@
# Test to make sure no-installman suppresses man dir creation.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/mkinst3.sh b/t/mkinst3.sh
index 258275821..02dca5e74 100755
--- a/t/mkinst3.sh
+++ b/t/mkinst3.sh
@@ -17,7 +17,7 @@
# Test mkinstalldirs with spaces in directory names.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cwd=$(pwd) || fatal_ "getting current working directory"
diff --git a/t/mkinstall.sh b/t/mkinstall.sh
index 51c1fe949..3fbb9a53e 100755
--- a/t/mkinstall.sh
+++ b/t/mkinstall.sh
@@ -16,7 +16,7 @@
# Test for bug where mkinstalldirs variable can be set incorrectly.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
pkgdata_DATA =
diff --git a/t/mmode.sh b/t/mmode.sh
index 23cb646a5..ea26c0202 100755
--- a/t/mmode.sh
+++ b/t/mmode.sh
@@ -16,7 +16,7 @@
# Check for AM_MAINTAINER_MODE defaults.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_MAINTAINER_MODE
diff --git a/t/mmodely.sh b/t/mmodely.sh
index 9147da1f2..e1b2807bd 100755
--- a/t/mmodely.sh
+++ b/t/mmodely.sh
@@ -19,7 +19,7 @@
# From Derek R. Price.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_MAINTAINER_MODE
diff --git a/t/no-extra-makefile-code.sh b/t/no-extra-makefile-code.sh
index ab0e33d3a..3673d45dd 100755
--- a/t/no-extra-makefile-code.sh
+++ b/t/no-extra-makefile-code.sh
@@ -19,7 +19,7 @@
# by a regression caused by removal of automatic de-ANSI-fication support:
# <http://lists.gnu.org/archive/html/automake-patches/2011-08/msg00200.html>
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/no-spurious-install-recursive.sh b/t/no-spurious-install-recursive.sh
index d16b58060..583686fbb 100755
--- a/t/no-spurious-install-recursive.sh
+++ b/t/no-spurious-install-recursive.sh
@@ -17,7 +17,7 @@
# Regression test for install-recursive appearing in a non recursive Makefile.
# Report from Bruno Haible.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
noinst_SCRIPTS = hostname
diff --git a/t/nobase-libtool.sh b/t/nobase-libtool.sh
index 4a6660176..af47c0128 100755
--- a/t/nobase-libtool.sh
+++ b/t/nobase-libtool.sh
@@ -19,7 +19,7 @@
# greater exposure of that test.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_PROG_CC
diff --git a/t/nobase-nodist.sh b/t/nobase-nodist.sh
index 1ec466f1e..ef5dfcedf 100755
--- a/t/nobase-nodist.sh
+++ b/t/nobase-nodist.sh
@@ -16,7 +16,7 @@
# Interaction of 'nobase_' and 'nodist_' prefixes.
-. ./defs || exit 1
+. test-init.sh
# Simulate no emacs and no python (it shouldn't be needed in this test).
EMACS="no" PYTHON=":"; export EMCAS PYTHON
diff --git a/t/nobase-python.sh b/t/nobase-python.sh
index dba17f715..fe72ad47c 100755
--- a/t/nobase-python.sh
+++ b/t/nobase-python.sh
@@ -17,7 +17,7 @@
# Make sure nobase_* works for python files.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AM_PATH_PYTHON
diff --git a/t/nobase.sh b/t/nobase.sh
index 1432d8dbe..249eb29b9 100755
--- a/t/nobase.sh
+++ b/t/nobase.sh
@@ -17,7 +17,7 @@
# Make sure nobase_* works.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_PROG_CC
diff --git a/t/nodef.sh b/t/nodef.sh
index a9034fa30..8197f4403 100755
--- a/t/nodef.sh
+++ b/t/nodef.sh
@@ -16,13 +16,13 @@
# Make sure that PACKAGE and VERSION are AC_DEFINEd when requested.
-. ./defs || exit 1
+. test-init.sh
# -------------------------------------------------------------------
# Do not upgrade this file to use the modern AC_INIT/AM_INIT_AUTOMAKE
# forms. The day these obsolete AC_INIT and AM_INIT_AUTOMAKE forms
# are dropped, just erase the file.
-# nodef2.sh contains the modern version of this test.
+# nodef2.test contains the modern version of this test.
# -------------------------------------------------------------------
# First, check that PACKAGE and VERSION are output by default.
diff --git a/t/nodef2.sh b/t/nodef2.sh
index 2f7bb77ca..0a6a5ce2e 100755
--- a/t/nodef2.sh
+++ b/t/nodef2.sh
@@ -16,7 +16,7 @@
# Make sure that PACKAGE and VERSION are AC_DEFINEd when requested.
-. ./defs || exit 1
+. test-init.sh
# First, check that PACKAGE and VERSION are output by default.
diff --git a/t/nodep.sh b/t/nodep.sh
index 8a4ce8e9f..fba3e5f2b 100755
--- a/t/nodep.sh
+++ b/t/nodep.sh
@@ -17,7 +17,7 @@
# Test to make sure no-dependencies option does the right thing.
# Bug report from Greg A. Woods.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/t/nodep2.sh b/t/nodep2.sh
index df411b763..5ad04a057 100755
--- a/t/nodep2.sh
+++ b/t/nodep2.sh
@@ -16,7 +16,7 @@
# Another test to make sure no-dependencies option does the right thing.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = foo
@@ -30,12 +30,7 @@ AC_CONFIG_FILES([Makefile])
AC_PROG_CC
AC_PROG_CXX
AC_PROG_OBJC
-# FIXME: this is to cater to older autoconf; remove this once we
-# FIXME: automake requires Autoconf 2.65 or later.
-m4_ifdef([AC_PROG_OBJCXX], [AC_PROG_OBJCXX], [
- AC_SUBST([OBJCXX], [whocares])
- AM_CONDITIONAL([am__fastdepOBJCXX], [whocares])
-])
+AC_PROG_OBJCXX
AM_PROG_AS
AM_PROG_GCJ
AM_PROG_UPC
diff --git a/t/nodepcomp.sh b/t/nodepcomp.sh
index 25c66b596..9e96dc152 100755
--- a/t/nodepcomp.sh
+++ b/t/nodepcomp.sh
@@ -16,7 +16,7 @@
# Test to make sure depcomp isn't always required.
-. ./defs || exit 1
+. test-init.sh
rm -f depcomp
diff --git a/t/nodist.sh b/t/nodist.sh
index f63ea976a..b7f491c68 100755
--- a/t/nodist.sh
+++ b/t/nodist.sh
@@ -16,7 +16,7 @@
# Test to make sure dist_*_SOURCES and nodist_*_SOURCES work.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/nodist2.sh b/t/nodist2.sh
index 9db9dcee3..36b66917e 100755
--- a/t/nodist2.sh
+++ b/t/nodist2.sh
@@ -17,7 +17,7 @@
# Test to make sure nodist_noinst_HEADERS work.
# For PR 249.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_OUTPUT
diff --git a/t/nodist3.sh b/t/nodist3.sh
index f45f66f9e..cb302d25e 100755
--- a/t/nodist3.sh
+++ b/t/nodist3.sh
@@ -16,7 +16,7 @@
# Test to make sure no-dist option works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/noinst.sh b/t/noinst.sh
index ca4440fde..39fd72cf2 100755
--- a/t/noinst.sh
+++ b/t/noinst.sh
@@ -17,7 +17,7 @@
# Check to make sure "make install" will build all in directory with
# nothing to install.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
all-local:
diff --git a/t/noinstdir.sh b/t/noinstdir.sh
index 24854cf64..e2a7a844c 100755
--- a/t/noinstdir.sh
+++ b/t/noinstdir.sh
@@ -18,7 +18,7 @@
# From Pavel Roskin.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
noinst_SCRIPTS = foo.sh
diff --git a/t/nolink.sh b/t/nolink.sh
index 34219b201..cd0495cf2 100755
--- a/t/nolink.sh
+++ b/t/nolink.sh
@@ -16,7 +16,7 @@
# Make sure Automake does not emit a link rule for unknown languages.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = no-exeext
diff --git a/t/nostdinc.sh b/t/nostdinc.sh
index 812c6be22..93761d55a 100755
--- a/t/nostdinc.sh
+++ b/t/nostdinc.sh
@@ -21,7 +21,7 @@
# just skip the rest of the test if configure fails to find a working C
# compiler.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/notrans.sh b/t/notrans.sh
index d997e97a1..4b2c8039a 100755
--- a/t/notrans.sh
+++ b/t/notrans.sh
@@ -17,7 +17,7 @@
# Check all notrans_, dist_, nodist_ prefix combinations for MANS
# primary and install-man dependencies.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/number.sh b/t/number.sh
index e0ccd240e..673805e50 100755
--- a/t/number.sh
+++ b/t/number.sh
@@ -17,7 +17,7 @@
# Test to make sure _OBJECTS is only generated once. Bug reported by
# Joerg-Martin Schwarz.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/objc-basic.sh b/t/objc-basic.sh
index 919bb10d5..028cbc245 100755
--- a/t/objc-basic.sh
+++ b/t/objc-basic.sh
@@ -15,7 +15,7 @@
# require an Objective-C compiler.
# See also sister test 'objcxx-basic.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<'END'
bin_PROGRAMS = hello
diff --git a/t/objc-deps.sh b/t/objc-deps.sh
index 31bc30dcc..2ac4ad0d7 100755
--- a/t/objc-deps.sh
+++ b/t/objc-deps.sh
@@ -17,7 +17,7 @@
# Automatic dependency tracking for Objective C.
# See also sister test 'objcxx-deps.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_OBJC
diff --git a/t/objc-flags.sh b/t/objc-flags.sh
index e98a81128..91b00437e 100755
--- a/t/objc-flags.sh
+++ b/t/objc-flags.sh
@@ -16,7 +16,7 @@
# Test Objective C compilation flags.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_OBJC
@@ -57,6 +57,6 @@ grep '\$(OBJCFLAGS).*\$(foo.*_OBJCFLAGS)' Makefile.in && exit 1
grep '\$(foo.*_OBJCFLAGS).*\$(AM_OBJCFLAGS)' Makefile.in && exit 1
./configure OBJCFLAGS=-UERROR
-$MAKE
+$MAKE
:
diff --git a/t/objc-megademo.sh b/t/objc-megademo.sh
index 876fecbf7..a94f5f70e 100755
--- a/t/objc-megademo.sh
+++ b/t/objc-megademo.sh
@@ -18,15 +18,13 @@
required=libtoolize
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
## Autotools Input Files.
cat > configure.ac << 'END'
AC_INIT([play], [1.3], [bug-automake@gnu.org])
-dnl Support for Object C++ was introduced only in Autoconf 2.65.
-AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([play.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
@@ -87,13 +85,7 @@ END
## Run Autotools.
libtoolize
-if $ACLOCAL; then
- : We have a modern enough autoconf, go ahead.
-elif test $? -eq 63; then
- skip_ "Object C++ support requires Autoconf 2.65 or later"
-else
- exit 1 # Some other aclocal failure.
-fi
+$ACLOCAL
$AUTOHEADER
$AUTOCONF
$AUTOMAKE --add-missing
diff --git a/t/objc-minidemo.sh b/t/objc-minidemo.sh
index e20a0369e..8b8d6e71e 100755
--- a/t/objc-minidemo.sh
+++ b/t/objc-minidemo.sh
@@ -18,7 +18,7 @@
# See also sister test 'objcxx-minidemo.sh'.
required=native
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_OBJC
diff --git a/t/objcxx-basic.sh b/t/objcxx-basic.sh
index e00106d79..e176660c9 100755
--- a/t/objcxx-basic.sh
+++ b/t/objcxx-basic.sh
@@ -15,7 +15,7 @@
# require an Objective-C++ compiler.
# See also sister test 'objc-basic.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<'END'
bin_PROGRAMS = hello
@@ -30,19 +30,10 @@ grep "add .*'AC_PROG_OBJCXX'" stderr
rm -rf autom4te*.cache
cat >> configure.ac <<'END'
-dnl Support for Object C++ was introduced only in Autoconf 2.65.
-AC_PREREQ([2.65])
AC_PROG_OBJCXX
END
-if $ACLOCAL; then
- : We have a modern enough autoconf, go ahead.
-elif test $? -eq 63; then
- skip_ "Object C++ support requires Autoconf 2.65 or later"
-else
- exit 1 # Some other aclocal failure.
-fi
-
+$ACLOCAL
$AUTOMAKE
$EGREP '^\.SUFFIXES:.* \.mm( |$)' Makefile.in
diff --git a/t/objcxx-deps.sh b/t/objcxx-deps.sh
index fef4ac549..5f3508064 100755
--- a/t/objcxx-deps.sh
+++ b/t/objcxx-deps.sh
@@ -17,11 +17,9 @@
# Automatic dependency tracking for Objective C++.
# See also sister test 'objc-deps.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-dnl Support for Object C++ was introduced only in Autoconf 2.65.
-AC_PREREQ([2.65])
AC_PROG_OBJCXX
AC_OUTPUT
END
@@ -50,13 +48,7 @@ int main (void)
}
END
-if $ACLOCAL; then
- : We have a modern enough autoconf, go ahead.
-elif test $? -eq 63; then
- skip_ "Object C++ support requires Autoconf 2.65 or later"
-else
- exit 1 # Some other aclocal failure.
-fi
+$ACLOCAL
$AUTOCONF
$AUTOMAKE --add-missing
diff --git a/t/objcxx-flags.sh b/t/objcxx-flags.sh
index 8f5df45cb..2dde42b9c 100755
--- a/t/objcxx-flags.sh
+++ b/t/objcxx-flags.sh
@@ -17,11 +17,9 @@
# Test Objective C++ compilation flags.
# See also sister test 'objc-flags.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-dnl Support for Object C++ was introduced only in Autoconf 2.65.
-AC_PREREQ([2.65])
AC_PROG_OBJCXX
AC_OUTPUT
END
@@ -50,14 +48,7 @@ for i in 2 4; do
END
done
-if $ACLOCAL; then
- : We have a modern enough autoconf, go ahead.
-elif test $? -eq 63; then
- skip_ "Object C++ support requires Autoconf 2.65 or later"
-else
- exit 1 # Some other aclocal failure.
-fi
-
+$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
@@ -67,6 +58,6 @@ grep '\$(OBJCXXFLAGS).*\$(foo.*_OBJCXXFLAGS)' Makefile.in && exit 1
grep '\$(foo.*_OBJCXXFLAGS).*\$(AM_OBJCXXFLAGS)' Makefile.in && exit 1
./configure OBJCXXFLAGS=-UERROR
-$MAKE
+$MAKE
:
diff --git a/t/objcxx-minidemo.sh b/t/objcxx-minidemo.sh
index e4e776789..52d692d94 100755
--- a/t/objcxx-minidemo.sh
+++ b/t/objcxx-minidemo.sh
@@ -18,11 +18,9 @@
# See also sister test 'objc-minidemo.sh'.
required=native
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
-dnl Support for Object C++ was introduced only in Autoconf 2.65.
-AC_PREREQ([2.65])
AC_PROG_OBJCXX
AC_CONFIG_HEADERS([config.h])
AC_OUTPUT
@@ -57,13 +55,7 @@ int main (void)
}
END
-if $ACLOCAL; then
- : We have a modern enough autoconf, go ahead.
-elif test $? -eq 63; then
- skip_ "Object C++ support requires Autoconf 2.65 or later"
-else
- exit 1 # Some other aclocal failure.
-fi
+$ACLOCAL
$AUTOCONF
$AUTOHEADER
$AUTOMAKE --add-missing
diff --git a/t/objext-pr10128.sh b/t/objext-pr10128.sh
index e773b72b3..da77c418c 100755
--- a/t/objext-pr10128.sh
+++ b/t/objext-pr10128.sh
@@ -17,7 +17,7 @@
# Test for automake bug#10128: $(OBJEXT) redefinition causes
# $(foo_OBJECTS) to be defined as empty.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/obsolete.sh b/t/obsolete.sh
deleted file mode 100755
index 2a21f54ed..000000000
--- a/t/obsolete.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-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/>.
-
-# Test to make sure obsolete macros can be autoupdated.
-
-# We need the following indirection in case someone exported e.g.
-# AUTOUPDATE='autoupdate --verbose'.
-set x ${AUTOUPDATE-autoupdate}
-required=$2
-. ./defs || exit 1
-
-cat > configure.ac << 'END'
-AC_INIT
-END
-
-$PERL -ne '/AU_DEFUN\(\[(\w+)\]/ && print "$1\n"' \
- "$am_automake_acdir/obsolete.m4" > obs
-cat obs >> configure.ac
-$PERL -ne 'chomp; print "grep $_ output || exit 1\n"; ' obs > obs.1
-$PERL -ne 'chomp; print "grep $_ configure.ac && exit 1\n"; ' obs > obs.2
-echo : >> obs.1 # Since it will be sourced, it must end with a success.
-echo : >> obs.2 # Likewise.
-
-cat configure.ac # For debugging.
-cat obs.1 # Likewise.
-cat obs.2 # Likewise.
-
-# Sanity check. Make sure we have added something to configure.ac.
-test $(wc -l <configure.ac) -gt 1
-
-$ACLOCAL
-
-# Expect Autoconf to complain about each of the macros in obs.
-$AUTOCONF -Wobsolete >output 2>&1 || { cat output; exit 1; }
-cat output
-. ./obs.1
-# Make sure Autoupdate remove each of these macros.
-$AUTOUPDATE
-. ./obs.2
-
-# Autoconf should be able to grok the updated configure.ac.
-$AUTOCONF
-
-:
diff --git a/t/oldvars.sh b/t/oldvars.sh
index 26f6001b2..5f422297c 100755
--- a/t/oldvars.sh
+++ b/t/oldvars.sh
@@ -17,7 +17,7 @@
# Use of these variables is deprecated:
# LISP, HEADERS, DATA, SCRIPTS, LTLIBRARIES, LIBRARIES, PROGRAMS, MANS.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am <<\EOF
DATA =
diff --git a/t/order.sh b/t/order.sh
index cd0beac9d..6f5dd1760 100755
--- a/t/order.sh
+++ b/t/order.sh
@@ -17,7 +17,7 @@
# Make sure AC_DEFUN is handled correctly. This test isn't named very
# well. Report from Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
jm_TEST
diff --git a/t/output-order.sh b/t/output-order.sh
index 02b26df29..569be906b 100755
--- a/t/output-order.sh
+++ b/t/output-order.sh
@@ -17,7 +17,7 @@
# Test that 'automake -a' output order is stable.
# From report by Bruno Haible.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/output.sh b/t/output.sh
index a21fe8920..1a7cd1fe6 100755
--- a/t/output.sh
+++ b/t/output.sh
@@ -16,7 +16,7 @@
# Test to make sure files listed in AC_OUTPUT are found.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/output10.sh b/t/output10.sh
index c6130f910..170287280 100755
--- a/t/output10.sh
+++ b/t/output10.sh
@@ -18,7 +18,7 @@
# This is comparable to 'output9.sh', but testing Makefile rules.
# PR/411
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << END
AC_SUBST([FOO], [top])
diff --git a/t/output11.sh b/t/output11.sh
index 7dbd835a9..5b66a433c 100755
--- a/t/output11.sh
+++ b/t/output11.sh
@@ -16,7 +16,7 @@
# Make sure an AC_CONFIG_FILES ignore filenames with shell variables.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << \END
AC_SUBST([FOO], [foo])
diff --git a/t/output12.sh b/t/output12.sh
index 80e0f2084..8462b48b8 100755
--- a/t/output12.sh
+++ b/t/output12.sh
@@ -16,7 +16,7 @@
# Make sure an AC_CONFIG_FILES process filenames with AC_SUBST variables.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << \END
AC_SUBST([FOO], [foo])
diff --git a/t/output13.sh b/t/output13.sh
index 16bc0f9e4..e96552ad3 100755
--- a/t/output13.sh
+++ b/t/output13.sh
@@ -17,7 +17,7 @@
# Make sure an AC_CONFIG_FILES, AC_CONFIG_LINKS, and AC_CONFIG_COMMANDS
# are not prerequisites of 'all'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << \END
AC_SUBST([FOO], [foo])
diff --git a/t/output2.sh b/t/output2.sh
index 615f6cf5e..a69b97924 100755
--- a/t/output2.sh
+++ b/t/output2.sh
@@ -16,7 +16,7 @@
# Another AC_OUTPUT test. From report by Ulrich Drepper.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/output3.sh b/t/output3.sh
index 2e4f38a54..171c9fb16 100755
--- a/t/output3.sh
+++ b/t/output3.sh
@@ -16,7 +16,7 @@
# Yet another AC_OUTPUT test.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/output4.sh b/t/output4.sh
index 54d49e297..f5d35358b 100755
--- a/t/output4.sh
+++ b/t/output4.sh
@@ -16,7 +16,7 @@
# It's hard to believe there are so many AC_OUTPUT-related bugs.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/output5.sh b/t/output5.sh
index 8222ea700..f1453c65e 100755
--- a/t/output5.sh
+++ b/t/output5.sh
@@ -16,7 +16,7 @@
# Make sure Automake complains when there is no Makefile specified.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([foo], [bar], [baz])
diff --git a/t/output6.sh b/t/output6.sh
index 418e1a5af..2d4f3d47a 100755
--- a/t/output6.sh
+++ b/t/output6.sh
@@ -16,7 +16,7 @@
# Check for support for colon-separated input files in AC_CONFIG_FILES.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/output7.sh b/t/output7.sh
index d5aca2995..22d41f990 100755
--- a/t/output7.sh
+++ b/t/output7.sh
@@ -17,7 +17,7 @@
# Check for support for colon separated input files in AC_CONFIG_FILES,
# with sources in sub directories.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/output8.sh b/t/output8.sh
index 62cade51c..d9f834497 100755
--- a/t/output8.sh
+++ b/t/output8.sh
@@ -17,7 +17,7 @@
# Check AC_CONFIG_FILES support for files starting with '../'.
# Report from Bruno Haible.
-. ./defs || exit 1
+. test-init.sh
mkdir testdir
cd testdir
diff --git a/t/output9.sh b/t/output9.sh
index 54dc8c12f..e5b55fe65 100755
--- a/t/output9.sh
+++ b/t/output9.sh
@@ -16,7 +16,7 @@
# Make sure an AC_CONFIG_FILES can have an AC_CONFIG_FILES output as input.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << END
AC_CONFIG_FILES([a/mid.in:a/input.in.in])
diff --git a/t/override-conditional-1.sh b/t/override-conditional-1.sh
index 42e03505c..8ccae76c3 100755
--- a/t/override-conditional-1.sh
+++ b/t/override-conditional-1.sh
@@ -16,7 +16,7 @@
# Test for conditionally-defined overrides.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND], [test x"$cond" = x"yes"])
diff --git a/t/override-conditional-2.sh b/t/override-conditional-2.sh
index 58ab1fda3..00fa63d3f 100755
--- a/t/override-conditional-2.sh
+++ b/t/override-conditional-2.sh
@@ -18,7 +18,7 @@
# This test is still xfailing; see the FIXME in Automake::Rule::define.
# Once that is fixed, the test should succeed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND], [:])
diff --git a/t/override-html.sh b/t/override-html.sh
index 777d946e2..c5fbebb7e 100755
--- a/t/override-html.sh
+++ b/t/override-html.sh
@@ -17,7 +17,7 @@
# Test that overriding 'html' target causes only one "html:" rule to
# be output.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
html:
diff --git a/t/override-suggest-local.sh b/t/override-suggest-local.sh
index 11b7fb96b..671683f02 100755
--- a/t/override-suggest-local.sh
+++ b/t/override-suggest-local.sh
@@ -17,7 +17,7 @@
# Make sure automake -Woverride suggests using TARGET-local instead
# of TARGET when possible.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
install:
diff --git a/t/parallel-am.sh b/t/parallel-am.sh
index bd50af9e6..4b6ea5f30 100755
--- a/t/parallel-am.sh
+++ b/t/parallel-am.sh
@@ -36,7 +36,7 @@
# This test checks (0), (1), and (2). See sister tests for further coverage.
required=perl-threads
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([parallel-am], [1.0])
diff --git a/t/parallel-am2.sh b/t/parallel-am2.sh
index 0cca565d7..cb9853b65 100755
--- a/t/parallel-am2.sh
+++ b/t/parallel-am2.sh
@@ -21,7 +21,7 @@
# warnings should be omitted in the same way as without threads.
required=perl-threads
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/parallel-am3.sh b/t/parallel-am3.sh
index 1bc12bbbc..9951aa546 100755
--- a/t/parallel-am3.sh
+++ b/t/parallel-am3.sh
@@ -22,7 +22,7 @@
# installation of aux files should be race-free.
required=perl-threads
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([parallel-am], [1.0])
diff --git a/t/parallel-tests-basics.sh b/t/parallel-tests-basics.sh
index a1062d3fc..3022e2282 100755
--- a/t/parallel-tests-basics.sh
+++ b/t/parallel-tests-basics.sh
@@ -23,7 +23,7 @@
# - TEST_LOGS redefinition at runtime
# - RECHECK_LOGS redefinition at runtime
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-cmdline-override.sh b/t/parallel-tests-cmdline-override.sh
index 4e8780f05..37215a66f 100755
--- a/t/parallel-tests-cmdline-override.sh
+++ b/t/parallel-tests-cmdline-override.sh
@@ -17,7 +17,7 @@
# Check that we can use indirections when overriding TESTS and
# TEST_LOGS from the command line.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-concurrency-2.sh b/t/parallel-tests-concurrency-2.sh
index 1a88ddfcd..bb38d509c 100755
--- a/t/parallel-tests-concurrency-2.sh
+++ b/t/parallel-tests-concurrency-2.sh
@@ -21,7 +21,7 @@
# It merely serves as demonstration. :-)
required='cc native GNUmake'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-concurrency.sh b/t/parallel-tests-concurrency.sh
index b606276fa..702572d9d 100755
--- a/t/parallel-tests-concurrency.sh
+++ b/t/parallel-tests-concurrency.sh
@@ -17,7 +17,7 @@
# Check parallel-tests features:
# - concurrent parallel execution
-. ./defs || exit 1
+. test-init.sh
case $MAKE in
*\ -j*) skip_ "\$MAKE contains '-j'";;
diff --git a/t/parallel-tests-console-output.sh b/t/parallel-tests-console-output.sh
index 22650082a..409047e99 100755
--- a/t/parallel-tests-console-output.sh
+++ b/t/parallel-tests-console-output.sh
@@ -17,7 +17,7 @@
# parallel-tests: some checks on console output about testsuite
# progress.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-driver-install.sh b/t/parallel-tests-driver-install.sh
index 994066187..803762bda 100755
--- a/t/parallel-tests-driver-install.sh
+++ b/t/parallel-tests-driver-install.sh
@@ -15,19 +15,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check that auxiliary script 'test-driver' gets automatically installed
-# in the correct directory by 'parallel-tests' option.
+# in the correct directory.
-. ./defs || exit 1
-
-: Try first with parallel-tests defined in AM_INIT_AUTOMAKE.
-
-mkdir am-init-automake
-cd am-init-automake
+am_create_testdir=empty
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
AC_CONFIG_AUX_DIR([my_aux_dir])
-AM_INIT_AUTOMAKE([parallel-tests])
+AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile sub/Makefile])
AC_OUTPUT
END
@@ -52,41 +48,6 @@ test -f my_aux_dir/test-driver
test ! -e test-driver
test ! -e sub/test-driver
-grep '^configure\.ac:3:.*installing.*my_aux_dir/test-driver' stderr
-
-cd ..
-
-: Now try with parallel-tests defined in AUTOMAKE_OPTIONS.
-
-mkdir automake-options
-cd automake-options
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([dir/GNUmakefile])
-AC_OUTPUT
-END
-
-mkdir build-aux dir
-
-cat > dir/GNUmakefile.am <<END
-TESTS = foo.test
-AUTOMAKE_OPTIONS = parallel-tests
-TESTS += bar.test
-END
-
-$ACLOCAL
-$AUTOMAKE --add-missing --copy dir/GNUmakefile 2>stderr \
- || { cat stderr >&2; exit 1; }
-cat stderr >&2
-
-ls -l . dir build-aux # For debugging.
-test -f build-aux/test-driver
-test ! -e test-driver
-test ! -e dir/test-driver
-
-grep '^dir/GNUmakefile\.am:2:.*installing.*build-aux/test-driver' stderr
+grep '^parallel-tests:.*installing.*my_aux_dir/test-driver' stderr
:
diff --git a/t/parallel-tests-dry-run-1.sh b/t/parallel-tests-dry-run-1.sh
index 376a81a42..5809dbacc 100755
--- a/t/parallel-tests-dry-run-1.sh
+++ b/t/parallel-tests-dry-run-1.sh
@@ -14,10 +14,10 @@
# 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 parallel-tests interactions with "make -n".
+# Check interactions between the parallel test harness and "make -n".
# See also sister test 'parallel-tests-dry-run-2.sh'.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/parallel-tests-dry-run-2.sh b/t/parallel-tests-dry-run-2.sh
index d041d2d21..d47a76a8c 100755
--- a/t/parallel-tests-dry-run-2.sh
+++ b/t/parallel-tests-dry-run-2.sh
@@ -14,10 +14,10 @@
# 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 parallel-tests interactions with "make -n".
+# Check interactions between the parallel test harness and "make -n".
# See also sister test 'parallel-tests-dry-run-1.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-empty-testlogs.sh b/t/parallel-tests-empty-testlogs.sh
index 0ed2ff255..37ed83d40 100755
--- a/t/parallel-tests-empty-testlogs.sh
+++ b/t/parallel-tests-empty-testlogs.sh
@@ -18,7 +18,7 @@
# - empty TESTS
# - empty TEST_LOGS
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
diff --git a/t/parallel-tests-empty.sh b/t/parallel-tests-empty.sh
index 146f1fc30..a367038ca 100755
--- a/t/parallel-tests-empty.sh
+++ b/t/parallel-tests-empty.sh
@@ -19,7 +19,7 @@
# BSD make will expand '$(TESTS:=.log)' to '.log' unless overridden.
# See 'parallel-tests-trailing-whitespace.sh' for a similar issue.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
END
diff --git a/t/parallel-tests-exeext.sh b/t/parallel-tests-exeext.sh
index 22a5aadb1..bb96635a5 100755
--- a/t/parallel-tests-exeext.sh
+++ b/t/parallel-tests-exeext.sh
@@ -17,7 +17,7 @@
# parallel-tests:
# - check2.am and interaction with $(EXEEXT)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
dnl We need to fool the init.m4 internals a little.
diff --git a/t/parallel-tests-exit-statuses.sh b/t/parallel-tests-exit-statuses.sh
index bd5bb7685..a7d62300f 100755
--- a/t/parallel-tests-exit-statuses.sh
+++ b/t/parallel-tests-exit-statuses.sh
@@ -17,7 +17,7 @@
# Check parallel-tests features: normal and special exit statuses
# in the test scripts.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-extra-programs.sh b/t/parallel-tests-extra-programs.sh
index 0a7f97c30..75a34b7a2 100755
--- a/t/parallel-tests-extra-programs.sh
+++ b/t/parallel-tests-extra-programs.sh
@@ -18,7 +18,7 @@
# (or even be) $(EXTRA_PROGRAMS).
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-fd-redirect-exeext.sh b/t/parallel-tests-fd-redirect-exeext.sh
index 357576524..80b6b2885 100755
--- a/t/parallel-tests-fd-redirect-exeext.sh
+++ b/t/parallel-tests-fd-redirect-exeext.sh
@@ -22,7 +22,7 @@
# sister test 'parallel-tests-fd-redirect.sh'.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-fd-redirect.sh b/t/parallel-tests-fd-redirect.sh
index 7cb59c350..ec48e4edf 100755
--- a/t/parallel-tests-fd-redirect.sh
+++ b/t/parallel-tests-fd-redirect.sh
@@ -20,7 +20,7 @@
# check for tests that are binary executables.
# See also the more generic test 'check-fd-redirect.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-fork-bomb.sh b/t/parallel-tests-fork-bomb.sh
index 493e6713c..0698742c8 100755
--- a/t/parallel-tests-fork-bomb.sh
+++ b/t/parallel-tests-fork-bomb.sh
@@ -18,7 +18,7 @@
# - If $(TEST_SUITE_LOG) is in $(TEST_LOGS), we get a diagnosed
# error, not a make hang or a system freeze.
-. ./defs || exit 1
+. test-init.sh
# We don't want localized error messages from make, since we'll have
# to grep them. See automake bug#11452.
diff --git a/t/parallel-tests-generated-and-distributed.sh b/t/parallel-tests-generated-and-distributed.sh
index eb48f9382..ff6c2f50b 100755
--- a/t/parallel-tests-generated-and-distributed.sh
+++ b/t/parallel-tests-generated-and-distributed.sh
@@ -24,7 +24,7 @@
# manual for the ugliness in this area, when VPATH comes into
# play. :-/
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-harderror.sh b/t/parallel-tests-harderror.sh
index 8e1e014d7..88c5f595e 100755
--- a/t/parallel-tests-harderror.sh
+++ b/t/parallel-tests-harderror.sh
@@ -16,7 +16,7 @@
# Check parallel-tests features: DISABLE_HARD_ERRORS
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/parallel-tests-interrupt.tap b/t/parallel-tests-interrupt.tap
index bce25b3be..406bd7ac5 100755
--- a/t/parallel-tests-interrupt.tap
+++ b/t/parallel-tests-interrupt.tap
@@ -14,12 +14,12 @@
# 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 that the parallel-tests driver removed incomplete log files
+# Check that the parallel testsuite harness removes incomplete log files
# when interrupt upon some signal. This test is definitely too hacky,
# but we couldn't find a better way to deal with inter-processes
# signals and the whole process-synchronization mess.
-. ./defs || exit 1
+. test-init.sh
plan_ 16
diff --git a/t/parallel-tests-log-compiler-1.sh b/t/parallel-tests-log-compiler-1.sh
index 0e8c9d892..9214a071e 100755
--- a/t/parallel-tests-log-compiler-1.sh
+++ b/t/parallel-tests-log-compiler-1.sh
@@ -19,7 +19,7 @@
# and xxx_LOG_FLAGS), also with AC_SUBST'd stuff.
# See also related test 'parallel-tests-log-compiler-2.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([acsubst_compiler], [t-compiler])
diff --git a/t/parallel-tests-log-compiler-2.sh b/t/parallel-tests-log-compiler-2.sh
index 775a4d1bd..2790dcb9e 100755
--- a/t/parallel-tests-log-compiler-2.sh
+++ b/t/parallel-tests-log-compiler-2.sh
@@ -20,7 +20,7 @@
# See also related test 'parallel-tests-log-compiler-1.sh'.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-log-compiler-example.sh b/t/parallel-tests-log-compiler-example.sh
index 0d66b646c..1c0d44d86 100755
--- a/t/parallel-tests-log-compiler-example.sh
+++ b/t/parallel-tests-log-compiler-example.sh
@@ -18,7 +18,7 @@
# LOG_COMPILER and LOG_FLAGS given in the manual.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_SUBST([PERL], ['$PERL'])
diff --git a/t/parallel-tests-log-override-1.sh b/t/parallel-tests-log-override-1.sh
index e4af517de..cf77e82d9 100755
--- a/t/parallel-tests-log-override-1.sh
+++ b/t/parallel-tests-log-override-1.sh
@@ -16,7 +16,7 @@
# Check parallel-tests features: runtime redefinition of $(TEST_SUITE_LOG).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/parallel-tests-log-override-2.sh b/t/parallel-tests-log-override-2.sh
index a747b00ee..0cbf73052 100755
--- a/t/parallel-tests-log-override-2.sh
+++ b/t/parallel-tests-log-override-2.sh
@@ -18,7 +18,7 @@
# - $(TEST_SUITE_LOG) and $(TESTS)
# - $(TEST_SUITE_LOG) and $(TEST_LOGS)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/parallel-tests-log-override-recheck.sh b/t/parallel-tests-log-override-recheck.sh
index a6ab21694..df08bd3bc 100755
--- a/t/parallel-tests-log-override-recheck.sh
+++ b/t/parallel-tests-log-override-recheck.sh
@@ -17,7 +17,7 @@
# Check parallel-tests features: runtime redefinition of $(TEST_SUITE_LOG)
# for the recheck target.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/parallel-tests-no-color-in-log.sh b/t/parallel-tests-no-color-in-log.sh
index fe1036b07..fb6fc1375 100755
--- a/t/parallel-tests-no-color-in-log.sh
+++ b/t/parallel-tests-no-color-in-log.sh
@@ -17,7 +17,7 @@
# Colorized output from the testsuite report shouldn't end up in log files.
required='grep-nonprint'
-. ./defs || exit 1
+. test-init.sh
TERM=ansi; export TERM
@@ -27,7 +27,7 @@ END
cat >Makefile.am <<'END'
LOG_COMPILER = $(SHELL)
-AUTOMAKE_OPTIONS = color-tests parallel-tests
+AUTOMAKE_OPTIONS = color-tests
TESTS = pass fail skip xpass xfail error
XFAIL_TESTS = xpass xfail
END
diff --git a/t/parallel-tests-no-spurious-summary.sh b/t/parallel-tests-no-spurious-summary.sh
index 008852924..751ddb020 100755
--- a/t/parallel-tests-no-spurious-summary.sh
+++ b/t/parallel-tests-no-spurious-summary.sh
@@ -17,7 +17,7 @@
# Check that ':test-results:' directives in test scripts' output doesn't
# originate spurious results in the testsuite summary.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-once.sh b/t/parallel-tests-once.sh
index 67fcbab10..d27224a31 100755
--- a/t/parallel-tests-once.sh
+++ b/t/parallel-tests-once.sh
@@ -18,7 +18,7 @@
# clean directory. An early implementation of the '.trs' intermediate
# files incurred a similar problem.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-recheck-depends-on-all.sh b/t/parallel-tests-recheck-depends-on-all.sh
index af53061a6..14783fd72 100755
--- a/t/parallel-tests-recheck-depends-on-all.sh
+++ b/t/parallel-tests-recheck-depends-on-all.sh
@@ -18,7 +18,7 @@
# See automake bug#11252.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-recheck-pr11791.sh b/t/parallel-tests-recheck-pr11791.sh
index 2d2fc5a71..22203c92a 100755
--- a/t/parallel-tests-recheck-pr11791.sh
+++ b/t/parallel-tests-recheck-pr11791.sh
@@ -18,7 +18,7 @@
# failures for the test cases. See automake bug#11791.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-recheck.sh b/t/parallel-tests-recheck.sh
index ea9dba665..85adf6995 100755
--- a/t/parallel-tests-recheck.sh
+++ b/t/parallel-tests-recheck.sh
@@ -17,7 +17,7 @@
# Check parallel-tests features:
# - recheck
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-reset-term.sh b/t/parallel-tests-reset-term.sh
index 88a98522e..3555fcbb5 100755
--- a/t/parallel-tests-reset-term.sh
+++ b/t/parallel-tests-reset-term.sh
@@ -14,11 +14,11 @@
# 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 that the parallel-tests driver correctly handle overrides of the
+# Check that the testsuite harness correctly handle overrides of the
# TERM variable by either TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
required='grep-nonprint'
-. ./defs || exit 1
+. test-init.sh
TERM=ansi; export TERM
diff --git a/t/parallel-tests-subdir.sh b/t/parallel-tests-subdir.sh
index d57133f97..de62f7f07 100755
--- a/t/parallel-tests-subdir.sh
+++ b/t/parallel-tests-subdir.sh
@@ -14,10 +14,10 @@
# 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 that the parallel-tests driver creates parent directories for
+# Check that the parallel test harness creates parent directories for
# the log files when needed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-suffix-prog.sh b/t/parallel-tests-suffix-prog.sh
index a0287da34..f2ed39057 100755
--- a/t/parallel-tests-suffix-prog.sh
+++ b/t/parallel-tests-suffix-prog.sh
@@ -19,7 +19,7 @@
# See also sister test 'parallel-tests-suffix.sh'.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/parallel-tests-suffix.sh b/t/parallel-tests-suffix.sh
index 93c7ea011..d0d1733db 100755
--- a/t/parallel-tests-suffix.sh
+++ b/t/parallel-tests-suffix.sh
@@ -18,7 +18,7 @@
# - suffix rules
# See also sister test 'parallel-tests-suffix-prog.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-trailing-whitespace.sh b/t/parallel-tests-trailing-whitespace.sh
index e8e4203ca..3d729c8ec 100755
--- a/t/parallel-tests-trailing-whitespace.sh
+++ b/t/parallel-tests-trailing-whitespace.sh
@@ -18,7 +18,7 @@
# - trailing whitespace in TESTS
# GNU make 3.80 may expand trailing white space to '.log'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/parallel-tests-unreadable.sh b/t/parallel-tests-unreadable.sh
index 895d4769e..ff362942a 100755
--- a/t/parallel-tests-unreadable.sh
+++ b/t/parallel-tests-unreadable.sh
@@ -17,7 +17,7 @@
# Check that the testsuite driver copes well with unreadable '.log'
# and '.trs' files.
-. ./defs || exit 1
+. test-init.sh
: > t
chmod a-r t && test ! -r t || skip_ "you can still read unreadable files"
diff --git a/t/parse.sh b/t/parse.sh
index ec5bcbb9a..44a697bba 100755
--- a/t/parse.sh
+++ b/t/parse.sh
@@ -16,7 +16,7 @@
# Test to make sure backslash-newline is treated as whitespace.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/percent.sh b/t/percent.sh
index a4bad3540..82040ae63 100755
--- a/t/percent.sh
+++ b/t/percent.sh
@@ -17,7 +17,7 @@
# Test to make sure that -Wportability understands %-style pattern
# rules.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CC
diff --git a/t/percent2.sh b/t/percent2.sh
index 4ed52c1d8..4313b2462 100755
--- a/t/percent2.sh
+++ b/t/percent2.sh
@@ -19,7 +19,7 @@
# '${ARCH}/%.$(OBJEXT):'.
# Report from Ralf Corsepius.
-. ./defs || exit 1
+. test-init.sh
cat >>Makefile.am << 'EOF'
${ARCH}/%.$(OBJEXT): %.S
diff --git a/t/perf/cond.sh b/t/perf/cond.sh
index cf9c76081..cce29066c 100755
--- a/t/perf/cond.sh
+++ b/t/perf/cond.sh
@@ -17,7 +17,7 @@
# Check that many conditions do not lead to combinatorial explosion.
# (This is related to PR/352.)
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >>configure.ac
diff --git a/t/perf/testsuite-recheck.sh b/t/perf/testsuite-recheck.sh
index e3383beda..5400dc43f 100755
--- a/t/perf/testsuite-recheck.sh
+++ b/t/perf/testsuite-recheck.sh
@@ -19,7 +19,7 @@
# FIXME: performance is too low, and FAIL accordingly; it just offers an
# FIXME: easy way to verify how effective a performance optimization is.
-. ./defs || exit 1
+. test-init.sh
count=5000
diff --git a/t/perf/testsuite-summary.sh b/t/perf/testsuite-summary.sh
index 679a05a79..3c02481a8 100755
--- a/t/perf/testsuite-summary.sh
+++ b/t/perf/testsuite-summary.sh
@@ -20,7 +20,7 @@
# FIXME: performance is too low, and FAIL accordingly; it just offers
# FIXME: an easy way verify how effective a performance optimization is.
-. ./defs || exit 1
+. test-init.sh
count=10000
@@ -45,7 +45,7 @@ for i in $(seq_ 1 $count); do
echo :test-result: PASS >> $i.trs
echo :copy-in-global-log: yes >> $i.trs
echo TESTS += $i.t
-done >> Makefile.am
+done >> Makefile.am
# Re-enable shell traces.
set -x
diff --git a/t/phony.sh b/t/phony.sh
index fce2a6be0..6f90b0eaf 100755
--- a/t/phony.sh
+++ b/t/phony.sh
@@ -17,7 +17,7 @@
# Make sure .PHONY can be given dependencies several times.
# From Ralf Corsepius.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am << 'EOF'
.PHONY: foo
diff --git a/t/pluseq.sh b/t/pluseq.sh
index 74dea56a1..a6dfb9239 100755
--- a/t/pluseq.sh
+++ b/t/pluseq.sh
@@ -16,7 +16,7 @@
# Test '+=' functionality.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
data_DATA = zar
diff --git a/t/pluseq10.sh b/t/pluseq10.sh
index 20516c3e7..f0be6cffa 100755
--- a/t/pluseq10.sh
+++ b/t/pluseq10.sh
@@ -17,7 +17,7 @@
# Test for += and backslashes.
# Reported by Ralf Corsepius.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'END'
AM_CONDITIONAL([A], [true])
diff --git a/t/pluseq11.sh b/t/pluseq11.sh
index 67dfd3386..f00e74318 100755
--- a/t/pluseq11.sh
+++ b/t/pluseq11.sh
@@ -18,7 +18,7 @@
# is erroneously retained in the final value.
# See also sister test 'pluseq11b.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_OUTPUT
diff --git a/t/pluseq2.sh b/t/pluseq2.sh
index 206944488..d2f7ee79a 100755
--- a/t/pluseq2.sh
+++ b/t/pluseq2.sh
@@ -16,7 +16,7 @@
# Test '+=' with conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([CHECK], [true])
diff --git a/t/pluseq3.sh b/t/pluseq3.sh
index 52e82c51b..b284847a1 100755
--- a/t/pluseq3.sh
+++ b/t/pluseq3.sh
@@ -16,7 +16,7 @@
# Another '+=' test with conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([CHECK], [true])
diff --git a/t/pluseq4.sh b/t/pluseq4.sh
index 32c64ea91..3292dc560 100755
--- a/t/pluseq4.sh
+++ b/t/pluseq4.sh
@@ -16,7 +16,7 @@
# Yet another '+=' test.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pluseq5.sh b/t/pluseq5.sh
index 914e3b789..facab4e1d 100755
--- a/t/pluseq5.sh
+++ b/t/pluseq5.sh
@@ -16,7 +16,7 @@
# Test for another '+=' problem. Report from Brian Jones.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([CHECK], [true])
diff --git a/t/pluseq6.sh b/t/pluseq6.sh
index 2db9c6f10..0d4fcbe85 100755
--- a/t/pluseq6.sh
+++ b/t/pluseq6.sh
@@ -16,7 +16,7 @@
# Test that '+=' works with standard header-vars.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([ZZZ])
diff --git a/t/pluseq7.sh b/t/pluseq7.sh
index c7ea2ad4e..f9a667fc1 100755
--- a/t/pluseq7.sh
+++ b/t/pluseq7.sh
@@ -16,7 +16,7 @@
# Test that '+=' fails when required.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pluseq8.sh b/t/pluseq8.sh
index da0ad8962..83fa50a23 100755
--- a/t/pluseq8.sh
+++ b/t/pluseq8.sh
@@ -16,7 +16,7 @@
# Another '+=' test. From Paul Berrevoets.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
VAR = \
diff --git a/t/pluseq9.sh b/t/pluseq9.sh
index 4bbb78a85..ab97c081c 100755
--- a/t/pluseq9.sh
+++ b/t/pluseq9.sh
@@ -16,7 +16,7 @@
# Test the += diagnostics.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'END'
AM_CONDITIONAL([COND1], [true])
diff --git a/t/posixsubst-data.sh b/t/posixsubst-data.sh
index 51b791e17..9fd534039 100755
--- a/t/posixsubst-data.sh
+++ b/t/posixsubst-data.sh
@@ -17,7 +17,7 @@
# Test that POSIX variable expansion '$(var:str=rpl)' works
# in when used with the DATA primary.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/posixsubst-extradist.sh b/t/posixsubst-extradist.sh
index b8e69d749..d8ba0d9fb 100755
--- a/t/posixsubst-extradist.sh
+++ b/t/posixsubst-extradist.sh
@@ -17,7 +17,7 @@
# Test that POSIX variable expansion '$(var:str=rpl)' works when used
# in EXTRA_DIST.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/posixsubst-ldadd.sh b/t/posixsubst-ldadd.sh
index c9acd411f..579bc233b 100755
--- a/t/posixsubst-ldadd.sh
+++ b/t/posixsubst-ldadd.sh
@@ -18,7 +18,7 @@
# when used in LDADD.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/posixsubst-libraries.sh b/t/posixsubst-libraries.sh
index 884e8aa73..69ea925ec 100755
--- a/t/posixsubst-libraries.sh
+++ b/t/posixsubst-libraries.sh
@@ -19,7 +19,7 @@
# Keep this in sync with sister test 'posixsubst-ltlibraries.sh'.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/posixsubst-ltlibraries.sh b/t/posixsubst-ltlibraries.sh
index 3111954d6..4a7d86728 100755
--- a/t/posixsubst-ltlibraries.sh
+++ b/t/posixsubst-ltlibraries.sh
@@ -19,7 +19,7 @@
# Keep this in sync with sister test 'posixsubst-libraries.sh'.
required='cc libtool libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/posixsubst-programs.sh b/t/posixsubst-programs.sh
index 6e8e56b06..edcd4ddfc 100755
--- a/t/posixsubst-programs.sh
+++ b/t/posixsubst-programs.sh
@@ -18,7 +18,7 @@
# with the PROGRAMS primary.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/posixsubst-scripts.sh b/t/posixsubst-scripts.sh
index c9083cbd3..7b758f393 100755
--- a/t/posixsubst-scripts.sh
+++ b/t/posixsubst-scripts.sh
@@ -17,7 +17,7 @@
# Test that POSIX variable expansion '$(var:str=rpl)' works when used
# with the SCRIPTS primary.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/posixsubst-sources.sh b/t/posixsubst-sources.sh
index d3abfa18b..b69bc544e 100755
--- a/t/posixsubst-sources.sh
+++ b/t/posixsubst-sources.sh
@@ -18,7 +18,7 @@
# with the SOURCES primary.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/posixsubst-tests.sh b/t/posixsubst-tests.sh
index c6318637c..470527c01 100755
--- a/t/posixsubst-tests.sh
+++ b/t/posixsubst-tests.sh
@@ -18,7 +18,7 @@
# with the TESTS special variable.
# For gen-testsuite-part: ==> try-with-serial-tests <==
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/postproc.sh b/t/postproc.sh
index 2b60d885d..d73eaec5f 100755
--- a/t/postproc.sh
+++ b/t/postproc.sh
@@ -18,7 +18,7 @@
# and renamed.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/ppf77.sh b/t/ppf77.sh
index 73a32cb61..f1c67e44e 100755
--- a/t/ppf77.sh
+++ b/t/ppf77.sh
@@ -17,7 +17,7 @@
# Test to make sure preprocessed F77 works.
# Report from Jochen Kuepper.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_F77
diff --git a/t/pr2.sh b/t/pr2.sh
index bafff250b..e5124d6f0 100755
--- a/t/pr2.sh
+++ b/t/pr2.sh
@@ -27,7 +27,7 @@
# to the distribution directory before it creates a templ
# subdirectory in the distribution directory.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT([README.foo:templ/README.foo.in])
diff --git a/t/pr211.sh b/t/pr211.sh
index a7dcee8db..3d19a06a7 100755
--- a/t/pr211.sh
+++ b/t/pr211.sh
@@ -28,7 +28,7 @@
# rename one of the 'foo.o' files.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr220.sh b/t/pr220.sh
index 2054fb31e..fc67cf83a 100755
--- a/t/pr220.sh
+++ b/t/pr220.sh
@@ -22,7 +22,7 @@
# to debug the problem.
# Note that this should be also in the documentation.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
if NEVER_TRUE
diff --git a/t/pr224.sh b/t/pr224.sh
index c4fb9c103..640640f11 100755
--- a/t/pr224.sh
+++ b/t/pr224.sh
@@ -24,7 +24,7 @@
# should be '$(top_builddir)/bar/.deps'.
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir foo
diff --git a/t/pr229.sh b/t/pr229.sh
index cb3b2230f..b0ed4c4dd 100755
--- a/t/pr229.sh
+++ b/t/pr229.sh
@@ -18,7 +18,7 @@
# Make sure AC_CYGWIN requires config.{sub,guess}.
# Reported by James Youngman.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<EOF
AC_CYGWIN
diff --git a/t/pr243.sh b/t/pr243.sh
index ee593f576..5ac32761e 100755
--- a/t/pr243.sh
+++ b/t/pr243.sh
@@ -27,7 +27,7 @@
# the colon in the CONFIG_FILES variable.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/pr266.sh b/t/pr266.sh
index 5d8efada4..c358227be 100755
--- a/t/pr266.sh
+++ b/t/pr266.sh
@@ -18,7 +18,7 @@
# Dependency tracking -vs- nonstandard Makefile names
required=cc
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/pr279-2.sh b/t/pr279-2.sh
index fbd06ac9c..7f292517e 100755
--- a/t/pr279-2.sh
+++ b/t/pr279-2.sh
@@ -24,7 +24,7 @@
# fail with messages like:
# foo_DEPENDENCIES was already defined in condition TRUE, ...
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr279.sh b/t/pr279.sh
index 7f5f7b5b2..24b7fb7b4 100755
--- a/t/pr279.sh
+++ b/t/pr279.sh
@@ -24,7 +24,7 @@
# fail with messages like:
# foo_DEPENDENCIES was already defined in condition TRUE, ...
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr287.sh b/t/pr287.sh
index 62eb739be..bbbfe48c7 100755
--- a/t/pr287.sh
+++ b/t/pr287.sh
@@ -16,7 +16,7 @@
# Test for PR 287: empty SUBDIRS.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/pr300-lib.sh b/t/pr300-lib.sh
index d9a5dd1f3..ca7352383 100755
--- a/t/pr300-lib.sh
+++ b/t/pr300-lib.sh
@@ -18,7 +18,7 @@
# PR/300
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_RANLIB
diff --git a/t/pr300-ltlib.sh b/t/pr300-ltlib.sh
index 492683452..62c5b5560 100755
--- a/t/pr300-ltlib.sh
+++ b/t/pr300-ltlib.sh
@@ -18,7 +18,7 @@
# PR/300
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr300-prog.sh b/t/pr300-prog.sh
index b9aa97df4..d7ada2df8 100755
--- a/t/pr300-prog.sh
+++ b/t/pr300-prog.sh
@@ -18,7 +18,7 @@
# PR/300
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr307.sh b/t/pr307.sh
index 04b4ee934..1204c774a 100755
--- a/t/pr307.sh
+++ b/t/pr307.sh
@@ -33,7 +33,7 @@
# compilation.
required='libtoolize gcc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr401.sh b/t/pr401.sh
index 73a7e2560..3e73b0d4e 100755
--- a/t/pr401.sh
+++ b/t/pr401.sh
@@ -18,7 +18,7 @@
# (pr401b.sh and pr401c.sh do the same for LTLIBOBJS and ALLOCA)
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir lib src
diff --git a/t/pr401b.sh b/t/pr401b.sh
index e5914731d..61935879a 100755
--- a/t/pr401b.sh
+++ b/t/pr401b.sh
@@ -18,7 +18,7 @@
# (pr401.sh and pr401c.sh do the same for LIBOBJS and ALLOCA)
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
mkdir lib src
diff --git a/t/pr401c.sh b/t/pr401c.sh
index e452ab6f9..96561c5e2 100755
--- a/t/pr401c.sh
+++ b/t/pr401c.sh
@@ -18,7 +18,7 @@
# (pr401.sh and pr401b.sh do the same for LIBOBJS and LTLIBOBJS)
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir lib src
diff --git a/t/pr72.sh b/t/pr72.sh
index 3c2c91484..9eb55b7a0 100755
--- a/t/pr72.sh
+++ b/t/pr72.sh
@@ -18,7 +18,7 @@
# Empty _SOURCES results in $(LINK) undefined.
required=libtool
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/pr87.sh b/t/pr87.sh
index 872dfa954..4027b5cb2 100755
--- a/t/pr87.sh
+++ b/t/pr87.sh
@@ -18,7 +18,7 @@
# "make distcheck" fails when two source dirs exist.
required=cc
-. ./defs || exit 1
+. test-init.sh
subdirs="foo bar"
diff --git a/t/pr9.sh b/t/pr9.sh
index ccb0b93cc..7d75cc4bc 100755
--- a/t/pr9.sh
+++ b/t/pr9.sh
@@ -23,7 +23,7 @@
# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact,
# the entire 'support/' directory is omitted.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/prefix.sh b/t/prefix.sh
index 907cd788f..bc10771b4 100755
--- a/t/prefix.sh
+++ b/t/prefix.sh
@@ -16,7 +16,7 @@
# Test to make sure range of prefixes can be extended
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/primary-prefix-couples-documented-valid.sh b/t/primary-prefix-couples-documented-valid.sh
index 5b43157f8..89e7880fd 100755
--- a/t/primary-prefix-couples-documented-valid.sh
+++ b/t/primary-prefix-couples-documented-valid.sh
@@ -18,7 +18,7 @@
# examples in the Automake manual do not cause obvious errors.
# Please keep this test in sync with the automake manual.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/primary-prefix-couples-force-valid.sh b/t/primary-prefix-couples-force-valid.sh
index a6d7ace47..5cf02d84b 100755
--- a/t/primary-prefix-couples-force-valid.sh
+++ b/t/primary-prefix-couples-force-valid.sh
@@ -24,7 +24,7 @@
# should work.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/primary-prefix-invalid-couples.tap b/t/primary-prefix-invalid-couples.tap
index dadf38dcd..2152d186e 100755
--- a/t/primary-prefix-invalid-couples.tap
+++ b/t/primary-prefix-invalid-couples.tap
@@ -20,7 +20,7 @@
# cover more cases.
# See also test 'primary-prefix-valid-couples.test'.
-. ./defs || exit 1
+. test-init.sh
plan_ "later"
@@ -29,7 +29,6 @@ oIFS=$IFS # Saved for later.
: > ar-lib
: > ltmain.sh
: > texinfo.tex
-: > elisp-comp
: > py-compile
: > config.guess
: > config.sub
diff --git a/t/primary-prefix-valid-couples.sh b/t/primary-prefix-valid-couples.sh
index e1e3c7791..91d1b880e 100755
--- a/t/primary-prefix-valid-couples.sh
+++ b/t/primary-prefix-valid-couples.sh
@@ -17,7 +17,7 @@
# Test for valid prefix/primary combinations.
# See also test 'primary-prefix-invalid-couples.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
@@ -41,7 +41,6 @@ END
echo '@setfilename foo' > foo.texi
: > texinfo.tex
: > py-compile
-: > elisp-comp
: > ar-lib
# Setup Makefile.am.
diff --git a/t/primary.sh b/t/primary.sh
index b107f4dd3..e11eb0e4a 100755
--- a/t/primary.sh
+++ b/t/primary.sh
@@ -16,7 +16,7 @@
# Test to make sure errors in am_install_var work.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = @programs@
diff --git a/t/primary2.sh b/t/primary2.sh
index f355da05d..c7437fee9 100755
--- a/t/primary2.sh
+++ b/t/primary2.sh
@@ -16,7 +16,7 @@
# Test to make sure errors in am_install_var work.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/primary3.sh b/t/primary3.sh
index 9905a8cc3..0a80a5416 100755
--- a/t/primary3.sh
+++ b/t/primary3.sh
@@ -17,7 +17,7 @@
# Make sure we can build programs ending in '.la'
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CC
diff --git a/t/print-libdir.sh b/t/print-libdir.sh
index 9a33ac715..f9d596a0d 100755
--- a/t/print-libdir.sh
+++ b/t/print-libdir.sh
@@ -17,7 +17,7 @@
# Test on automake options '--print-data-dir' and '--print-script-dir'.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
libdir=$($AUTOMAKE --print-libdir) || exit 1
case $libdir in /*);; *) exit 1;; esac
diff --git a/t/proginst.sh b/t/proginst.sh
index afb730049..c0f13a607 100755
--- a/t/proginst.sh
+++ b/t/proginst.sh
@@ -17,7 +17,7 @@
# Test for bug where when multiple scripts are installed,
# the check for AC_PROG_INSTALL fails.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_SCRIPTS = zardoz qbert brownie
diff --git a/t/programs-primary-rewritten.sh b/t/programs-primary-rewritten.sh
index 89b80250c..40caf2003 100755
--- a/t/programs-primary-rewritten.sh
+++ b/t/programs-primary-rewritten.sh
@@ -18,7 +18,7 @@
# checks have been introduced in commit 'Release-1-9-254-g9d0eaef' into
# the former test 'subst2.test'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([FOO], [c])
diff --git a/t/py-compile-basedir.sh b/t/py-compile-basedir.sh
index f2cef307a..8abad87e7 100755
--- a/t/py-compile-basedir.sh
+++ b/t/py-compile-basedir.sh
@@ -17,7 +17,7 @@
# Test the '--basedir' option of the 'py-compile' script,
required=python
-. ./defs || exit 1
+. test-init.sh
# We'll need to create files in '..', so we need one more subdirectory
# level in order not to clutter up the top-level tests directory.
diff --git a/t/py-compile-basic.sh b/t/py-compile-basic.sh
index 73597c35c..d80ef8988 100755
--- a/t/py-compile-basic.sh
+++ b/t/py-compile-basic.sh
@@ -19,7 +19,7 @@
# 'py-compile-basic2.sh'.
required=python
-. ./defs || exit 1
+. test-init.sh
cp "$am_scriptdir/py-compile" . \
|| fatal_ "failed to fetch auxiliary script py-compile"
diff --git a/t/py-compile-basic2.sh b/t/py-compile-basic2.sh
index 19fdf7257..8100e9867 100755
--- a/t/py-compile-basic2.sh
+++ b/t/py-compile-basic2.sh
@@ -19,7 +19,7 @@
# related test 'py-compile-basic.sh'.
required=python
-. ./defs || exit 1
+. test-init.sh
ocwd=$(pwd) || fatal_ "getting current working directory"
diff --git a/t/py-compile-destdir.sh b/t/py-compile-destdir.sh
index 4d303d532..71f3f7a8a 100755
--- a/t/py-compile-destdir.sh
+++ b/t/py-compile-destdir.sh
@@ -17,7 +17,7 @@
# Test the '--destdir' option of the 'py-compile' script,
required=python
-. ./defs || exit 1
+. test-init.sh
cp "$am_scriptdir/py-compile" . \
|| fatal_ "failed to fetch auxiliary script py-compile"
diff --git a/t/py-compile-env.sh b/t/py-compile-env.sh
index 89d4ffc69..a0d055db1 100755
--- a/t/py-compile-env.sh
+++ b/t/py-compile-env.sh
@@ -16,7 +16,7 @@
# Make sure 'py-compile' honours the PYTHON environment variable.
-. ./defs || exit 1
+. test-init.sh
cp "$am_scriptdir/py-compile" . \
|| fatal_ "failed to fetch auxiliary script py-compile"
diff --git a/t/py-compile-option-terminate.sh b/t/py-compile-option-terminate.sh
index 5c2b56f83..9af5e1386 100755
--- a/t/py-compile-option-terminate.sh
+++ b/t/py-compile-option-terminate.sh
@@ -18,7 +18,7 @@
# explicitly terminate the option list for 'py-compile'.
required=python
-. ./defs || exit 1
+. test-init.sh
cp "$am_scriptdir/py-compile" . \
|| fatal_ "failed to fetch auxiliary script py-compile"
diff --git a/t/py-compile-usage.sh b/t/py-compile-usage.sh
index 13ddc8e80..ee5177d3f 100755
--- a/t/py-compile-usage.sh
+++ b/t/py-compile-usage.sh
@@ -17,7 +17,7 @@
# Test 'py-compile --help', 'py-compile --version', and that 'py-compile'
# correctly complains on wrong usage.
-. ./defs || exit 1
+. test-init.sh
cp "$am_scriptdir/py-compile" . \
|| fatal_ "failed to fetch auxiliary script py-compile"
diff --git a/t/python-am-path-iftrue.sh b/t/python-am-path-iftrue.sh
index d7ba43689..9c2335a75 100755
--- a/t/python-am-path-iftrue.sh
+++ b/t/python-am-path-iftrue.sh
@@ -18,7 +18,7 @@
am_create_testdir=empty
required=python
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/python-dist.sh b/t/python-dist.sh
index 0b6a4b044..070950cfb 100755
--- a/t/python-dist.sh
+++ b/t/python-dist.sh
@@ -17,7 +17,7 @@
# Test distribution of *_PYTHON files.
# This test does not require python.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PATH_PYTHON([], [:], [:])
diff --git a/t/python-missing.sh b/t/python-missing.sh
index b0912d34b..9a3ccfbf3 100755
--- a/t/python-missing.sh
+++ b/t/python-missing.sh
@@ -20,7 +20,7 @@
am_create_testdir=empty
# An actual python is *not* required in this test.
-. ./defs || exit 1
+. test-init.sh
PYTHON=; unset PYTHON
diff --git a/t/python-pr10995.sh b/t/python-pr10995.sh
index c530a13d9..4075a37e2 100755
--- a/t/python-pr10995.sh
+++ b/t/python-pr10995.sh
@@ -19,7 +19,7 @@
# declaration.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AM_PATH_PYTHON
diff --git a/t/python-too-old.sh b/t/python-too-old.sh
index e4185fcd2..24ee5842f 100755
--- a/t/python-too-old.sh
+++ b/t/python-too-old.sh
@@ -19,7 +19,7 @@
am_create_testdir=empty
required=python
-. ./defs || exit 1
+. test-init.sh
py_too_old ()
{
diff --git a/t/python-vars.sh b/t/python-vars.sh
index 5bac2803b..eec07ae01 100755
--- a/t/python-vars.sh
+++ b/t/python-vars.sh
@@ -18,7 +18,7 @@
# advertised in the manual.
required=python
-. ./defs || exit 1
+. test-init.sh
# In case the user's config.site defines pythondir or pyexecdir.
CONFIG_SITE=/dev/null; export CONFIG_SITE
diff --git a/t/python-virtualenv.sh b/t/python-virtualenv.sh
index 51ae78e28..cf3ae378d 100755
--- a/t/python-virtualenv.sh
+++ b/t/python-virtualenv.sh
@@ -18,7 +18,7 @@
# This test also works as a mild stress-test on the python support.
required='cc python virtualenv'
-. ./defs || exit 1
+. test-init.sh
# In case the user's config.site defines pythondir or pyexecdir.
CONFIG_SITE=/dev/null; export CONFIG_SITE
diff --git a/t/python.sh b/t/python.sh
index a3add40f9..3f79ca36b 100755
--- a/t/python.sh
+++ b/t/python.sh
@@ -16,7 +16,7 @@
# Test to make sure py_compile and am__py_compile are correctly defined.
-. ./defs || exit 1
+. test-init.sh
echo 'AM_PATH_PYTHON' >> configure.ac
diff --git a/t/python10.sh b/t/python10.sh
index 546581072..c4a0ab460 100755
--- a/t/python10.sh
+++ b/t/python10.sh
@@ -17,7 +17,7 @@
# Test _PYTHON with conditionals.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_PATH_PYTHON
diff --git a/t/python11.sh b/t/python11.sh
index e86d30e7f..e3e29e5f7 100755
--- a/t/python11.sh
+++ b/t/python11.sh
@@ -17,7 +17,7 @@
# Test missing python.
# Python is not required for this test.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
m4_define([_AM_PYTHON_INTERPRETER_LIST], [IShouldNotExist1 IShouldNotExist2])
diff --git a/t/python12.sh b/t/python12.sh
index 898c673dc..3fd40308a 100755
--- a/t/python12.sh
+++ b/t/python12.sh
@@ -17,7 +17,7 @@
# Ensure DESTDIR is not included in byte-compiled files.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_PATH_PYTHON
diff --git a/t/python2.sh b/t/python2.sh
index 71ba25fd2..0ecf79d4e 100755
--- a/t/python2.sh
+++ b/t/python2.sh
@@ -16,7 +16,7 @@
# Make sure that Automake suggests using AM_PATH_PYTHON.
-. ./defs || exit 1
+. test-init.sh
$ACLOCAL
diff --git a/t/python3.sh b/t/python3.sh
index 8667cf909..f749f9f1d 100755
--- a/t/python3.sh
+++ b/t/python3.sh
@@ -17,7 +17,7 @@
# Make sure we install built python files.
required=python
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AM_PATH_PYTHON
diff --git a/t/recurs-user-deeply-nested.sh b/t/recurs-user-deeply-nested.sh
new file mode 100755
index 000000000..27a51adbd
--- /dev/null
+++ b/t/recurs-user-deeply-nested.sh
@@ -0,0 +1,97 @@
+#! /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/>.
+
+# Check that recursion on user-defined targets can be made to work
+# with "deeply" nested uses of $(SUBDIRS).
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([
+ sub1/Makefile
+ sub1/sub2/Makefile
+ sub1/sub2/sub3/Makefile
+ sub1/sub2/sub3/sub4/Makefile
+])
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_OUTPUT
+END
+
+dirs='sub1 sub1/sub2 sub1/sub2/sub3 sub1/sub2/sub3/sub4'
+
+mkdir $dirs
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub1
+
+foo-local:
+ cp sub1/foo foo
+MOSTLYCLEANFILES = foo
+
+.PHONY: test
+test:
+ echo 'It works!' > exp
+ diff exp foo
+ diff exp sub1/foo
+ test ! -f sub1/sub2/foo
+ test ! -f sub1/sub2/sub3/foo
+ diff exp sub1/sub2/sub3/sub4/foo
+ rm -f exp
+
+all-local: foo
+check-local: test
+END
+
+cat > sub1/Makefile.am <<'END'
+SUBDIRS = sub2
+foo-local:
+ test ! -f sub2/sub3/foo
+ cp sub2/sub3/sub4/foo foo
+MOSTLYCLEANFILES = foo
+END
+
+# Here we deliberately lack an explicit definition the 'foo-local'
+# target; that shouldn't stop 'foo' recursion into subdirectory
+# 'sub3/sub4'.
+echo SUBDIRS = sub3 > sub1/sub2/Makefile.am
+echo SUBDIRS = sub4 > sub1/sub2/sub3/Makefile.am
+
+cat > sub1/sub2/sub3/sub4/Makefile.am <<'END'
+foo-local:
+ echo 'It works!' > foo
+MOSTLYCLEANFILES = foo
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+for d in $dirs; do
+ $FGREP foo-am $d/Makefile.in || exit 1
+ case $d in
+ */sub4);;
+ *) $FGREP foo-recursive $d/Makefile.in || exit 1;;
+ esac
+done
+
+./configure
+
+$MAKE foo
+$MAKE test
+
+$MAKE distcheck
+
+:
diff --git a/t/recurs-user-indir.sh b/t/recurs-user-indir.sh
new file mode 100755
index 000000000..5e85d3470
--- /dev/null
+++ b/t/recurs-user-indir.sh
@@ -0,0 +1,99 @@
+#! /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/>.
+
+# Check that user recursion works with various types of indirections
+# *involved in the definition of the '*-local' targets*: make macros,
+# AC_SUBST'd strings, automake-time file inclusions, automake
+# conditionals...
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([
+ sub1/Makefile
+ sub1/subsub/Makefile
+ sub2/Makefile
+ sub2/subsub/Makefile
+])
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_SUBST([FOO_LOCAL], [foo-local])
+AM_CONDITIONAL([COND], [:])
+AC_OUTPUT
+END
+
+mkdir sub1 sub1/subsub sub2 sub2/subsub
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub1 sub2
+AM_FOO_LOCAL = foo-local
+
+$(AM_FOO_LOCAL):
+ pwd && : > foo
+CLEANFILES = foo
+
+all-local: foo
+check-local:
+ test -f foo
+ test -f sub1/foo
+ test -f sub1/subsub/foo
+ test -f sub2/foo
+ test -f sub2/subsub/foo
+ test ! -r sub2/subsub/bar
+END
+
+cat > sub1/Makefile.am <<'END'
+SUBDIRS = subsub
+@FOO_LOCAL@:
+ pwd && : > foo
+CLEANFILES = foo
+END
+
+cat > sub1/subsub/Makefile.am <<'END'
+$(FOO_LOCAL):
+ pwd && : > foo
+CLEANFILES = foo
+END
+
+cat > sub2/Makefile.am <<'END'
+include $(srcdir)/bar.am
+include $(srcdir)/baz.am
+CLEANFILES = foo
+END
+
+echo 'SUBDIRS = subsub' > sub2/bar.am
+echo 'foo-local: ; pwd && : > foo' > sub2/baz.am
+
+cat > sub2/subsub/Makefile.am <<'END'
+if COND
+foo-local:
+ pwd && : > foo
+CLEANFILES = foo
+else !COND
+foo-local:
+ pwd && : > bar
+endif !COND
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+$MAKE check
+$MAKE distcheck
+
+:
diff --git a/t/recurs-user-keep-going.sh b/t/recurs-user-keep-going.sh
new file mode 100755
index 000000000..041e30477
--- /dev/null
+++ b/t/recurs-user-keep-going.sh
@@ -0,0 +1,95 @@
+#! /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/>.
+
+# Check that user recursion works with "make -k".
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_CONFIG_FILES([
+ sub1/Makefile
+ sub1/subsub1/Makefile
+ sub2/Makefile
+ sub2/subsub2/Makefile
+ sub3/Makefile
+])
+FAIL='@echo "FAIL $@ in `pwd`"; exit 1'
+PASS='@echo "PASS $@ in `pwd`"; : > foo'
+AC_SUBST([FAIL])
+AC_SUBST([PASS])
+AC_OUTPUT
+END
+
+mkdir sub1 sub1/subsub1 sub2 sub2/subsub2 sub3
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub1 . sub2 sub3
+foo-local:; @FAIL@
+END
+
+cat > sub1/Makefile.am <<'END'
+SUBDIRS = subsub1
+foo-local:; @PASS@
+END
+
+cat > sub2/Makefile.am <<'END'
+SUBDIRS = subsub2
+foo-local:; @FAIL@
+END
+
+echo 'foo-local:; @FAIL@' > sub1/subsub1/Makefile.am
+echo 'foo-local:; @PASS@' > sub2/subsub2/Makefile.am
+echo 'foo-local:; @PASS@' > sub3/Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+cat > exp <<END
+./sub1/foo
+./sub2/subsub2/foo
+./sub3/foo
+END
+
+as_expected ()
+{
+ find . -name foo > t || { cat t; exit 1; }
+ LC_ALL=C sort t > got
+ cat exp
+ cat got
+ diff exp got
+}
+
+# Without "-k", we fail in 'sub1/subsub1', and do nothing else.
+# So, no 'foo' file gets created.
+$MAKE foo && exit 1
+find . -name foo | grep . && exit 1
+
+if using_gmake; then
+ $MAKE -k foo && exit 1
+ as_expected
+ $MAKE --keep-going foo && exit 1
+ as_expected
+else
+ # Don't trust the exit status of 'make -k' for non-GNU makes.
+ $MAKE -k foo || :
+ as_expected
+fi
+
+:
diff --git a/t/recurs-user-many.sh b/t/recurs-user-many.sh
new file mode 100755
index 000000000..b40dd79ad
--- /dev/null
+++ b/t/recurs-user-many.sh
@@ -0,0 +1,73 @@
+#! /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/>.
+
+# Check that many user-defined recursive targets can be supported
+# at once, and that calls to 'AM_EXTRA_RECURSIVE_TARGETS' are
+# cumulative.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([sub/Makefile])
+## NOTE: extra white spaces, tabs, newlines and backslashes in the
+## lines below: on purpose.
+AM_EXTRA_RECURSIVE_TARGETS([ foo \
+ bar ])
+AC_SUBST([CLEANFILES], ['foo bar baz'])
+AC_OUTPUT
+# Yes, this appears after AC_OUTPUT. So what?
+AM_EXTRA_RECURSIVE_TARGETS([baz])
+END
+
+mkdir sub
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub
+foo-local:
+ : > foo
+bar-local:
+ echo x > bar
+baz-local: ; touch baz
+check-local: foo bar baz
+ ls -l . sub ;: For debugging.
+ test -f foo
+ test -f bar
+ test -f baz
+ test -f sub/foo
+ test -f sub/bar
+ test -f sub/baz
+END
+
+cat > sub/Makefile.am <<'END'
+foo-local bar-local baz-local:
+ touch `echo $@ | sed 's/-local$$//'`
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+for t in foo bar baz; do
+ $FGREP "$t-am" Makefile.in
+ $FGREP "$t-am" sub/Makefile.in
+done
+
+./configure
+
+$MAKE check
+$MAKE distcheck
+
+:
diff --git a/t/recurs-user-no-subdirs.sh b/t/recurs-user-no-subdirs.sh
new file mode 100755
index 000000000..76da43374
--- /dev/null
+++ b/t/recurs-user-no-subdirs.sh
@@ -0,0 +1,52 @@
+#! /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/>.
+
+# Check that user recursion can be made to work even when $(SUBDIRS)
+# is empty or undefined.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_OUTPUT
+END
+
+$ACLOCAL
+$AUTOCONF
+
+# First try with undefined $(SUBDIRS).
+cat > Makefile.am <<'END'
+all-local: foo
+foo-local:
+ : > bar
+MOSTLYCLEANFILES = bar
+END
+$AUTOMAKE
+./configure
+$MAKE foo
+test -f bar
+
+$MAKE distclean
+test ! -r bar # Sanity check.
+
+# Now try with empty but defined $(SUBDIRS).
+echo SUBDIRS = >> Makefile.am
+$AUTOMAKE
+./configure
+$MAKE foo
+test -f bar
+
+:
diff --git a/t/cygnus-check-without-all.sh b/t/recurs-user-no-top-level.sh
index ec8771854..1546f1c6f 100755
--- a/t/cygnus-check-without-all.sh
+++ b/t/recurs-user-no-top-level.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2010-2012 Free Software Foundation, Inc.
+# 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
@@ -14,37 +14,37 @@
# 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 that, in cygnus mode, target "check" does not depend target
-# "all".
+# Check that user recursion works even for targets that don't exist
+# in the top-level Makefile.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
-AM_MAINTAINER_MODE
+AC_CONFIG_FILES([sub/Makefile])
+AM_EXTRA_RECURSIVE_TARGETS([foo-bar])
AC_OUTPUT
END
+mkdir sub
+
cat > Makefile.am <<'END'
-all-local:
- : > all-target-has-failed
- exit 1
-check-local:
- touch check-target-has-run
+SUBDIRS = sub
+all-local: foo-bar
END
-$ACLOCAL
-$AUTOMAKE --cygnus -Wno-obsolete
-
-$EGREP '(^| )all.*(:|:.* )check' Makefile.in && exit 1
+cat > sub/Makefile.am <<'END'
+foo-bar-local:
+ : > foo-bar
+MOSTLYCLEANFILES = foo-bar
+END
+$ACLOCAL
$AUTOCONF
+$AUTOMAKE
+
./configure
-$MAKE check
-test -f check-target-has-run
-test ! -e all-target-has-failed
-# Sanity checks.
-$MAKE && exit 1
-test -f all-target-has-failed
+$MAKE foo-bar
+test -f sub/foo-bar
:
diff --git a/t/recurs-user-override.sh b/t/recurs-user-override.sh
new file mode 100755
index 000000000..02dd33350
--- /dev/null
+++ b/t/recurs-user-override.sh
@@ -0,0 +1,68 @@
+#! /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/>.
+
+# Check that override of user-defined recursive targets work as
+# expected.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([sub/Makefile])
+AM_EXTRA_RECURSIVE_TARGETS([foobar zardoz])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub
+all-local: foobar zardoz
+foobar:
+ : > foobar.out
+MOSTLYCLEANFILES = foobar.out
+check-local:
+ test -f foobar.out
+ test ! -r sub/foobar.out
+ test -f sub/zardoz.out
+ test ! -r sub/baz.out
+END
+
+mkdir sub
+cat > sub/Makefile.am <<'END'
+foobar foobar-local:
+ : > foobar.out
+zardoz-local:
+ : > baz.out
+zardoz:
+ : > zardoz.out
+MOSTLYCLEANFILES = zardoz.out
+END
+
+$ACLOCAL
+$AUTOCONF
+
+AUTOMAKE_fails
+grep '^Makefile\.am:3:.*user target.*foobar' stderr
+grep '^Makefile\.am:.*foobar-local.*instead of foobar$' stderr
+grep '^sub/Makefile\.am:5:.*user target.*zardoz' stderr
+grep '^sub/Makefile\.am:.*zardoz-local.*instead of zardoz$' stderr
+
+$AUTOMAKE -Wno-override
+
+./configure
+
+$MAKE check
+$MAKE distcheck
+
+:
diff --git a/t/cygnus-requires-maintainer-mode.sh b/t/recurs-user-phony.sh
index 978df8cf4..274f441c0 100755
--- a/t/cygnus-requires-maintainer-mode.sh
+++ b/t/recurs-user-phony.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2010-2012 Free Software Foundation, Inc.
+# 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
@@ -14,40 +14,51 @@
# 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 that, in cygnus mode, maintainer mode is required.
+# Check that user-defined recursive targets and their associate
+# '-local', '-am' and '-recursive' targets are declared as phony.
-. ./defs || exit 1
-
-: > Makefile.am
-
-$ACLOCAL
-AUTOMAKE_fails -Wno-obsolete --cygnus
-grep '^configure\.ac:.*AM_MAINTAINER_MODE.*required.*cygnus' stderr
+# Require GNU make, because some vendo makes (e.g., Solaris) doesn't
+# truly respect .PHONY.
+required=GNUmake
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_FILES([sub/Makefile])
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_OUTPUT
END
cat > Makefile.am <<'END'
SUBDIRS = sub
+foo-local:
+ echo 'GOOD!' > foo
END
mkdir sub
cat > sub/Makefile.am <<'END'
-AUTOMAKE_OPTIONS = -Wno-obsolete cygnus
+foo-local:
+ echo 'GOOD!' > foo
END
-rm -rf autom4te.cache
+dummy_files='
+ foo
+ foo-local
+ foo-am
+ foo-recursive
+ sub/foo
+ sub/foo-local
+ sub/foo-am
+'
+
$ACLOCAL
-AUTOMAKE_fails
-grep '^configure\.ac:.*AM_MAINTAINER_MODE.*required.*cygnus' stderr
+$AUTOCONF
+$AUTOMAKE
+./configure
-cat >> configure.ac <<'END'
-AM_MAINTAINER_MODE
-END
+touch $dummy_files
-rm -rf autom4te.cache
-$ACLOCAL
-$AUTOMAKE --cygnus -Wno-obsolete
+$MAKE foo
+grep 'GOOD!' foo
+grep 'GOOD!' sub/foo
:
diff --git a/t/clean2.sh b/t/recurs-user-wrap.sh
index ce5e9bf48..15a210cb2 100755
--- a/t/clean2.sh
+++ b/t/recurs-user-wrap.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
+# 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
@@ -14,55 +14,46 @@
# 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 distclean works in cygnus mode.
-# Report from Daniel Jacobowitz.
+# Check that rules generated by user recursion are apt to be wrapped
+# by other makefiles.
-. ./defs || exit 1
+required=GNUmake
+. test-init.sh
cat >> configure.ac << 'END'
-AM_MAINTAINER_MODE
-AC_CONFIG_FILES([sub/Makefile])
+AM_EXTRA_RECURSIVE_TARGETS([extra])
+AC_CONFIG_FILES([src/Makefile])
AC_OUTPUT
END
-cat > Makefile.am << 'END'
-SUBDIRS = sub
+mkdir src
+echo SUBDIRS = src > Makefile.am
+echo 'bar: ; : > $@ ' > src/Makefile.am
-data_DATA = bar
-
-bar:
- touch $@
-
-DISTCLEANFILES = bar
-END
-
-mkdir sub
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
-cat > sub/Makefile.am << 'END'
-data_DATA = foo
+./configure
-foo:
- touch $@
+$MAKE extra
+test ! -f extra-local
+test ! -f src/bar
-CLEANFILES = $(data_DATA)
+cat > GNUmakefile << 'END'
+.DEFAULT_GOAL = all
+extra-local:
+ : > $@
+include ./Makefile
END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --cygnus -Wno-obsolete
+cat > src/GNUmakefile << 'END'
+include ./Makefile
+extra-local: bar
+END
-./configure
-$MAKE
-ls -l
-test -f bar
-test -f sub/foo
-$MAKE distclean
-ls -l
-test ! -e bar
-test ! -e sub/foo
-test ! -e Makefile
-test ! -e config.status
-test -f Makefile.in
-test -f configure
+$MAKE extra
+test -f extra-local
+test -f src/bar
:
diff --git a/t/recurs-user.sh b/t/recurs-user.sh
new file mode 100755
index 000000000..198483fb9
--- /dev/null
+++ b/t/recurs-user.sh
@@ -0,0 +1,81 @@
+#! /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/>.
+
+# Basic checks on user-defined recursive rules.
+# Check that user recursion respect $(SUBDIRS) order,
+# and proceeds in a depth-first fashion.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_CONFIG_FILES([
+ sub1/Makefile
+ sub2/Makefile
+ sub3/Makefile
+ sub3/deeper/Makefile
+])
+AC_OUTPUT
+END
+
+mkdir sub1 sub2 sub3 sub3/deeper
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub1 . sub3 sub2
+foo-local:
+ echo '.' >> $(top_builddir)/got
+.PHONY: test
+test: foo
+ cat $(srcdir)/exp
+ cat ./got
+ diff $(srcdir)/exp ./got
+check-local: test
+MOSTLYCLEANFILES = got
+EXTRA_DIST = exp
+END
+
+for i in 1 2 3; do
+ cat > sub$i/Makefile.am <<END
+foo-local:
+ echo 'sub$i' >> \$(top_builddir)/got
+END
+done
+
+echo SUBDIRS = deeper >> sub3/Makefile.am
+
+cat >> sub3/deeper/Makefile.am <<'END'
+foo-local:
+ echo sub3/deeper >> $(top_builddir)/got
+END
+
+cat >> exp <<'END'
+sub1
+.
+sub3/deeper
+sub3
+sub2
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+$MAKE test
+$MAKE distcheck
+
+:
diff --git a/t/recurs-user2.sh b/t/recurs-user2.sh
new file mode 100755
index 000000000..4664efddf
--- /dev/null
+++ b/t/recurs-user2.sh
@@ -0,0 +1,103 @@
+#! /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/>.
+
+# Check that user recursion can be made to work when $(SUBDIRS) are
+# not "strictly" nested, as in e.g.:
+# SUBDIRS = src external/lib external/tests
+# with no Makefile in 'external'.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES(
+ sub1/Makefile
+ sub2/Makefile
+dnl There's deliberately no 'sub3/Makefile'.
+ sub3/subsub/Makefile
+ sub4/Makefile
+ sub4/subsub/Makefile
+)
+AM_EXTRA_RECURSIVE_TARGETS([foo])
+AC_OUTPUT
+END
+
+mkdir sub1 sub2 sub3 sub4 sub3/subsub sub4/subsub
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub1 sub2 sub3/subsub sub4 sub4/subsub
+
+foo-local:
+ echo _rootdir_ >foo
+MOSTLYCLEANFILES = foo
+
+.PHONY: test
+test: foo
+ grep _rootdir_ foo
+ grep ':sub1:' sub1/foo
+ grep ',sub1,' sub1/bar
+ test ! -r sub2/foo
+ test ! -r sub3/foo
+ grep '%sub3/subsub%' sub3/subsub/quux
+ test ! -r sub3/subsub/foo
+ test ! -r sub4/foo
+ grep '=sub4/subsub=' sub4/subsub/foo
+
+check-local: test
+END
+
+# A 'foo-local' target with dependencies shouldn't cause problems.
+cat > sub1/Makefile.am <<'END'
+foo-local: bar
+ sed 's/,/:/g' bar >foo
+bar:
+ echo ',sub1,' >$@
+MOSTLYCLEANFILES = foo bar
+END
+
+# The lack of a 'foo' target here shouldn't cause any error in
+# automake nor in make.
+: > sub2/Makefile.am
+
+# The lack of file 'sub3/Makefile.am' shouldn't cause any problem either.
+rm -f sub3/Makefile.am
+
+# A 'foo-local' creating a file != 'foo' shouldn't cause any problem.
+cat > sub3/subsub/Makefile.am <<'END'
+foo-local:
+ echo '%sub3/subsub%' >quux
+MOSTLYCLEANFILES = quux
+END
+
+# No 'foo-local' nor 'foo' target here ...
+: > sub4/Makefile.am
+# ... should not cause errors, nor cause the 'foo-local' target
+# here not to be executed.
+cat > sub4/subsub/Makefile.am <<'END'
+foo-local:
+ echo '=sub4/subsub=' >foo
+MOSTLYCLEANFILES = foo
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+$MAKE test
+$MAKE distcheck
+
+:
diff --git a/t/relativize.tap b/t/relativize.tap
index d940ddf2b..6d4693441 100755
--- a/t/relativize.tap
+++ b/t/relativize.tap
@@ -17,7 +17,7 @@
# Test Automake-provided internal make macro $(am__relativize).
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
plan_ later
diff --git a/t/missing4.sh b/t/remake-aclocal-version-mismatch.sh
index 22d31d0b2..b844fc1db 100755
--- a/t/missing4.sh
+++ b/t/remake-aclocal-version-mismatch.sh
@@ -17,7 +17,7 @@
# See how well the rebuild rule handles an aclocal.m4 that was
# generated for another version of autoconf.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >>configure.ac
diff --git a/t/remake-after-acinclude-m4.sh b/t/remake-after-acinclude-m4.sh
index 7c899dc2a..39596f6a7 100755
--- a/t/remake-after-acinclude-m4.sh
+++ b/t/remake-after-acinclude-m4.sh
@@ -17,7 +17,7 @@
# Test remake rules when acinclude.m4 or its prerequisites change.
# Keep in sync with the other sister tests 'remake-after-*.sh'.
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
diff --git a/t/remake-after-aclocal-m4.sh b/t/remake-after-aclocal-m4.sh
index 45d7a6a94..f7ba219b9 100755
--- a/t/remake-after-aclocal-m4.sh
+++ b/t/remake-after-aclocal-m4.sh
@@ -17,7 +17,7 @@
# Test remake rules when aclocal.m4 or its prerequisites change.
# Keep in sync with the other sister tests 'remake-after-*.sh'.
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
diff --git a/t/remake-after-configure-ac.sh b/t/remake-after-configure-ac.sh
index ee178b1c7..0ff74540f 100755
--- a/t/remake-after-configure-ac.sh
+++ b/t/remake-after-configure-ac.sh
@@ -17,7 +17,7 @@
# Test remake rules when configure.ac or its prerequisites change.
# Keep in sync with the other sister tests 'remake-after-*.sh'.
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
diff --git a/t/remake-after-makefile-am.sh b/t/remake-after-makefile-am.sh
index fca90b637..2161790cf 100755
--- a/t/remake-after-makefile-am.sh
+++ b/t/remake-after-makefile-am.sh
@@ -17,7 +17,7 @@
# Test remake rules when Makefile.am or its prerequisites change.
# Keep in sync with the other sister tests 'remake-after-*.sh'.
-. ./defs || exit 1
+. test-init.sh
if using_gmake; then
remake_() { $MAKE nil; }
diff --git a/t/remake-all-1.sh b/t/remake-all-1.sh
index 93a870eb7..29cefd476 100755
--- a/t/remake-all-1.sh
+++ b/t/remake-all-1.sh
@@ -17,7 +17,7 @@
# Check that the "all" target triggers rebuilt of outdated Makefiles.
# See also sister test 'remake-all-2.sh'.
-. ./defs || exit 1
+. test-init.sh
mkfile=Makefile
diff --git a/t/remake-all-2.sh b/t/remake-all-2.sh
index 0f7d9849a..debdbb488 100755
--- a/t/remake-all-2.sh
+++ b/t/remake-all-2.sh
@@ -18,7 +18,7 @@
# This handle the case in which the makefiles are not called 'Makefile'.
# See also sister test 'remake-all-1.sh'.
-. ./defs || exit 1
+. test-init.sh
mkfile=foobar
diff --git a/t/remake-am-pr10111.sh b/t/remake-am-pr10111.sh
index b3b7c6c74..787e71b07 100755
--- a/t/remake-am-pr10111.sh
+++ b/t/remake-am-pr10111.sh
@@ -22,7 +22,7 @@
# big deal in practice (in fact, this test *currently fails*). Still,
# keeping the limitation exposed is a good idea anyway.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/remake-deeply-nested.sh b/t/remake-deeply-nested.sh
index 8f29499c8..4949b52b2 100755
--- a/t/remake-deeply-nested.sh
+++ b/t/remake-deeply-nested.sh
@@ -19,7 +19,7 @@
# rules don't break in obvious ways in a slightly "heavier than usual"
# setup.
-. ./defs || exit 1
+. test-init.sh
ocwd=$(pwd) || fatal_ "getting current working directory"
diff --git a/t/remake-deleted-am-2.sh b/t/remake-deleted-am-2.sh
index 0b5506270..dde1615fb 100755
--- a/t/remake-deleted-am-2.sh
+++ b/t/remake-deleted-am-2.sh
@@ -18,7 +18,7 @@
# of the "deleted header problem". This test checks deeper inclusion
# stacks, and use VPATH builds.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/remake-deleted-am-subdir.sh b/t/remake-deleted-am-subdir.sh
index 868d36e50..f784593fd 100755
--- a/t/remake-deleted-am-subdir.sh
+++ b/t/remake-deleted-am-subdir.sh
@@ -18,7 +18,7 @@
# of the "deleted header problem". This test does the check when the
# SUBDIRS variable is involved.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
diff --git a/t/remake-deleted-am.sh b/t/remake-deleted-am.sh
index f754a3794..485f37f74 100755
--- a/t/remake-deleted-am.sh
+++ b/t/remake-deleted-am.sh
@@ -17,7 +17,7 @@
# Check that inclusion of '.am' fragments by automake does not suffer
# of the "deleted header problem". Basic checks are done here.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/remake-deleted-m4-file.sh b/t/remake-deleted-m4-file.sh
index 0bb7cae6f..2499d82cd 100755
--- a/t/remake-deleted-m4-file.sh
+++ b/t/remake-deleted-m4-file.sh
@@ -20,7 +20,7 @@
# header file" issue w.r.t. aclocal.m4 dependencies. See also related
# test 'acloca22.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
FOO_MACRO
diff --git a/t/remake-fail.sh b/t/remake-fail.sh
index 9ccf5d1c4..99a5b00d0 100755
--- a/t/remake-fail.sh
+++ b/t/remake-fail.sh
@@ -16,7 +16,7 @@
# Make sure remaking rules fail when they should.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/remake-gnulib-add-acsubst.sh b/t/remake-gnulib-add-acsubst.sh
index 2fdab58d3..3aea5b998 100755
--- a/t/remake-gnulib-add-acsubst.sh
+++ b/t/remake-gnulib-add-acsubst.sh
@@ -22,7 +22,7 @@
# for more info).
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/remake-gnulib-add-header.sh b/t/remake-gnulib-add-header.sh
index 127fa1fd5..c70b3c672 100755
--- a/t/remake-gnulib-add-header.sh
+++ b/t/remake-gnulib-add-header.sh
@@ -22,7 +22,7 @@
# for more info).
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_HEADERS([config.h])
diff --git a/t/remake-gnulib-remove-header.sh b/t/remake-gnulib-remove-header.sh
index 9044a04ab..23fbfc81b 100755
--- a/t/remake-gnulib-remove-header.sh
+++ b/t/remake-gnulib-remove-header.sh
@@ -23,7 +23,7 @@
# for more info).
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_CONFIG_HEADERS([config.h])
diff --git a/t/remake-include-aclocal.sh b/t/remake-include-aclocal.sh
index df1870e19..7567dfb07 100755
--- a/t/remake-include-aclocal.sh
+++ b/t/remake-include-aclocal.sh
@@ -19,7 +19,7 @@
# - remake-include-configure.sh
# - remake-include-makefile.sh
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
@@ -32,13 +32,13 @@ else
fi
cat >> configure.ac <<END
+AC_CONFIG_MACRO_DIR([m4])
FINGERPRINT='my_fingerprint'
AC_SUBST([FINGERPRINT])
AC_OUTPUT
END
cat > Makefile.am <<'END'
-ACLOCAL_AMFLAGS = -I m4
.PHONY: nil
nil:
## Used by "make distcheck" later.
@@ -51,7 +51,7 @@ END
mkdir m4
echo 'AC_DEFUN([my_fingerprint], [BadBadBad])' > m4/foo.m4
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE
diff --git a/t/remake-include-configure.sh b/t/remake-include-configure.sh
index f7f8c0450..5e0a4266a 100755
--- a/t/remake-include-configure.sh
+++ b/t/remake-include-configure.sh
@@ -19,7 +19,7 @@
# - remake-include-aclocal.sh
# - remake-include-makefile.sh
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
diff --git a/t/remake-include-makefile.sh b/t/remake-include-makefile.sh
index ed749ccee..0dcee5833 100755
--- a/t/remake-include-makefile.sh
+++ b/t/remake-include-makefile.sh
@@ -20,7 +20,7 @@
# - remake-include-configure.sh
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
diff --git a/t/remake-m4-pr10111.sh b/t/remake-m4-pr10111.sh
index 8a28925b6..9df34b603 100755
--- a/t/remake-m4-pr10111.sh
+++ b/t/remake-m4-pr10111.sh
@@ -22,7 +22,7 @@
# big deal in practice (in fact, this test *currently fails*). Still,
# keeping the limitation exposed is a good idea anyway.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
m4_include([foobar.m4])
diff --git a/t/remake-macrodir.sh b/t/remake-macrodir.sh
new file mode 100755
index 000000000..bdd3f02d2
--- /dev/null
+++ b/t/remake-macrodir.sh
@@ -0,0 +1,83 @@
+#! /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/>.
+
+# Check that the aclocal honouring of AC_CONFIG_MACRO_DIR interacts
+# nicely with automatic rebuild rules.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_MACRO_DIR([macro-dir])
+my__FOO || AS_EXIT([1])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+mkdir macro-dir
+cat > macro-dir/foo.m4 <<'END'
+AC_DEFUN([my__FOO], [: > bar])
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+$FGREP my__FOO configure && exit 1
+
+./configure
+test -f bar
+rm -f bar
+
+$sleep
+
+cat > macro-dir/foo.m4 <<'END'
+AC_DEFUN([my__FOO], [: > baz])
+END
+
+$MAKE Makefile
+test -f baz
+test ! -r bar
+rm -f baz
+
+$sleep
+
+rm -f macro-dir/foo.m4
+cat > macro-dir/quux.m4 <<'END'
+AC_DEFUN([my__FOO], [: > quux])
+END
+
+$MAKE Makefile
+test -f quux
+test ! -r baz
+rm -f quux
+
+$sleep
+
+sed 's/^AC_CONFIG_MACRO_DIR/&([newdir])/' configure.ac > t
+mv -f t configure.ac
+
+mkdir newdir
+cat > newdir/mu.m4 <<'END'
+AC_DEFUN([my__FOO], [[: my__FOO do nothing]])
+END
+
+$MAKE Makefile
+$FGREP ': my__FOO do nothing' configure
+
+$MAKE distcheck
+
+:
diff --git a/t/remake-maintainer-mode.sh b/t/remake-maintainer-mode.sh
index b1e8dd8db..326a3c919 100755
--- a/t/remake-maintainer-mode.sh
+++ b/t/remake-maintainer-mode.sh
@@ -18,7 +18,7 @@
# but not all.
# Report from Ralf Corsepius.
-. ./defs || exit 1
+. test-init.sh
if using_gmake; then
remake="$MAKE"
diff --git a/t/remake-makefile-intree.sh b/t/remake-makefile-intree.sh
index cb7c425dc..b9e33c379 100755
--- a/t/remake-makefile-intree.sh
+++ b/t/remake-makefile-intree.sh
@@ -21,7 +21,7 @@
# Keep this in sync with sister test 'remake-makefile-vpath.sh', which
# performs the same checks for a VPATH build.
-. ./defs || exit 1
+. test-init.sh
mv -f configure.ac configure.stub
@@ -110,29 +110,29 @@ $MAKE distcheck
rm -f quux
-# Modify Makefile.am to add a directory of extra m4 files
-# considered by aclocal.
+# Modify configure.ac and aclocal.m4 to add a directory of extra m4
+# files considered by aclocal. Also update checks in Makefile.am.
+# Note that we won't use this new directory of extra m4 files in the
+# first rebuild below (but we will in the second).
$sleep
mkdir $srcdir/m4
cat > $srcdir/Makefile.am <<'END'
-ACLOCAL_AMFLAGS = -I m4
+all-local: quux
check-local:
cat quux
grep '%Foo%' quux
test x'$(QUUX)' = x'%Foo%'
END
-$MAKE # This should place aclocal flags in Makefile.
-grep '.*-I m4' Makefile # Sanity check.
-
# Modify configure.ac and aclocal.m4.
$sleep
cat $srcdir/configure.stub - > $srcdir/configure.ac <<'END'
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_FILES([quux])
MY_CUSTOM_MACRO
AC_OUTPUT
diff --git a/t/remake-makefile-vpath.sh b/t/remake-makefile-vpath.sh
index 7e37fe856..54c6af9c1 100755
--- a/t/remake-makefile-vpath.sh
+++ b/t/remake-makefile-vpath.sh
@@ -21,7 +21,7 @@
# Keep this in sync with sister test 'remake-makefile-instree.sh', which
# performs the same checks for a in-tree build.
-. ./defs || exit 1
+. test-init.sh
mv -f configure.ac configure.stub
@@ -112,29 +112,29 @@ $MAKE distcheck
rm -f quux
-# Modify Makefile.am to add a directory of extra m4 files
-# considered by aclocal.
+# Modify configure.ac and aclocal.m4 to add a directory of extra m4
+# files considered by aclocal. Also update checks in Makefile.am.
+# Note that we won't use this new directory of extra m4 files in the
+# first rebuild below (but we will in the second).
$sleep
mkdir $srcdir/m4
cat > $srcdir/Makefile.am <<'END'
-ACLOCAL_AMFLAGS = -I m4
+all-local: quux
check-local:
cat quux
grep '%Foo%' quux
test x'$(QUUX)' = x'%Foo%'
END
-$MAKE # This should place aclocal flags in Makefile.
-grep '.*-I m4' Makefile # Sanity check.
-
# Modify configure.ac and aclocal.m4.
$sleep
cat $srcdir/configure.stub - > $srcdir/configure.ac <<'END'
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_FILES([quux])
MY_CUSTOM_MACRO
AC_OUTPUT
diff --git a/t/remake-mild-stress.sh b/t/remake-mild-stress.sh
index 02cef718e..54f7cdf4f 100755
--- a/t/remake-mild-stress.sh
+++ b/t/remake-mild-stress.sh
@@ -17,7 +17,7 @@
# Test basic remake rules for Makefiles with non-default names
# and/or with multiple sources.
-. ./defs || exit 1
+. test-init.sh
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
diff --git a/t/remake-moved-m4-file.sh b/t/remake-moved-m4-file.sh
index 68ea5a831..3ca16801f 100755
--- a/t/remake-moved-m4-file.sh
+++ b/t/remake-moved-m4-file.sh
@@ -17,7 +17,7 @@
# Test remake rules when m4 files get moved among different "include
# dirs" (i.e. those passed to aclocal with '-I' option).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
MY_MACRO
diff --git a/t/remake-not-after-make-dist.sh b/t/remake-not-after-make-dist.sh
index 10fdf11c7..f06ede63b 100755
--- a/t/remake-not-after-make-dist.sh
+++ b/t/remake-not-after-make-dist.sh
@@ -25,7 +25,7 @@
#
# Report from Akim Demaille.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
# Rebuild rule are ok until make dist, but not afterwards.
diff --git a/t/remake-recurs-user.sh b/t/remake-recurs-user.sh
new file mode 100755
index 000000000..34f86513b
--- /dev/null
+++ b/t/remake-recurs-user.sh
@@ -0,0 +1,89 @@
+#! /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/>.
+
+# Remake rules and user-defined recursive rules.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+m4_include([extra-targets.m4])
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+echo 'AM_EXTRA_RECURSIVE_TARGETS([foo])' > extra-targets.m4
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+all-local: foo
+foo-local:
+ : > foo
+bar-local:
+ : > bar
+MOSTLYCLEANFILES = foo
+END
+
+mkdir sub
+cat > sub/Makefile.am << 'END'
+foo-local:
+ : > foo2
+MOSTLYCLEANFILES = foo2
+bar-local: later-target
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+$MAKE
+test -f foo
+test -f sub/foo2
+test ! -f bar
+test ! -f sub/zardoz
+$MAKE distcheck
+
+$sleep
+
+echo 'AM_EXTRA_RECURSIVE_TARGETS([bar])' >> extra-targets.m4
+
+cat >> Makefile.am <<'END'
+MOSTLYCLEANFILES += bar oof
+all-local: bar
+foo-local: oof
+oof:
+ : > $@
+END
+
+echo 'include $(srcdir)/more.am' >> sub/Makefile.am
+
+cat > sub/more.am << 'END'
+later-target:
+ : > zardoz
+DISTCLEANFILES = zardoz
+END
+
+using_gmake || $MAKE Makefile
+$MAKE
+test -f foo
+test -f oof
+test -f sub/foo2
+test -f bar
+test -f sub/zardoz
+$MAKE distcheck
+
+:
diff --git a/t/remake-renamed-am.sh b/t/remake-renamed-am.sh
index 378aa2660..200bef118 100755
--- a/t/remake-renamed-am.sh
+++ b/t/remake-renamed-am.sh
@@ -18,7 +18,7 @@
# of the "deleted header problem". This test checks that we can rename
# an included .am file without confusing the remake rules.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/remake-renamed-m4-file.sh b/t/remake-renamed-m4-file.sh
index ee25c5894..ff99f1d54 100755
--- a/t/remake-renamed-m4-file.sh
+++ b/t/remake-renamed-m4-file.sh
@@ -16,7 +16,7 @@
# Test remake rules when m4 files get renamed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
MY_MACRO
diff --git a/t/remake-renamed-m4-macro-and-file.sh b/t/remake-renamed-m4-macro-and-file.sh
index f440a45e4..965873709 100755
--- a/t/remake-renamed-m4-macro-and-file.sh
+++ b/t/remake-renamed-m4-macro-and-file.sh
@@ -18,7 +18,7 @@
# an m4 macro in it gets renamed. Kudos to Bruno Haible for thinking
# about this situation. See also related test 'acloca22.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
MY_MACRO
diff --git a/t/remake-renamed-m4-macro.sh b/t/remake-renamed-m4-macro.sh
index 281dde257..99ab1db90 100755
--- a/t/remake-renamed-m4-macro.sh
+++ b/t/remake-renamed-m4-macro.sh
@@ -17,7 +17,7 @@
# Test remake rules when the name of an m4 macro change. Try both with
# and without indirection.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
MY_MACRO
diff --git a/t/remake-subdir-from-subdir.sh b/t/remake-subdir-from-subdir.sh
index b6c0c61b8..0a2c5fa1f 100755
--- a/t/remake-subdir-from-subdir.sh
+++ b/t/remake-subdir-from-subdir.sh
@@ -19,7 +19,7 @@
# See also the other similar tests 'remake-subdir*.sh', and the
# related test 'aclocal5.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
m4_include([subdirs.m4])
diff --git a/t/remake-subdir-gnu.sh b/t/remake-subdir-gnu.sh
index 9b2672bec..a00ae5758 100755
--- a/t/remake-subdir-gnu.sh
+++ b/t/remake-subdir-gnu.sh
@@ -21,7 +21,7 @@
# related test 'aclocal5.sh'
required=GNUmake
-. ./defs || exit 1
+. test-init.sh
magic1='::MagicString::One::'
magic2='__MagicString__Two__'
diff --git a/t/remake-subdir-grepping.sh b/t/remake-subdir-grepping.sh
index 0cce72e05..6700472e6 100755
--- a/t/remake-subdir-grepping.sh
+++ b/t/remake-subdir-grepping.sh
@@ -18,7 +18,7 @@
# are correctly generated.
# See also sister functional test 'remake-subdir-only.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/remake-subdir-long-time.sh b/t/remake-subdir-long-time.sh
index 41cc40a6d..e9a6f5709 100755
--- a/t/remake-subdir-long-time.sh
+++ b/t/remake-subdir-long-time.sh
@@ -21,7 +21,7 @@
# an explicit delay in the build process.
# Suggestion by Ralf Wildenhues.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/remake-subdir-no-makefile.sh b/t/remake-subdir-no-makefile.sh
index 5291ddda6..56a131736 100755
--- a/t/remake-subdir-no-makefile.sh
+++ b/t/remake-subdir-no-makefile.sh
@@ -17,7 +17,7 @@
# Ensure that remake rules work for files in a subdirectory even when
# there is no Makefile for that subdirectory.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/foo])
diff --git a/t/remake-subdir-only.sh b/t/remake-subdir-only.sh
index 12d1ca544..b1023ddcb 100755
--- a/t/remake-subdir-only.sh
+++ b/t/remake-subdir-only.sh
@@ -17,7 +17,7 @@
# Make sure remaking rules in subdir are correctly generated.
# See also sister "grepping" test 'remake-subdir-grepping.sh'.
-. ./defs || exit 1
+. test-init.sh
fingerprint='=/FiNgErPrInT/='
diff --git a/t/remake-subdir.sh b/t/remake-subdir.sh
index 1e4716d8f..a8014cf8f 100755
--- a/t/remake-subdir.sh
+++ b/t/remake-subdir.sh
@@ -19,7 +19,7 @@
# See also the other similar tests 'remake-subdir*.sh', and the
# related test 'aclocal5.sh'.
-. ./defs || exit 1
+. test-init.sh
if using_gmake; then
remake=$MAKE
diff --git a/t/remake-subdir2.sh b/t/remake-subdir2.sh
index 42f0ba14d..a87554467 100755
--- a/t/remake-subdir2.sh
+++ b/t/remake-subdir2.sh
@@ -19,7 +19,7 @@
# See also the other similar tests 'remake-subdir*.sh', and the
# related test 'aclocal5.sh'.
-. ./defs || exit 1
+. test-init.sh
magic1='::MagicString::One::'
magic2='__MagicString__Two__'
diff --git a/t/remake-subdir3.sh b/t/remake-subdir3.sh
index b6c580ca3..9362a69ea 100755
--- a/t/remake-subdir3.sh
+++ b/t/remake-subdir3.sh
@@ -16,7 +16,7 @@
# Make sure remaking rules work when subdir Makefile.in has been removed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
@@ -39,7 +39,7 @@ do_check ()
{
$MAKE >stdout || { cat stdout; exit 1; }
cat stdout
- test $(grep -c " --run " stdout) -eq 1
+ test $(grep -c "/missing " stdout) -eq 1
}
# Now, we are set up. Ensure that, for either missing Makefile.in,
diff --git a/t/remake-timing-bug-pr8365.sh b/t/remake-timing-bug-pr8365.sh
index 3e7f1e6e4..db1c46c83 100755
--- a/t/remake-timing-bug-pr8365.sh
+++ b/t/remake-timing-bug-pr8365.sh
@@ -22,7 +22,7 @@
# make by hand. Thus, fixing it would not be worth the hassle, but
# we prefer to keep it exposed anyway.
-. ./defs || exit 1
+. test-init.sh
# We'll use calls to stat to get debugging information.
if stat /dev/null; then stat=stat; else stat=:; fi
diff --git a/t/repeated-options.sh b/t/repeated-options.sh
index c300996f8..83253d3cc 100755
--- a/t/repeated-options.sh
+++ b/t/repeated-options.sh
@@ -18,7 +18,7 @@
# generate broken or incorrect makefiles.
required='cc bzip2'
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<END
AC_INIT([$me], [1.0])
diff --git a/t/req.sh b/t/req.sh
index cfeb44c1e..e68db0c5f 100755
--- a/t/req.sh
+++ b/t/req.sh
@@ -16,20 +16,15 @@
# Test to make sure macro used in m4 file is included.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<EOF
-AC_INIT
+AC_INIT([$me], [1.0])
AM_INIT_GUILE_MODULE
EOF
cat > acinclude.m4 << 'END'
-AC_DEFUN([AM_INIT_GUILE_MODULE],[
-. $srcdir/../GUILE-VERSION
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-AC_CONFIG_AUX_DIR(..)
-module=[$1]
-AC_SUBST(module)])
+AC_DEFUN([AM_INIT_GUILE_MODULE], [AM_INIT_AUTOMAKE([whocares])])
END
$ACLOCAL
diff --git a/t/reqd.sh b/t/reqd.sh
index 6006a9cd9..f34979831 100755
--- a/t/reqd.sh
+++ b/t/reqd.sh
@@ -17,7 +17,7 @@
# Make sure Automake will install several copies of required files if needed.
# Reported by Marius Vollmer.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<EOF
AC_CONFIG_FILES([one/Makefile two/Makefile])
diff --git a/t/reqd2.sh b/t/reqd2.sh
index 5734fd199..c6a325646 100755
--- a/t/reqd2.sh
+++ b/t/reqd2.sh
@@ -19,7 +19,7 @@
# to fix the Makefiles.)
required='libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([req2], [1.0])
diff --git a/t/rulepat.sh b/t/rulepat.sh
index a7cbb97e0..2d0e5378c 100755
--- a/t/rulepat.sh
+++ b/t/rulepat.sh
@@ -16,7 +16,7 @@
# Test to make sure RULE_PATTERN catches strange targets.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
$(srcdir)/Makefile.am:
diff --git a/t/sanity.sh b/t/sanity.sh
index 09b127261..1f20b118f 100755
--- a/t/sanity.sh
+++ b/t/sanity.sh
@@ -16,7 +16,7 @@
# Unsafe absolute directory names should be diagnosed.
-. ./defs || exit 1
+. test-init.sh
mkdir 'unsafe$'
cd 'unsafe$'
diff --git a/t/seenc.sh b/t/seenc.sh
index 9f0ae1191..9a1ae2b09 100755
--- a/t/seenc.sh
+++ b/t/seenc.sh
@@ -16,7 +16,7 @@
# Test to make sure C-but-not-CC error works.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
dnl AC_PROG_CC and AC_PROG_CXX missing on purpose
diff --git a/t/self-check-configure-help.sh b/t/self-check-configure-help.sh
index cbe0aa58a..24600251c 100755
--- a/t/self-check-configure-help.sh
+++ b/t/self-check-configure-help.sh
@@ -17,7 +17,7 @@
# Sanity check on the function used by the automake testsuite to
# analyze output of "configure --help".
-. ./defs || exit 1
+. test-init.sh
# FIXME: this test is a good candidate for a conversion to TAP.
diff --git a/t/self-check-dir.tap b/t/self-check-dir.tap
index 2bc2ce0c6..0dc893d19 100755
--- a/t/self-check-dir.tap
+++ b/t/self-check-dir.tap
@@ -15,12 +15,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Sanity check for the automake testsuite.
-# Check that tests using './defs' create a proper temporary directory,
-# and run in it. Also check that we can prevent the pre-population
-# and the creation of such directory if we want.
+# Check that tests using 'test-init.sh' create a proper temporary
+# directory, and run in it. Also check that we can prevent the
+# pre-population and the creation of such directory if we want.
am_create_testdir=no
-. ./defs || exit 99
+. test-init.sh
plan_ 5
@@ -37,7 +37,7 @@ do_check ()
rm -rf _self.dir || framework_failure_ "cleaning up _self.dir"
command_ok_ "$1 [$2]" $AM_TEST_RUNNER_SHELL -c "
$2
- . ./defs || exit 99
+ . test-init.sh
# Don't fail if 'ls -l' fails; avoids possible racy spurious failures.
pwd; ls -l || : # For debugging.
$3
diff --git a/t/self-check-exit.tap b/t/self-check-exit.tap
index 19cf27a87..14d9e8bed 100755
--- a/t/self-check-exit.tap
+++ b/t/self-check-exit.tap
@@ -16,11 +16,11 @@
# Sanity check for the automake testsuite.
# Check that, in case of failing commands, the correct exit status is
-# passed to the exit trap installed by the './defs' script.
+# passed to the exit trap installed by the 'test-init.sh' script.
# Also check that the 'errexit' shell flag is active.
am_create_testdir=no
-. ./defs || exit 99
+. test-init.sh
plan_ 32
@@ -30,14 +30,14 @@ plan_ 32
set +e
# It's especially important that the 'unset' is done before sourcing
-# ./defs, i.e., when 'set -e' is not active yet, for the benefit of shells
-# (like Bash 2.05 and Solaris 10 /bin/ksh) that returns a non-zero status
-# when unsetting an already-unset variable.
-# Add an extra newline at the end so that the aliases defined by 'defs'
-# can take effect. Yes, this is truly required.
-init="stderr_fileno_=2; unset am_explicit_skips; . ./defs${nl}"
+# test-init.sh, i.e., when 'set -e' is not active yet, for the benefit
+# of shells (like Bash 2.05 and Solaris 10 /bin/ksh) that returns a
+# non-zero status when unsetting an already-unset variable.
+# Add an extra newline at the end so that the aliases defined by
+# test-init.sh can take effect. Yes, this is truly required.
+init="stderr_fileno_=2; unset am_explicit_skips;. test-init.sh${nl}"
-# Required so that the code in defs doesn't go crazy trying to creating a
+# Required so that the code in test-init.sh doesn't go crazy trying to creating a
# temporary directory in the absolute dir of $AM_TEST_RUNNER_SHELL.
dummy_test_script=t/$me.sh
diff --git a/t/self-check-explicit-skips.sh b/t/self-check-explicit-skips.sh
index 97f5288fd..aa9250463 100755
--- a/t/self-check-explicit-skips.sh
+++ b/t/self-check-explicit-skips.sh
@@ -19,7 +19,7 @@
# an early exit due to some command exiting unexpectedly with status 77.
am_create_testdir=no
-. ./defs || exit 1
+. test-init.sh
set +e
@@ -31,7 +31,7 @@ run_dummy_test ()
{
env $2 $AM_TEST_RUNNER_SHELL -c "
am_create_testdir=no
- . ./defs
+ . test-init.sh
$1
" dummy.sh
}
diff --git a/t/self-check-is-blocked-signal.tap b/t/self-check-is-blocked-signal.tap
index 9077ca846..cd23b29dc 100755
--- a/t/self-check-is-blocked-signal.tap
+++ b/t/self-check-is-blocked-signal.tap
@@ -18,7 +18,7 @@
# shell function.
am_create_testdir=no
-. ./defs || exit 99
+. test-init.sh
plan_ 2
diff --git a/t/self-check-is_newest.tap b/t/self-check-is_newest.tap
index a5f84b311..a236798db 100755
--- a/t/self-check-is_newest.tap
+++ b/t/self-check-is_newest.tap
@@ -16,7 +16,7 @@
# Sanity check for the automake testsuite: the 'is_newest' subroutine.
-. ./defs || exit 1
+. test-init.sh
plan_ 21
diff --git a/t/self-check-me.tap b/t/self-check-me.tap
index 9c3125ee7..6d008b648 100755
--- a/t/self-check-me.tap
+++ b/t/self-check-me.tap
@@ -15,10 +15,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Sanity check for the automake testsuite.
-# Make sure that $me gets automatically defined by './defs'.
+# Make sure that $me gets automatically defined by 'test-init.sh'.
am_create_testdir=no
-. ./defs || exit 1
+. test-init.sh
plan_ 12
@@ -31,7 +31,7 @@ do_check ()
{
$AM_TEST_RUNNER_SHELL -c '
am_create_testdir=no # Do not pollute the top-level directory.
- . ./defs
+ . test-init.sh
echo me=$me
' "$1" | grep "^me=$2$"
command_ok_ "me=$1" test $? -eq 0
@@ -52,10 +52,10 @@ do_check abc. 'abc\.'
s=$(me=bad $AM_TEST_RUNNER_SHELL -c '
# Do not pollute the top-level directory.
am_create_testdir=no
- . ./defs
+ . test-init.sh
echo me=$me
' foo.sh)
-command_ok_ "override of \$me before ./defs causes no error" \
+command_ok_ "override of \$me before test-init.sh causes no error" \
test $? -eq 0
r='ok'
diff --git a/t/self-check-report.sh b/t/self-check-report.sh
index 11211ec4b..74ec75c99 100755
--- a/t/self-check-report.sh
+++ b/t/self-check-report.sh
@@ -21,7 +21,7 @@
unset stderr_fileno_ || :
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
set +e
diff --git a/t/self-check-seq.tap b/t/self-check-seq.tap
index ead4eed70..4db005040 100755
--- a/t/self-check-seq.tap
+++ b/t/self-check-seq.tap
@@ -17,7 +17,7 @@
# Sanity check for the automake testsuite.
# Check the 'seq_' subroutine.
-. ./defs || exit 1
+. test-init.sh
plan_ 14
diff --git a/t/self-check-unindent.tap b/t/self-check-unindent.tap
index 2bd3bc2c5..c8dc5a84f 100755
--- a/t/self-check-unindent.tap
+++ b/t/self-check-unindent.tap
@@ -17,7 +17,7 @@
# Sanity check for the automake testsuite.
# Check the 'unindent' subroutine.
-. ./defs || exit 1
+. test-init.sh
plan_ 22
diff --git a/t/serial-tests.sh b/t/serial-tests.sh
index 26ce68faa..52178c58f 100755
--- a/t/serial-tests.sh
+++ b/t/serial-tests.sh
@@ -17,7 +17,7 @@
# Option 'serial-tests'.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
hasnt_parallel_tests ()
{
diff --git a/t/silent-configsite.sh b/t/silent-configsite.sh
index 4adc60137..8bca33ff5 100755
--- a/t/silent-configsite.sh
+++ b/t/silent-configsite.sh
@@ -18,10 +18,10 @@
# from config.site, and that this default can be overridden from
# either the ./configure or make command line.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
-AM_SILENT_RULES
+# This line will be edited later to force silent-rules default.
AC_OUTPUT
EOF
@@ -51,8 +51,9 @@ $MAKE distclean
: 'Disable by default in configure.ac, enable by default in config.site'
-sed 's/^AM_SILENT_RULES/&([no])/' configure.ac > configure.tmp
-mv -f configure.tmp configure.ac
+sed 's/.*silent-rules default.*/AM_SILENT_RULES([no])/' configure.ac > t
+diff t configure.ac && fatal_ "editing configure.ac"
+mv -f t configure.ac
$ACLOCAL
$AUTOCONF
$AUTOMAKE --add-missing
@@ -67,8 +68,9 @@ $MAKE distclean
: 'Enable by default in configure.ac, disable by default in config.site'
-sed 's/^AM_SILENT_RULES/&([yes])/' configure.ac > configure.tmp
-mv -f configure.tmp configure.ac
+sed 's/.*AM_SILENT_RULES.*/AM_SILENT_RULES([yes])/' configure.ac > t
+diff t configure.ac && fatal_ "editing configure.ac"
+mv -f t configure.ac
$ACLOCAL
$AUTOCONF
$AUTOMAKE --add-missing
diff --git a/t/silent-lex.sh b/t/silent-lex.sh
index ca2164f76..6cc04308e 100755
--- a/t/silent-lex.sh
+++ b/t/silent-lex.sh
@@ -17,12 +17,11 @@
# Check silent-rules mode for Lex.
required='cc lex'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AM_PROG_CC_C_O
AC_PROG_LEX
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/silent-many-gcc.sh b/t/silent-many-gcc.sh
index 98104b649..e810e27c7 100755
--- a/t/silent-many-gcc.sh
+++ b/t/silent-many-gcc.sh
@@ -22,7 +22,7 @@
# 'silent-many-generic.sh', which should work with generic compilers.
required='gcc g++ gfortran lex yacc'
-. ./defs || exit 1
+. test-init.sh
# Avoids too much code duplication.
do_and_check_silent_build ()
@@ -95,7 +95,6 @@ do_and_check_verbose_build ()
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_F77
diff --git a/t/silent-many-generic.sh b/t/silent-many-generic.sh
index 6cbcbd708..6e8c33b5f 100755
--- a/t/silent-many-generic.sh
+++ b/t/silent-many-generic.sh
@@ -23,7 +23,7 @@
# and forces the use of gcc depmode.
required='cc c++ fortran fortran77 lex yacc'
-. ./defs || exit 1
+. test-init.sh
# Avoids too much code duplication.
do_and_check_silent_build ()
@@ -96,7 +96,6 @@ do_and_check_verbose_build ()
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AM_PROG_CC_C_O
AC_PROG_F77
AC_PROG_FC
diff --git a/t/silent-nested-vars.sh b/t/silent-nested-vars.sh
index 08ba070ae..3969ada57 100755
--- a/t/silent-nested-vars.sh
+++ b/t/silent-nested-vars.sh
@@ -17,7 +17,7 @@
# Check silent-rules mode, on 'make' implementations that do not
# support nested variables (Bug#9928, Bug#10237).
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
AM_SILENT_RULES
diff --git a/t/silent-nowarn.sh b/t/silent-nowarn.sh
deleted file mode 100755
index 9eb759d6b..000000000
--- a/t/silent-nowarn.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-# Copyright (C) 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
-# 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 that the 'silent-rules' mode suppresses the warnings for recursive
-# make variable expansions. This should happen regardless of whether and
-# where these warnings are requested.
-
-. ./defs || exit 1
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-# Yes, we repeat the warnings two times, both before and after
-# 'silent-rules'. This is deliberate.
-AM_INIT_AUTOMAKE([gnu -Wall -Wportability-recursive
- silent-rules
- -Wall -Wportability-recursive])
-AC_CONFIG_FILES([Makefile])
-END
-
-cat > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = gnu -Wall -Wportability-recursive
-foo = $($(v)) $(x$(v)) $($(v)x) $(y$(v)z)
-END
-
-# Files required bu gnu strictness.
-touch AUTHORS ChangeLog COPYING INSTALL NEWS README THANKS
-
-$ACLOCAL
-$AUTOMAKE --gnu -Wall -Wportability-recursive
-
-:
diff --git a/t/silent-obsolescent-warns.sh b/t/silent-obsolescent-warns.sh
deleted file mode 100755
index 38d845c91..000000000
--- a/t/silent-obsolescent-warns.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2009-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/>.
-
-# Some checks about silent-rules mode and warnings.
-
-. ./defs || exit 1
-
-cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
-AC_OUTPUT
-EOF
-
-cat > Makefile.am <<'EOF'
-my_verbose = $(my_verbose_$(V))
-my_verbose_ = $(my_verbose_$(AM_DEFAULT_VERBOSITY))
-my_verbose_0 = @echo " PKG-GEN $@";
-foo: foo.in
- $(my_verbose)cp $(srcdir)/foo.in $@
-EOF
-
-$ACLOCAL
-$AUTOMAKE --add-missing
-
-cat > configure.ac <<'END'
-AC_INIT([silent6], [1.0])
-AM_INIT_AUTOMAKE([-Wall])
-AC_CONFIG_FILES([Makefile])
-END
-
-rm -rf autom4te*.cache
-$ACLOCAL
-AUTOMAKE_fails
-grep 'my_verbose_\$(V.*non-POSIX ' stderr
-$AUTOMAKE -Wno-error
-
-# AM_SILENT_RULES should turn off the warning.
-echo 'AM_SILENT_RULES' >> configure.ac
-rm -rf autom4te*.cache
-$ACLOCAL
-$AUTOMAKE
-grep 'AM_V_GEN' Makefile.in
-$AUTOMAKE --force -Wno-all -Wportability
-grep 'AM_V_GEN' Makefile.in
-
-# The 'silent-rules' option to AM_INIT_AUTOMAKE should work likewise.
-cat > configure.ac <<'END'
-AC_INIT([silent6], [1.0])
-AM_INIT_AUTOMAKE([silent-rules])
-AC_CONFIG_FILES([Makefile])
-END
-rm -rf autom4te*.cache
-$ACLOCAL
-$AUTOMAKE
-grep 'AM_V_GEN' Makefile.in
-$AUTOMAKE --force -Wno-all -Wportability
-grep 'AM_V_GEN' Makefile.in
-
-:
diff --git a/t/silent-yacc-headers.sh b/t/silent-yacc-headers.sh
index e89fe5af7..e9ef9a096 100755
--- a/t/silent-yacc-headers.sh
+++ b/t/silent-yacc-headers.sh
@@ -18,12 +18,11 @@
# involved (i.e., the '-d' option is in *YFLAGS).
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_PROG_YACC
AC_PROG_CC
AC_OUTPUT
diff --git a/t/silent-yacc.sh b/t/silent-yacc.sh
index c5729efe5..b54bfe2d7 100755
--- a/t/silent-yacc.sh
+++ b/t/silent-yacc.sh
@@ -18,12 +18,11 @@
# Keep this in sync with sister test 'silent-yacc-gcc.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AM_PROG_CC_C_O
AC_PROG_YACC
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/silent.sh b/t/silent.sh
index 5a12036c7..32713d5e3 100755
--- a/t/silent.sh
+++ b/t/silent.sh
@@ -19,12 +19,11 @@
# Please keep this file in sync with 'silent2.sh'.
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
diff --git a/t/silent2.sh b/t/silent2.sh
index 4e8fd6b82..5dcaa26e8 100755
--- a/t/silent2.sh
+++ b/t/silent2.sh
@@ -20,12 +20,11 @@
# Please keep this file in sync with 'silent.sh'.
required=gcc
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
diff --git a/t/silent3.sh b/t/silent3.sh
index e4c043a19..9c3ed5d79 100755
--- a/t/silent3.sh
+++ b/t/silent3.sh
@@ -19,12 +19,11 @@
# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_AR
diff --git a/t/silent4.sh b/t/silent4.sh
index 15568fd99..28de9e0f9 100755
--- a/t/silent4.sh
+++ b/t/silent4.sh
@@ -20,12 +20,11 @@
# Please keep this file in sync with 'silent3.sh' and 'silent9.sh'.
required="libtoolize gcc"
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_AR
diff --git a/t/silent6.sh b/t/silent6.sh
index 3593adf5d..73fc4d060 100755
--- a/t/silent6.sh
+++ b/t/silent6.sh
@@ -16,10 +16,9 @@
# Check user extensibility of silent-rules mode.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
@@ -31,6 +30,7 @@ echo SUBDIRS = sub > Makefile.am
mkdir sub
cat > sub/Makefile.am <<'EOF'
+AUTOMAKE_OPTIONS = -Wno-portability-recursive
my_verbose = $(my_verbose_$(V))
my_verbose_ = $(my_verbose_$(AM_DEFAULT_VERBOSITY))
my_verbose_0 = @echo " XGEN $@";
diff --git a/t/silent7.sh b/t/silent7.sh
index 898a4423b..42e5a83e5 100755
--- a/t/silent7.sh
+++ b/t/silent7.sh
@@ -15,13 +15,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check user extensibility of silent-rules mode.
+# Aslo check that silent rules are disabled by default.
-. ./defs || exit 1
+. test-init.sh
-cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
-AC_OUTPUT
-EOF
+echo AC_OUTPUT >> configure.ac
cat > Makefile.am <<'EOF'
all-local: foo
@@ -41,7 +39,9 @@ $ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure --disable-silent-rules
+# Silent rules are disabled by default, since we haven't called
+# "AM_SILENT_RULES([yes])" explicitly.
+./configure
$MAKE >stdout || { cat stdout; exit 1; }
cat stdout
grep 'GEN ' stdout && exit 1
@@ -85,8 +85,4 @@ grep 'GEN ' stdout && exit 1
grep 'cp ' stdout
grep 'echo ' stdout
-# Ensure that setting 'silent-rules' in a Makefile.am produces an error.
-echo 'AUTOMAKE_OPTIONS = silent-rules' >> Makefile.am
-AUTOMAKE_fails --force
-
:
diff --git a/t/silent8.sh b/t/silent8.sh
index 76bf62c80..2c99560c9 100755
--- a/t/silent8.sh
+++ b/t/silent8.sh
@@ -16,13 +16,10 @@
# Check texinfo rules in silent-rules mode.
-required='makeinfo-html tex texi2dvi-o dvips'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi dvips'
+. test-init.sh
-cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
-AC_OUTPUT
-EOF
+echo AC_OUTPUT >> configure.ac
cat > Makefile.am <<'EOF'
info_TEXINFOS = foo.texi
diff --git a/t/silent9.sh b/t/silent9.sh
index 63441e9ab..4ffb4b690 100755
--- a/t/silent9.sh
+++ b/t/silent9.sh
@@ -19,12 +19,11 @@
# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
diff --git a/t/silentcxx-gcc.sh b/t/silentcxx-gcc.sh
index 1907e21d0..f75100ad0 100755
--- a/t/silentcxx-gcc.sh
+++ b/t/silentcxx-gcc.sh
@@ -19,12 +19,11 @@
# test 'silentcxx.sh', which should work with generic compilers.
required=g++
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_PROG_CXX
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
diff --git a/t/silentcxx.sh b/t/silentcxx.sh
index 1cb9f26a7..0bc4c3519 100755
--- a/t/silentcxx.sh
+++ b/t/silentcxx.sh
@@ -20,12 +20,11 @@
# and forces the use of gcc depmode.
required=c++
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_PROG_CXX
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
diff --git a/t/silentf77.sh b/t/silentf77.sh
index 580ec6d7d..f1a423b64 100755
--- a/t/silentf77.sh
+++ b/t/silentf77.sh
@@ -18,12 +18,11 @@
# Keep this ins sync with the sister test 'silentf90.sh'.
required=fortran77
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_PROG_F77
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
diff --git a/t/silentf90.sh b/t/silentf90.sh
index fb422fdb7..650d0b6f3 100755
--- a/t/silentf90.sh
+++ b/t/silentf90.sh
@@ -18,12 +18,11 @@
# Keep this ins sync with the sister test 'silentf77.sh'.
required=fortran
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
AC_PROG_FC
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
diff --git a/t/sourcefile-in-subdir.sh b/t/sourcefile-in-subdir.sh
index 831300e90..66fe9b798 100755
--- a/t/sourcefile-in-subdir.sh
+++ b/t/sourcefile-in-subdir.sh
@@ -16,7 +16,7 @@
# Test to make sure subdir source file generates explicit dependency.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = zardoz widdershins
diff --git a/t/space.sh b/t/space.sh
index 96bf9ba91..21cffd2ff 100755
--- a/t/space.sh
+++ b/t/space.sh
@@ -16,7 +16,7 @@
# Test leading space on macro assignment.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/specflg-dummy.sh b/t/specflg-dummy.sh
index 28d576cd4..e0611bc68 100755
--- a/t/specflg-dummy.sh
+++ b/t/specflg-dummy.sh
@@ -20,7 +20,7 @@
# even if AM_CFLAGS is undefined. Similarly for other *FLAGS variables
# (CXXFLAGS, YFLAGS, LDFLAGS, ...)
-. ./defs || exit 1
+. test-init.sh
# Disable shell globbing if possible.
(set +f) >/dev/null 2>&1 && set +f
diff --git a/t/specflg6.sh b/t/specflg6.sh
index 958e887bf..791d9f765 100755
--- a/t/specflg6.sh
+++ b/t/specflg6.sh
@@ -18,7 +18,7 @@
# conditionals are present.
# From Richard Boulton.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/specflg7.sh b/t/specflg7.sh
index 7261d1891..057204057 100755
--- a/t/specflg7.sh
+++ b/t/specflg7.sh
@@ -17,7 +17,7 @@
# The true/false example from the manual, plus a check for _SHORTNAME.
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/specflg8.sh b/t/specflg8.sh
index 598970ada..be7cf459d 100755
--- a/t/specflg8.sh
+++ b/t/specflg8.sh
@@ -19,7 +19,7 @@
# use of _CPPFLAGS (PR/337).
required='cc native'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/specflg9.sh b/t/specflg9.sh
index c8cde9e0f..429262944 100755
--- a/t/specflg9.sh
+++ b/t/specflg9.sh
@@ -16,7 +16,7 @@
# Another check for per-target flag substitutions.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/spell.sh b/t/spell.sh
index 18abba245..3bed9b186 100755
--- a/t/spell.sh
+++ b/t/spell.sh
@@ -16,7 +16,7 @@
# Test to make sure misspellings in _SOURCES variables cause failure.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = zardoz foo
diff --git a/t/spell2.sh b/t/spell2.sh
index c468b2b06..98550afe1 100755
--- a/t/spell2.sh
+++ b/t/spell2.sh
@@ -16,7 +16,7 @@
# Test to make sure misspellings in _SOURCES variables cause failure.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/spell3.sh b/t/spell3.sh
index c12703b9c..4d209302b 100755
--- a/t/spell3.sh
+++ b/t/spell3.sh
@@ -17,7 +17,7 @@
# Test to make sure some internal _DEPENDENCIES variables don't cause
# errors.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TAGS_DEPENDENCIES = joe
diff --git a/t/spelling.sh b/t/spelling.sh
index f6f99eb66..94cce097f 100755
--- a/t/spelling.sh
+++ b/t/spelling.sh
@@ -16,7 +16,7 @@
# Test to make sure that misspelled prefixes actually cause error.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'EOF'
bni_PROGRAMS = zot
diff --git a/t/spy-rm.tap b/t/spy-rm.tap
index f279745e8..0a2e51277 100755
--- a/t/spy-rm.tap
+++ b/t/spy-rm.tap
@@ -25,7 +25,7 @@
# <http://austingroupbugs.net/view.php?id=542>
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
plan_ 10
diff --git a/t/spy.sh b/t/spy.sh
index a23772d3c..641627a35 100755
--- a/t/spy.sh
+++ b/t/spy.sh
@@ -67,7 +67,7 @@
# So it seems only non-overlapping ::-rule may be portable. This is
# what we check now.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile <<\EOF
a :: b
diff --git a/t/src-acsubst.sh b/t/src-acsubst.sh
index 13531ac0a..5772cb214 100755
--- a/t/src-acsubst.sh
+++ b/t/src-acsubst.sh
@@ -16,7 +16,7 @@
# Test to make sure config substitution in _SOURCES fails.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >> configure.ac
diff --git a/t/stamph2.sh b/t/stamph2.sh
index a6f589517..7860e72b0 100755
--- a/t/stamph2.sh
+++ b/t/stamph2.sh
@@ -15,13 +15,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Make sure stamp-h* files are created where we expect
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << END
-AM_CONFIG_HEADER([1.h
- 2.h:config.hin
- 3.h:sdir1/config1.hin])
-# AM_CONFIG_HEADER and AC_CONFIG_HEADERS should be synonyms.
+AC_CONFIG_HEADERS([1.h
+ 2.h:config.hin
+ 3.h:sdir1/config1.hin])
AC_CONFIG_HEADERS([sdir1/4.h
sdir1/5.h:config.hin
sdir1/6.h:sdir1/config1.hin
diff --git a/t/stdinc.sh b/t/stdinc.sh
index d030e64c4..21c66b857 100755
--- a/t/stdinc.sh
+++ b/t/stdinc.sh
@@ -18,7 +18,7 @@
# Report by Kent Boortz.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/stdlib.sh b/t/stdlib.sh
index b3f458a90..59177fcae 100755
--- a/t/stdlib.sh
+++ b/t/stdlib.sh
@@ -16,7 +16,7 @@
# Test "not a standard library" error.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/stdlib2.sh b/t/stdlib2.sh
index 6cce9162d..f79353c3e 100755
--- a/t/stdlib2.sh
+++ b/t/stdlib2.sh
@@ -17,7 +17,7 @@
# Check for AM_LDFLAGS = -module
# Report from Kevin P. Fleming.
required=libtool
-. ./defs || exit 1
+. test-init.sh
: > README
: > NEWS
diff --git a/t/strictness-override.sh b/t/strictness-override.sh
index 27e44dd17..f3028dbb0 100755
--- a/t/strictness-override.sh
+++ b/t/strictness-override.sh
@@ -21,7 +21,7 @@
# been in place for quite a long time); see also Automake bug #7673.
# Update this test if the semantics are changed.
-. ./defs || exit 1
+. test-init.sh
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
diff --git a/t/strictness-precedence.sh b/t/strictness-precedence.sh
index ab70ee3fd..d56cf5f22 100755
--- a/t/strictness-precedence.sh
+++ b/t/strictness-precedence.sh
@@ -18,7 +18,7 @@
# strictness specified later should take precedence over strictness
# specified earlier.
-. ./defs || exit 1
+. test-init.sh
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
diff --git a/t/strip.sh b/t/strip.sh
index 6170627dc..338d5bb22 100755
--- a/t/strip.sh
+++ b/t/strip.sh
@@ -17,7 +17,7 @@
# Test for install-strip.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/strip2.sh b/t/strip2.sh
index 2397545d4..c18b517eb 100755
--- a/t/strip2.sh
+++ b/t/strip2.sh
@@ -18,7 +18,7 @@
# This test needs GNU binutils strip. See sister test 'strip3.sh'.
required='cc strip'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/strip3.sh b/t/strip3.sh
index 543449dba..5c3121fee 100755
--- a/t/strip3.sh
+++ b/t/strip3.sh
@@ -19,7 +19,7 @@
# test 'strip2.sh'.
required='cc libtoolize strip'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subdir-ac-subst.sh b/t/subdir-ac-subst.sh
index a8deb17a6..37f5899d3 100755
--- a/t/subdir-ac-subst.sh
+++ b/t/subdir-ac-subst.sh
@@ -18,7 +18,7 @@
# SUBDIRS + AC_SUBST setup from the manual.
# Lots of lines here are duplicated in 'subcond-am-cond.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
if test "$want_opt" = yes; then
diff --git a/t/subdir-add-pr46.sh b/t/subdir-add-pr46.sh
index 66ecfda7a..750ae800b 100755
--- a/t/subdir-add-pr46.sh
+++ b/t/subdir-add-pr46.sh
@@ -19,7 +19,7 @@
# test 'subdir-add2-pr46.sh' do it from a subdirectory.
# PR automake/46
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/subdir-add2-pr46.sh b/t/subdir-add2-pr46.sh
index 7fa51b919..bfe7e9c51 100755
--- a/t/subdir-add2-pr46.sh
+++ b/t/subdir-add2-pr46.sh
@@ -19,9 +19,10 @@
# it works when make is run from the top-level directory.
# PR automake/46
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
+AC_CONFIG_MACRO_DIR([m4])
m4_include([confiles.m4])
MORE_DEFS
AC_OUTPUT
@@ -31,7 +32,6 @@ echo 'AC_CONFIG_FILES([sub/Makefile])' > confiles.m4
cat > Makefile.am << 'END'
SUBDIRS = sub
-ACLOCAL_AMFLAGS = -I m4
END
mkdir sub
@@ -41,7 +41,7 @@ mkdir sub
mkdir m4
echo 'AC_DEFUN([MORE_DEFS], [])' > m4/moredefs.m4
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE
./configure
diff --git a/t/subdir-am-cond.sh b/t/subdir-am-cond.sh
index cb55ffb88..28868bf46 100755
--- a/t/subdir-am-cond.sh
+++ b/t/subdir-am-cond.sh
@@ -18,7 +18,7 @@
# SUBDIRS + AM_CONDITIONAL setup from the manual.
# Lots of lines here are duplicated in 'subdir-ac-subst.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_CONDITIONAL([COND_OPT], [test "$want_opt" = yes])
diff --git a/t/subdir-cond-err.sh b/t/subdir-cond-err.sh
index 4eba4f894..da0ab5697 100755
--- a/t/subdir-cond-err.sh
+++ b/t/subdir-cond-err.sh
@@ -16,7 +16,7 @@
# Check SUBDIRS set based on conditionals.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([TEST], [true])
diff --git a/t/subdir-cond-gettext.sh b/t/subdir-cond-gettext.sh
index f933f77db..4cc48e5ec 100755
--- a/t/subdir-cond-gettext.sh
+++ b/t/subdir-cond-gettext.sh
@@ -17,7 +17,7 @@
# It is ok to have a conditional SUBDIRS when using gettext.
required=gettext
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_GNU_GETTEXT
diff --git a/t/subdir-distclean.sh b/t/subdir-distclean.sh
index 25274fd23..4b005e861 100755
--- a/t/subdir-distclean.sh
+++ b/t/subdir-distclean.sh
@@ -17,7 +17,7 @@
# Check that "./configure && make && make distclean" is actually a
# no-op, even when conditional SUBDIRS are involved.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub1/Makefile sub2/Makefile sub1/subsub/Makefile])
diff --git a/t/subdir-env-interference.sh b/t/subdir-env-interference.sh
index 396aecc24..8c3dc58c4 100755
--- a/t/subdir-env-interference.sh
+++ b/t/subdir-env-interference.sh
@@ -16,7 +16,7 @@
# SUDBIRS with $fail set in the environment.
-. ./defs || exit 1
+. test-init.sh
mkdir sub
diff --git a/t/subdir-order.sh b/t/subdir-order.sh
index 0ce19d937..1b6ee9d21 100755
--- a/t/subdir-order.sh
+++ b/t/subdir-order.sh
@@ -16,7 +16,7 @@
# The $(SUDBIRS) entries are processed in the order they are specified.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([
diff --git a/t/subdir-subsub.sh b/t/subdir-subsub.sh
index b8389ddd7..6925ea74d 100755
--- a/t/subdir-subsub.sh
+++ b/t/subdir-subsub.sh
@@ -16,7 +16,7 @@
# Test to make sure sub-sub-dirs work correctly.
-. ./defs || exit 1
+. test-init.sh
mkdir one
mkdir one/two
diff --git a/t/subdir-with-slash.sh b/t/subdir-with-slash.sh
index 0a3330b88..106358973 100755
--- a/t/subdir-with-slash.sh
+++ b/t/subdir-with-slash.sh
@@ -16,7 +16,7 @@
# Test SUDBIRS with '/' in them.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([src/subdir/Makefile src/subdir2/Makefile])
diff --git a/t/subdir.sh b/t/subdir.sh
index 249481aa3..e8719997d 100755
--- a/t/subdir.sh
+++ b/t/subdir.sh
@@ -17,7 +17,7 @@
# Test to make sure install-sh and mkinstalldirs correctly found in
# subdirs.
-. ./defs || exit 1
+. test-init.sh
mkdir zot
diff --git a/t/subobj-clean-lt-pr10697.sh b/t/subobj-clean-lt-pr10697.sh
index 6cbc0214b..b02a6a4db 100755
--- a/t/subobj-clean-lt-pr10697.sh
+++ b/t/subobj-clean-lt-pr10697.sh
@@ -22,7 +22,7 @@
# 'subobj-clean-pr10697.sh', which deals with the non-libtool case.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_AR
diff --git a/t/subobj-clean-pr10697.sh b/t/subobj-clean-pr10697.sh
index e7be1c5cc..9fdc786f6 100755
--- a/t/subobj-clean-pr10697.sh
+++ b/t/subobj-clean-pr10697.sh
@@ -22,7 +22,7 @@
# 'subobj-clean-lt-pr10697.sh', which deals with the libtool case.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj.sh b/t/subobj.sh
index 7ac839b6a..19b13117b 100755
--- a/t/subobj.sh
+++ b/t/subobj.sh
@@ -16,7 +16,7 @@
# Test of subdir objects with C.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj10.sh b/t/subobj10.sh
index cefb0ab06..68f0e32b1 100755
--- a/t/subobj10.sh
+++ b/t/subobj10.sh
@@ -17,7 +17,7 @@
# PR 492: Test asm subdir-objects.
required=gcc
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/subobj11a.sh b/t/subobj11a.sh
index 25bdb93d1..4bd886303 100755
--- a/t/subobj11a.sh
+++ b/t/subobj11a.sh
@@ -27,7 +27,7 @@
# 'subobj11c.sh'.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj11b.sh b/t/subobj11b.sh
index 6d539c2c3..89f878b88 100755
--- a/t/subobj11b.sh
+++ b/t/subobj11b.sh
@@ -26,7 +26,7 @@
# See also "semantic" sister test 'subobj11a.sh', and related test
# 'subobj11c.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj11c.sh b/t/subobj11c.sh
index ce33e3086..20119e129 100755
--- a/t/subobj11c.sh
+++ b/t/subobj11c.sh
@@ -19,7 +19,7 @@
# included makefile fragments (containing dependency info).
# See also related tests 'subobj11a.sh' and 'subobj11b.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj2.sh b/t/subobj2.sh
index 646c6cf2c..d0b05fe3b 100755
--- a/t/subobj2.sh
+++ b/t/subobj2.sh
@@ -16,7 +16,7 @@
# Test of subdir objects with C++.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/subobj4.sh b/t/subobj4.sh
index 4399eefc0..4fb227ff8 100755
--- a/t/subobj4.sh
+++ b/t/subobj4.sh
@@ -17,7 +17,7 @@
# Make sure '../foo/foo.cpp' generates a rule.
# Report from Dave Brolley.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj5.sh b/t/subobj5.sh
index 6736cb1b9..b056374c4 100755
--- a/t/subobj5.sh
+++ b/t/subobj5.sh
@@ -18,7 +18,7 @@
# From Robert Collins.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([generic/Makefile])
diff --git a/t/subobj6.sh b/t/subobj6.sh
index cf265f761..67a0548c9 100755
--- a/t/subobj6.sh
+++ b/t/subobj6.sh
@@ -18,7 +18,7 @@
# From Robert Collins.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_CC_C_O
diff --git a/t/subobj7.sh b/t/subobj7.sh
index 1ce58aeca..4e95b4c1d 100755
--- a/t/subobj7.sh
+++ b/t/subobj7.sh
@@ -17,7 +17,7 @@
# Test to make sure AM_CFLAGS appears in subdir compilation rule.
# Report from Steve M. Robbins.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subobj8.sh b/t/subobj8.sh
index 58b1e41f3..fe0d0c888 100755
--- a/t/subobj8.sh
+++ b/t/subobj8.sh
@@ -16,7 +16,7 @@
# Make sure 'compile' is included when subdir-objects is used in a subdir.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/subobj9.sh b/t/subobj9.sh
index 2d8f8fbe2..69675760b 100755
--- a/t/subobj9.sh
+++ b/t/subobj9.sh
@@ -23,7 +23,7 @@
# forgets '.../<file>.o'.
required='c++ libtoolize'
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/subobjname.sh b/t/subobjname.sh
index 7601664d5..36cb4d62f 100755
--- a/t/subobjname.sh
+++ b/t/subobjname.sh
@@ -18,7 +18,7 @@
# combinational explosion. (This test is named after the &subobjname
# sub in Automake).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh
index 0ce1a7c23..f05396f74 100755
--- a/t/subpkg-yacc.sh
+++ b/t/subpkg-yacc.sh
@@ -18,7 +18,7 @@
# properly, when a subpackage is involved.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/subpkg.sh b/t/subpkg.sh
index c8ce125b6..69445350e 100755
--- a/t/subpkg.sh
+++ b/t/subpkg.sh
@@ -17,7 +17,7 @@
# Check subpackage handling.
required=cc
-. ./defs || exit 1
+. test-init.sh
mkdir m4
@@ -29,6 +29,7 @@ AC_DEFUN([FOO],[
EOF
cat >>configure.ac <<'END'
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SUBDIRS([lib])
FOO
END
@@ -46,8 +47,6 @@ distdir = subpack-1
dist-hook:
test -f $(distdir)/LDADD.c
test -f $(top_distdir)/LDADD.c
-
-ACLOCAL_AMFLAGS = -I m4
EOF
cat >LDADD.c <<'EOF'
@@ -64,6 +63,7 @@ mkdir lib/src
cat >lib/configure.ac <<'EOF'
AC_INIT([lib], [2.3])
AM_INIT_AUTOMAKE
+AC_CONFIG_MACRO_DIR([../m4])
AM_PROG_AR
AC_PROG_RANLIB
AC_CONFIG_HEADERS([config.h:config.hin])
@@ -80,8 +80,6 @@ dist-hook:
test -f $(top_distdir)/LDADD.c
test -f $(distdir)/src/x.c
test ! -f $(top_distdir)/src/x.c
-
-ACLOCAL_AMFLAGS = -I ../m4
EOF
cat >lib/src/x.c <<'EOF'
@@ -92,12 +90,12 @@ int lib (void)
}
EOF
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE -Wno-override
cd lib
-$ACLOCAL -I ../m4
+$ACLOCAL
$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
$AUTOCONF
$AUTOHEADER
diff --git a/t/subpkg2.sh b/t/subpkg2.sh
index 8afcc5af9..2914fdcbf 100755
--- a/t/subpkg2.sh
+++ b/t/subpkg2.sh
@@ -17,7 +17,7 @@
# Try a DIST_SUBDIRS subpackage with no SUBDIRS.
# Report from Gary V. Vaughan.
-. ./defs || exit 1
+. test-init.sh
mkdir m4
@@ -28,6 +28,7 @@ AC_DEFUN([FOO],[
EOF
cat >>configure.ac <<'END'
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SUBDIRS([sub])
AC_OUTPUT
END
@@ -43,20 +44,21 @@ mkdir sub
cat >sub/configure.ac <<'EOF'
AC_INIT([sub], [2.3])
AM_INIT_AUTOMAKE
+AC_CONFIG_MACRO_DIR([../m4])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([script])
FOO
EOF
: >sub/script.in
-echo ACLOCAL_AMFLAGS = -I ../m4 > sub/Makefile.am
+: >sub/Makefile.am
-$ACLOCAL -I m4
+$ACLOCAL
$AUTOCONF
$AUTOMAKE
cd sub
-$ACLOCAL -I ../m4
+$ACLOCAL
$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
$AUTOCONF
$AUTOMAKE -Wno-override
@@ -64,3 +66,5 @@ cd ..
./configure
$MAKE distcheck
+
+:
diff --git a/t/subpkg3.sh b/t/subpkg3.sh
index 6ebc4bd23..5f89b91d8 100755
--- a/t/subpkg3.sh
+++ b/t/subpkg3.sh
@@ -16,7 +16,7 @@
# Make sure different subpackages may share files and directories.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am <<'END'
SUBDIRS = subpkg
diff --git a/t/subpkg4.sh b/t/subpkg4.sh
index 97f452c61..d4ac46d14 100755
--- a/t/subpkg4.sh
+++ b/t/subpkg4.sh
@@ -17,7 +17,7 @@
# Test to ensure 'distdir' fixes the mode of files and directories
# copied into '$(distdir)', even with sub-packages.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am <<'END'
SUBDIRS = subpkg
diff --git a/t/subst-no-trailing-empty-line.sh b/t/subst-no-trailing-empty-line.sh
index 388f29732..f9a9c5bad 100755
--- a/t/subst-no-trailing-empty-line.sh
+++ b/t/subst-no-trailing-empty-line.sh
@@ -21,7 +21,7 @@
# These checks have been introduced in commit 'Release-1-9-254-g9d0eaef'
# into the former test 'subst2.test'.
-. ./defs || exit 1
+. test-init.sh
# These are deliberately quite long, so that the xxx_PROGRAMS definition
# in Makefile.am below will be split on multiple lines, with the last
diff --git a/t/subst.sh b/t/subst.sh
index db83d7334..a6010e471 100755
--- a/t/subst.sh
+++ b/t/subst.sh
@@ -17,7 +17,7 @@
# Test that AC_SUBST($1) does something sensible. From Ulrich
# Drepper.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
dnl This test used to have the following lines, which cannot have
diff --git a/t/subst3.sh b/t/subst3.sh
index 18c17e2e2..475027bce 100755
--- a/t/subst3.sh
+++ b/t/subst3.sh
@@ -18,7 +18,7 @@
# 'nobase.sh'.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AC_PROG_CC
diff --git a/t/subst4.sh b/t/subst4.sh
index 739b3689c..91066e846 100755
--- a/t/subst4.sh
+++ b/t/subst4.sh
@@ -16,7 +16,7 @@
# Test AM_SUBST_NOTMAKE.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
myrule="\
diff --git a/t/subst5.sh b/t/subst5.sh
index f44b8516a..636d188a7 100755
--- a/t/subst5.sh
+++ b/t/subst5.sh
@@ -19,7 +19,7 @@
# Thus, we allow substitutions in bin_PROGRAMS, but then EXTRA_PROGRAMS
# needs to list possible values of that substitution, literally.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/substre2.sh b/t/substre2.sh
index 06fcdf1dc..dd23e00a9 100755
--- a/t/substre2.sh
+++ b/t/substre2.sh
@@ -17,7 +17,7 @@
# Test for bug in variable substitution references, where
# undefined variables break later substitutions.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([CC], [whocares])
diff --git a/t/substref.sh b/t/substref.sh
index 4ea39e602..81aa175e4 100755
--- a/t/substref.sh
+++ b/t/substref.sh
@@ -18,7 +18,7 @@
# pattern is null.
# Report from Richard Boulton.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([CC], [whocares])
diff --git a/t/substtarg.sh b/t/substtarg.sh
index 757885c14..75e19fb8a 100755
--- a/t/substtarg.sh
+++ b/t/substtarg.sh
@@ -17,7 +17,7 @@
# Test that substitutions in variables work.
# From Lars J. Aas.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_SOURCE([fakelib.c])
diff --git a/t/suffix-chain.tap b/t/suffix-chain.tap
index 535e36e86..20656db65 100755
--- a/t/suffix-chain.tap
+++ b/t/suffix-chain.tap
@@ -19,7 +19,7 @@
# See automake bug#7824 and bug#7670.
required=cc
-. ./defs || exit 1
+. test-init.sh
plan_ 8
diff --git a/t/suffix-custom-subobj-and-specflg.sh b/t/suffix-custom-subobj-and-specflg.sh
index bcdbc9a0b..15aa56aa9 100755
--- a/t/suffix-custom-subobj-and-specflg.sh
+++ b/t/suffix-custom-subobj-and-specflg.sh
@@ -19,7 +19,7 @@
# Reported by Florian Briegel.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CC
diff --git a/t/suffix-custom-subobj.sh b/t/suffix-custom-subobj.sh
index 22ec98520..ae49151a6 100755
--- a/t/suffix-custom-subobj.sh
+++ b/t/suffix-custom-subobj.sh
@@ -18,7 +18,7 @@
# Reported by John Ratliff.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<EOF
AC_PROG_CC
diff --git a/t/suffix.sh b/t/suffix.sh
index cf7ea1050..64100df1a 100755
--- a/t/suffix.sh
+++ b/t/suffix.sh
@@ -18,7 +18,7 @@
# only once.
# See also related test 'suffix2.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/suffix10.tap b/t/suffix10.tap
index 7e19e0405..1f83590eb 100755
--- a/t/suffix10.tap
+++ b/t/suffix10.tap
@@ -18,7 +18,7 @@
# (related to PR/37)
required='cc libtoolize yacc'
-. ./defs || exit 1
+. test-init.sh
plan_ 7
diff --git a/t/suffix11.tap b/t/suffix11.tap
index 26694ebdc..61fbb51cc 100755
--- a/t/suffix11.tap
+++ b/t/suffix11.tap
@@ -19,7 +19,7 @@
# We also check for suffixes containing '-'.
required=cc
-. ./defs || exit 1
+. test-init.sh
plan_ 10
diff --git a/t/suffix2.sh b/t/suffix2.sh
index 1cee87534..9fc8f2b58 100755
--- a/t/suffix2.sh
+++ b/t/suffix2.sh
@@ -19,7 +19,7 @@
# See also related test 'suffix.sh'.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/suffix3.tap b/t/suffix3.tap
index 15c562d97..166788b02 100755
--- a/t/suffix3.tap
+++ b/t/suffix3.tap
@@ -17,7 +17,7 @@
# Test to make sure that suffix rules chain.
required=c++
-. ./defs || exit 1
+. test-init.sh
plan_ 10
diff --git a/t/suffix4.sh b/t/suffix4.sh
index 2defd0884..4756e7b6a 100755
--- a/t/suffix4.sh
+++ b/t/suffix4.sh
@@ -20,7 +20,7 @@
# Also make sure that .SUFFIXES is automatically adjusted with
# extensions from implicit rules.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
.k.o:
diff --git a/t/suffix5.sh b/t/suffix5.sh
index fec51e929..d8c43ea88 100755
--- a/t/suffix5.sh
+++ b/t/suffix5.sh
@@ -19,7 +19,7 @@
# Based on a report from Arkadiusz Miskiewicz <misiek@pld.ORG.PL>.
required='cc libtool'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_SUBST([LINK], [:])
diff --git a/t/suffix6.sh b/t/suffix6.sh
index 4b3dee20d..23cd5f051 100755
--- a/t/suffix6.sh
+++ b/t/suffix6.sh
@@ -19,7 +19,7 @@
# '.$(OBJEXT)'. See also related "semantic" tests 'suffix6b.sh'
# and 'suffix6c.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUFFIXES = a b .$(OBJEXT) c .o .obj
diff --git a/t/suffix6b.sh b/t/suffix6b.sh
index cfd166215..f5504dce3 100755
--- a/t/suffix6b.sh
+++ b/t/suffix6b.sh
@@ -18,7 +18,7 @@
# extensions. Se also related "grepping" test 'suffix6.sh'.
required=GNUmake # Other makes might not grok dot-less suffix rules.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
# $(LINK) is not defined automatically by Automake, since the *_SOURCES
diff --git a/t/suffix6c.sh b/t/suffix6c.sh
index f688ef779..ae3399fa8 100755
--- a/t/suffix6c.sh
+++ b/t/suffix6c.sh
@@ -17,7 +17,7 @@
# Test to make sure that '.o' and '.obj' are handled like '.$(OBJEXT)'.
# See also related "grepping" test 'suffix6.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
# $(LINK) is not defined automatically by Automake, since the *_SOURCES
diff --git a/t/suffix7.sh b/t/suffix7.sh
index 30a18c0d7..253a65260 100755
--- a/t/suffix7.sh
+++ b/t/suffix7.sh
@@ -17,7 +17,7 @@
# Test to make sure Automake supports implicit rules "confusing"
# extensions. Inspired by a mail from Alex Hornby.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUFFIXES = .idl S.cpp C.h
diff --git a/t/suffix8.tap b/t/suffix8.tap
index 516c9b227..f61a6b094 100755
--- a/t/suffix8.tap
+++ b/t/suffix8.tap
@@ -19,7 +19,7 @@
# From PR/37.
required='cc libtoolize'
-. ./defs || exit 1
+. test-init.sh
plan_ 10
diff --git a/t/suffix9.sh b/t/suffix9.sh
index a0135daba..043b9ad0a 100755
--- a/t/suffix9.sh
+++ b/t/suffix9.sh
@@ -17,7 +17,7 @@
# Make sure that Automake choose the shorter route between suffixes
# (related to PR/37)
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac << 'END'
AC_PROG_CC
diff --git a/t/symlink.sh b/t/symlink.sh
index ad7de70c0..a4c744988 100755
--- a/t/symlink.sh
+++ b/t/symlink.sh
@@ -18,7 +18,7 @@
# Reported by Joerg-Martin Schwarz.
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/symlink2.sh b/t/symlink2.sh
index f1f9dc5a9..fe7d2fa1d 100755
--- a/t/symlink2.sh
+++ b/t/symlink2.sh
@@ -16,7 +16,7 @@
# Test to make sure that 'automake -a' redirects dangling symlinks.
-. ./defs || exit 1
+. test-init.sh
rm -f install-sh
ln -s Zardoz install-sh || skip_ "cannot create broken symlinks"
diff --git a/t/syntax.sh b/t/syntax.sh
index e2404ba6f..96cc8b334 100755
--- a/t/syntax.sh
+++ b/t/syntax.sh
@@ -16,7 +16,7 @@
# Test for error for bad syntax.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
foo = q \
diff --git a/t/tags-pr12372.sh b/t/tags-pr12372.sh
index 66b40a096..e232d5fe4 100755
--- a/t/tags-pr12372.sh
+++ b/t/tags-pr12372.sh
@@ -18,7 +18,7 @@
# extensions. See automake bug#12372.
required='cc etags'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/tags.sh b/t/tags.sh
index 8f38e6be8..deeea16be 100755
--- a/t/tags.sh
+++ b/t/tags.sh
@@ -17,7 +17,7 @@
# Test for bug reported by Harlan Stenn: the tags target doesn't work
# when there are only headers in a directory.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
noinst_HEADERS = iguana.h
diff --git a/t/tags2.sh b/t/tags2.sh
index 521d2ef2b..a8d3486cf 100755
--- a/t/tags2.sh
+++ b/t/tags2.sh
@@ -17,7 +17,7 @@
# TAGS_DEPENDENCIES only make sense if other tag-worthy things (such as
# sources) exist.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/tagsub.sh b/t/tagsub.sh
index 9103805b3..fab0c30f0 100755
--- a/t/tagsub.sh
+++ b/t/tagsub.sh
@@ -18,7 +18,7 @@
# François Pinard, and later by Akim Demaille.
required=etags
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/tap-ambiguous-directive.sh b/t/tap-ambiguous-directive.sh
index 63544e3cb..9c8b03fc0 100755
--- a/t/tap-ambiguous-directive.sh
+++ b/t/tap-ambiguous-directive.sh
@@ -18,7 +18,7 @@
# - handling of "ambiguous" TODO and SKIP directives
# See also related test 'tap-todo-skip-together.sh'.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-autonumber.sh b/t/tap-autonumber.sh
index 876245ee8..450a3815e 100755
--- a/t/tap-autonumber.sh
+++ b/t/tap-autonumber.sh
@@ -20,7 +20,7 @@
# - test results without number get automatically numbered in the
# console progress output
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-bad-prog.tap b/t/tap-bad-prog.tap
index 09b2c7429..e37f18c17 100755
--- a/t/tap-bad-prog.tap
+++ b/t/tap-bad-prog.tap
@@ -18,7 +18,7 @@
# - missing, unreadable, or not-executable test scripts cause proper
# error reports
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-bailout-and-logging.sh b/t/tap-bailout-and-logging.sh
index f87ccb361..33fab0dcc 100755
--- a/t/tap-bailout-and-logging.sh
+++ b/t/tap-bailout-and-logging.sh
@@ -18,7 +18,7 @@
# - even after a "Bail out!" directive, all input is still copied in
# the log file
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-bailout-leading-space.sh b/t/tap-bailout-leading-space.sh
index dfbadba10..54985bae0 100755
--- a/t/tap-bailout-leading-space.sh
+++ b/t/tap-bailout-leading-space.sh
@@ -21,7 +21,7 @@
# "more modern" behaviour in our awk TAP driver.
am_tap_implementation=shell
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-bailout-suppress-badexit.sh b/t/tap-bailout-suppress-badexit.sh
index 7cd5458b7..e9bf2a15d 100755
--- a/t/tap-bailout-suppress-badexit.sh
+++ b/t/tap-bailout-suppress-badexit.sh
@@ -18,7 +18,7 @@
# - A "Bail out!" directive causes the driver to ignore the exit
# status of the test script.
-. ./defs || exit 1
+. test-init.sh
tests='exit.test exit127.test sighup.test sigterm.test'
diff --git a/t/tap-bailout-suppress-later-diagnostic.sh b/t/tap-bailout-suppress-later-diagnostic.sh
index 54e21fdc4..72a0512ae 100755
--- a/t/tap-bailout-suppress-later-diagnostic.sh
+++ b/t/tap-bailout-suppress-later-diagnostic.sh
@@ -18,7 +18,7 @@
# - A "Bail out!" directive causes the driver to ignore any TAP
# diagnostic message in the rest of the following TAP stream.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-bailout-suppress-later-errors.sh b/t/tap-bailout-suppress-later-errors.sh
index bd90f8dbd..fffc21dc5 100755
--- a/t/tap-bailout-suppress-later-errors.sh
+++ b/t/tap-bailout-suppress-later-errors.sh
@@ -18,7 +18,7 @@
# - A "Bail out!" directive causes the driver to ignore any TAP
# result or error in the rest of the following TAP stream.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-bailout.sh b/t/tap-bailout.sh
index 08f12fdf0..0cc3434f7 100755
--- a/t/tap-bailout.sh
+++ b/t/tap-bailout.sh
@@ -17,7 +17,7 @@
# Basic TAP test protocol support:
# - "Bail out!" magic
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-basic.sh b/t/tap-basic.sh
index 4781ce5ac..31f330eb2 100755
--- a/t/tap-basic.sh
+++ b/t/tap-basic.sh
@@ -24,7 +24,7 @@
# Note that some of the features checked here are checked in other
# test cases too, usually in a more thorough and detailed way.
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-color.sh b/t/tap-color.sh
index a3fab2f94..1e8362371 100755
--- a/t/tap-color.sh
+++ b/t/tap-color.sh
@@ -18,7 +18,7 @@
# - colorization of TAP results and diagnostic messages
required='grep-nonprint'
-. ./defs || exit 1
+. test-init.sh
# Escape '[' for grep, below.
red="$esc\[0;31m"
diff --git a/t/tap-common-setup.sh b/t/tap-common-setup.sh
index 6bf168e1a..63af43caf 100755
--- a/t/tap-common-setup.sh
+++ b/t/tap-common-setup.sh
@@ -16,7 +16,7 @@
# Auxiliary test to set up common data used by many tests on TAP support.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << END
AC_OUTPUT
diff --git a/t/tap-deps.sh b/t/tap-deps.sh
index 8e84a63bc..535c58d48 100755
--- a/t/tap-deps.sh
+++ b/t/tap-deps.sh
@@ -17,7 +17,7 @@
# Basic TAP test protocol support:
# - dependencies between test scripts
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
# The tests are *deliberately* listed in inversed order here.
diff --git a/t/tap-diagnostic-custom.sh b/t/tap-diagnostic-custom.sh
index 7c29aa9cc..511ed8b9e 100755
--- a/t/tap-diagnostic-custom.sh
+++ b/t/tap-diagnostic-custom.sh
@@ -18,7 +18,7 @@
# - option '--diagnostic-string' to customize the string introducing
# TAP diagnostics
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-diagnostic.sh b/t/tap-diagnostic.sh
index fc00af969..9cadc8634 100755
--- a/t/tap-diagnostic.sh
+++ b/t/tap-diagnostic.sh
@@ -18,7 +18,7 @@
# - diagnostic messages (TAP lines with leading "#")
# - flags '--comments' and '--no-comments' of the TAP test driver
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-doc.sh b/t/tap-doc.sh
index 69c56f00c..b858ec9ab 100755
--- a/t/tap-doc.sh
+++ b/t/tap-doc.sh
@@ -17,7 +17,7 @@
# Check that an example given in the documentation really works.
# See section "Simple Tests" subsection "Script-based Testsuites".
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-doc2.sh b/t/tap-doc2.sh
index f874ff853..78b88f668 100755
--- a/t/tap-doc2.sh
+++ b/t/tap-doc2.sh
@@ -19,7 +19,7 @@
# with the Automake test harness".
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am <<'END'
TEST_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
@@ -31,7 +31,7 @@ END
cat > configure.ac <<'END'
AC_INIT([GNU Try Tap], [1.0], [bug-automake@gnu.org])
AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([foreign parallel-tests -Wall -Werror])
+AM_INIT_AUTOMAKE([foreign -Wall -Werror])
AC_CONFIG_FILES([Makefile])
AC_REQUIRE_AUX_FILE([tap-driver.sh])
AC_PROG_AWK
diff --git a/t/tap-driver-stderr.sh b/t/tap-driver-stderr.sh
index b1d9227bf..909769a32 100755
--- a/t/tap-driver-stderr.sh
+++ b/t/tap-driver-stderr.sh
@@ -19,7 +19,7 @@
required=non-root
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-empty-diagnostic.sh b/t/tap-empty-diagnostic.sh
index ae0deef3c..e0e596749 100755
--- a/t/tap-empty-diagnostic.sh
+++ b/t/tap-empty-diagnostic.sh
@@ -17,7 +17,7 @@
# TAP support:
# - empty diagnostic messages are discarder
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-empty.sh b/t/tap-empty.sh
index e3d400c57..a4c8e734c 100755
--- a/t/tap-empty.sh
+++ b/t/tap-empty.sh
@@ -18,7 +18,7 @@
# - empty TAP input
# - blank TAP input
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-escape-directive-2.sh b/t/tap-escape-directive-2.sh
index 49c63981c..4e476fa3a 100755
--- a/t/tap-escape-directive-2.sh
+++ b/t/tap-escape-directive-2.sh
@@ -17,7 +17,7 @@
# TAP support:
# - "escape" TODO and SKIP directives (by escaping the "#" character)
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-escape-directive.sh b/t/tap-escape-directive.sh
index 9b59c3d8b..b6358142b 100755
--- a/t/tap-escape-directive.sh
+++ b/t/tap-escape-directive.sh
@@ -17,7 +17,7 @@
# TAP support:
# - "escape" TODO and SKIP directives (by escaping the "#" character)
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-exit.sh b/t/tap-exit.sh
index c9a9823b9..3c51cc3be 100755
--- a/t/tap-exit.sh
+++ b/t/tap-exit.sh
@@ -19,7 +19,7 @@
# - the '--ignore-exit' option causes the TAP test driver to ignore
# exit statuses of the test scripts.
-. ./defs || exit 1
+. test-init.sh
echo TESTS = > Makefile.am
for st in 1 2 77 99; do
diff --git a/t/tap-fancy.sh b/t/tap-fancy.sh
index c59d0c1e5..587b0ae1d 100755
--- a/t/tap-fancy.sh
+++ b/t/tap-fancy.sh
@@ -17,7 +17,7 @@
# TAP support: some unusual forms for valid TAP input.
# See also related test 'tap-fancy2.sh'.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-fancy2.sh b/t/tap-fancy2.sh
index 1a3ab024f..aaa4fbc33 100755
--- a/t/tap-fancy2.sh
+++ b/t/tap-fancy2.sh
@@ -17,7 +17,7 @@
# TAP support: more unusual forms for valid TAP input.
# See also related test 'tap-fancy.sh'.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-global-log.sh b/t/tap-global-log.sh
index 31e1ccb4f..2ebad94fa 100755
--- a/t/tap-global-log.sh
+++ b/t/tap-global-log.sh
@@ -17,7 +17,7 @@
# TAP support:
# - which log files get copied in the global log?
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-global-result.sh b/t/tap-global-result.sh
index 528c7bb5e..2c272594a 100755
--- a/t/tap-global-result.sh
+++ b/t/tap-global-result.sh
@@ -18,7 +18,7 @@
# - which global test result derives from different test results
# mixed in a single script?
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-log.sh b/t/tap-log.sh
index b9d360301..c679d4fea 100755
--- a/t/tap-log.sh
+++ b/t/tap-log.sh
@@ -22,7 +22,7 @@
# - VERBOSE environment variable support
# Keep in sync with 'test-log.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TESTS = pass.test skip.test xfail.test fail.test xpass.test error.test
diff --git a/t/tap-merge-stdout-stderr.sh b/t/tap-merge-stdout-stderr.sh
index b13d41d7f..37167c612 100755
--- a/t/tap-merge-stdout-stderr.sh
+++ b/t/tap-merge-stdout-stderr.sh
@@ -18,7 +18,7 @@
# - The Automake TAP driver has an option that instruct it to read TAP
# input also from the stderr of the test command, not only its stdout.
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-missing-plan-and-bad-exit.sh b/t/tap-missing-plan-and-bad-exit.sh
index 06a6f8880..c49852a50 100755
--- a/t/tap-missing-plan-and-bad-exit.sh
+++ b/t/tap-missing-plan-and-bad-exit.sh
@@ -19,7 +19,7 @@
# plan, then the driver reports both "missing plan" and "exited with
# non-zero status" errors.
-. ./defs || exit 1
+. test-init.sh
cat > foo.test <<END
#!/bin/sh
diff --git a/t/tap-more.sh b/t/tap-more.sh
index 1556d7066..f330d150c 100755
--- a/t/tap-more.sh
+++ b/t/tap-more.sh
@@ -24,7 +24,7 @@
# correct test script(s)
# - "make distcheck" works
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-more2.sh b/t/tap-more2.sh
index bb06248a7..b4d8d5086 100755
--- a/t/tap-more2.sh
+++ b/t/tap-more2.sh
@@ -20,7 +20,7 @@
# - interactions with 'check_*' variables
required='cc native'
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-msg0-bailout.sh b/t/tap-msg0-bailout.sh
index bdda865a0..4fab88305 100755
--- a/t/tap-msg0-bailout.sh
+++ b/t/tap-msg0-bailout.sh
@@ -19,7 +19,7 @@
# of a "plan with skip" TAP plan
# generally true!
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-msg0-directive.sh b/t/tap-msg0-directive.sh
index 9be3816d0..dd9735918 100755
--- a/t/tap-msg0-directive.sh
+++ b/t/tap-msg0-directive.sh
@@ -17,7 +17,7 @@
# TAP support:
# - literal string "0" as a TODO or SKIP message
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-msg0-misc.sh b/t/tap-msg0-misc.sh
index d7751d7d2..1d5c56860 100755
--- a/t/tap-msg0-misc.sh
+++ b/t/tap-msg0-misc.sh
@@ -18,7 +18,7 @@
# - literal "0" and "0.0" in a test description and a TODO/SKIP message
# at the same time
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-msg0-planskip.sh b/t/tap-msg0-planskip.sh
index 24e569c1f..72f37b7f2 100755
--- a/t/tap-msg0-planskip.sh
+++ b/t/tap-msg0-planskip.sh
@@ -18,7 +18,7 @@
# - literal strings "0" and "0.0" as the reason of the skip in a "TAP
# plan with skip" (i.e., "1..0 # SKIP ...").
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-msg0-result.sh b/t/tap-msg0-result.sh
index f55b0559e..23bcdfbdc 100755
--- a/t/tap-msg0-result.sh
+++ b/t/tap-msg0-result.sh
@@ -17,7 +17,7 @@
# TAP support:
# - the string "0" as a test description
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-negative-numbers.sh b/t/tap-negative-numbers.sh
index fbf54be53..b7b2d72d8 100755
--- a/t/tap-negative-numbers.sh
+++ b/t/tap-negative-numbers.sh
@@ -18,7 +18,7 @@
# - don't spuriously recognize negative TAP result numbers, but correctly
# interpret them as test descriptions instead
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-no-disable-hard-error.sh b/t/tap-no-disable-hard-error.sh
index dc4cad34a..2dc881e6f 100755
--- a/t/tap-no-disable-hard-error.sh
+++ b/t/tap-no-disable-hard-error.sh
@@ -18,7 +18,7 @@
# - "Bail out!" magic and TAP parse errors are not disabled nor turned
# into simple failures by the definition DISABLE_HARD_ERRORS.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
DISABLE_HARD_ERRORS = yes
diff --git a/t/tap-no-merge-stdout-stderr.sh b/t/tap-no-merge-stdout-stderr.sh
index f1013156b..6be67a7e2 100755
--- a/t/tap-no-merge-stdout-stderr.sh
+++ b/t/tap-no-merge-stdout-stderr.sh
@@ -18,7 +18,7 @@
# - By default, TAP input is only from the stdout (and not the stderr)
# of the test command.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TEST_LOG_DRIVER_FLAGS = --comments
diff --git a/t/tap-no-spurious-numbers.sh b/t/tap-no-spurious-numbers.sh
index 81104afbc..1f5e1b771 100755
--- a/t/tap-no-spurious-numbers.sh
+++ b/t/tap-no-spurious-numbers.sh
@@ -18,7 +18,7 @@
# - we shouldn't spuriously recognize as TAP result numbers what it
# not, even if it seems pretty close
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-no-spurious-summary.sh b/t/tap-no-spurious-summary.sh
index 13c577c7a..1c420a092 100755
--- a/t/tap-no-spurious-summary.sh
+++ b/t/tap-no-spurious-summary.sh
@@ -18,7 +18,7 @@
# - ':test-results:' directives in test scripts' output doesn't
# originate spurious results in the testsuite summary
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-no-spurious.sh b/t/tap-no-spurious.sh
index d8bf5eefe..d40dd4102 100755
--- a/t/tap-no-spurious.sh
+++ b/t/tap-no-spurious.sh
@@ -18,7 +18,7 @@
# - don't spuriously recognize lines that are "almost" TAP lines as
# real TAP lines
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-not-ok-skip.sh b/t/tap-not-ok-skip.sh
index bbb9a032a..4fb0511ff 100755
--- a/t/tap-not-ok-skip.sh
+++ b/t/tap-not-ok-skip.sh
@@ -18,7 +18,7 @@
# - a "not ok # SKIP" line should count as a failure, for consistency
# with the prove(1) utility.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-number-wordboundary.sh b/t/tap-number-wordboundary.sh
index 2d15121c3..5cc3fa448 100755
--- a/t/tap-number-wordboundary.sh
+++ b/t/tap-number-wordboundary.sh
@@ -18,7 +18,7 @@
# - TAP result numbers terminated by a non-whitespace "word boundary"
# character are recognized
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-numbers-leading-zero.sh b/t/tap-numbers-leading-zero.sh
index 620addfb5..af306880f 100755
--- a/t/tap-numbers-leading-zero.sh
+++ b/t/tap-numbers-leading-zero.sh
@@ -17,7 +17,7 @@
# TAP support:
# - how does TAP result numbers with leading zero fares?
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-numeric-description.sh b/t/tap-numeric-description.sh
index 61bc25241..080aae910 100755
--- a/t/tap-numeric-description.sh
+++ b/t/tap-numeric-description.sh
@@ -16,7 +16,7 @@
# TAP result lines whose description is a number.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-out-of-order.sh b/t/tap-out-of-order.sh
index ff0e80614..d08fd90d4 100755
--- a/t/tap-out-of-order.sh
+++ b/t/tap-out-of-order.sh
@@ -17,7 +17,7 @@
# TAP support:
# - out-of-order test results
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-passthrough-exit.sh b/t/tap-passthrough-exit.sh
index 33287be90..9ba399bc8 100755
--- a/t/tap-passthrough-exit.sh
+++ b/t/tap-passthrough-exit.sh
@@ -19,7 +19,7 @@
# log file
# See also related test 'tap-passthrough.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TEST_LOG_COMPILER = $(SHELL)
diff --git a/t/tap-passthrough.sh b/t/tap-passthrough.sh
index 981c42852..f3055c304 100755
--- a/t/tap-passthrough.sh
+++ b/t/tap-passthrough.sh
@@ -20,7 +20,7 @@
# - TAP errors are reported in the log file too
# See also related test 'tap-passthrough-exit.sh'.
-. ./defs || exit 1
+. test-init.sh
weirdchars=\''"\$@!&()[]<>#;,:.^?*/'
diff --git a/t/tap-plan-corner.sh b/t/tap-plan-corner.sh
index 8fc0c7e0f..fc9b1a255 100755
--- a/t/tap-plan-corner.sh
+++ b/t/tap-plan-corner.sh
@@ -17,7 +17,7 @@
# TAP support:
# - some corner cases for TAP plan
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-plan-errors.sh b/t/tap-plan-errors.sh
index dd37aff08..bbe580e48 100755
--- a/t/tap-plan-errors.sh
+++ b/t/tap-plan-errors.sh
@@ -23,7 +23,7 @@
# and 'tap-skip-whole-badcount.sh'. More checks about corner-cases
# in TAP plans are performed in 'tap-plan-corner.sh'.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-plan-leading-zero.sh b/t/tap-plan-leading-zero.sh
index dc1923c9f..54097daa2 100755
--- a/t/tap-plan-leading-zero.sh
+++ b/t/tap-plan-leading-zero.sh
@@ -19,7 +19,7 @@
# - TAP "SKIP" plans with multiple zeroes, as in "1..00 # SKIP"
# This is consistent with the behaviour of the 'prove' utility.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-plan-malformed.sh b/t/tap-plan-malformed.sh
index cf43d4728..1f7e4dd4e 100755
--- a/t/tap-plan-malformed.sh
+++ b/t/tap-plan-malformed.sh
@@ -17,7 +17,7 @@
# TAP support: a malformed TAP plan is not recognized. The checks in
# here should be consistent with the behaviour of the 'prove' utility.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-plan-middle.sh b/t/tap-plan-middle.sh
index 971869bf1..f234cb0dd 100755
--- a/t/tap-plan-middle.sh
+++ b/t/tap-plan-middle.sh
@@ -17,7 +17,7 @@
# TAP support:
# - test plan preceding and/or following non-result TAP lines
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-plan-whitespace.sh b/t/tap-plan-whitespace.sh
index 5cc198fea..ea9e45cbd 100755
--- a/t/tap-plan-whitespace.sh
+++ b/t/tap-plan-whitespace.sh
@@ -17,7 +17,7 @@
# TAP support:
# - plan line with trailing whitespace is recognized and handled correctly
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-plan.sh b/t/tap-plan.sh
index d22287033..bc4170b5c 100755
--- a/t/tap-plan.sh
+++ b/t/tap-plan.sh
@@ -18,7 +18,7 @@
# - test scripts with the test plan at the beginning
# - test scripts with the test plan at the end
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-and-logging.sh b/t/tap-planskip-and-logging.sh
index 33e5f7f5d..71426ac63 100755
--- a/t/tap-planskip-and-logging.sh
+++ b/t/tap-planskip-and-logging.sh
@@ -18,7 +18,7 @@
# - interactions between "TAP plan with SKIP" and logging of earlier or
# later TAP or non-TAP text
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-badexit.sh b/t/tap-planskip-badexit.sh
index 0bcc7e315..cf39060b5 100755
--- a/t/tap-planskip-badexit.sh
+++ b/t/tap-planskip-badexit.sh
@@ -18,7 +18,7 @@
# - an exit status != 0 of a test script causes an hard error, even if
# the last line of output is a "SKIP plan" (e.g., "1..0 # SKIP").
-. ./defs || exit 1
+. test-init.sh
echo TESTS = one.test two.test > Makefile.am
diff --git a/t/tap-planskip-bailout.sh b/t/tap-planskip-bailout.sh
index 6558a6970..2bf683f56 100755
--- a/t/tap-planskip-bailout.sh
+++ b/t/tap-planskip-bailout.sh
@@ -18,7 +18,7 @@
# - a "Bail out!" directive causes an hard error, even if coming after
# a "SKIP plan" (e.g., "1..0 # SKIP").
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-case-insensitive.sh b/t/tap-planskip-case-insensitive.sh
index ece3b2555..01df36d07 100755
--- a/t/tap-planskip-case-insensitive.sh
+++ b/t/tap-planskip-case-insensitive.sh
@@ -17,7 +17,7 @@
# TAP support:
# - "SKIP" keyword in a TAP plan is case-insensitive
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-late.sh b/t/tap-planskip-late.sh
index 678bd1949..a5fd5f1d3 100755
--- a/t/tap-planskip-late.sh
+++ b/t/tap-planskip-late.sh
@@ -18,7 +18,7 @@
# - the special "plan with SKIP" can also be used "late" in the TAP
# stream, i.e., preceded by non-TAP output or TAP diagnostic.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-later-errors.sh b/t/tap-planskip-later-errors.sh
index c8400446e..ecb5496a1 100755
--- a/t/tap-planskip-later-errors.sh
+++ b/t/tap-planskip-later-errors.sh
@@ -17,7 +17,7 @@
# TAP support:
# - TAP errors following a "TAP plan with SKIP" are still diagnosed.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-unplanned-corner.sh b/t/tap-planskip-unplanned-corner.sh
index ef9ab3c55..0272dd672 100755
--- a/t/tap-planskip-unplanned-corner.sh
+++ b/t/tap-planskip-unplanned-corner.sh
@@ -18,7 +18,7 @@
# - test results seen in a TAP stream that has a "plan with SKIP" are
# flagged as errors, even if all of them are "SKIP" results.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-unplanned.sh b/t/tap-planskip-unplanned.sh
index 5fa8ca52d..6ea3f057b 100755
--- a/t/tap-planskip-unplanned.sh
+++ b/t/tap-planskip-unplanned.sh
@@ -19,7 +19,7 @@
# been seen is an error
# - any test result following a "plan with skip" is an error.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip-whitespace.sh b/t/tap-planskip-whitespace.sh
index 5ae9d3af5..0946b84b7 100755
--- a/t/tap-planskip-whitespace.sh
+++ b/t/tap-planskip-whitespace.sh
@@ -18,7 +18,7 @@
# - normalization of whitespace in console testsuite progress associated
# with a SKIP directive in the TAP plan
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-planskip.sh b/t/tap-planskip.sh
index 76a72446c..4bb9c4242 100755
--- a/t/tap-planskip.sh
+++ b/t/tap-planskip.sh
@@ -17,7 +17,7 @@
# Basic TAP test protocol support:
# - special plan format to skip all the tests in a script
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-realtime.sh b/t/tap-realtime.sh
index 92d78313b..f8544ee37 100755
--- a/t/tap-realtime.sh
+++ b/t/tap-realtime.sh
@@ -22,7 +22,7 @@
# children, and is pretty hacky and complex; is there a better way to
# accomplish the checks done here?
-. ./defs || exit 1
+. test-init.sh
cat >expect-check <<'END'
eval spawn $env(SHELL) -c ":"
@@ -53,7 +53,9 @@ fi
cat > Makefile.am << 'END'
TESTS = all.test
+AM_COLOR_TESTS= no
END
+
. tap-setup.sh
cat > all.test <<'END'
diff --git a/t/tap-recheck-logs.sh b/t/tap-recheck-logs.sh
index 1b7597e33..69c0fe2ea 100755
--- a/t/tap-recheck-logs.sh
+++ b/t/tap-recheck-logs.sh
@@ -17,7 +17,7 @@
# TAP support:
# - RECHECK_LOGS
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TEST_LOG_COMPILER = cat
diff --git a/t/tap-recheck.sh b/t/tap-recheck.sh
index a5679645c..55f08123a 100755
--- a/t/tap-recheck.sh
+++ b/t/tap-recheck.sh
@@ -17,7 +17,7 @@
# Test the 'recheck' target for TAP test protocol.
# Keep in sync with 'test-driver-custom-multitest-recheck.sh'.
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-result-comment.sh b/t/tap-result-comment.sh
index 714f328fd..b7880ab6e 100755
--- a/t/tap-result-comment.sh
+++ b/t/tap-result-comment.sh
@@ -17,7 +17,7 @@
# TAP support:
# - non-directive comments in TAP results are kept verbatim
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-signal.tap b/t/tap-signal.tap
index 1dfc52df2..f4006959b 100755
--- a/t/tap-signal.tap
+++ b/t/tap-signal.tap
@@ -17,7 +17,7 @@
# TAP support:
# - a test script terminated by a signal causes an hard error
-. ./defs || exit 1
+. test-init.sh
fetch_tap_driver
diff --git a/t/tap-test-number-0.sh b/t/tap-test-number-0.sh
index f36034930..6939ed7bd 100755
--- a/t/tap-test-number-0.sh
+++ b/t/tap-test-number-0.sh
@@ -18,7 +18,7 @@
# - a test result numbered as 0 is to be considered out-of-order
# This is consistent with the behaviour of the 'prove' utility.
-. ./defs || exit 1
+. test-init.sh
if test $am_tap_implementation = perl; then
$PERL -MTAP::Parser -e 1 \
diff --git a/t/tap-todo-skip-together.sh b/t/tap-todo-skip-together.sh
index ee400585f..212ad870b 100755
--- a/t/tap-todo-skip-together.sh
+++ b/t/tap-todo-skip-together.sh
@@ -18,7 +18,7 @@
# - TODO and SKIP directives on the same line: the first one wins
# See also related test 'tap-ambiguous-directive.sh'.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-todo-skip-whitespace.sh b/t/tap-todo-skip-whitespace.sh
index b979c8be5..7839e3767 100755
--- a/t/tap-todo-skip-whitespace.sh
+++ b/t/tap-todo-skip-whitespace.sh
@@ -18,7 +18,7 @@
# - normalization of whitespace in console testsuite progress associated
# with TODO and SKIP directives
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-todo-skip.sh b/t/tap-todo-skip.sh
index c4e47cfa3..ceacdbf4b 100755
--- a/t/tap-todo-skip.sh
+++ b/t/tap-todo-skip.sh
@@ -23,7 +23,7 @@
# - the reasons for TODO and SKIP, if present, are nicely printed in
# the testsuite progress output
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-unplanned.sh b/t/tap-unplanned.sh
index 75ad7bf7a..49af6e0b1 100755
--- a/t/tap-unplanned.sh
+++ b/t/tap-unplanned.sh
@@ -17,7 +17,7 @@
# TAP support:
# - unplanned tests are properly reported as errors
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-whitespace-normalization.sh b/t/tap-whitespace-normalization.sh
index c907d115b..cb5b7591f 100755
--- a/t/tap-whitespace-normalization.sh
+++ b/t/tap-whitespace-normalization.sh
@@ -20,7 +20,7 @@
# force us to tweak dozens of other tests (hopefully).
# See also related test 'tap-todo-skip-whitespace.sh'.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
TEST_LOG_COMPILER = cat
diff --git a/t/tap-with-and-without-number.sh b/t/tap-with-and-without-number.sh
index 6d69eb6f3..8e34d809f 100755
--- a/t/tap-with-and-without-number.sh
+++ b/t/tap-with-and-without-number.sh
@@ -19,7 +19,7 @@
# - tests without explicit number get automatically numbered in the
# testsuite progress output on console
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tap-xfail-tests.sh b/t/tap-xfail-tests.sh
index 94ae1c906..7458942fe 100755
--- a/t/tap-xfail-tests.sh
+++ b/t/tap-xfail-tests.sh
@@ -17,7 +17,7 @@
# TAP and $(XFAIL_TESTS): test results without directives are turned from
# PASS to XPASS and from FAIL to XFAIL; other results are unchanged.
-. ./defs || exit 1
+. test-init.sh
. tap-setup.sh
diff --git a/t/tar-override.sh b/t/tar-override.sh
index c35234e9d..ce8529d97 100755
--- a/t/tar-override.sh
+++ b/t/tar-override.sh
@@ -19,7 +19,7 @@
# FIXME: currently this works only when the tar format used is 'v7'
# FIXME: (which is the default one).
-. ./defs || exit 1
+. test-init.sh
cwd=$(pwd) || fatal_ "getting current working directory"
diff --git a/t/tar.sh b/t/tar.sh
index db3e4895d..76256b893 100755
--- a/t/tar.sh
+++ b/t/tar.sh
@@ -16,7 +16,7 @@
# Check the tar-ustar option.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([tar], [1.0])
diff --git a/t/tar2.sh b/t/tar2.sh
index 5d49cc3b7..3ae53fcf3 100755
--- a/t/tar2.sh
+++ b/t/tar2.sh
@@ -16,7 +16,7 @@
# Check the tar-pax option.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([tar2], [1.0])
diff --git a/t/tar3.sh b/t/tar3.sh
index c09aa6f69..bc7c35305 100755
--- a/t/tar3.sh
+++ b/t/tar3.sh
@@ -16,7 +16,7 @@
# Check the tar options diagnostics.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([tar2], [1.0])
diff --git a/t/target-cflags.sh b/t/target-cflags.sh
index 9b975d51d..f0058387f 100755
--- a/t/target-cflags.sh
+++ b/t/target-cflags.sh
@@ -18,7 +18,7 @@
# Assar Westerlund <assar@sics.se>
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/targetclash.sh b/t/targetclash.sh
index 031cbc151..72cf55d6c 100755
--- a/t/targetclash.sh
+++ b/t/targetclash.sh
@@ -16,7 +16,7 @@
# Check that target clashes are diagnosed.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/test-driver-acsubst.sh b/t/test-driver-acsubst.sh
index 501fcc9b7..e8d24ac17 100755
--- a/t/test-driver-acsubst.sh
+++ b/t/test-driver-acsubst.sh
@@ -17,7 +17,7 @@
# parallel-tests:
# - LOG_DRIVER variables can be AC_SUBST'd
-. ./defs || exit 1
+. test-init.sh
mkdir test-drivers
diff --git a/t/test-driver-cond.sh b/t/test-driver-cond.sh
index 1bc4727e8..a96792da2 100755
--- a/t/test-driver-cond.sh
+++ b/t/test-driver-cond.sh
@@ -18,7 +18,7 @@
# - Automake can correctly handle conditionals contents for the
# LOG_DRIVER variables.
-. ./defs || exit 1
+. test-init.sh
cp "$am_testauxdir"/trivial-test-driver . \
|| fatal_ "failed to fetch auxiliary script trivial-test-driver"
diff --git a/t/test-driver-create-log-dir.sh b/t/test-driver-create-log-dir.sh
index 5441abfbc..87db9070c 100755
--- a/t/test-driver-create-log-dir.sh
+++ b/t/test-driver-create-log-dir.sh
@@ -18,7 +18,7 @@
# e.g., 'sub/foo.log'), the Automake test harness must ensure that
# directory exists before calling any custom test driver.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-driver-custom-multitest-recheck.sh b/t/test-driver-custom-multitest-recheck.sh
index 9d3f28f81..99197a5c0 100755
--- a/t/test-driver-custom-multitest-recheck.sh
+++ b/t/test-driver-custom-multitest-recheck.sh
@@ -22,7 +22,7 @@
# and 'parallel-tests-recheck-override.sh'.
# Keep in sync with 'tap-recheck.sh'.
-. ./defs || exit 1
+. test-init.sh
cp "$am_testauxdir"/trivial-test-driver . \
|| fatal_ "failed to fetch auxiliary script trivial-test-driver"
diff --git a/t/test-driver-custom-multitest-recheck2.sh b/t/test-driver-custom-multitest-recheck2.sh
index 7f20b814e..b87d035a1 100755
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -21,7 +21,7 @@
# See also related tests 'test-driver-custom-multitest-recheck.sh' and
# 'parallel-tests-recheck-override.sh'.
-. ./defs || exit 1
+. test-init.sh
cp "$am_testauxdir"/trivial-test-driver . \
|| fatal_ "failed to fetch auxiliary script trivial-test-driver"
diff --git a/t/test-driver-custom-multitest.sh b/t/test-driver-custom-multitest.sh
index da8a88fc9..b3b7b2aa9 100755
--- a/t/test-driver-custom-multitest.sh
+++ b/t/test-driver-custom-multitest.sh
@@ -19,7 +19,7 @@
# only checks implementation details in Automake's custom test drivers
# support, but also serves as a "usability test" for our APIs.
-. ./defs || exit 1
+. test-init.sh
cp "$am_testauxdir"/trivial-test-driver . \
|| fatal_ "failed to fetch auxiliary script trivial-test-driver"
diff --git a/t/test-driver-custom-no-extra-driver.sh b/t/test-driver-custom-no-extra-driver.sh
index a44febd54..edd6183c0 100755
--- a/t/test-driver-custom-no-extra-driver.sh
+++ b/t/test-driver-custom-no-extra-driver.sh
@@ -18,7 +18,7 @@
# installed or referenced if it's not used, i.e., if the user has
# defined his own '*LOG_DRIVER' variables.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/test-driver-custom-xfail-tests.sh b/t/test-driver-custom-xfail-tests.sh
index c19e69f8a..8bfe3e680 100755
--- a/t/test-driver-custom-xfail-tests.sh
+++ b/t/test-driver-custom-xfail-tests.sh
@@ -16,7 +16,7 @@
# Custom test drivers: "abstract" XFAIL_TESTS support.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_SUBST([nihil], [])
diff --git a/t/test-driver-custom.sh b/t/test-driver-custom.sh
index f8306ff92..db4182610 100755
--- a/t/test-driver-custom.sh
+++ b/t/test-driver-custom.sh
@@ -16,7 +16,7 @@
# Custom test drivers: per-extension test drivers.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-driver-fail.sh b/t/test-driver-fail.sh
index 10a4b1ef7..963aadd32 100755
--- a/t/test-driver-fail.sh
+++ b/t/test-driver-fail.sh
@@ -22,7 +22,7 @@
# (like our dummy one in this test) might leave around a test log even
# in case of internal failures.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/test-driver-is-distributed.sh b/t/test-driver-is-distributed.sh
index 2208a04d4..f13bf9bc3 100755
--- a/t/test-driver-is-distributed.sh
+++ b/t/test-driver-is-distributed.sh
@@ -19,35 +19,29 @@
# defined in a subdir Makefile
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
ocwd=$(pwd) || fatal_ "getting current working directory"
-do_check ()
-{
- whereopts=$1 auxdir=$2
- case $#,$whereopts in
- 2,ac) ac_opts=parallel-tests am_code= ;;
- 2,am) am_opts=parallel-tests ac_code= ;;
- *) fatal_ "do_check: bad usage";;
- esac
- mkdir $whereopts
- cd $whereopts
+for i in 1 2; do
+ mkdir D$i
+ cd D$i
+ if test $i -eq 1; then
+ auxdir=.
+ test_driver=test-driver
+ else
+ auxdir=build-aux
+ test_driver=$auxdir/test-driver
+ mkdir $auxdir
+ fi
mkdir tests
unindent > configure.ac << END
AC_INIT([$me], [1.0])
AC_CONFIG_AUX_DIR([$auxdir])
- AM_INIT_AUTOMAKE([$ac_opts])
+ AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile tests/Makefile])
AC_OUTPUT
END
- if test $auxdir = .; then
- test_driver=test-driver
- else
- mkdir $auxdir
- test_driver=$auxdir/test-driver
- fi
- # No 'AUTOMAKE_OPTIONS' in here -- purposely.
unindent > Makefile.am << END
SUBDIRS = tests
check-local: test-top
@@ -57,7 +51,6 @@ END
.PHONY: test-top
END
unindent > tests/Makefile.am << END
- AUTOMAKE_OPTIONS = $am_opts
check-local: test-sub
test-sub:
echo ' ' \$(DIST_COMMON) ' ' | grep '[ /]$test_driver '
@@ -84,10 +77,7 @@ END
$AUTOMAKE
diff Makefile.in Makefile.sav
diff tests/Makefile.in tests/Makefile.sav
- :
-}
-
-do_check ac .
-do_check am build-aux
+ cd "$ocwd" || fatal_ "cannot chdir back to '$ocwd'"
+done
:
diff --git a/t/test-driver-strip-vpath.sh b/t/test-driver-strip-vpath.sh
index ab774db99..6aafb6ae2 100755
--- a/t/test-driver-strip-vpath.sh
+++ b/t/test-driver-strip-vpath.sh
@@ -17,7 +17,7 @@
# Custom test drivers: check that the test name passed to the test
# driver has any VPATH prefix stripped.
-. ./defs || exit 1
+. test-init.sh
ocwd=$(pwd) || fatal_ "cannot get current working directory"
diff --git a/t/test-driver-trs-suffix-registered.sh b/t/test-driver-trs-suffix-registered.sh
index 78acca23a..9ce8b56fb 100755
--- a/t/test-driver-trs-suffix-registered.sh
+++ b/t/test-driver-trs-suffix-registered.sh
@@ -20,7 +20,7 @@
# - .test if $(TEST_EXTENSIONS) is not defined
# - stuff in $(TEST_EXTENSIONS) otherwise
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/test-extensions-cond.sh b/t/test-extensions-cond.sh
index dda019333..3cc7d85ff 100755
--- a/t/test-extensions-cond.sh
+++ b/t/test-extensions-cond.sh
@@ -16,7 +16,7 @@
# Expose bug in conditional definition of TEST_EXTENSIONS.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_CONDITIONAL([COND], [:])
diff --git a/t/test-extensions.sh b/t/test-extensions.sh
index 8f8c4131b..b1c457aaa 100755
--- a/t/test-extensions.sh
+++ b/t/test-extensions.sh
@@ -18,7 +18,7 @@
# and do not diagnose valid (albeit more unusual) ones.
# See automake bug#9400.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/test-harness-vpath-rewrite.sh b/t/test-harness-vpath-rewrite.sh
index 85e4bbb98..ce904ce37 100755
--- a/t/test-harness-vpath-rewrite.sh
+++ b/t/test-harness-vpath-rewrite.sh
@@ -17,7 +17,7 @@
# Check that our concurrent test harness is not subject to spurious VPATH
# rewrites.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-log.sh b/t/test-log.sh
index 0350cce45..91c31c6de 100755
--- a/t/test-log.sh
+++ b/t/test-log.sh
@@ -22,7 +22,7 @@
# - VERBOSE environment variable support
# Keep in sync with 'tap-log.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/test-logs-repeated.sh b/t/test-logs-repeated.sh
index 881f67f92..f4dd06621 100755
--- a/t/test-logs-repeated.sh
+++ b/t/test-logs-repeated.sh
@@ -20,7 +20,7 @@
# different test scripts don't end up sharing the same log file.
# (Automake itself is such a project, BTW ;-)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/test-metadata-global-log.sh b/t/test-metadata-global-log.sh
index 74bb6ffa5..b646cc261 100755
--- a/t/test-metadata-global-log.sh
+++ b/t/test-metadata-global-log.sh
@@ -14,13 +14,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Custom test drivers and parallel-tests harness: check the documented
+# Custom test drivers and parallel test harness: check the documented
# semantics for deciding when the content of a test log file should be
# copied in the global test-suite.log file. Currently, this is done
# with the use of the reStructuredText field ':copy-in-global-log:' in
# the associated '.trs' files.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-metadata-global-result.sh b/t/test-metadata-global-result.sh
index 8b6a3c8e2..d7fd8e9f8 100755
--- a/t/test-metadata-global-result.sh
+++ b/t/test-metadata-global-result.sh
@@ -18,7 +18,7 @@
# "global test result" in '*.trs' files, as documented in the automake
# manual.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-metadata-recheck.sh b/t/test-metadata-recheck.sh
index 4f2d29bd0..1aadc0519 100755
--- a/t/test-metadata-recheck.sh
+++ b/t/test-metadata-recheck.sh
@@ -17,7 +17,7 @@
# Test the "make recheck" semantics for custom test drivers, as documented
# in the Automake manual.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-metadata-results.sh b/t/test-metadata-results.sh
index 2410e03fa..5bcd0b8da 100755
--- a/t/test-metadata-results.sh
+++ b/t/test-metadata-results.sh
@@ -17,7 +17,7 @@
# Parallel testsuite harness: check APIs for the registering of test
# results in '*.trs' files, as documented in the automake manual.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-missing.sh b/t/test-missing.sh
index 5db274d7d..f8302487d 100755
--- a/t/test-missing.sh
+++ b/t/test-missing.sh
@@ -18,7 +18,7 @@
# - non-existent scripts listed in TESTS get diagnosed
# See also related test 'test-missing2.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-missing2.sh b/t/test-missing2.sh
index 2ba34798a..ca0588e9d 100755
--- a/t/test-missing2.sh
+++ b/t/test-missing2.sh
@@ -19,7 +19,7 @@
# all the $(TEST_LOGS) have a dummy dependency.
# See also related test 'test-missing.sh'.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/test-trs-basic.sh b/t/test-trs-basic.sh
index f0c30b876..209e02371 100755
--- a/t/test-trs-basic.sh
+++ b/t/test-trs-basic.sh
@@ -18,7 +18,7 @@
# - creation and removal of '.trs' auxiliary files
# - check some internals regarding the use of '.trs' files.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/test-trs-recover.sh b/t/test-trs-recover.sh
index 95a9ddcec..68218398e 100755
--- a/t/test-trs-recover.sh
+++ b/t/test-trs-recover.sh
@@ -19,7 +19,7 @@
# This test is complex and tricky, but that's acceptable since we are
# testing semantics that are potentially complex and tricky.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/test-trs-recover2.sh b/t/test-trs-recover2.sh
index b8e56b577..8db3ed82c 100755
--- a/t/test-trs-recover2.sh
+++ b/t/test-trs-recover2.sh
@@ -17,7 +17,7 @@
# Check parallel harness features:
# - recovery from unreadable '.trs' files, in various scenarios
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_OUTPUT
diff --git a/t/tests-environment-and-log-compiler.sh b/t/tests-environment-and-log-compiler.sh
index 9184a5ef9..3fd1b286b 100755
--- a/t/tests-environment-and-log-compiler.sh
+++ b/t/tests-environment-and-log-compiler.sh
@@ -18,7 +18,7 @@
# by TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER and
# LOG_FLAGS (for tests both with and without registered extensions).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/tests-environment-backcompat.sh b/t/tests-environment-backcompat.sh
index a5d888d4d..bd794564a 100755
--- a/t/tests-environment-backcompat.sh
+++ b/t/tests-environment-backcompat.sh
@@ -16,11 +16,11 @@
# With old serial testsuite driver, TESTS_ENVIRONMENT can be used to
# define the "test runner", i.e. the program that the test scripts must
-# be run by (with the parallel-tests driver one should use LOG_COMPILER
+# be run by (with the parallel test harness one should use LOG_COMPILER
# for this). The behaviour tested here is also documented in the manual.
am_serial_tests=yes
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<END
AC_SUBST([PERL], ['$PERL'])
diff --git a/t/tests-environment-fd-redirect.sh b/t/tests-environment-fd-redirect.sh
index 5780e570f..1a512ba72 100755
--- a/t/tests-environment-fd-redirect.sh
+++ b/t/tests-environment-fd-redirect.sh
@@ -26,7 +26,7 @@
# and the following CC:ed thread on bug-autoconf list:
# <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/tests-environment.sh b/t/tests-environment.sh
index d6f219dae..519aa92bb 100755
--- a/t/tests-environment.sh
+++ b/t/tests-environment.sh
@@ -17,7 +17,7 @@
# "Simple Tests" testsuite driver: check TESTS_ENVIRONMENT support.
am_serial_tests=yes
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/testsuite-summary-count-many.sh b/t/testsuite-summary-count-many.sh
index 938c91e2e..866b92251 100755
--- a/t/testsuite-summary-count-many.sh
+++ b/t/testsuite-summary-count-many.sh
@@ -19,7 +19,7 @@
# Incidentally, this test also checks that the testsuite summary doesn't
# give any bug-report address if it's not defined.
-. ./defs || exit 1
+. test-init.sh
for s in trivial-test-driver extract-testsuite-summary.pl; do
cp "$am_testauxdir/$s" . || fatal_ "failed to fetch auxiliary script $s"
diff --git a/t/testsuite-summary-reference-log.sh b/t/testsuite-summary-reference-log.sh
index 1851226ac..6b7485ba7 100755
--- a/t/testsuite-summary-reference-log.sh
+++ b/t/testsuite-summary-reference-log.sh
@@ -17,7 +17,7 @@
# Check that the global testsuite log file referenced in the testsuite
# summary and in the global testsuite log itself is correct.
-. ./defs || exit 1
+. test-init.sh
mv configure.ac configure.stub
diff --git a/t/transform.sh b/t/transform.sh
index aa0797057..dfea36f4f 100755
--- a/t/transform.sh
+++ b/t/transform.sh
@@ -17,7 +17,7 @@
# Make sure that --program-transform works.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/transform2.sh b/t/transform2.sh
index cab5f1a68..72c5359f8 100755
--- a/t/transform2.sh
+++ b/t/transform2.sh
@@ -18,7 +18,7 @@
# collapsed.
required=cc
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_CC
diff --git a/t/transform3.sh b/t/transform3.sh
index fc37be1fe..8eb67353e 100755
--- a/t/transform3.sh
+++ b/t/transform3.sh
@@ -18,7 +18,7 @@
# stuff (in particular, pgklibdir, pkgdatadir and pkglibexecdir).
required=cc
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac <<'END'
AC_INIT([foo], [1.0])
diff --git a/t/txinfo-no-clutter.sh b/t/txinfo-no-clutter.sh
index 3de21b488..0325e68fc 100755
--- a/t/txinfo-no-clutter.sh
+++ b/t/txinfo-no-clutter.sh
@@ -14,19 +14,28 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# The pdf, ps and dvi targets shouldn't let clutter in the build directory.
-# Related to automake bug#11146.
+# The info, html, pdf, ps and dvi targets shouldn't let clutter in the
+# build directory. Related to automake bug#11146.
-required='makeinfo tex texi2dvi-o dvips'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi dvips'
+. test-init.sh
-mkdir sub
-
-echo AC_OUTPUT >> configure.ac
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
cat > Makefile.am << 'END'
-all-local: ps pdf dvi html
-info_TEXINFOS = foo.texi sub/bar.texi
+all-local: ps pdf dvi html # For "make distcheck".
+info_TEXINFOS = foo.texi doc/bar.texi baz.texi
+SUBDIRS = sub
+END
+
+mkdir sub doc
+
+cat > sub/Makefile.am << 'END'
+all-local: ps pdf dvi html # For "make distcheck".
+info_TEXINFOS = baz.texi
END
cat > foo.texi << 'END'
@@ -39,7 +48,7 @@ Hello walls.
@bye
END
-cat > sub/bar.texi << 'END'
+cat > doc/bar.texi << 'END'
\input texinfo
@setfilename bar.info
@settitle bar
@@ -53,15 +62,6 @@ cat > baz.texi << 'END'
\input texinfo
@setfilename baz.info
@settitle baz
-@node Top
-Hello walls.
-@bye
-END
-
-cat > baz.texi << 'END'
-\input texinfo
-@setfilename baz.info
-@settitle baz
@defindex au
@defindex sa
@defindex sb
@@ -81,6 +81,8 @@ sb
@bye
END
+cp baz.texi sub
+
$ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
@@ -91,10 +93,53 @@ $AUTOCONF
# clean up potential cruft left by earlier ones.
for fmt in info pdf ps dvi html all; do
$MAKE $fmt
- ls -l . sub # For debugging.
- ls -d foo* baz* sub/bar* > lst
- $EGREP -v '^(foo|sub/bar|baz)\.(texi|dvi|ps|pdf|html|info)$' lst && exit 1
- $MAKE clean
+ # For debugging.
+ ls -l . doc sub
+ # Sanity check.
+ case $fmt in
+ html)
+ test -e foo.html
+ test -e doc/bar.html
+ test -e baz.html
+ test -e sub/baz.html
+ ;;
+ all)
+ for x in info pdf ps dvi; do
+ test -f foo.$x
+ test -f doc/bar.$x
+ test -f baz.$x
+ test -f sub/baz.$x
+ done
+ test -e foo.html
+ test -e doc/bar.html
+ test -e baz.html
+ test -e sub/baz.html
+ ;;
+ *)
+ test -f foo.$fmt
+ test -f doc/bar.$fmt
+ test -f baz.$fmt
+ test -f sub/baz.$fmt
+ ;;
+ esac
+ # Real test.
+ ls -d foo* baz* sub/baz* doc/bar* > lst
+ basename_rx='(foo|doc/bar|baz|sub/baz)'
+ case $fmt in
+ pdf) extension_rx="(texi|pdf|t2p)";;
+ dvi) extension_rx="(texi|dvi|t2d)";;
+ ps) extension_rx="(texi|ps|dvi|t2d)";;
+ info) extension_rx="(texi|info)";;
+ html) extension_rx="(texi|html)";;
+ all) extension_rx="(texi|html|info|pdf|ps|dvi|t2[pd])";;
+ *) fatal_ "unreachable code reached";;
+ esac
+ $EGREP -v "^$basename_rx\.$extension_rx$" lst && exit 1
+ # Cleanup for checks on the next format.
+ case $fmt in
+ info) rm -f *.info doc/*.info sub/*.info;;
+ *) $MAKE clean;;
+ esac
done
$MAKE distcheck
diff --git a/t/txinfo-unrecognized-extension.sh b/t/txinfo-unrecognized-extension.sh
index 96b5f91a6..bb2b83df9 100755
--- a/t/txinfo-unrecognized-extension.sh
+++ b/t/txinfo-unrecognized-extension.sh
@@ -17,7 +17,7 @@
# Test that automake complains properly when the files with unrecognized
# extensions are passed to the TEXINFOS primary.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = foobar.foo bazquux.tex zardoz.c
diff --git a/t/txinfo.sh b/t/txinfo.sh
index 31990c427..8b22b27c5 100755
--- a/t/txinfo.sh
+++ b/t/txinfo.sh
@@ -18,7 +18,7 @@
# Jim Meyering.
required=makeinfo
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_OUTPUT
diff --git a/t/txinfo10.sh b/t/txinfo10.sh
index 903d6f5b9..2a186e1ef 100755
--- a/t/txinfo10.sh
+++ b/t/txinfo10.sh
@@ -17,7 +17,7 @@
# Make sure dvi target recurses into subdir.
# Reported by Pavel Roskin.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
SUBDIRS = sub
diff --git a/t/txinfo13.sh b/t/txinfo13.sh
index 53a2ee7ba..374c44a27 100755
--- a/t/txinfo13.sh
+++ b/t/txinfo13.sh
@@ -18,8 +18,8 @@
# Also make sure we do not distribute too much foo.info* files (Report
# from Vincent Lefevre).
-required='makeinfo tex texi2dvi-o'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/txinfo16.sh b/t/txinfo16.sh
index f4c1cee0a..11f7dea57 100755
--- a/t/txinfo16.sh
+++ b/t/txinfo16.sh
@@ -18,7 +18,7 @@
# not in $(builddir).
required='makeinfo tex texi2dvi'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/txinfo17.sh b/t/txinfo17.sh
index d21676920..f125af484 100755
--- a/t/txinfo17.sh
+++ b/t/txinfo17.sh
@@ -17,7 +17,7 @@
# Make sure Automake uses the _first_ @setfilname it sees.
# Report from Karl Berry.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = texinfo.texi
diff --git a/t/txinfo19.sh b/t/txinfo19.sh
index 71af13a5c..1fbc79ebc 100755
--- a/t/txinfo19.sh
+++ b/t/txinfo19.sh
@@ -17,7 +17,7 @@
# Test support for DJGPP's .iNN info files.
required=makeinfo
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/txinfo2.sh b/t/txinfo2.sh
index 37c295342..c5e0e4723 100755
--- a/t/txinfo2.sh
+++ b/t/txinfo2.sh
@@ -17,7 +17,7 @@
# Test to ensure that a ".info~" file doesn't end up in the
# distribution. Bug report from Greg McGary.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/txinfo20.sh b/t/txinfo20.sh
index 3d644f5bb..261725d8e 100755
--- a/t/txinfo20.sh
+++ b/t/txinfo20.sh
@@ -17,7 +17,7 @@
# Make sure info files survive makeinfo errors.
required=makeinfo
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/txinfo21.sh b/t/txinfo21.sh
index 5a3da1595..4e9245c41 100755
--- a/t/txinfo21.sh
+++ b/t/txinfo21.sh
@@ -17,8 +17,8 @@
# Test support for building HTML documentation, and the many
# install-DOC flavors.
-required='makeinfo-html tex texi2dvi'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
cat >>configure.ac <<\EOF
AC_CONFIG_FILES([rec/Makefile])
@@ -34,6 +34,7 @@ AC_OUTPUT
EOF
cat > Makefile.am << 'END'
+check-local: ps pdf dvi html # For "make distcheck".
SUBDIRS = rec
info_TEXINFOS = main.texi sub/main2.texi
END
@@ -75,13 +76,15 @@ install-pdf-local:
:> "$(pdfdir)/hello"
uninstall-local:
rm -f "$(pdfdir)/hello"
+
+check-local: ps pdf dvi html # For "make distcheck".
END
$ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure
+./configure --prefix "$(pwd)"
$MAKE
@@ -115,17 +118,20 @@ test ! -e sub/main2.html
test ! -e rec/main3.html
# Make sure AM_MAKEINFOHTMLFLAGS is supported, and override AM_MAKEINFO.
+
+cp Makefile.am Makefile.sav
cat >>Makefile.am <<\EOF
AM_MAKEINFOHTMLFLAGS = --no-headers --no-split
AM_MAKEINFOFLAGS = --unsupported-option
EOF
$AUTOMAKE
-./configure --prefix "$(pwd)"
+./config.status Makefile
$MAKE html
test -f main.html
test -f sub/main2.html
test -d rec/main3.html
+
$MAKE clean
test ! -e main.html
test ! -e sub/main2.html
@@ -174,4 +180,11 @@ test ! -e share/$me/pdf/main2.pdf
test ! -e share/$me/pdf/main3.pdf
test ! -e share/$me/pdf/hello
+# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
+mv -f Makefile.sav Makefile.am
+$AUTOMAKE
+./config.status Makefile
+
+$MAKE distcheck
+
:
diff --git a/t/txinfo22.sh b/t/txinfo22.sh
index efde95387..d337d6ec1 100755
--- a/t/txinfo22.sh
+++ b/t/txinfo22.sh
@@ -19,7 +19,7 @@
# Report from Tom Tromey.
required='makeinfo tex texi2dvi'
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/txinfo23.sh b/t/txinfo23.sh
index 294370bd8..6b90f189e 100755
--- a/t/txinfo23.sh
+++ b/t/txinfo23.sh
@@ -19,8 +19,8 @@
# (Similar to txinfo13.sh, plus DISTCLEANFILES).
# (See also txinfo24.sh and txinfo25.sh).
-required='makeinfo tex texi2dvi-o'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/txinfo24.sh b/t/txinfo24.sh
index ae3e8abb6..5a89c6b8b 100755
--- a/t/txinfo24.sh
+++ b/t/txinfo24.sh
@@ -18,8 +18,8 @@
# (Similar to txinfo16.sh, plus CLEANFILES).
# (See also txinfo23.sh and txinfo25.sh).
-required='makeinfo tex texi2dvi-o'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/txinfo25.sh b/t/txinfo25.sh
index 4feedca19..45ea42823 100755
--- a/t/txinfo25.sh
+++ b/t/txinfo25.sh
@@ -20,8 +20,8 @@
# (Similar to txinfo16.sh, plus CLEANFILES).
# (See also txinfo23.sh and txinfo24.sh).
-required='makeinfo tex texi2dvi-o'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/txinfo26.sh b/t/txinfo26.sh
index 5401fc9e4..268f81880 100755
--- a/t/txinfo26.sh
+++ b/t/txinfo26.sh
@@ -18,7 +18,7 @@
# PR/408
required='makeinfo'
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/txinfo27.sh b/t/txinfo27.sh
index bfc075ae3..f1e8791ba 100755
--- a/t/txinfo27.sh
+++ b/t/txinfo27.sh
@@ -17,7 +17,7 @@
# Make sure install-info works even if no-installinfo is given.
required='makeinfo'
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/txinfo28.sh b/t/txinfo28.sh
index 216cb6365..069a51593 100755
--- a/t/txinfo28.sh
+++ b/t/txinfo28.sh
@@ -19,8 +19,8 @@
# references.
# Report from Ralf Corsepius.
-required='makeinfo tex texi2dvi-o'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi'
+. test-init.sh
# This setting, when honored by GNU ls, used to cause an infinite loop
# in mdate-sh.
diff --git a/t/txinfo29.sh b/t/txinfo29.sh
index 3e27362bf..b21967892 100755
--- a/t/txinfo29.sh
+++ b/t/txinfo29.sh
@@ -17,7 +17,7 @@
# Make sure that INFO_DEPS can be overridden.
# Report from Bruce Korb.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
INFO_DEPS = foo.info
diff --git a/t/txinfo3.sh b/t/txinfo3.sh
index 5d7694fe1..d6f7caf5c 100755
--- a/t/txinfo3.sh
+++ b/t/txinfo3.sh
@@ -17,7 +17,7 @@
# Test to make sure .info-less @setfilename works.
required='makeinfo tex texi2dvi'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/txinfo30.sh b/t/txinfo30.sh
deleted file mode 100755
index 8c6aa912d..000000000
--- a/t/txinfo30.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2005-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 'missing texinfo' does not create empty files.
-# Report from Bob Proulx.
-
-. ./defs || exit 1
-
-echo info_TEXINFOS = bar.texi >Makefile.am
-echo grepme >bar.info
-$sleep
-cat >bar.texi <<EOF
-@setfilename bar.info
-EOF
-
-echo AC_OUTPUT >>configure.ac
-
-cat >makeinfo <<\EOF
-#!/bin/sh
-# This script
-# 1. fails so 'missing' can take over
-# 2. does not understand '--version' so 'missing' thinks 'makeinfo' isn't
-# installed
-exec false
-EOF
-
-chmod +x makeinfo
-
-PATH=$(pwd)$PATH_SEPARATOR$PATH
-export PATH
-
-# Otherwise configure might pick up a working makeinfo from the
-# environment. Seen in automake bug#10866.
-unset MAKEINFO || :
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure
-$MAKE
-grep grepme bar.info
-test -f bar.info
-
-# We should not create a missing bar.info.
-rm -f bar.info
-$MAKE && exit 1
-test ! -e bar.info
-
-:
diff --git a/t/txinfo31.sh b/t/txinfo31.sh
index e8186e54b..567e28f40 100755
--- a/t/txinfo31.sh
+++ b/t/txinfo31.sh
@@ -17,7 +17,7 @@
# Make sure file extensions are matched correctly.
# Report from Eric Dorland.
-. ./defs || exit 1
+. test-init.sh
echo info_TEXINFOS = bar.texi >Makefile.am
cat >bar.texi <<EOF
diff --git a/t/txinfo32.sh b/t/txinfo32.sh
index 9f2134a43..c9d7d83da 100755
--- a/t/txinfo32.sh
+++ b/t/txinfo32.sh
@@ -17,7 +17,7 @@
# Make sure the documentation targets work as required with BSD make,
# even in the presence of subdirs (requires presence of default *-am rules).
-. ./defs || exit 1
+. test-init.sh
mkdir sub
cat >>configure.ac <<'END'
diff --git a/t/txinfo33.sh b/t/txinfo33.sh
index efb2678e2..47f403893 100755
--- a/t/txinfo33.sh
+++ b/t/txinfo33.sh
@@ -17,8 +17,8 @@
# DVIS, PDFS, PSS, HTMLS should not be cleaned upon 'mostlyclean'.
# Similar to txinfo25.sh.
-required='makeinfo tex texi2dvi-o dvips'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi dvips'
+. test-init.sh
mkdir sub
diff --git a/t/txinfo4.sh b/t/txinfo4.sh
index e6c67b95f..6784d034e 100755
--- a/t/txinfo4.sh
+++ b/t/txinfo4.sh
@@ -16,7 +16,7 @@
# Make sure non-empty, non-info suffixes are diagnosed.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
diff --git a/t/txinfo5.sh b/t/txinfo5.sh
deleted file mode 100755
index 44a2faecd..000000000
--- a/t/txinfo5.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1998-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/>.
-
-# Test to make sure that texinfo.tex is not required by --cygnus.
-# Also check that TEXINFOS + cygnus work without requiring the
-# '-Wno-override' option.
-# See also sister test txinfo5b.sh.
-# Report from Ian Taylor.
-
-. ./defs || exit 1
-
-cat >> configure.ac << 'END'
-AM_MAINTAINER_MODE
-END
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = ian.texi
-END
-
-echo '@setfilename ian.info' > ian.texi
-
-$ACLOCAL
-$AUTOMAKE --cygnus -Wno-obsolete
-
-:
diff --git a/t/txinfo5b.sh b/t/txinfo5b.sh
deleted file mode 100755
index 6c81cedac..000000000
--- a/t/txinfo5b.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1998-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/>.
-
-# Test to make sure that texinfo.tex is not required by --cygnus.
-# See also sister test txinfo5.sh.
-# Report from Ian Taylor.
-
-. ./defs || exit 1
-
-cat >> configure.ac << 'END'
-AM_MAINTAINER_MODE
-END
-
-cat > Makefile.am << 'END'
-# Disable 'override' warnings to work around an unrelated
-# texi+cygnus bug.
-# Disable obsolete warnings because the 'cygnus' mode is now deprecated.
-AUTOMAKE_OPTIONS = -Wno-override -Wno-obsolete
-info_TEXINFOS = ian.texi
-END
-
-echo '@setfilename ian.info' > ian.texi
-
-$ACLOCAL
-$AUTOMAKE --cygnus
-$AUTOMAKE -a --cygnus
-test ! -e texinfo.tex
-
-:
diff --git a/t/txinfo6.sh b/t/txinfo6.sh
index ca3184dc6..549ead8b8 100755
--- a/t/txinfo6.sh
+++ b/t/txinfo6.sh
@@ -16,7 +16,7 @@
# Test to make sure '.txi' extension works.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = foo.txi
diff --git a/t/txinfo7.sh b/t/txinfo7.sh
index 93d199c1c..8d720547b 100755
--- a/t/txinfo7.sh
+++ b/t/txinfo7.sh
@@ -17,7 +17,7 @@
# Test to make sure texinfo.tex correctly installed by -a. Bug report
# by Per Cederqvist.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
diff --git a/t/txinfo8.sh b/t/txinfo8.sh
index 6b1c6face..46b791ab7 100755
--- a/t/txinfo8.sh
+++ b/t/txinfo8.sh
@@ -18,7 +18,7 @@
# -a when we're using AC_CONFIG_AUX_DIR. Bug report by by Per
# Cederqvist.
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << END
AC_INIT([$me], [1.0])
diff --git a/t/txinfo9.sh b/t/txinfo9.sh
index 97770f4ce..63dcf7555 100755
--- a/t/txinfo9.sh
+++ b/t/txinfo9.sh
@@ -16,7 +16,7 @@
# Make sure we only create texinfo-related targets once.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = maude.texi liver.txi heart.texinfo
diff --git a/t/uninstall-fail.sh b/t/uninstall-fail.sh
index 510c9685a..6c0c57ce9 100755
--- a/t/uninstall-fail.sh
+++ b/t/uninstall-fail.sh
@@ -20,7 +20,7 @@
# tests for other primaries too? E.g., SCRIPTS, PROGRAMS, LISP, PYTHON,
# etc...
-. ./defs || exit 1
+. test-init.sh
mkdir d
: > d/f
diff --git a/t/uninstall-pr9578.sh b/t/uninstall-pr9578.sh
index cb870b3b7..e5f9acbcb 100755
--- a/t/uninstall-pr9578.sh
+++ b/t/uninstall-pr9578.sh
@@ -22,7 +22,7 @@
# need sister tests for other primaries too? E.g., PROGRAMS, LISP,
# PYTHON, etc...
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
diff --git a/t/unused.sh b/t/unused.sh
index 79c7b41b2..11c43c142 100755
--- a/t/unused.sh
+++ b/t/unused.sh
@@ -16,7 +16,7 @@
# Test for failing check for unused macros. From Johan Danielsson.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
MACRO_1
diff --git a/t/upc.sh b/t/upc.sh
index 4128ea013..3800a0646 100755
--- a/t/upc.sh
+++ b/t/upc.sh
@@ -16,7 +16,7 @@
# A simple Hello World for UPC.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AM_PROG_UPC
diff --git a/t/upc2.sh b/t/upc2.sh
index be6461f2c..5abd0df2e 100755
--- a/t/upc2.sh
+++ b/t/upc2.sh
@@ -17,7 +17,7 @@
# Test that Automake suggests using AM_PROG_UPC if Unified Parallel C
# sources are used.
-. ./defs || exit 1
+. test-init.sh
echo AC_PROG_CC >>configure.ac
diff --git a/t/upc3.sh b/t/upc3.sh
index 7da65d532..e0312524a 100755
--- a/t/upc3.sh
+++ b/t/upc3.sh
@@ -16,7 +16,7 @@
# Test that C and Unified Parallel C link safely.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/recurs.sh b/t/var-recurs.sh
index 0dc04d307..7a615846f 100755
--- a/t/recurs.sh
+++ b/t/var-recurs.sh
@@ -16,12 +16,10 @@
# Test to make sure recursive variable definitions die.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
-AM_CONDITIONAL(ONE, true)
-AM_CONDITIONAL(TWO, false)
END
cat > Makefile.am << 'END'
diff --git a/t/recurs2.sh b/t/var-recurs2.sh
index 9472631ba..edf5d7b2f 100755
--- a/t/recurs2.sh
+++ b/t/var-recurs2.sh
@@ -17,7 +17,7 @@
# Test to make sure recursive variable definitions die.
# From Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
man_MANS = chgrp.1
@@ -27,3 +27,5 @@ END
$ACLOCAL
$AUTOMAKE
+
+:
diff --git a/t/vars.sh b/t/vars.sh
index cf45cb9ab..14c62d84c 100755
--- a/t/vars.sh
+++ b/t/vars.sh
@@ -17,7 +17,7 @@
# Test various variable definitions that include an '=' sign.
# From Raja R Harinath.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
MY_FLAGS_1=-DABC=345
diff --git a/t/vars3.sh b/t/vars3.sh
index be30006e4..72af29c8f 100755
--- a/t/vars3.sh
+++ b/t/vars3.sh
@@ -17,7 +17,7 @@
# Check that Automake warns about variables containing spaces
# and other non-POSIX characters.
-. ./defs || exit 1
+. test-init.sh
cat >Makefile.am <<'EOF'
L01 = $(shell echo *)
diff --git a/t/vartar.sh b/t/vartar.sh
index 1c9dc3bed..384538a46 100755
--- a/t/vartar.sh
+++ b/t/vartar.sh
@@ -16,7 +16,7 @@
# Targets and macros are two different name spaces.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
install = install
diff --git a/t/vartypo2.sh b/t/vartypo2.sh
index 90facaada..94151eb29 100755
--- a/t/vartypo2.sh
+++ b/t/vartypo2.sh
@@ -18,7 +18,7 @@
# Libtool variant.
required=libtoolize
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AM_PROG_AR
diff --git a/t/vartypos.sh b/t/vartypos.sh
index 16317fb32..e8da7e74c 100755
--- a/t/vartypos.sh
+++ b/t/vartypos.sh
@@ -16,7 +16,7 @@
# Make sure we warn about possible variable typos when we should.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<'END'
AC_PROG_RANLIB
diff --git a/t/version3.sh b/t/version3.sh
index 2b5294d10..6299c6154 100755
--- a/t/version3.sh
+++ b/t/version3.sh
@@ -16,7 +16,7 @@
# Test to make sure version in AUTOMAKE_OPTIONS works.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = 9.9x
diff --git a/t/version4.sh b/t/version4.sh
index f04305e1e..53285fe62 100755
--- a/t/version4.sh
+++ b/t/version4.sh
@@ -16,7 +16,7 @@
# Test to make sure we are compatible with the 1.4-p1 series.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = 1.4-p3
diff --git a/t/version6.sh b/t/version6.sh
index 74fa088cc..659394e21 100755
--- a/t/version6.sh
+++ b/t/version6.sh
@@ -16,7 +16,7 @@
# Make sure the current version can be required.
-. ./defs || exit 1
+. test-init.sh
amver=$($AUTOMAKE --version | sed -e 's/.* //;1q')
diff --git a/t/version7.sh b/t/version7.sh
index 812dc017b..93eed4d43 100755
--- a/t/version7.sh
+++ b/t/version7.sh
@@ -20,7 +20,7 @@
# changes -- we don't support this feature on non-GNU Makes).
required='makeinfo tex texi2dvi'
-. ./defs || exit 1
+. test-init.sh
cat >configure.ac <<END
m4_include([version.m4])
diff --git a/t/version8.sh b/t/version8.sh
index 28f754847..cff0f0275 100755
--- a/t/version8.sh
+++ b/t/version8.sh
@@ -16,7 +16,7 @@
# Calling AM_AUTOMAKE_VERSION by hand is a bug.
-. ./defs || exit 1
+. test-init.sh
echo 'AM_AUTOMAKE_VERSION([1.9])' >>configure.ac
$ACLOCAL 2>stderr && { cat stderr >&2; exit 0; }
diff --git a/t/vpath.sh b/t/vpath.sh
index dcb08ffb0..a67af17d8 100755
--- a/t/vpath.sh
+++ b/t/vpath.sh
@@ -17,7 +17,7 @@
# Test to make sure VPATH can be overridden.
# Report from Anthony Green.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
VPATH = zardoz
diff --git a/t/vtexi.sh b/t/vtexi.sh
index 5928ddd83..31b763ec3 100755
--- a/t/vtexi.sh
+++ b/t/vtexi.sh
@@ -17,7 +17,7 @@
# Basic checks and some regressions testing on 'version.texi'
# support for texinfo files.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
diff --git a/t/vtexi2.sh b/t/vtexi2.sh
index 30f679fb7..aee1044e1 100755
--- a/t/vtexi2.sh
+++ b/t/vtexi2.sh
@@ -19,7 +19,7 @@
# version.texi gets listed as a dependency for the .info file but
# not the .dvi file.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
info_TEXINFOS = zardoz.texi
diff --git a/t/vtexi3.sh b/t/vtexi3.sh
index 9afadce05..a49579abe 100755
--- a/t/vtexi3.sh
+++ b/t/vtexi3.sh
@@ -20,7 +20,7 @@
# See also the related test 'vtexi4.sh', which does similar checks, but
# for version.texi only, and requires makeinfo, tex and texi2dvi.
-. ./defs || exit 1
+. test-init.sh
# We are going to override package version in AC_INIT, so we need
# to redefine the name of the distdir as well.
diff --git a/t/vtexi4.sh b/t/vtexi4.sh
index 3f2a89ba3..97345ac0b 100755
--- a/t/vtexi4.sh
+++ b/t/vtexi4.sh
@@ -21,8 +21,8 @@
# for more vers*.texi files, and does not require makeinfo, tex and
# texi2dvi.
-required='makeinfo tex texi2dvi-o grep-nonprint'
-. ./defs || exit 1
+required='makeinfo tex texi2dvi grep-nonprint'
+. test-init.sh
test $(LC_ALL=C date '+%u') -gt 0 && test $(LC_ALL=C date '+%u') -lt 8 \
&& day=$(LC_ALL=C date '+%d') && test -n "$day" \
diff --git a/t/warning-groups-win-over-strictness.sh b/t/warning-groups-win-over-strictness.sh
index 8824fa7b5..057ddaf05 100755
--- a/t/warning-groups-win-over-strictness.sh
+++ b/t/warning-groups-win-over-strictness.sh
@@ -19,7 +19,7 @@
# levels are "catch-all warnings" (such as '-Wall' and '-Wnone').
# Since we are at it, also throw in *.am and *.m4 file inclusions.
-. ./defs || exit 1
+. test-init.sh
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
diff --git a/t/warnings-obsolete-default.sh b/t/warnings-obsolete-default.sh
index fc439eab9..7fbb1bc34 100755
--- a/t/warnings-obsolete-default.sh
+++ b/t/warnings-obsolete-default.sh
@@ -17,7 +17,7 @@
# Check that automake warnings in the 'obsolete' category are enabled
# by default.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror"
diff --git a/t/warnings-override.sh b/t/warnings-override.sh
index 756cac83b..94047a22a 100755
--- a/t/warnings-override.sh
+++ b/t/warnings-override.sh
@@ -21,7 +21,7 @@
# been in place for quite a long time); see also Automake bug #7673.
# Update this test if the semantics are changed.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
diff --git a/t/warnings-precedence.sh b/t/warnings-precedence.sh
index 4c15ecd7e..4a422342e 100755
--- a/t/warnings-precedence.sh
+++ b/t/warnings-precedence.sh
@@ -18,7 +18,7 @@
# warnings specified later should take precedence over those specified
# earlier.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
diff --git a/t/warnings-strictness-interactions.sh b/t/warnings-strictness-interactions.sh
index a2b6b403e..83537a20b 100755
--- a/t/warnings-strictness-interactions.sh
+++ b/t/warnings-strictness-interactions.sh
@@ -18,7 +18,7 @@
# in AUTOMAKE_OPTIONS take precedence over explicit warnings given in
# AM_INIT_AUTOMAKE.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
diff --git a/t/warnings-unknown.sh b/t/warnings-unknown.sh
index d1b2b8ca3..2677d0822 100755
--- a/t/warnings-unknown.sh
+++ b/t/warnings-unknown.sh
@@ -16,7 +16,7 @@
# Check that automake complains about unknown warnings.
-. ./defs || exit 1
+. test-init.sh
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror"
diff --git a/t/warnings-win-over-strictness.sh b/t/warnings-win-over-strictness.sh
index 087a70d72..eaeb8257d 100755
--- a/t/warnings-win-over-strictness.sh
+++ b/t/warnings-win-over-strictness.sh
@@ -17,7 +17,7 @@
# Check that, on the command line, explicitly-defined warnings take
# precedence over implicit strictness-implied warnings.
-. ./defs || exit 1
+. test-init.sh
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
diff --git a/t/warnopts.sh b/t/warnopts.sh
index 68ceb2a84..65165b731 100755
--- a/t/warnopts.sh
+++ b/t/warnopts.sh
@@ -16,7 +16,7 @@
# Make sure that we can enable or disable warnings on a per-file basis.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<END
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/werror.sh b/t/werror.sh
index 01d76fc03..57f6d648b 100755
--- a/t/werror.sh
+++ b/t/werror.sh
@@ -16,7 +16,7 @@
# Test to make sure -Werror and --add-missing work together.
-. ./defs || exit 1
+. test-init.sh
: > Makefile.am
diff --git a/t/werror2.sh b/t/werror2.sh
index 52ec1811a..b1feeff21 100755
--- a/t/werror2.sh
+++ b/t/werror2.sh
@@ -19,7 +19,7 @@
# succeed if make is run a second time immediately afterwards.
# Report from Harlan Stenn.
-. ./defs || exit 1
+. test-init.sh
echo AC_OUTPUT>>configure.ac
diff --git a/t/werror3.sh b/t/werror3.sh
index a22ff8470..91e4dbc90 100755
--- a/t/werror3.sh
+++ b/t/werror3.sh
@@ -17,7 +17,7 @@
# Make sure a per-Makefile.am -Werror setting is not carried over
# to another Makefile.am.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<\END
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/werror4.sh b/t/werror4.sh
index 1b930d5e9..7908d1deb 100755
--- a/t/werror4.sh
+++ b/t/werror4.sh
@@ -16,7 +16,7 @@
# -Werror and local -Werror settings should be flagged for the user.
-. ./defs || exit 1
+. test-init.sh
cat >>configure.ac <<\END
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/whoami.sh b/t/whoami.sh
index 4a4c2e97d..6d0b13c4a 100755
--- a/t/whoami.sh
+++ b/t/whoami.sh
@@ -18,7 +18,7 @@
# from Johan Danielsson (and a very nice bug report, too, I might
# add).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
WHO_AM_I=17
diff --git a/t/xsource.sh b/t/xsource.sh
index cca400a75..8e2814b49 100755
--- a/t/xsource.sh
+++ b/t/xsource.sh
@@ -17,7 +17,7 @@
# Test to make sure multiple source files with the same object
# file causes error.
-. ./defs || exit 1
+. test-init.sh
cat > Makefile.am << 'END'
bin_PROGRAMS = zardoz
diff --git a/t/yacc-auxdir.sh b/t/yacc-auxdir.sh
index eb7357d9d..03175c9bb 100755
--- a/t/yacc-auxdir.sh
+++ b/t/yacc-auxdir.sh
@@ -17,7 +17,7 @@
# Test to make sure ylwrap is put in right location.
# Report from Tim Van Holder.
-. ./defs || exit 1
+. test-init.sh
mkdir aux1 sub
diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh
index b1883385b..0d37382a3 100755
--- a/t/yacc-basic.sh
+++ b/t/yacc-basic.sh
@@ -18,7 +18,7 @@
# Keep in sync with sister test 'yacc-cxx.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-bison-skeleton-cxx.sh b/t/yacc-bison-skeleton-cxx.sh
index a02a25a8c..e64ec459b 100755
--- a/t/yacc-bison-skeleton-cxx.sh
+++ b/t/yacc-bison-skeleton-cxx.sh
@@ -18,7 +18,7 @@
# For Automake bug#7648 and PR automake/491.
required='c++ bison'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/yacc-bison-skeleton.sh b/t/yacc-bison-skeleton.sh
index f4fdf327d..d7623b376 100755
--- a/t/yacc-bison-skeleton.sh
+++ b/t/yacc-bison-skeleton.sh
@@ -18,7 +18,7 @@
# For Automake bug#7648 and PR automake/491.
required='cc bison'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-clean-cxx.sh b/t/yacc-clean-cxx.sh
index f30ce1b2a..7bc009df4 100755
--- a/t/yacc-clean-cxx.sh
+++ b/t/yacc-clean-cxx.sh
@@ -21,7 +21,7 @@
# See also sister test 'yacc-clean.sh'.
required='c++ yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh
index dce70a279..1f6664c9d 100755
--- a/t/yacc-clean.sh
+++ b/t/yacc-clean.sh
@@ -20,7 +20,7 @@
# See also sister test 'yacc-cxx-clean.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh
index 3c1babbfd..5d0eafc06 100755
--- a/t/yacc-cxx.sh
+++ b/t/yacc-cxx.sh
@@ -19,7 +19,7 @@
# Keep in sync with sister test 'yacc-basic.sh'.
required='c++ yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh
index 97155a2d5..1d2fc0756 100755
--- a/t/yacc-d-basic.sh
+++ b/t/yacc-d-basic.sh
@@ -19,7 +19,7 @@
# Keep in sync with sister test 'yacc-d-cxx.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh
index 5bd284e7d..a7b4aaa14 100755
--- a/t/yacc-d-cxx.sh
+++ b/t/yacc-d-cxx.sh
@@ -19,7 +19,7 @@
# Keep in sync with sister test 'yacc-d-basic.sh'.
required='c++ yacc'
-. ./defs || exit 1
+. test-init.sh
write_parse ()
{
diff --git a/t/yacc-d-vpath.sh b/t/yacc-d-vpath.sh
index 05019fb9e..483330e27 100755
--- a/t/yacc-d-vpath.sh
+++ b/t/yacc-d-vpath.sh
@@ -23,7 +23,7 @@
# Please keep this in sync with sister test 'yaccvpath.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-deleted-headers.sh b/t/yacc-deleted-headers.sh
index 952560d86..7dd9ded76 100755
--- a/t/yacc-deleted-headers.sh
+++ b/t/yacc-deleted-headers.sh
@@ -17,7 +17,7 @@
# Tests that we can recover from deleted headers generated by 'yacc -d'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-depend.sh b/t/yacc-depend.sh
index f7254a2e4..3730abb7e 100755
--- a/t/yacc-depend.sh
+++ b/t/yacc-depend.sh
@@ -18,7 +18,7 @@
# Report from Paolo Bonzini.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-depend2.sh b/t/yacc-depend2.sh
index 70f3f14cc..f20604dee 100755
--- a/t/yacc-depend2.sh
+++ b/t/yacc-depend2.sh
@@ -19,7 +19,7 @@
# with NetBSD make).
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-dist-nobuild-subdir.sh b/t/yacc-dist-nobuild-subdir.sh
index 0160c1098..f6064e7d4 100755
--- a/t/yacc-dist-nobuild-subdir.sh
+++ b/t/yacc-dist-nobuild-subdir.sh
@@ -19,7 +19,7 @@
# Exposes automake bug#8485.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
# This test is bounded to fail for any implementation that
# triggers automake bug#7884.
diff --git a/t/yacc-dist-nobuild.sh b/t/yacc-dist-nobuild.sh
index 40b833245..f23591e77 100755
--- a/t/yacc-dist-nobuild.sh
+++ b/t/yacc-dist-nobuild.sh
@@ -19,7 +19,7 @@
# See automake bug#7884.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-grepping.sh b/t/yacc-grepping.sh
index 19036c4c7..546f4ad54 100755
--- a/t/yacc-grepping.sh
+++ b/t/yacc-grepping.sh
@@ -23,7 +23,7 @@
# if (AM_)?YFLAGS do not contain '-d'.
# Requested by Jim Meyering.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-grepping2.sh b/t/yacc-grepping2.sh
index 4382ded62..f8dc92065 100755
--- a/t/yacc-grepping2.sh
+++ b/t/yacc-grepping2.sh
@@ -17,7 +17,7 @@
# Test of yacc functionality, derived from GNU binutils
# by Tim Van Holder.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-headers-and-dist-pr47.sh b/t/yacc-headers-and-dist-pr47.sh
index 5d7be75e5..49458bcd7 100755
--- a/t/yacc-headers-and-dist-pr47.sh
+++ b/t/yacc-headers-and-dist-pr47.sh
@@ -21,7 +21,7 @@
# PR/47.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-line.sh b/t/yacc-line.sh
index 525a455b2..1b2b4848e 100755
--- a/t/yacc-line.sh
+++ b/t/yacc-line.sh
@@ -20,7 +20,7 @@
# See also sister test 'lex-line.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh
index fbc49d662..0ba3e4502 100755
--- a/t/yacc-mix-c-cxx.sh
+++ b/t/yacc-mix-c-cxx.sh
@@ -18,7 +18,7 @@
# in the same directory.
required='cc c++ yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh
index 2e9c7e86b..78191d9b1 100755
--- a/t/yacc-nodist.sh
+++ b/t/yacc-nodist.sh
@@ -21,7 +21,7 @@
# for lex-generated .c files.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-pr204.sh b/t/yacc-pr204.sh
index babd2c9d7..d45a30323 100755
--- a/t/yacc-pr204.sh
+++ b/t/yacc-pr204.sh
@@ -21,7 +21,7 @@
# for lex-generated C files.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'EOF'
AM_MAINTAINER_MODE
diff --git a/t/yacc-subdir.sh b/t/yacc-subdir.sh
index 3f12c5437..465f8287f 100755
--- a/t/yacc-subdir.sh
+++ b/t/yacc-subdir.sh
@@ -18,7 +18,7 @@
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc-weirdnames.sh b/t/yacc-weirdnames.sh
index ab43af3e5..028d9fa44 100755
--- a/t/yacc-weirdnames.sh
+++ b/t/yacc-weirdnames.sh
@@ -17,7 +17,7 @@
# Check that yacc sources with many dots in their name are handled
# correctly.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yacc4.sh b/t/yacc4.sh
index a0e121fb2..a4802d5fb 100755
--- a/t/yacc4.sh
+++ b/t/yacc4.sh
@@ -17,7 +17,7 @@
# Some simple tests of ylwrap functionality.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yaccdry.sh b/t/yaccdry.sh
index 8e5af56e6..bbfda87ba 100755
--- a/t/yaccdry.sh
+++ b/t/yaccdry.sh
@@ -17,7 +17,7 @@
# Removal recovery rules for headers should not remove files with 'make -n'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yaccpp.sh b/t/yaccpp.sh
index 30ad7bcad..1bcf37955 100755
--- a/t/yaccpp.sh
+++ b/t/yaccpp.sh
@@ -19,7 +19,7 @@
# which does much more in-depth checks (but requires an actual
# Yacc program and a working C++ compiler).
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CXX
diff --git a/t/yaccvpath.sh b/t/yaccvpath.sh
index e56ca8e4d..c881f0726 100755
--- a/t/yaccvpath.sh
+++ b/t/yaccvpath.sh
@@ -23,7 +23,7 @@
# Please keep this in sync with sister test 'yacc-d-vpath.sh'.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
diff --git a/t/yflags-cmdline-override.sh b/t/yflags-cmdline-override.sh
index e53358acd..367a0c691 100755
--- a/t/yflags-cmdline-override.sh
+++ b/t/yflags-cmdline-override.sh
@@ -18,7 +18,7 @@
# at configure time and/or at make time.
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
unset YFLAGS || :
diff --git a/t/yflags-conditional.sh b/t/yflags-conditional.sh
index 676561395..d7fc7e051 100755
--- a/t/yflags-conditional.sh
+++ b/t/yflags-conditional.sh
@@ -17,7 +17,7 @@
# Check that automake complains about *_YFLAGS variables which have
# conditional content.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/yflags-d-false-positives.sh b/t/yflags-d-false-positives.sh
index 5b120dde4..0cae14fb4 100755
--- a/t/yflags-d-false-positives.sh
+++ b/t/yflags-d-false-positives.sh
@@ -16,7 +16,7 @@
# Check for false positives in automake recognition of '-d' in YFLAGS.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/yflags-force-conditional.sh b/t/yflags-force-conditional.sh
index a8404b784..96455bbfa 100755
--- a/t/yflags-force-conditional.sh
+++ b/t/yflags-force-conditional.sh
@@ -17,7 +17,7 @@
# Check that the user can force automake to use *_YFLAGS variables
# which have conditional content.
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_SUBST([CC], [false])
diff --git a/t/yflags-force-override.sh b/t/yflags-force-override.sh
index 8682637ed..d7ed7a12a 100755
--- a/t/yflags-force-override.sh
+++ b/t/yflags-force-override.sh
@@ -19,7 +19,7 @@
# variable is user-reserved).
required='cc yacc'
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/yflags-var-expand.sh b/t/yflags-var-expand.sh
index 789cc2c70..23aea1485 100755
--- a/t/yflags-var-expand.sh
+++ b/t/yflags-var-expand.sh
@@ -19,7 +19,7 @@
# foo_flags = -d
# AM_YFLAGS = $(foo_flags)
-. ./defs || exit 1
+. test-init.sh
cat >> configure.ac <<'END'
AC_PROG_CC
diff --git a/t/yflags.sh b/t/yflags.sh
index 6a6bea7ff..bb453edd6 100755
--- a/t/yflags.sh
+++ b/t/yflags.sh
@@ -19,7 +19,7 @@
# Please keep this in sync with the sister tests yflags2.sh, lflags.sh
# and lflags2.sh.
-. ./defs || exit 1
+. test-init.sh
cat >fake-yacc <<'END'
#!/bin/sh
diff --git a/t/yflags2.sh b/t/yflags2.sh
index d9b913c65..b2a8114e8 100755
--- a/t/yflags2.sh
+++ b/t/yflags2.sh
@@ -19,7 +19,7 @@
# Please keep this in sync with the sister tests yflags.sh, lflags.sh
# and lflags2.sh.
-. ./defs || exit 1
+. test-init.sh
cat >fake-yacc <<'END'
#!/bin/sh