summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--AUTHORS27
-rw-r--r--GNUmakefile3
-rw-r--r--HACKING25
-rw-r--r--Makefile.am49
-rw-r--r--NG-NEWS466
-rw-r--r--README137
-rw-r--r--bin/Makefile.inc8
-rw-r--r--bin/aclocal.in3
-rw-r--r--bin/automake.in2323
-rwxr-xr-xbootstrap.sh6
-rw-r--r--configure.ac14
-rw-r--r--contrib/README14
-rw-r--r--contrib/check-html.am21
-rw-r--r--contrib/multilib/README9
-rw-r--r--contrib/multilib/config-ml.in876
-rw-r--r--contrib/multilib/multi.m464
-rw-r--r--contrib/multilib/multilib.am45
-rwxr-xr-xcontrib/multilib/symlink-tree78
-rw-r--r--contrib/t/Makefile.inc4
-rwxr-xr-xcontrib/t/multilib.sh160
-rwxr-xr-xcontrib/t/parallel-tests-html-recursive.sh4
-rwxr-xr-xcontrib/t/parallel-tests-html.sh10
-rwxr-xr-xcontrib/tap-driver.pl6
-rw-r--r--doc/Makefile.inc47
-rw-r--r--doc/amhello/README4
-rw-r--r--doc/automake-history.texi1214
-rw-r--r--doc/automake-ng.texi (renamed from doc/automake.texi)787
-rwxr-xr-xgen-testsuite-part81
-rw-r--r--lib/Automake/ChannelDefs.pm51
-rw-r--r--lib/Automake/Channels.pm119
-rw-r--r--lib/Automake/Config.in10
-rw-r--r--lib/Automake/DisjConditions.pm20
-rw-r--r--lib/Automake/ItemDef.pm17
-rw-r--r--lib/Automake/Location.pm47
-rw-r--r--lib/Automake/Makefile.inc3
-rw-r--r--lib/Automake/Options.pm29
-rw-r--r--lib/Automake/Rule.pm267
-rw-r--r--lib/Automake/RuleDef.pm13
-rw-r--r--lib/Automake/VarDef.pm105
-rw-r--r--lib/Automake/Variable.pm277
-rw-r--r--lib/Makefile.inc23
-rw-r--r--lib/am/Makefile.inc31
-rw-r--r--lib/am/am-dir.mk40
-rw-r--r--lib/am/check-typos.mk133
-rw-r--r--lib/am/check.am573
-rw-r--r--lib/am/check2.am60
-rw-r--r--lib/am/clean-hdr.am20
-rw-r--r--lib/am/clean.am62
-rw-r--r--lib/am/clean.mk78
-rw-r--r--lib/am/color-tests.mk43
-rw-r--r--lib/am/common-targets.mk174
-rw-r--r--lib/am/compile.am25
-rw-r--r--lib/am/configure.am90
-rw-r--r--lib/am/data.am14
-rw-r--r--lib/am/dejagnu.mk (renamed from lib/am/dejagnu.am)72
-rw-r--r--lib/am/depend2.am66
-rw-r--r--lib/am/distcheck.mk252
-rw-r--r--lib/am/distdir.am527
-rw-r--r--lib/am/distdir.mk301
-rw-r--r--lib/am/footer.am3
-rw-r--r--lib/am/header-vars.am168
-rw-r--r--lib/am/header-vars.mk441
-rw-r--r--lib/am/inst-vars.am73
-rw-r--r--lib/am/install.am105
-rw-r--r--lib/am/java.am10
-rw-r--r--lib/am/lang-compile.am8
-rw-r--r--lib/am/lex.am17
-rw-r--r--lib/am/library.am10
-rw-r--r--lib/am/libs.am26
-rw-r--r--lib/am/libtool.am28
-rw-r--r--lib/am/lisp.am69
-rw-r--r--lib/am/ltlib.am25
-rw-r--r--lib/am/ltlibrary.am4
-rw-r--r--lib/am/mans.am17
-rw-r--r--lib/am/parallel-tests.mk468
-rw-r--r--lib/am/program.am6
-rw-r--r--lib/am/progs.am36
-rw-r--r--lib/am/python.am73
-rw-r--r--lib/am/remake-hdr.am15
-rw-r--r--lib/am/scripts.am83
-rw-r--r--lib/am/serial-tests.mk141
-rw-r--r--lib/am/subdirs.mk (renamed from lib/am/subdirs.am)41
-rw-r--r--lib/am/tags.am182
-rw-r--r--lib/am/tags.mk157
-rw-r--r--lib/am/texi-spec.am (renamed from lib/am/depend.am)23
-rw-r--r--lib/am/texi-vers.am44
-rw-r--r--lib/am/texibuild.am102
-rw-r--r--lib/am/texibuild.mk86
-rw-r--r--lib/am/texinfos.am390
-rw-r--r--lib/am/texinfos.mk275
-rw-r--r--lib/am/yacc.am38
-rwxr-xr-xlib/ar-lib4
-rwxr-xr-xlib/compile4
-rwxr-xr-xlib/depcomp5
-rwxr-xr-xlib/mdate-sh4
-rwxr-xr-xlib/missing13
-rwxr-xr-xlib/mkinstalldirs162
-rwxr-xr-xlib/py-compile4
-rwxr-xr-xlib/tap-driver.sh4
-rwxr-xr-xlib/test-driver6
-rwxr-xr-xlib/ylwrap4
-rw-r--r--m4/Makefile.inc12
-rw-r--r--m4/depend.m44
-rw-r--r--m4/depout.m475
-rw-r--r--m4/init.m421
-rw-r--r--m4/maintainer.m435
-rw-r--r--m4/make.m449
-rw-r--r--m4/silent.m442
-rw-r--r--m4/strip.m42
-rw-r--r--m4/substnot.m44
-rw-r--r--maintainer/maint.mk3
-rw-r--r--maintainer/syntax-checks.mk311
-rw-r--r--old/ChangeLog-tests1448
-rw-r--r--old/ChangeLog.002211
-rw-r--r--old/ChangeLog.014937
-rw-r--r--old/ChangeLog.023225
-rw-r--r--old/ChangeLog.032971
-rw-r--r--old/ChangeLog.041623
-rw-r--r--old/ChangeLog.095767
-rw-r--r--old/ChangeLog.1113107
-rw-r--r--old/ChangeLog.963685
-rw-r--r--old/ChangeLog.982191
-rw-r--r--old/TODO504
-rw-r--r--t/CheckListOfTests.am68
-rw-r--r--t/Makefile.inc153
-rw-r--r--t/README66
-rw-r--r--t/aclocal-deps.sh1
-rw-r--r--t/add-missing-multiple.sh8
-rw-r--r--t/add-missing.tap6
-rw-r--r--t/all-prog-libs.sh85
-rw-r--r--t/all2.sh3
-rw-r--r--t/am-default-source-ext.sh33
-rw-r--r--t/am-dir.sh93
-rw-r--r--t/am-xargs-map.sh176
-rw-r--r--t/amopts-variable-expansion.sh25
-rw-r--r--t/ansi2knr-no-more.sh56
-rw-r--r--t/autodist-aclocal-m4.sh4
-rw-r--r--t/autodist-config-headers.sh59
-rw-r--r--t/autodist-configure-no-subdir.sh4
-rw-r--r--t/autodist-stamp-vti.sh2
-rw-r--r--t/autodist-subdir.sh10
-rw-r--r--t/autodist.sh14
-rw-r--r--t/autohdr-subdir-pr12495.sh4
-rw-r--r--t/autohdr3.sh4
-rw-r--r--t/auxdir.sh8
-rw-r--r--t/auxdir6.sh13
-rw-r--r--t/auxdir7.sh13
-rw-r--r--t/auxdir8.sh15
-rw-r--r--t/ax/am-test-lib.sh191
-rw-r--r--t/ax/depcomp-shuffle.sh175
-rw-r--r--t/ax/distcheck-hook-m4.am2
-rw-r--r--t/ax/runtest.in4
-rw-r--r--t/ax/shell-no-trail-bslash.in7
-rw-r--r--t/ax/test-lib.sh7
-rw-r--r--t/ax/testsuite-summary-checks.sh3
-rw-r--r--t/backslash-issues.sh6
-rw-r--r--t/backslash-tricks.sh78
-rw-r--r--t/built-sources-fork-bomb.sh5
-rw-r--r--t/built-sources.sh4
-rw-r--r--t/canon.sh1
-rw-r--r--t/canon5.sh3
-rw-r--r--t/ccnoco3.sh1
-rw-r--r--t/check-concurrency-bug9245.sh20
-rw-r--r--t/check.sh41
-rw-r--r--t/check10.sh27
-rw-r--r--t/check12.sh4
-rw-r--r--t/check2.sh8
-rw-r--r--t/check4.sh22
-rw-r--r--t/check5.sh24
-rw-r--r--t/check7.sh48
-rw-r--r--t/check8.sh2
-rw-r--r--t/checkall.sh31
-rw-r--r--t/clean-many.sh63
-rw-r--r--t/clean-many2.sh82
-rw-r--r--t/cleanvars.sh100
-rw-r--r--t/colneq.sh32
-rw-r--r--t/colon5.sh2
-rw-r--r--t/colon6.sh9
-rw-r--r--t/colon7.sh6
-rw-r--r--t/color-tests.sh34
-rw-r--r--t/color-tests2.sh63
-rw-r--r--t/comment3.sh31
-rw-r--r--t/comment4.sh9
-rw-r--r--t/comment5.sh85
-rw-r--r--t/comment6.sh35
-rw-r--r--t/comment8.sh7
-rw-r--r--t/cond30.sh35
-rw-r--r--t/cond38.sh3
-rw-r--r--t/condlib.sh1
-rw-r--r--t/condman3.sh4
-rw-r--r--t/confdeps.sh4
-rw-r--r--t/conffile-leading-dot.sh1
-rw-r--r--t/confh-internals.sh73
-rw-r--r--t/confh.sh7
-rw-r--r--t/confh4.sh49
-rw-r--r--t/confh8.sh12
-rw-r--r--t/conflnk2.sh33
-rw-r--r--t/cscope.tap36
-rw-r--r--t/ctags.sh111
-rw-r--r--t/cxx-fortran.sh69
-rw-r--r--t/cxx-lt-demo.sh2
-rw-r--r--t/cxx.sh34
-rw-r--r--t/cxxnoc.sh37
-rw-r--r--t/dejagnu.sh35
-rw-r--r--t/dejagnu2.sh8
-rw-r--r--t/deleted-am.sh12
-rw-r--r--t/deleted-m4.sh12
-rw-r--r--t/depcomp-implicit-auxdir.sh9
-rw-r--r--t/depcomp-recover.sh110
-rw-r--r--t/depcomp-shuffle-sub-vpath.sh (renamed from t/clean.sh)17
-rw-r--r--t/depcomp-shuffle-sub.sh (renamed from t/instexec.sh)20
-rw-r--r--t/depcomp-shuffle-vpath.sh22
-rw-r--r--t/depcomp-shuffle.sh (renamed from t/commen10.sh)23
-rw-r--r--t/depcomp8a.sh1
-rw-r--r--t/depcomp8b.sh3
-rw-r--r--t/depdist.sh2
-rw-r--r--t/depend.sh2
-rw-r--r--t/depend4.sh2
-rw-r--r--t/depend5.sh77
-rw-r--r--t/dir-named-obj-is-bad.sh61
-rw-r--r--t/dist-auxfile-2.sh2
-rw-r--r--t/dist-auxfile.sh10
-rw-r--r--t/dist-formats.tap408
-rw-r--r--t/dist-install-sh.sh5
-rw-r--r--t/dist-lzma.sh41
-rw-r--r--t/dist-many.sh83
-rw-r--r--t/dist-many2.sh118
-rw-r--r--t/dist-missing-am.sh6
-rw-r--r--t/dist-missing-included-m4.sh6
-rw-r--r--t/dist-missing-m4.sh6
-rw-r--r--t/dist-obsolete-opts.sh (renamed from t/dist-tarZ.sh)30
-rw-r--r--t/dist-repeated.sh8
-rw-r--r--t/dist-shar.sh43
-rw-r--r--t/dist-srcdir.sh92
-rw-r--r--t/dist-srcdir2.sh (renamed from t/make-is-gnu.sh)53
-rw-r--r--t/distcheck-configure-flags-am.sh9
-rw-r--r--t/distcheck-configure-flags-subpkg.sh4
-rw-r--r--t/distcheck-configure-flags.sh6
-rw-r--r--t/distcheck-hook.sh4
-rw-r--r--t/distcheck-hook2.sh7
-rw-r--r--t/distcheck-missing-m4.sh6
-rw-r--r--t/distcheck-outdated-m4.sh7
-rw-r--r--t/distcheck-override-infodir.sh2
-rw-r--r--t/distcheck-pr10470.sh2
-rw-r--r--t/distcheck-pr18286.sh5
-rw-r--r--t/distcheck-pr9579.sh14
-rw-r--r--t/distcom-subdir.sh4
-rw-r--r--t/distcom2.sh79
-rw-r--r--t/distcom3.sh2
-rw-r--r--t/distcom4.sh2
-rw-r--r--t/distcom5.sh4
-rw-r--r--t/distdir.sh11
-rw-r--r--t/distlinksbrk.sh25
-rw-r--r--t/doc-parsing-buglets-tabs.sh59
-rw-r--r--t/dollar.sh3
-rw-r--r--t/dollarvar.sh56
-rw-r--r--t/dollarvar2.sh86
-rw-r--r--t/double-colon-rules.sh112
-rw-r--r--t/ensure-dir-exists.sh66
-rw-r--r--t/etags.sh93
-rw-r--r--t/exeext4.sh8
-rw-r--r--t/ext.sh7
-rw-r--r--t/ext2.sh2
-rw-r--r--t/ext3.sh39
-rw-r--r--t/extra-dist-wildcards-gnu.sh7
-rw-r--r--t/extra-dist-wildcards-vpath.sh4
-rw-r--r--t/extra-dist-wildcards.sh1
-rw-r--r--t/extra-portability.sh14
-rw-r--r--t/extra-portability3.sh60
-rw-r--r--t/extra-sources.sh2
-rw-r--r--t/flavor.sh5
-rw-r--r--t/fnoc.sh39
-rw-r--r--t/fort2.sh4
-rw-r--r--t/gcj.sh6
-rw-r--r--t/gettext-external-pr338.sh2
-rw-r--r--t/gmake-vars.sh85
-rw-r--r--t/gnits2.sh4
-rw-r--r--t/gnits3.sh4
-rw-r--r--t/gnumake.sh1
-rw-r--r--t/hdr-vars-defined-once.sh2
-rw-r--r--t/installdir.sh2
-rw-r--r--t/instdir-ltlib.sh1
-rw-r--r--t/instdir-prog.sh1
-rw-r--r--t/insthook.sh2
-rw-r--r--t/instman2.sh33
-rw-r--r--t/instspc.tap2
-rw-r--r--t/internals.tap282
-rw-r--r--t/interp3.sh (renamed from t/txinfo-without-info-suffix.sh)51
-rw-r--r--t/java-compile-install.sh4
-rw-r--r--t/java-compile-run-flat.sh12
-rw-r--r--t/java-compile-run-nested.sh12
-rw-r--r--t/java-nobase.sh2
-rw-r--r--t/java.sh2
-rw-r--r--t/javaflags.sh2
-rw-r--r--t/lex-depend-cxx.sh4
-rw-r--r--t/lex-depend.sh4
-rw-r--r--t/lex-header.sh4
-rw-r--r--t/lex-lib-external.sh2
-rw-r--r--t/lex-libobj.sh2
-rw-r--r--t/lex-line.sh3
-rw-r--r--t/lex-multiple.sh2
-rw-r--r--t/lex-nodist.sh6
-rw-r--r--t/lex-noyywrap.sh5
-rw-r--r--t/lex-pr204.sh88
-rw-r--r--t/lex-subobj-nodep.sh5
-rw-r--r--t/lex3.sh2
-rw-r--r--t/lex5.sh10
-rw-r--r--t/lflags-cxx.sh2
-rw-r--r--t/lflags.sh2
-rw-r--r--t/libobj19.sh3
-rw-r--r--t/libobj20b.sh1
-rw-r--r--t/libobj20c.sh1
-rw-r--r--t/libobj7.sh8
-rw-r--r--t/library2.sh2
-rw-r--r--t/libtoo10.sh16
-rw-r--r--t/libtool.sh41
-rw-r--r--t/libtool3.sh4
-rw-r--r--t/libtool7.sh1
-rw-r--r--t/link_cond.sh4
-rw-r--r--t/lisp-flags.sh2
-rw-r--r--t/lisp8.sh2
-rw-r--r--t/list-of-tests.mk1313
-rw-r--r--t/local-targets.sh64
-rw-r--r--t/location.sh11
-rw-r--r--t/longline.sh17
-rw-r--r--t/ltlibsrc.sh83
-rw-r--r--t/maintmode-configure-msg.sh72
-rw-r--r--t/make-dryrun.tap105
-rw-r--r--t/make-keepgoing.tap79
-rw-r--r--t/make.sh52
-rw-r--r--t/makej.sh1
-rw-r--r--t/makej2.sh3
-rw-r--r--t/maken.sh20
-rw-r--r--t/maken3.sh31
-rw-r--r--t/man3.sh2
-rw-r--r--t/man6.sh4
-rw-r--r--t/man8.sh4
-rw-r--r--t/memoize.tap335
-rw-r--r--t/mkinst3.sh16
-rw-r--r--t/mkinstall.sh31
-rw-r--r--t/mmode.sh64
-rw-r--r--t/mmodely.sh94
-rw-r--r--t/no-c.tap57
-rw-r--r--t/no-extra-makefile-code.sh3
-rw-r--r--t/no-spurious-install-recursive.sh9
-rw-r--r--t/nodep.sh42
-rw-r--r--t/nodist.sh4
-rw-r--r--t/nodist3.sh2
-rw-r--r--t/noinst.sh10
-rw-r--r--t/nostdinc.sh43
-rw-r--r--t/objc-basic.sh4
-rw-r--r--t/objcxx-basic.sh4
-rw-r--r--t/objdir.sh59
-rw-r--r--t/option-ng.sh (renamed from t/syntax.sh)17
-rw-r--r--t/output11.sh22
-rw-r--r--t/output6.sh9
-rw-r--r--t/override-conditional-1.sh25
-rw-r--r--t/parallel-am.sh103
-rw-r--r--t/parallel-am2.sh77
-rw-r--r--t/parallel-am3.sh74
-rw-r--r--t/parallel-tests-basics.sh25
-rw-r--r--t/parallel-tests-cmdline-override.sh82
-rw-r--r--t/parallel-tests-concatenated-suffix.sh69
-rw-r--r--t/parallel-tests-concurrency-2.sh2
-rw-r--r--t/parallel-tests-concurrency.sh27
-rw-r--r--t/parallel-tests-dynamic.sh154
-rw-r--r--t/parallel-tests-empty-testlogs.sh94
-rw-r--r--t/parallel-tests-empty.sh63
-rw-r--r--t/parallel-tests-exeext.sh19
-rw-r--r--t/parallel-tests-extra-programs.sh18
-rw-r--r--t/parallel-tests-fd-redirect-exeext.sh7
-rw-r--r--t/parallel-tests-fd-redirect.sh6
-rw-r--r--t/parallel-tests-fork-bomb.sh85
-rw-r--r--t/parallel-tests-generated-and-distributed.sh24
-rw-r--r--t/parallel-tests-harderror.sh4
-rw-r--r--t/parallel-tests-log-override-2.sh82
-rw-r--r--t/parallel-tests-log-override-recheck.sh97
-rw-r--r--t/parallel-tests-log-override.sh (renamed from t/parallel-tests-log-override-1.sh)10
-rw-r--r--t/parallel-tests-logvars-example.sh (renamed from t/parallel-tests-log-compiler-example.sh)17
-rw-r--r--t/parallel-tests-longest-stem.sh64
-rw-r--r--t/parallel-tests-many.sh169
-rw-r--r--t/parallel-tests-no-repeat.sh (renamed from t/mdate4.sh)39
-rw-r--r--t/parallel-tests-per-suffix-deps.sh162
-rw-r--r--t/parallel-tests-recheck-pr11791.sh10
-rw-r--r--t/parallel-tests-recheck.sh1
-rw-r--r--t/parallel-tests-srcdir-in-test-name.sh (renamed from t/parallel-tests-no-spurious-summary.sh)71
-rw-r--r--t/parallel-tests-unreadable.sh67
-rw-r--r--t/pattern-rules.sh (renamed from t/doc-parsing-buglets-colneq-subst.sh)44
-rw-r--r--t/pattern-rules2.sh (renamed from t/percent2.sh)8
-rw-r--r--t/per-target-flags.sh11
-rw-r--r--t/percent.sh36
-rw-r--r--t/phony.sh4
-rw-r--r--t/pluseq3.sh2
-rw-r--r--t/pm/Condition-t.pl327
-rw-r--r--t/pm/DisjConditions-t.pl461
-rw-r--r--t/posixsubst-ldadd.sh1
-rw-r--r--t/posixsubst-libraries.sh1
-rw-r--r--t/posixsubst-ltlibraries.sh1
-rw-r--r--t/posixsubst-sources.sh1
-rw-r--r--t/posixsubst-tests.sh68
-rw-r--r--t/postproc.sh48
-rw-r--r--t/pr2.sh2
-rw-r--r--t/pr224.sh1
-rw-r--r--t/pr243.sh57
-rw-r--r--t/pr266.sh46
-rw-r--r--t/pr401.sh4
-rw-r--r--t/pr401b.sh4
-rw-r--r--t/pr401c.sh4
-rw-r--r--t/pr87.sh13
-rw-r--r--t/pr9.sh4
-rw-r--r--t/preproc-errmsg.sh12
-rw-r--r--t/primary-prefix-couples-force-valid.sh2
-rw-r--r--t/python-virtualenv.sh9
-rw-r--r--t/recurs-user-keep-going.sh14
-rw-r--r--t/recurs-user-phony.sh3
-rw-r--r--t/recurs-user-wrap.sh1
-rw-r--r--t/relativize.tap8
-rw-r--r--t/remake-after-acinclude-m4.sh11
-rw-r--r--t/remake-after-aclocal-m4.sh11
-rw-r--r--t/remake-after-configure-ac.sh11
-rw-r--r--t/remake-after-makefile-am.sh11
-rw-r--r--t/remake-all-1.sh7
-rw-r--r--t/remake-all-2.sh75
-rw-r--r--t/remake-config-status-dependencies.sh2
-rw-r--r--t/remake-configure-dependencies.sh2
-rw-r--r--t/remake-deleted-m4-file.sh2
-rw-r--r--t/remake-gnulib-add-acsubst.sh4
-rw-r--r--t/remake-gnulib-add-header.sh1
-rw-r--r--t/remake-gnulib-remove-header.sh5
-rw-r--r--t/remake-include-aclocal.sh7
-rw-r--r--t/remake-include-configure.sh7
-rw-r--r--t/remake-include-makefile.sh7
-rw-r--r--t/remake-maintainer-mode.sh80
-rw-r--r--t/remake-makefile-intree.sh2
-rw-r--r--t/remake-makefile-vpath.sh2
-rw-r--r--t/remake-mild-stress.sh39
-rw-r--r--t/remake-moved-m4-file.sh2
-rw-r--r--t/remake-not-after-make-dist.sh4
-rw-r--r--t/remake-recurs-user.sh1
-rw-r--r--t/remake-renamed-am.sh1
-rw-r--r--t/remake-renamed-m4-file.sh3
-rw-r--r--t/remake-renamed-m4-macro-and-file.sh2
-rw-r--r--t/remake-renamed-m4-macro.sh2
-rw-r--r--t/remake-subdir-from-subdir.sh1
-rw-r--r--t/remake-subdir-gnu.sh1
-rw-r--r--t/remake-subdir-grepping.sh5
-rw-r--r--t/remake-subdir-long-time.sh4
-rw-r--r--t/remake-subdir.sh10
-rw-r--r--t/remake-subdir2.sh82
-rw-r--r--t/remake-timing-bug-pr8365.sh7
-rw-r--r--t/repeated-options.sh57
-rw-r--r--t/self-check-dir.tap2
-rw-r--r--t/self-check-shell-no-trail-bslash.sh3
-rw-r--r--t/serial-tests.sh62
-rw-r--r--t/silent-c.sh40
-rw-r--r--t/silent-configsite.sh4
-rw-r--r--t/silent-custom.sh7
-rw-r--r--t/silent-cxx.sh35
-rw-r--r--t/silent-f77.sh28
-rw-r--r--t/silent-f90.sh28
-rw-r--r--t/silent-lex.sh26
-rw-r--r--t/silent-lt.sh39
-rw-r--r--t/silent-many-languages.sh74
-rw-r--r--t/silent-nested-vars.sh144
-rw-r--r--t/silent-texi.sh6
-rw-r--r--t/silent-yacc.sh37
-rw-r--r--t/specflg-dummy.sh8
-rw-r--r--t/specflg6.sh6
-rw-r--r--t/spell.sh29
-rw-r--r--t/spell2.sh33
-rw-r--r--t/spy-autovars.sh58
-rw-r--r--t/spy-double-colon.sh106
-rw-r--r--[-rwxr-xr-x]t/spy-foreach.sh (renamed from contrib/t/help-multilib.sh)27
-rw-r--r--t/spy-pattern-rules.sh92
-rw-r--r--t/spy-phony.sh57
-rw-r--r--t/spy-trailing-backlash.sh72
-rw-r--r--t/spy-var-append.sh57
-rw-r--r--t/spy-vpath-rewrite.sh150
-rw-r--r--t/spy-wildcard.sh (renamed from t/colneq3.sh)28
-rw-r--r--t/stdinc-no-repeated.sh (renamed from t/tagsub.sh)42
-rw-r--r--t/subdir-keep-going-pr12554.sh16
-rw-r--r--t/subdir-order.sh15
-rw-r--r--t/subdir.sh3
-rw-r--r--t/subobj-c.sh119
-rw-r--r--t/subobj-clean-lt-pr10697.sh1
-rw-r--r--t/subobj-clean-pr10697.sh1
-rw-r--r--t/subobj-cxx-grep.sh (renamed from t/subobj2.sh)13
-rw-r--r--t/subobj-cxx.sh120
-rw-r--r--t/subobj-libtool.sh93
-rw-r--r--t/subobj.sh61
-rw-r--r--t/subobj10.sh22
-rw-r--r--t/subobj11a.sh19
-rw-r--r--t/subobj11b.sh82
-rw-r--r--t/subobj11c.sh48
-rw-r--r--t/subobj5.sh5
-rw-r--r--t/subobj6.sh85
-rw-r--r--t/subobj8.sh4
-rw-r--r--t/subobj9.sh6
-rw-r--r--t/subpkg-yacc.sh26
-rw-r--r--t/subst-no-trailing-empty-line.sh93
-rw-r--r--t/substref.sh4
-rw-r--r--t/suffix-chain.sh (renamed from t/suffix-chain.tap)37
-rw-r--r--t/suffix-custom-default-ext.sh70
-rw-r--r--t/suffix-custom-link.sh74
-rw-r--r--t/suffix-custom-pr14441.sh56
-rw-r--r--t/suffix-custom-subobj-and-specflg.sh22
-rw-r--r--t/suffix-custom-subobj.sh13
-rw-r--r--t/suffix-custom.sh104
-rw-r--r--t/suffix-hdr.sh82
-rw-r--r--t/suffix-obj.sh (renamed from t/suffix6c.sh)15
-rw-r--r--t/suffix-rules-old-fashioned.sh (renamed from t/libtool2.sh)53
-rw-r--r--t/suffix.sh16
-rw-r--r--t/suffix10.sh (renamed from t/suffix10.tap)42
-rw-r--r--t/suffix11.tap82
-rw-r--r--t/suffix2.sh20
-rw-r--r--t/suffix3.sh68
-rw-r--r--t/suffix3.tap82
-rw-r--r--t/suffix4.sh39
-rw-r--r--t/suffix5.sh7
-rw-r--r--t/suffix6.sh63
-rw-r--r--t/suffix6b.sh75
-rw-r--r--t/suffix7.sh37
-rw-r--r--t/suffix8.sh (renamed from t/suffix8.tap)60
-rw-r--r--t/suffix9.sh8
-rw-r--r--t/tags-id.sh (renamed from t/tags.sh)19
-rw-r--r--t/tags-pr12372.sh4
-rw-r--r--t/tags2.sh42
-rw-r--r--t/tap-bad-prog.tap2
-rw-r--r--t/tap-basic.sh15
-rw-r--r--t/tap-color.sh38
-rw-r--r--t/tap-common-setup.sh11
-rw-r--r--t/tap-deps.sh2
-rw-r--r--t/tap-diagnostic-custom.sh2
-rw-r--r--t/tap-diagnostic.sh4
-rw-r--r--t/tap-doc.sh6
-rw-r--r--t/tap-doc2.sh5
-rw-r--r--t/tap-lazy-check.sh (renamed from t/tap-recheck-logs.sh)23
-rw-r--r--t/tap-log.sh4
-rw-r--r--t/tap-more.sh24
-rw-r--r--t/tap-more2.sh2
-rw-r--r--t/tap-no-spurious-summary.sh44
-rw-r--r--t/tap-passthrough-exit.sh2
-rw-r--r--t/tap-passthrough.sh4
-rw-r--r--t/tap-recheck.sh12
-rw-r--r--t/tap-signal.tap14
-rw-r--r--t/tap-todo-skip.sh2
-rw-r--r--t/targetclash.sh5
-rw-r--r--t/test-driver-acsubst.sh7
-rw-r--r--t/test-driver-cond.sh7
-rw-r--r--t/test-driver-create-log-dir.sh7
-rw-r--r--t/test-driver-custom-multitest-recheck.sh10
-rw-r--r--t/test-driver-custom-multitest-recheck2.sh37
-rw-r--r--t/test-driver-custom-multitest.sh9
-rw-r--r--t/test-driver-custom-no-extra-driver.sh63
-rw-r--r--t/test-driver-custom-xfail-tests.sh4
-rw-r--r--t/test-driver-custom.sh7
-rw-r--r--t/test-driver-fail.sh10
-rw-r--r--t/test-driver-is-distributed.sh4
-rw-r--r--t/test-driver-strip-vpath.sh13
-rw-r--r--t/test-driver-trs-suffix-registered.sh57
-rw-r--r--t/test-extensions-cond.sh107
-rw-r--r--t/test-extensions-dynamic.sh94
-rw-r--r--t/test-extensions-funny-chars.sh126
-rw-r--r--t/test-extensions-invalid.sh (renamed from t/autodist-acconfig.sh)32
-rw-r--r--t/test-extensions.sh71
-rw-r--r--t/test-log.sh4
-rw-r--r--t/test-metadata-global-log.sh2
-rw-r--r--t/test-metadata-global-result.sh47
-rw-r--r--t/test-metadata-recheck.sh3
-rw-r--r--t/test-metadata-results.sh28
-rw-r--r--t/test-missing.sh22
-rw-r--r--t/test-missing2.sh52
-rw-r--r--t/test-trs-basic.sh28
-rw-r--r--t/test-trs-recover-parallel.sh (renamed from t/autodist-acconfig-no-subdir.sh)55
-rw-r--r--t/test-trs-recover.sh8
-rw-r--r--t/test-trs-recover2.sh118
-rw-r--r--t/testsuite-summary-count-many.sh2
-rw-r--r--t/transform3.sh4
-rw-r--r--t/triplet.sh73
-rw-r--r--t/txinfo-add-missing-and-dist.sh4
-rw-r--r--t/txinfo-builddir.sh4
-rw-r--r--t/txinfo-dvi-recurs.sh39
-rw-r--r--t/txinfo-many-output-formats-vpath.sh3
-rw-r--r--t/txinfo-many-output-formats.sh3
-rw-r--r--t/txinfo-no-extra-dist.sh8
-rw-r--r--t/txinfo-no-repeated-targets.sh41
-rw-r--r--t/txinfo-other-suffixes.sh41
-rw-r--r--t/txinfo-setfilename-repeated.sh4
-rw-r--r--t/txinfo-tex-dist.sh4
-rw-r--r--t/txinfo-unrecognized-extension-2.sh (renamed from t/commen11.sh)27
-rw-r--r--t/txinfo-vtexi.sh6
-rw-r--r--t/txinfo-vtexi3.sh4
-rw-r--r--t/txinfo-vtexi4.sh4
-rw-r--r--t/uninstall-fail.sh8
-rw-r--r--t/vala-headers.sh2
-rw-r--r--t/vala-libs.sh2
-rw-r--r--t/vala-mix.sh2
-rw-r--r--t/vala-mix2.sh2
-rw-r--r--t/vala-non-recursive-setup.sh41
-rw-r--r--t/vala-parallel.sh2
-rw-r--r--t/vala-per-target-flags.sh2
-rw-r--r--t/vala-recursive-setup.sh2
-rw-r--r--t/vala-vapi.sh2
-rw-r--r--t/vala-vpath.sh2
-rw-r--r--t/var-undef-append.sh100
-rw-r--r--t/vars-assign.sh (renamed from t/depend6.sh)40
-rw-r--r--t/vars3.sh72
-rw-r--r--t/vartar.sh14
-rw-r--r--t/vartypo2.sh69
-rw-r--r--t/vartypos-deps.sh101
-rw-r--r--t/vartypos-whitelist.sh117
-rw-r--r--t/vartypos.sh137
-rw-r--r--t/verbatim.sh162
-rw-r--r--t/version7.sh1
-rw-r--r--t/vpath-built-sources.sh73
-rw-r--r--t/vpath-rewrite.sh100
-rw-r--r--t/vpath.sh20
-rw-r--r--t/warning-groups-win-over-strictness.sh8
-rw-r--r--t/warnings-override.sh14
-rw-r--r--t/warnings-precedence.sh14
-rw-r--r--t/warnings-strictness-interactions.sh12
-rw-r--r--t/warnings-win-over-strictness.sh14
-rw-r--r--t/warnopts.sh29
-rw-r--r--t/werror.sh14
-rw-r--r--t/werror2.sh4
-rw-r--r--t/werror3.sh8
-rw-r--r--t/yacc-auxdir.sh4
-rw-r--r--t/yacc-basic.sh4
-rw-r--r--t/yacc-bison-skeleton-cxx.sh2
-rw-r--r--t/yacc-bison-skeleton.sh2
-rw-r--r--t/yacc-cxx.sh4
-rw-r--r--t/yacc-d-basic.sh4
-rw-r--r--t/yacc-d-cxx.sh5
-rw-r--r--t/yacc-deleted-headers.sh51
-rw-r--r--t/yacc-depend2.sh3
-rw-r--r--t/yacc-dist-nobuild-subdir.sh13
-rw-r--r--t/yacc-dist-nobuild.sh4
-rw-r--r--t/yacc-grepping2.sh1
-rw-r--r--t/yacc-lex-cxx-alone.sh116
-rw-r--r--t/yacc-line.sh6
-rw-r--r--t/yacc-mix-c-cxx.sh16
-rw-r--r--t/yacc-nodist.sh9
-rw-r--r--t/yacc-pr204.sh83
-rw-r--r--t/yacc-subdir.sh1
-rw-r--r--t/yacc-subobj-nodep.sh70
-rw-r--r--t/yflags-cmdline-override.sh2
-rw-r--r--t/yflags-cxx.sh2
-rw-r--r--t/yflags.sh2
649 files changed, 12990 insertions, 60815 deletions
diff --git a/.gitignore b/.gitignore
index 19da02f71..8f4bb192c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+/lib/am-ng
/announcement
/maintainer/autoconf-*/
/maintainer/autoconf-*.tar.gz
@@ -44,9 +45,9 @@
/t/wrap/aclocal-1.*
/t/wrap/automake-1.*
/t/ax/test-defs.sh
+/testsuite-autodeps.am
/t/ax/shell-no-trail-bslash
/t/ax/cc-no-c-o
-/t/testsuite-part.am
/t/*-w.tap
/t/*-w.sh
/t/depcomp-*.tap
@@ -60,6 +61,7 @@
/t/pm/*.trs
/t/perf/*.log
/t/perf/*.trs
+.am/
cscope.files
cscope.in.out
cscope.out
diff --git a/AUTHORS b/AUTHORS
index a3c5c0113..fbe165164 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,27 +1,2 @@
-Authors of GNU Automake.
-
-David Mackenzie
- First version of most ".am" files.
- Wrote sh version of automake.in.
-
-Tom Tromey
- Touched all ".am" files.
- Rewrote automake.in
-
-Alexandre Oliva
- Some of the user-side dependency tracking system.
- Some more random hacking.
-
-Alexandre Duret-Lutz
- Major overhaul of everything.
- Maintenance since 2002.
-
-Ralf Wildenhues
- Random breakage.
- Maintenance since 2006.
-
Stefano Lattarini
- Testsuite overhaul.
- TAP support and custom testsuite drivers.
- Random breakage.
- De-facto maintenance since 2012.
+ Started the Automake-NG fork.
diff --git a/GNUmakefile b/GNUmakefile
index 9694dc8be..c298552a0 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -35,6 +35,7 @@ config-status := $(wildcard ./config.status)
BOOTSTRAP_SHELL ?= /bin/sh
export BOOTSTRAP_SHELL
+unexport CDPATH
# Allow the user (or more likely the developer) to ask for a bootstrap
# of the package.
@@ -82,7 +83,7 @@ bootstrap:
ifdef other-targets
$(other-targets): restart
.PHONY: $(other-targets) restart
-restart: bootstrap; $(MAKE) $(AM_MAKEFLAGS) $(other-targets)
+restart: bootstrap; $(MAKE) $(other-targets)
endif
endif # ! bootstrap in $(MAKECMDGOALS)
diff --git a/HACKING b/HACKING
index 1ced6b2cd..fb5319129 100644
--- a/HACKING
+++ b/HACKING
@@ -50,16 +50,17 @@
============================================================================
= Naming
-* We've adopted the convention that internal AC_SUBSTs and make variables
- should be named with a leading 'am__', and internally generated targets
- should be named with a leading 'am--'. This convention, although in
- place from at least February 2001, isn't yet universally used.
- But all new code should use it.
+* Internal make variables and functions should be named following patterns
+ like 'am.tty-colors' or 'am.dist.files'.
- We used to use '_am_' as the prefix for an internal AC_SUBSTs.
- However, it turns out that NEWS-OS 4.2R complains if a Makefile
- variable begins with the underscore character. Yay for them.
- I changed the target naming convention just to be safe.
+* Internal AC_SUBSTs should be named with a leading 'am__'.
+
+* Private make targets should be named with a leading 'am--'.
+
+* WARNING! This convention, introduced recently (since July 2012),
+ isn't yet universally used. But all new code should use it,
+ except in those situation where that would cause spurious
+ conflicts with mainline Automake.
============================================================================
= Editing '.am' files
@@ -72,12 +73,6 @@
* Never use basename or dirname. Instead, use sed.
-* Do not use 'cd' within back-quotes, use '$(am__cd)' instead.
- Otherwise the directory name may be printed, depending on CDPATH.
- More generally, do not ever use plain 'cd' together with a relative
- directory that does not start with a dot, or you might end up in one
- computed with CDPATH.
-
* For install and uninstall rules, if a loop is required, it should be
silent. Then the body of the loop itself should print each "important"
command it runs. The printed commands should be preceded by a single
diff --git a/Makefile.am b/Makefile.am
index 5fb94e606..a4a8e1ab7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in
-## Makefile for Automake.
+## Makefile for Automake NG.
# Copyright (C) 1995-2015 Free Software Foundation, Inc.
@@ -32,32 +32,26 @@ nodist_noinst_SCRIPTS =
## Top level. ##
## ------------ ##
+# Distribution formats.
+AM_DIST_FORMATS = gzip xz
+
EXTRA_DIST += \
bootstrap.sh \
GNUmakefile \
HACKING \
- PLANS
+ NG-NEWS \
+ PLANS \
+ $(gitlog_to_changelog_fixes)
# We want a handful of substitutions to be fully-expanded by make;
# then use config.status to substitute the remainder where a single
# expansion is sufficient. We use a funny notation here to avoid
# configure substitutions in our text.
-do_subst = ( sed \
- -e "s,[@]configure_input[@],Generated from $$in; do not edit by hand.,g" \
- -e 's,[@]datadir[@],$(datadir),g' \
- -e 's,[@]amdir[@],$(amdir),g' \
- -e 's,[@]bindir[@],$(bindir),g' \
- -e 's,[@]docdir[@],$(docdir),g' \
- -e 's,[@]pkgvdatadir[@],$(pkgvdatadir),g' \
- -e 's,[@]scriptdir[@],$(scriptdir),g' \
- -e 's,[@]automake_acdir[@],$(automake_acdir),g' \
- -e 's,[@]system_acdir[@],$(system_acdir),g' \
-## Hack to avoid a spurious substitution in the Automake script (part 1).
- -e 's,[@]am__isrc[@],!!@!!am__isrc!!@!!,g' \
- | $(SHELL) ./config.status --file=- \
-## Hack to avoid a spurious substitution in the Automake script (part 2).
- | sed -e 's,!!@!!am__isrc!!@!!,@''am__isrc@,g' \
- )
+do_subst = sed $(strip \
+ $(foreach x, data am bin doc pkgvdata script automake_ac system_ac, \
+ -e 's,@$(x)dir@,$($(x)dir),g')) \
+ -e "s,[@]configure_input@,Generated from $(<F) do not edit by hand.,g" \
+ <"$<" | $(SHELL) ./config.status --file=- >"$@-t"
# Generated files shouldn't contain unexpanded '@substitutions@', and
# should be made read-only, to prevent them from being edited by mistake
@@ -94,27 +88,8 @@ ChangeLog:
EXTRA_DIST += \
contrib/tap-driver.pl \
contrib/check-html.am \
- contrib/multilib/README \
- contrib/multilib/config-ml.in \
- contrib/multilib/symlink-tree \
- contrib/multilib/multilib.am \
- contrib/multilib/multi.m4 \
contrib/README
-# Older files, kept mostly for historical interest.
-EXTRA_DIST += \
- old/ChangeLog-tests \
- old/ChangeLog.96 \
- old/ChangeLog.98 \
- old/ChangeLog.00 \
- old/ChangeLog.01 \
- old/ChangeLog.02 \
- old/ChangeLog.03 \
- old/ChangeLog.04 \
- old/ChangeLog.09 \
- old/ChangeLog.11 \
- old/TODO
-
# Maintainer-specific files and scripts.
EXTRA_DIST += \
maintainer/am-ft \
diff --git a/NG-NEWS b/NG-NEWS
new file mode 100644
index 000000000..312ef132a
--- /dev/null
+++ b/NG-NEWS
@@ -0,0 +1,466 @@
+This file lists the major changes and differences between mainstream
+Automake and Automake-NG. Be aware that there is likely a plethora
+of other minor differences and incompatibilities *not* listed here.
+
+
+Automatic dependency tracking support
+=====================================
+
+* The generated Makefile.in files use "-include", not "include", to
+ read the '.Po' files containing automatically computed dependency
+ information.
+
+* We unconditionally assume that the "include" and "-include"
+ directives can be used in the generated Makefiles. Accordingly,
+ the internal m4 macro 'AM_MAKE_INCLUDE' and AC_SUBST'd variables
+ 'am__include' and 'am__quote' have been removed.
+
+* The makefile fragments files containing automatically computed
+ dependency information are created at make runtime by Makefile
+ recipes, not at configure time by config.status. Accordingly,
+ the special config.status argument 'depfiles' is not supported
+ anymore.
+
+
+Silent rules
+============
+
+* The silent rules support has been simplified to take advantage
+ of more GNU make features. Among other things, the AC_SUBST'd
+ variables '@AM_V@' and'@AM_DEFAULT_V@' have been removed. Now,
+ when defining uses custom silent rules, you should do something
+ like:
+
+ # Modern correct way.
+ pkg_verbose = $(pkg_verbose/$(V))
+ pkg_verbose/0 = @echo PKG-GEN $@;
+ pkg_verbose/1 =
+
+ while the old idiom would have been something like:
+
+ # Old obsolete way, won't work anymore.
+ pkg_verbose = $(pkg_verbose_@AM_V@)
+ pkg_verbose_ = $(pkg_verbose_@AM_DEFAULT_V@)
+ pkg_verbose_0 = @echo PKG-GEN $@;
+
+
+Warnings and diagnostic
+=======================
+
+* Automake does not warn anymore about:
+
+ - non-POSIX variable names, like "$(dash-separated)" or "$(stem/base)";
+
+ - nested variable expansions, like "$(foo$(V))";
+
+ - variable definitions with indirections, like "var$(i) = value";
+
+ - calls to make functions, whether built-in ones like "$(wildcard *.c)"
+ or user-defined ones like "$(call my-func, arg1, arg2)".
+
+ - pattern rules in GNU make style ("%.o: %.c").
+
+ - variable definitions with ":=", as in "foo := $(immediate-evaluation)".
+
+ - some issues specific to BSD make.
+
+* The 'portability-recursive' warning category is obsolete, and has been
+ removed.
+
+* Automake-NG is less smart than mainline Automake in detecting some kind
+ of possible typos or suspicious usages at automake runtime. This is due
+ to the fact that more processing and logic takes place in the generated
+ Makefiles rather than in the automake script, so that the latter has
+ access to less context and information.
+
+* Diagnostic about possible typos in '_SOURCES', '_LIBADD, '_LDFLAGS',
+ '_LDADD' and '_DEPENDENCIES' variables is now done at make runtime
+ rather than at automake runtime. In case some (or all) such diagnostic
+ is undesired, it can be silenced by adding the affected variables to
+ the 'AM_VARTYPOS_WHITELIST' variable, as in:
+
+ bin_PROGRAMS = cp mv
+ copy_LDADD = -lselinux -lrt -acl
+ cp_LDADD = $(copy_LDADD)
+ mv_LDADD = $(copy_LDADD)
+ # Without this, the generated Makefile would complain that
+ # no program or library has 'copy' as canonical name.
+ AM_VARTYPOS_WHITELIST = copy_LDADD
+
+
+Compilation and Object Files
+=============================
+
+* If a source file is placed in a subdirectory, the corresponding compiled
+ object will always be put into the subdirectory named after the source
+ file, rather than in the current directory. For instance, 'src/file.c'
+ and 'src/file.f90' will be compiled to 'src/file.o', and 'sub/dir/mu.cc'
+ will be compiled to 'sub/dir/mu.o'.
+ That is, Automake-NG will unconditionally behave as Automake would do if
+ its 'subdir-objects' option were active.
+
+
+Serial testsuite harness (obsolescent)
+======================================
+
+* The $(TESTS) and $(XFAIL_TESTS) variables are no longer rewritten for
+ $(EXEEXT) appending. The use of compiled programs in $(TESTS) and
+ $(XFAIL_TESTS) still works as before though, even on systems where
+ $(EXEEXT) is non-empty.
+
+
+Parallel testsuite harness
+==========================
+
+* Automake no longer automatically generate the definition of 'LOG_COMPILE'
+ variables. These have always been meant for internal use only anyway.
+
+* The $(TESTS) and $(XFAIL_TESTS) variables are no longer rewritten for
+ $(EXEEXT) appending. The use of compiled programs in $(TESTS) still
+ works as before though, even on systems where $(EXEEXT) is non-empty,
+ thanks to a careful use of pattern rules.
+
+* The new implementation of the parallel-tests harness tries to defer
+ as much as possible processing on the $(TESTS), $(XFAIL_TESTS) and
+ $(TEST_EXTENSIONS) variable at make runtime, rather than doing it at
+ automake time. This has several positive effects (described below),
+ but also entails a minor annoyance: due to implementation reasons, the
+ 'test-driver' auxiliary script is now always required and distributed,
+ even if no test script actually uses it as its LOG_DRIVER script.
+ This is not a big deal in practice, since as of today, all the real
+ world packages out there actually use 'test-driver' for most (if not
+ all) of their tests (the introduction of TAP support in mainstream
+ automake being too recent for those packages to have had time to phase
+ out their protocol-less tests, assuming they wanted to -- which is
+ usually not the case either).
+
+* The parallel testsuite harness realizes whether an entry of $(TESTS)
+ start with $(srcdir) (as in "TESTS = $(srcdir)/foo.test"), and manages
+ to correctly create the corresponding '.log' and '.trs' files in the
+ build directory rather than in the source directory.
+
+* The contents of $(TESTS) are mostly analyzed at make runtime rather
+ than at automake runtime, so that it is now possible to use GNU make
+ advanced features (like specific builtins or user-defined functions)
+ in the definition of $(TESTS); for example, the following should now
+ work as expected:
+
+ TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh)
+
+* The contents of $(TEST_EXTENSIONS) are mostly analyzed at make runtime
+ rather than at automake runtime, so that it is now possible to use
+ Automake conditionals and GNU make advanced features in the definition
+ of $(TEST_EXTENSIONS); for example, the following should now work as
+ expected:
+
+ TEST_EXTENSIONS = $(sort $(suffix $(TESTS)))
+ if SUPPORT_SHELL_TESTS
+ TEST_EXTENSIONS += .sh
+ endif
+
+* We are more liberal and lenient in accepting TEST_EXTENSIONS entries:
+ it's enough that they start with a dot to be considered valid. However,
+ using overly "funny" characters (like '!' or '@') could cause problems,
+ so the user is still advised to limit himself to the use of alphanumeric
+ characters, plus eventually '.', '-', and '_'.
+
+* Errors about invalid content of $(TEST_EXTENSIONS) are reported at
+ make runtime, not auto Automake runtime.
+
+* It is no longer possible to override TEST_LOGS at make runtime as a
+ mean to redefine the list of tests to be run.
+
+ # This won't work anymore!
+ make check TESTS_LOGS="foo.log bar.log baz.log"
+
+ But it's still possible do so overriding TESTS at make runtime; and
+ in this case (as was the case for TEST_LOGS overriding), it is not
+ necessary to specify the extensions of the tests to be run:
+
+ # This will work even if complete names of the tests are (say)
+ # "foo.test", "bar.test$(EXEEXT)" and "baz$(EXEEXT)".
+ make check TESTS="foo bar baz"
+
+* The use of 'RECHECK_LOGS' is no longer supported. Thus, to lazily
+ re-run only the tests whose '.trs' or '.log' files are out-of-date,
+ one must now use:
+
+ make check AM_LAZY_CHECK=yes # New valid API.
+
+ instead of:
+
+ make check RECHECK_LOGS="" # Old API, won't work anymore.
+
+* Per-suffix dependencies for test cases can be specified through
+ variables "<ext>_LOG_DEPENDENCIES" (this being simply "LOG_DEPENDENCIES"
+ for suffix-less tests).
+
+
+Distribution
+============
+
+* "Bare" wildcards are no longer usable in $(EXTRA_DIST):
+
+ EXTRA_DIST = $(srcdir)/doc/*.txt # This won't work anymore.
+
+ You'll have to use the $(wildcard) GNU make builtin instead, as in:
+
+ EXTRA_DIST = $(wildcard $(srcdir)/doc/*.txt) # Good.
+
+ or even (for a better support of VPATH builds):
+
+ EXTRA_DIST = $(wildcard doc/*.txt $(srcdir)/doc/*.txt) # Better.
+
+* The make variables $(DISTFILES), $(DIST_COMMON), $(DIST_SOURCES) and
+ $(DIST_ARCHIVES) had never been documented in mainline Automake, and
+ were always intended to be internal variables. But that was not clear
+ from their names. So we have renamed rename like this:
+
+ DISTFILES => am.dist.all-files
+ DIST_COMMON => am.dist.common-files
+ DIST_SOURCES => am.dist.sources
+ DIST_ARCHIVES => am.dist.default-archives
+
+ Do not use any of these variables in your Makefiles!
+
+* Support for distribution archived in the '.shar.gz' and '.tar.Z' formats
+ have been removed; and with them the targets 'dist-shar' and 'dist-tarZ'.
+
+* The API to specify the formats of distribution tarballs has been changed
+ completely.
+
+ Instead of using the various 'dist-*' automake options, the developer is
+ now expected to specify the default formats of its distribution tarballs
+ with the special variable AM_DIST_FORMATS; for example, where once would
+ have been:
+
+ AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
+
+ now it must be:
+
+ AM_DIST_FORMATS = gzip bzip2 zip
+
+ and similarly, where once would have been:
+
+ AUTOMAKE_OPTIONS = no-dist-gzip dist-bzip2 dist-xz
+
+ now is it simply:
+
+ AM_DIST_FORMATS = bzip2 xz
+
+* The various 'dist-*' targets (dist-gzip, dist-xz, dist-lzip, dist-bzip2
+ and dist-gz) has been removed. If the user wants to generate tarballs
+ for formats not specified by the default AM_DIST_FORMATS, he can simply
+ override that variable dynamically:
+
+ # Will generate a '.zip' archive and a '.tar.xz' archive, and not
+ # further ones.
+ make dist AM_DIST_FORMATS='zip xz'
+
+* The DIST_TARGETS variable has been removed (as a side-effect of the
+ previous change).
+
+
+Texinfo
+=======
+
+* Extension-less info files are no longer supported (mainline Automake
+ has been warning against them since version 1.13.2, albeit it continues
+ to support them for backward-compatibility).
+
+* The only accepted suffix for input Texinfo files is now '.texi'; the
+ once-accepted values '.txi' and '.texinfo' are no longer handled, and
+ their use will trigger an error (mainline Automake has been warning
+ against these suffixes since version 1.13.2, albeit it continues to
+ support them for backward-compatibility).
+
+* Disabling distribution of generated '.info' files be re-defining the
+ 'dist-info' target, as in:
+
+ dist-info:
+ @:
+
+ (which has always been an undocumented hack in Automake) no longer
+ works. We are still considering whether to make an equivalent
+ capability available with a new, cleaner and documented API.
+
+
+Obsolete Features Removed
+=========================
+
+* If the sources for a target library like 'libfoo.a' or 'libbar.la' are
+ not explicitly specified, mainline Automake looks also (respectively)
+ for the files 'libfoo_a.c' or 'libbar_la.c' as possible default sources.
+ Such a behaviour is deprecated though, and is present only for the sake
+ of backward-compatibility. Automake-NG has thus dropped the behaviour,
+ and will only look for (respectively) 'libfoo.c' and 'libbar.c' as
+ possible default sources.
+
+* Automake-NG has removed automatic handling and distribution of the
+ obsolescent 'acconfig.h', 'config.h.top' and 'config.h.bot' files.
+ One should instead use the modern macros 'AH_VERBATIM' and 'AH_TEMPLATE',
+ as recommended in the Autoconf manual (as of Autoconf 2.69, chapter
+ "Obsolete Constructs", section "acconfig.h").
+
+* The 'mkinstalldirs' script is no longer installed, distributed, nor
+ provided; its same effects can be obtained by "install-sh -d" instead.
+ Similarly, the $(mkinstallscripts) make variable is no longer defined;
+ one should use $(MKDIR_P) instead.
+
+* The Automake-defined internal make variable '$(ACLOCAL_M4)' has been
+ renamed to '$(am.remake.aclocal-m4)', and should be considered an
+ internal detail.
+
+* The variables $(target_triplet), $(host_triplet) and $(build_triplet),
+ which were redundant because aliases respectively for the variables
+ $(target), $(host) and $(build), have been removed. Simply use this
+ latter variables.
+
+* Threaded automake execution (as triggered by $AUTOMAKE_JOBS) has been
+ removed altogether. Exporting AUTOMAKE_JOBS to in the environment of
+ Automake will now have no effect.
+
+* Support for "maintainer mode" has been removed, and rules to remake
+ maintainer-specific files are now always active. The 'missing' script
+ should till take care of warning users which find themselves in the
+ situation of having to rebuild some maintainer-specific files but
+ missing the relevant maintainer-specific tools (or having too old
+ versions thereof).
+
+* The $(RECURSIVE_CLEAN_TARGETS) variable (never documented, and
+ always intended to be an internal detail) has been removed, its
+ content merged into the $(RECURSIVE_TARGETS) variable.
+
+
+Source Files with Unknown Extensions
+====================================
+
+* Automake-NG used a much simpler and dumber algorithm that mainline
+ Automake to determine how to build an object associated to a source
+ whose extension in not one of those handled internally by automake.
+
+ The new algorithm goes like this. For any file listed in a '_SOURCES'
+ variable whose suffix is not recognized internally by automake (in
+ contrast to known suffixes like '.c' or '.f90'), automake will obtain
+ the expected target object file by stripping the suffix from the source
+ file, and appending either '.$(OBJEXT)' or '.lo' to it (which one depends
+ on whether the object is built as part of a program, a static library, or
+ a libtool library). It will then be assumed that the user has defined a
+ rule (either explicit or defined from a pattern rule) which can turn that
+ source file into this corresponding object file. For example, on an
+ input like:
+
+ bin_PROGRAMS = foo
+ foo_SOURCES = mu.ext1 fu.ext1 zu.ext1
+
+ automake will expect that the three objects mu.$(OBJEXT), fu.$(OBJEXT)
+ and zu.$(OBJEXT) are to be used in the linking of the 'foo' program, and
+ that the user has provided proper recipes for all those objects to be
+ built at make time, as well as a link command for linking 'foo'. Here
+ is an example of how those declarations could look like:
+
+ %.$(OBJEXT): %.ext1
+ my-compiler -c -o $@ $<
+ foo_LINK = $(CC) -o $@
+
+ In this particular case, the idiom above is basically the same one that
+ would be required in mainline automake (apart for the fact that, there,
+ old-fashioned suffix rules should be used instead of pattern rules). To
+ see what is truly changed with the new algorithm, we have to look at a
+ more indirect usage.
+
+ Mainline Automake follows the chain of user-defined pattern rules to
+ determine how to build the object file deriving from a source file with
+ a custom user extension; for example, upon reading:
+
+ .zoo.cc:
+ $(preprocess) $< > $@
+ bin_PROGRAMS = foo
+ foo_SOURCES = bar.zoo
+
+ *mainline* Automake knows that it has to bring in the C++ support
+ (compilation rules, requirement for AC_PROG_CXX in configure.ac, etc),
+ and use the C++ linker to link the 'foo' executable.
+
+ But Automake-NG will *no longer follow those implicit chains* of
+ pattern rules; so that the idiom above will have to be re-worked
+ like follows to preserve its intent and behaviour:
+
+ %.cc: %.zoo:
+ $(preprocess) $< > $@
+ bin_PROGRAMS = foo
+ # The use of '.cc' is required to let Automake know to bring in
+ # stuff for the handling of C++ compilation, and to use the C++
+ # linker to build 'foo'.
+ nodist_foo_SOURCES = bar.cc
+ EXTRA_DIST = foo.zoo
+
+ And there is another major consequence of this change of semantics: now
+ one can no longer use "header files" with extensions unrecognized to
+ Automake; for example, an usage like this will cause errors at make
+ runtime:
+
+ # Won't work anymore.
+ %.h: %.my-hdr
+ $(preprocess-header) $< >$@
+ foo_SOURCES = foo.c bar.my-hdr
+ BUILT_SOURCES = bar.h
+
+ errors that might look like:
+
+ make[1]: *** No rule to make target 'bar.o', needed by 'zardoz'. Stop.
+
+ The simple workaround is to place the "non-standard" headers in EXTRA_DIST
+ rather than in a _SOURCES variable:
+
+ # This will work.
+ %.h: %.my-hdr
+ $(preprocess-header) $< >$@
+ foo_SOURCES = foo.c foo.h
+ EXTRA_DIST = foo.my-hdr
+ BUILT_SOURCES = foo.h
+
+
+Miscellaneous
+=============
+
+* Since GNU make is smart enough to correctly pass the values of macros
+ redefined on the command line to sub-make invocations, the "special"
+ variable $(AM_MAKEFLAGS) has been removed, and its content is no more
+ passed to recursive make invocations.
+
+* The make variable 'CONFIG_HEADER' had never been documented in mainline
+ Automake, and since when the support for user setting of it has been
+ removed (in favour of the use of the 'AC_CONFIG_HEADERS' autoconf macro
+ in configure.ac), it has been intended as an internal variable only.
+ So we've renamed it to 'AM_CONFIG_HEADERS'. Do not override its value
+ in your Makefiles!
+
+* The Automake-generated make variable 'DEFAULT_INCLUDES', used internally
+ in compilation rules and basically never documented in mainline Automake,
+ has been renamed to AM_DEFAULT_INCLUDES, to avoid impinging on the user's
+ namespace. Do not override this variable in your Makefiles!
+
+* The Automake-generated clean targets no longer exit successfully if an
+ error occurs while removing a file or directory.
+
+* The semantic of $(BUILT_SOURCES) support has been slightly altered; now,
+ the files listed in $(BUILT_SOURCES) will be built not only before the
+ "all", "check" or "install" targets, but before *any* target.
+
+-----
+
+Copyright (C) 2012-2014 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/>.
diff --git a/README b/README
index fdf25fa0c..058ed139a 100644
--- a/README
+++ b/README
@@ -1,16 +1,111 @@
-This is Automake, a Makefile generator. It aims to be portable and
-to conform to the GNU Coding Standards for Makefile variables and
-targets.
+============================ WARNING! =====================================
+== ==
+== This is *not* mainstream Automake, but rather "Automake-NG": an ==
+== experimental, non-hostile fork of it. Automake-NG mostly differs ==
+== from mainstream Automake in that its generated makefiles only ==
+== target GNU make rather than portable make. ==
+== ==
+===========================================================================
+
+Reference to the thread kicking off this project:
+
+ "Could automake-generated Makefiles required GNU make?"
+ <http://lists.gnu.org/archive/html/automake/2011-11/msg00017.html>
+
+with partial consensus reached here:
+
+ <http://lists.gnu.org/archive/html/automake/2011-11/msg00088.htm>
+
+The discussion continued also in a thread on the gnu-prog-discuss list,
+which unfortunately is a private list dedicated to GNU maintainers, and
+thus for which no public archive is available. The title of the thread
+was "Automire: a non-hostile forking of GNU automake", and it was started
+by me (Stefano Lattarini) on 2011-12-01.
+
+-*-*-
+
+The name "Automake-NG" for this automake variant has two reasons, which
+are motivated by two apparently incompatible (but in fact only orthogonal)
+concerns:
+
+ 1. Paolo Bonzini pointed out that a backward-incompatible (even if only
+ partly so) "Automake 2" might propagate the past bad reputation of
+ the autotools w.r.t. backward-incompatibility. So the new project
+ should be a fork of automake, with a name of its own. I proposed
+ "Automire" as the name, to give credit to the Quagmire attempt,
+ while retaining the `am' namespace. But then ...
+
+ 2. Stefan Monnier noted (on the non-public gnu-prog-discuss list):
+
+ ``From where I stand, if you want the product to be successful,
+ you'll want its heritage to be very clear from the name. To me
+ "automire" doesn't remind of "automake" at all. To someone aware
+ of Quagmire, it may sound like "automatically mired in Quagmire's
+ problems". I understand that if Automake is still live on, yours
+ can't just be "Automake 3.0", but it can be "automake-ng"''
+
+ to which I (Stefano Lattarini) replied:
+
+ ``You might be right about this, especially considering that the new
+ project is planned to have two phases, in the first one of which it
+ will remain very similar to automake in APIs and features (and,
+ sadly, limitations). And `automake-ng' sounds like a good name
+ -- "ng" as in "New Generation", or more modestly, as in "Needs
+ GNUmake" ;-)''
+
+-*-*-
+
+From a private discussion with Karl Berry (slightly edited, and private as
+in "it hasn't taken place on any list, neither public nor non-public"):
+
+ Karl Berry wrote:
+ > Regardless of how it is developed (multiple git repos or whatever,
+ > that's a completely independent question), I continue to believe that
+ > the best outcome would be an "automake-2" that targets GNU make and is
+ > "mostly" compatible, for whatever definition of "mostly" makes sense.
+ >
+ OK ... [SNIP] ... I mostly agree with you about this (but for the name
+ of the project, that is), at least as a first step. Let me state my
+ plan in more precise terms (and sorry for not having done it before):
+
+ 1. First, we start refactoring the automake codebase to transform
+ it into "Automake-NG": a mostly Automake-compatible software, with
+ only marginal or minor changes in APIs, that shares a lot of code
+ and design with Automake, but whose generated Makefiles require GNU
+ make. See also point [3] at:
+ <http://lists.gnu.org/archive/html/automake/2011-01/msg00077.html>
+ Automake-NG will, where feasible, take advantage of GNU make features
+ to simplify its internals and implementation, but this will hardly
+ offer a better user experience for Makefile.am writers. See also
+ sensible Ralf's observations at:
+ <http://lists.gnu.org/archive/html/automake/2011-01/msg00053.html>
+
+ 2. If Automake-NG has been successful, we might proceed to develop
+ "Automire": a more aggressive rewrite, with profound APIs, design
+ and code changes, in the hope of making automire easier to use and
+ to extend (lack of extensibility on part of the user is probably
+ one of the greatest shortcoming of the current automake).
+
+ And even if we fail to finally develop Automire, I believe that
+ Automake-NG will still be by itself a worth and useful step forward.
+
+ > Presumably it will have plenty of user-level benefits, too, and not
+ > just a cleaner implementation.
+
+===========================================================================
+
+This is Automake-NG, a Makefile generator. It targets GNU make, and aims
+to conform to the GNU Coding Standards for Makefile variables and targets.
See the INSTALL file for detailed information about how to configure
-and install Automake.
+and install Automake-NG.
-Automake is a Perl script. The input files are called Makefile.am.
+Automake-NG is a Perl script. The input files are called Makefile.am.
The output files are called Makefile.in; they are intended for use
-with Autoconf. Automake requires certain things to be done in your
+with Autoconf. Automake-NG requires certain things to be done in your
configure.ac.
-Automake comes with extensive documentation; please refer to it for
+Automake-NG comes with extensive documentation; please refer to it for
more details about its purpose, features, and usage patterns.
This package also includes the "aclocal" program, whose purpose is
@@ -18,30 +113,16 @@ to generate an 'aclocal.m4' based on the contents of 'configure.ac'.
It is useful as an extensible, maintainable mechanism for augmenting
autoconf. It is intended that other package authors will write m4
macros which can be automatically used by aclocal. The documentation
-for aclocal is currently found in the Automake manual.
+for aclocal is currently found in the Automake-NG manual.
-Automake has a test suite. Use "make check" to run it. For more
+Automake-NG has a test suite. Use "make check" to run it. For more
information, see the file t/README.
-Automake has a page on the web. See:
-
- http://www.gnu.org/software/automake/
-
-Automake also has three mailing lists:
-
- * automake@gnu.org
- For general discussions of Automake and its interactions with other
- configuration/portability tools like Autoconf or Libtool.
-
- * bug-automake@gnu.org
- Where to send bug reports and feature requests.
-
- * automake-patches@gnu.org
- Where to send patches, and discuss the automake development process
- and the design of new features.
-
-To obtain more information about these list, or to subscribe to them,
-refer to <http://www.gnu.org/software/automake/#mailinglists>
+Automake-NG still doesn't have a page on the web. But it has one
+mailing list, <automake-ng@gnu.org>, that can be used for general
+discussions and to send bug reports, feature requests, and patches.
+To obtain more information about this list, or to subscribe to it,
+refer to <http://lists.gnu.org/mailman/listinfo/automake-ng/>
New releases are announced to autotools-announce@gnu.org. If you want to
be informed, subscribe to that list by following the instructions at
diff --git a/bin/Makefile.inc b/bin/Makefile.inc
index 8ec005643..4e090be50 100644
--- a/bin/Makefile.inc
+++ b/bin/Makefile.inc
@@ -51,14 +51,12 @@ uninstall-hook:
done
# These files depend on Makefile so they are rebuilt if $(VERSION),
-# $(datadir) or other do_subst'ituted variables change.
-%D%/automake: %D%/automake.in
-%D%/aclocal: %D%/aclocal.in
-%D%/automake %D%/aclocal: Makefile %D%/gen-perl-protos
+# $(datadir) or other do_subst'd variables change.
+%D%/automake %D%/aclocal: %: %.in Makefile %D%/gen-perl-protos
$(AM_V_GEN)rm -f $@ $@-t $@-t2 \
&& $(MKDIR_P) $(@D) \
## Common substitutions.
- && in=$@.in && $(do_subst) <$(srcdir)/$$in >$@-t \
+ && $(do_subst) \
## Auto-compute prototypes of perl subroutines.
&& $(PERL) -w $(srcdir)/%D%/gen-perl-protos $@-t > $@-t2 \
&& mv -f $@-t2 $@-t \
diff --git a/bin/aclocal.in b/bin/aclocal.in
index 224f8c736..9f2a41bd3 100644
--- a/bin/aclocal.in
+++ b/bin/aclocal.in
@@ -55,9 +55,6 @@ my $ac_config_macro_dirs_fallback =
'm4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])' .
'])';
-# We do not operate in threaded mode.
-$perl_threads = 0;
-
# Include paths for searching macros. We search macros in this order:
# user-supplied directories first, then the directory containing the
# automake macros, and finally the system-wide directories for
diff --git a/bin/automake.in b/bin/automake.in
index 71228e783..7b3d1c9c4 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -37,16 +37,6 @@ BEGIN
}
use Automake::Config;
-BEGIN
-{
- if ($perl_threads)
- {
- require threads;
- import threads;
- require Thread::Queue;
- import Thread::Queue;
- }
-}
use Automake::General;
use Automake::XFile;
use Automake::Channels;
@@ -136,24 +126,50 @@ use constant MAINTAINER_CLEAN => 3;
# Libtool files.
my @libtool_files = qw(ltmain.sh config.guess config.sub);
-# ltconfig appears here for compatibility with old versions of libtool.
-my @libtool_sometimes = qw(ltconfig ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh);
# Commonly found files we look for and automatically include in
-# DISTFILES.
-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 install-sh libversion.in mdate-sh
- missing mkinstalldirs py-compile texinfo.tex ylwrap),
- @libtool_files, @libtool_sometimes);
+# distributed files.
+my @common_files = (
+ qw(
+ ABOUT-GNU
+ ABOUT-NLS
+ AUTHORS
+ COPYING
+ COPYING.DOC
+ COPYING.LIB
+ COPYING.LESSER
+ ChangeLog
+ INSTALL
+ NEWS
+ README
+ THANKS
+ TODO
+ ar-lib
+ compile
+ config.guess
+ config.rpath
+ config.sub
+ depcomp
+ install-sh
+ libversion.in
+ mdate-sh
+ missing
+ py-compile
+ texinfo.tex
+ ylwrap
+ ),
+ @libtool_files,
+);
# Commonly used files we auto-include, but only sometimes. This list
# is used for the --help output only.
my @common_sometimes =
- qw(aclocal.m4 acconfig.h config.h.top config.h.bot configure
- configure.ac stamp-vti);
+ qw(
+ aclocal.m4
+ configure
+ configure.ac
+ stamp-vti
+ );
# Standard directories from the GNU Coding Standards, and additional
# pkg* directories from Automake. Stored in a hash for fast member check.
@@ -187,11 +203,6 @@ use constant COMPILE_ORDINARY => 2;
# when it's defined by Automake. We use INTERNAL in this case.
use constant INTERNAL => new Automake::Location;
-# Serialization keys for message queues.
-use constant QUEUE_MESSAGE => "msg";
-use constant QUEUE_CONF_FILE => "conf file";
-use constant QUEUE_LOCATION => "location";
-use constant QUEUE_STRING => "string";
## ---------------------------------- ##
## Variables related to the options. ##
@@ -281,9 +292,6 @@ my $libtool_new_api = 0;
# Most important AC_CANONICAL_* macro seen so far.
my $seen_canonical = 0;
-# Where AM_MAINTAINER_MODE appears.
-my $seen_maint_mode;
-
# Actual version we've seen.
my $package_version = '';
@@ -323,7 +331,7 @@ my %configure_cond = ();
# This maps extensions onto language names.
my %extension_map = ();
-# List of the DIST_COMMON files we discovered while reading
+# List of the distributed files we discovered while reading
# configure.ac.
my @configure_dist_common = ();
@@ -373,9 +381,6 @@ my %required_targets =
'install-man' => 1,
);
-# Queue to push require_conf_file requirements to.
-my $required_conf_file_queue;
-
# The name of the Makefile currently being processed.
my $am_file = 'BUG';
@@ -395,8 +400,7 @@ my $output_deps_greatest_timestamp;
# These variables are used when generating each Makefile.in.
# They hold the Makefile.in until it is ready to be printed.
my $output_vars;
-my $output_all;
-my $output_header;
+my $output_verbatim;
my $output_rules;
my $output_trailer;
@@ -410,22 +414,11 @@ my @include_stack;
# List of dependencies for the obvious targets.
my @all;
my @check;
-my @check_tests;
-
-# Keys in this hash table are files to delete. The associated
-# value tells when this should happen (MOSTLY_CLEAN, DIST_CLEAN, etc.)
-my %clean_files;
-# Keys in this hash table are object files or other files in
-# subdirectories which need to be removed. This only holds files
-# which are created by compilations. The value in the hash indicates
-# when the file should be removed.
-my %compile_clean_files;
-
-# Keys in this hash table are directories where we expect to build a
-# libtool object. We use this information to decide what directories
-# to delete.
-my %libtool_clean_directories;
+# Keys in this hash table are files and directories to delete. The
+# associated value tells when this should happen (MOSTLY_CLEAN,
+# DIST_CLEAN, etc).
+my (%clean_files, %clean_dirs);
# Value of $(SOURCES), used by tags.am.
my @sources;
@@ -442,23 +435,17 @@ my %object_map;
# libtool compilation (the COMPILE_* constants).
my %object_compilation_map;
-
-# This keeps track of the directories for which we've already
-# created dirstamp code. Keys are directories, values are stamp files.
-# Several keys can share the same stamp files if they are equivalent
-# (as are './/foo' and 'foo').
-my %directory_map;
-
# All .P files.
my %dep_files;
# This is a list of all targets to run during "make dist".
my @dist_targets;
-# Keep track of all programs declared in this Makefile, without
-# $(EXEEXT). @substitutions@ are not listed.
+# Keep track of all programs and libraries declared in this Makefile,
+# without $(EXEEXT). @substitutions@ are not listed.
my %known_programs;
my %known_libraries;
+my %known_ltlibraries;
# This keeps track of which extensions we've seen (that we care
# about).
@@ -472,8 +459,8 @@ my %language_scratch;
# handling on a per-language basis.
my %lang_specific_files;
-# List of distributed files to be put in DIST_COMMON.
-my @dist_common;
+# List of the "auto-discovered" distributed files.
+my @dist_common = ();
# This is set when 'handle_dist' has finished. Once this happens,
# we should no longer push on dist_common.
@@ -507,24 +494,6 @@ my %am_file_cache;
################################################################
-# var_SUFFIXES_trigger ($TYPE, $VALUE)
-# ------------------------------------
-# This is called by Automake::Variable::define() when SUFFIXES
-# is defined ($TYPE eq '') or appended ($TYPE eq '+').
-# The work here needs to be performed as a side-effect of the
-# macro_define() call because SUFFIXES definitions impact
-# on $KNOWN_EXTENSIONS_PATTERN which is used used when parsing
-# the input am file.
-sub var_SUFFIXES_trigger
-{
- my ($type, $value) = @_;
- accept_extensions (split (' ', $value));
-}
-Automake::Variable::hook ('SUFFIXES', \&var_SUFFIXES_trigger);
-
-################################################################
-
-
# initialize_per_input ()
# -----------------------
# (Re)-Initialize per-Makefile.am variables.
@@ -537,8 +506,7 @@ sub initialize_per_input ()
$output_deps_greatest_timestamp = 0;
$output_vars = '';
- $output_all = '';
- $output_header = '';
+ $output_verbatim = '';
$output_rules = '';
$output_trailer = '';
@@ -552,13 +520,9 @@ sub initialize_per_input ()
@all = ();
@check = ();
- @check_tests = ();
%clean_files = ();
- %compile_clean_files = ();
-
- # We always include '.'. This isn't strictly correct.
- %libtool_clean_directories = ('.' => 1);
+ %clean_dirs = ();
@sources = ();
@dist_sources = ();
@@ -566,8 +530,6 @@ sub initialize_per_input ()
%object_map = ();
%object_compilation_map = ();
- %directory_map = ();
-
%dep_files = ();
@dist_targets = ();
@@ -577,6 +539,7 @@ sub initialize_per_input ()
%known_programs = ();
%known_libraries = ();
+ %known_ltlibraries = ();
%extension_seen = ();
@@ -599,8 +562,7 @@ sub initialize_per_input ()
my @cpplike_flags =
qw{
$(DEFS)
- $(DEFAULT_INCLUDES)
- $(INCLUDES)
+ $(AM_DEFAULT_INCLUDES)
$(AM_CPPFLAGS)
$(CPPFLAGS)
};
@@ -725,7 +687,7 @@ register_language ('name' => 'yacc',
'output_extensions' => sub { (my $ext = $_[0]) =~ tr/y/c/;
return ($ext,) },
'rule_file' => 'yacc',
- '_finish' => \&lang_yacc_finish,
+ '_finish' => \&lang_yacc_lex_finish,
'_target_hook' => \&lang_yacc_target_hook,
'nodist_specific' => 1);
register_language ('name' => 'yaccxx',
@@ -739,7 +701,7 @@ register_language ('name' => 'yaccxx',
'extensions' => ['.y++', '.yy', '.yxx', '.ypp'],
'output_extensions' => sub { (my $ext = $_[0]) =~ tr/y/c/;
return ($ext,) },
- '_finish' => \&lang_yacc_finish,
+ '_finish' => \&lang_yacc_lex_finish,
'_target_hook' => \&lang_yacc_target_hook,
'nodist_specific' => 1);
@@ -755,7 +717,7 @@ register_language ('name' => 'lex',
'extensions' => ['.l'],
'output_extensions' => sub { (my $ext = $_[0]) =~ tr/l/c/;
return ($ext,) },
- '_finish' => \&lang_lex_finish,
+ '_finish' => \&lang_yacc_lex_finish,
'_target_hook' => \&lang_lex_target_hook,
'nodist_specific' => 1);
register_language ('name' => 'lexxx',
@@ -769,7 +731,7 @@ register_language ('name' => 'lexxx',
'extensions' => ['.l++', '.ll', '.lxx', '.lpp'],
'output_extensions' => sub { (my $ext = $_[0]) =~ tr/l/c/;
return ($ext,) },
- '_finish' => \&lang_lex_finish,
+ '_finish' => \&lang_yacc_lex_finish,
'_target_hook' => \&lang_lex_target_hook,
'nodist_specific' => 1);
@@ -779,9 +741,9 @@ register_language ('name' => 'asm',
'config_vars' => ['CCAS', 'CCASFLAGS'],
'flags' => ['CCASFLAGS'],
- # Users can set AM_CCASFLAGS to include $(DEFS),
- # $(INCLUDES), or anything else required. They can also
- # set CCAS. Or simply use Preprocessed Assembler.
+ # Users can set AM_CCASFLAGS to include, say, $(DEFS),
+ # or anything else required. They can also set CCAS.
+ # Or simply use Preprocessed Assembler.
'compile' => '$(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)',
'ccer' => 'CCAS',
'compiler' => 'CCASCOMPILE',
@@ -850,11 +812,11 @@ register_language ('name' => 'ppfc',
# Preprocessed Fortran 77
#
# The current support for preprocessing Fortran 77 just involves
-# passing "$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
-# $(CPPFLAGS)" as additional flags to the Fortran 77 compiler, since
-# this is how GNU Make does it; see the "GNU Make Manual, Edition 0.51
-# for 'make' Version 3.76 Beta" (specifically, from info file
-# '(make)Catalogue of Rules').
+# passing "$(DEFS) $(AM_DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)"
+# as additional flags to the Fortran 77 compiler, since this is how
+# GNU Make does it; see the "GNU Make Manual, Edition 0.51 for 'make'
+# Version 3.76 Beta" (specifically, from info file '(make)Catalogue
+# of Rules').
#
# A better approach would be to write an Autoconf test
# (i.e. AC_PROG_FPP) for a Fortran 77 preprocessor, because not all
@@ -1005,15 +967,6 @@ sub verbose_var
return 'AM_V_' . $name;
}
-# verbose_private_var (NAME)
-# --------------------------
-# The naming policy for the private variables for silent rules.
-sub verbose_private_var
-{
- my ($name) = @_;
- return 'am__v_' . $name;
-}
-
# define_verbose_var (NAME, VAL-IF-SILENT, [VAL-IF-VERBOSE])
# ----------------------------------------------------------
# For silent rules, setup VAR and dispatcher, to expand to
@@ -1024,22 +977,13 @@ sub define_verbose_var
my ($name, $silent_val, $verbose_val) = @_;
$verbose_val = '' unless defined $verbose_val;
my $var = verbose_var ($name);
- my $pvar = verbose_private_var ($name);
- my $silent_var = $pvar . '_0';
- my $verbose_var = $pvar . '_1';
- # 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));
+ define_variable ($var, INTERNAL, "\$($var/\$V)");
+ Automake::Variable::define ("$var/0", VAR_AUTOMAKE, '', TRUE,
+ $silent_val, '', INTERNAL)
+ if (! vardef ("$var/0", TRUE));
+ Automake::Variable::define ("$var/1", VAR_AUTOMAKE, '', TRUE,
+ $verbose_val, '', INTERNAL)
+ if (! vardef ("$var/1", TRUE));
}
# verbose_flag (NAME)
@@ -1082,8 +1026,8 @@ sub define_verbose_texinfo ()
{
define_verbose_tagvar($tag);
}
- define_verbose_var('texinfo', '-q');
- define_verbose_var('texidevnull', '> /dev/null');
+ define_verbose_var('TEXI_QUIETOPTS', '-q');
+ define_verbose_var('TEXI_DEVNULL_REDIRECT', '> /dev/null');
}
# Engage the needed silent rules machinery for 'libtool --silent'.
@@ -1153,7 +1097,7 @@ sub shadow_unconditionally
{
$varname = "am__${varname}_DIST";
my @files = uniq ($var->value_as_list_recursive);
- define_pretty_variable ($varname, TRUE, $where, @files);
+ define_variable ($varname, $where, @files);
}
return "\$($varname)"
}
@@ -1194,10 +1138,8 @@ sub handle_languages ()
if (keys %extension_seen && keys %dep_files)
{
# Set location of depcomp.
- define_variable ('depcomp',
- "\$(SHELL) $am_config_aux_dir/depcomp",
- INTERNAL);
- define_variable ('am__depfiles_maybe', 'depfiles', INTERNAL);
+ define_variable ('depcomp', INTERNAL,
+ '$(SHELL) $(am.conf.aux-dir)/depcomp');
require_conf_file ("$am_file.am", FOREIGN, 'depcomp');
@@ -1207,28 +1149,16 @@ sub handle_languages ()
# variable expansion; generating many separate includes
# seems safest.
$output_rules .= "\n";
- foreach my $iter (@deplist)
+ foreach my $depfile (@deplist)
{
- $output_rules .= (subst ('AMDEP_TRUE')
- . subst ('am__include')
- . ' '
- . subst ('am__quote')
- . $iter
- . subst ('am__quote')
- . "\n");
+ $output_rules .= subst ('AMDEP_TRUE') . "-include $depfile\n";
+ $clean_dirs{dirname ($depfile)} = DIST_CLEAN;
}
-
- # Compute the set of directories to remove in distclean-depend.
- my @depdirs = uniq (map { dirname ($_) } @deplist);
- $output_rules .= file_contents ('depend',
- new Automake::Location,
- DEPDIRS => "@depdirs");
}
}
else
{
- define_variable ('depcomp', '', INTERNAL);
- define_variable ('am__depfiles_maybe', '', INTERNAL);
+ define_variable ('depcomp', INTERNAL, '');
}
my %done;
@@ -1254,7 +1184,6 @@ sub handle_languages ()
my $verbose = verbose_flag ($lang->ccer || 'GEN');
my $verbose_nodep = ($AMDEP eq 'FALSE')
? $verbose : verbose_nodep_flag ($lang->ccer || 'GEN');
- my $silent = silent_flag ();
my %transform = ('EXT' => $ext,
'PFX' => $pfx,
@@ -1267,7 +1196,6 @@ sub handle_languages ()
DIST_SOURCE => 1,
VERBOSE => $verbose,
'VERBOSE-NODEP' => $verbose_nodep,
- SILENT => $silent,
);
# Generate the appropriate rules for this extension.
@@ -1278,13 +1206,6 @@ sub handle_languages ()
# This is not used by depend2.am.
my $der_ext = ($lang->output_extensions->($ext))[0];
- # Even when subdir sources are present, an inference rule
- # like '.c.o:' can be used to build corresponding objects
- # in the sane subdirectory too. We should be careful to also
- # place dependency files into the appropriate subdirectory,
- # e.g., 'sub/$(DEPDIR)/'. The value of this directory needs
- # to be computed on-the-fly (that is done by our makefile
- # recipes in 'depend2.am').
$output_rules .=
file_contents ($rule_file,
new Automake::Location,
@@ -1295,10 +1216,8 @@ sub handle_languages ()
BASE => '$*',
SOURCE => '$<',
- XSOURCE => '$<',
SOURCEFLAG => $sourceflags{$ext} || '',
OBJ => '$@',
- OBJOBJ => '$@',
LTOBJ => '$@',
COMPILE => '$(' . $lang->compiler . ')',
@@ -1347,9 +1266,6 @@ sub handle_languages ()
"\$(LIBTOOL) $ltverbose $libtool_tag\$($ptltflags) \$(LIBTOOLFLAGS) "
. "--mode=compile $obj_compile";
- # For non-suffix rules, we must emulate a VPATH search.
- my $xsource = "`test -f '$source' || echo '\$(srcdir)/'`$source";
-
$output_rules .=
file_contents ($rule_file,
new Automake::Location,
@@ -1358,18 +1274,15 @@ sub handle_languages ()
BASE => $obj,
SOURCE => $source,
- XSOURCE => $xsource,
SOURCEFLAG => $sourceflags{$srcext} || '',
# Use $myext and not '.o' here, in case
# we are actually building a new source
# file -- e.g. via yacc.
OBJ => "$obj$myext",
- OBJOBJ => "$obj.obj",
LTOBJ => "$obj.lo",
VERBOSE => $verbose,
'VERBOSE-NODEP' => $verbose_nodep,
- SILENT => $silent,
COMPILE => $obj_compile,
LTCOMPILE => $obj_ltcompile,
%file_transform);
@@ -1415,14 +1328,8 @@ sub handle_languages ()
check_user_variables @dont_override;
}
- # If the project is entirely C++ or entirely Fortran 77 (i.e., 1
- # suffix rule was learned), don't bother with the C stuff. But if
- # anything else creeps in, then use it.
- my @languages_seen = map { $languages{$extension_map{$_}}->name }
- (keys %extension_seen);
- @languages_seen = uniq (@languages_seen);
- $needs_c = 1 if @languages_seen > 1;
- if ($need_link || $needs_c)
+ # Non-pure languages, or languages lacking a linker of their own.
+ if ($needs_c || $need_link)
{
define_compiler_variable ($languages{'c'})
unless defined $done{$languages{'c'}};
@@ -1534,7 +1441,9 @@ sub handle_single_transform
}
# Split file name into base and extension.
- next if ! /^(?:(.*)\/)?([^\/]*)($KNOWN_EXTENSIONS_PATTERN)$/;
+ next if ! /^(?:(.*)\/)?([^\/]*?)(\.[^.]+)$/;
+ prog_error ("source file '$_' missing dotted extension")
+ unless defined $2 and defined $3;
my $full = $_;
my $directory = $1 || '';
my $base = $2;
@@ -1555,7 +1464,6 @@ sub handle_single_transform
# language function.
my $aggregate = 'AM';
- $extension = derive_suffix ($extension, $obj);
my $lang;
if ($extension_map{$extension} &&
($lang = $languages{$extension_map{$extension}}))
@@ -1652,24 +1560,6 @@ sub handle_single_transform
# If both source and object files are in a subdirectory
# then the inference will work.
#
- # The latter case deserves a historical note. When the
- # subdir-objects option was added on 1999-04-11 it was
- # thought that inferences rules would work for
- # subdirectory objects too. Later, on 1999-11-22,
- # automake was changed to output explicit rules even for
- # subdir-objects. Nobody remembers why, but this occurred
- # soon after the merge of the user-dep-gen-branch so it
- # might be related. In late 2003 people complained about
- # the size of the generated Makefile.ins (libgcj, with
- # 2200+ subdir objects was reported to have a 9MB
- # Makefile), so we now rely on inference rules again.
- # Maybe we'll run across the same issue as in the past,
- # but at least this time we can document it. However since
- # dependency tracking has evolved it is possible that
- # our old problem no longer exists.
- # Using inference rules for subdir-objects has been tested
- # with GNU make, Solaris make, Ultrix make, BSD make,
- # HP-UX make, and OSF1 make successfully.
if ($renamed
# We must also use specific rules for a nodist_ source
# if its language requests it.
@@ -1718,24 +1608,20 @@ sub handle_single_transform
[@specifics, %transform]);
}
}
- elsif ($extension eq $obj)
+ else
{
+ # Assume the user has defined a proper explicit or pattern
+ # rule to turn a source file with this extension in an object
+ # file with the same basename and a '.$(OBJEXT)' extension (if
+ # build as part of a program or static library) or a '.lo'
+ # extension (if built as part of a libtool library).
+ $extension = $obj;
# This is probably the result of a direct suffix rule.
# In this case we just accept the rewrite.
$object = "$base$extension";
$object = "$directory/$object" if $directory ne '';
$linker = '';
}
- else
- {
- # No error message here. Used to have one, but it was
- # very unpopular.
- # FIXME: we could potentially do more processing here,
- # perhaps treating the new extension as though it were a
- # new source extension (as above). This would require
- # more restructuring than is appropriate right now.
- next;
- }
# FIXME: this is likely an internal error now that we use
# FIXME: subdir-objects unconditionally ...
@@ -1780,77 +1666,44 @@ sub handle_single_transform
$linkers_used{$linker} = 1;
push (@result, $object);
+ $directory = '.' if $directory eq '';
if (! defined $object_map{$object})
- {
- my @dep_list = ();
+ {
$object_map{$object} = $full;
- # If resulting object is in subdir, we need to make
- # sure the subdir exists at build time.
- if ($object =~ /\//)
- {
- # FIXME: check that $DIRECTORY is somewhere in the
- # project
-
- # For Java, the way we're handling it right now, a
- # '..' component doesn't make sense.
- if ($lang && $lang->name eq 'java' && $object =~ /(\/|^)\.\.\//)
- {
- err_am "'$full' should not contain a '..' component";
- }
-
- # Make sure *all* objects files in the subdirectory are
- # removed by "make mostlyclean". Not only this is more
- # efficient than listing the object files to be removed
- # individually (which would cause an 'rm' invocation for
- # each of them -- very inefficient, see bug#10697), it
- # would also leave stale object files in the subdirectory
- # whenever a source file there is removed or renamed.
- $compile_clean_files{"$directory/*.\$(OBJEXT)"} = MOSTLY_CLEAN;
- if ($object =~ /\.lo$/)
- {
- # If we have a libtool object, then we also must remove
- # any '.lo' objects in its same subdirectory.
- $compile_clean_files{"$directory/*.lo"} = MOSTLY_CLEAN;
- # Remember to cleanup .libs/ in this directory.
- $libtool_clean_directories{$directory} = 1;
- }
-
- push (@dep_list, require_build_directory ($directory));
-
- # If we're generating dependencies, we also want
- # to make sure that the appropriate subdir of the
- # .deps directory is created.
- push (@dep_list,
- require_build_directory ($directory . '/$(DEPDIR)'))
- unless option 'no-dependencies';
- }
-
- pretty_print_rule ($object . ':', "\t", @dep_list)
- if scalar @dep_list > 0;
- }
+ # For Java, the way we're handling it right now, a
+ # '..' component doesn't make sense.
+ err_am "'$full' should not contain a '..' component"
+ if $lang && $lang->name eq 'java' && $object =~ m{(/|^)\.\./};
+
+ # Make sure *all* object files in this object's subdirectory
+ # are removed by "make mostlyclean". Not only this is more
+ # efficient than listing the object files to be removed
+ # individually (which would cause an 'rm' invocation for each
+ # of them -- very inefficient, see bug#10697), it would also
+ # leave stale object files in the subdirectory whenever a
+ # source file there is removed or renamed.
+ $clean_files{"$directory/*.\$(OBJEXT)"} = MOSTLY_CLEAN;
+ if ($object =~ /\.lo$/)
+ {
+ # If we have a libtool object, then we also must remove
+ # any '.lo' objects in the same subdirectory.
+ $clean_files{"$directory/*.lo"} = MOSTLY_CLEAN;
+ $clean_dirs{"$directory/.libs"} = CLEAN;
+ }
+ }
# Transform .o or $o file into .P file (for automatic
# dependency code).
- # Properly flatten multiple adjacent slashes, as Solaris 10 make
- # might fail over them in an include statement.
- # Leading double slashes may be special, as per Posix, so deal
- # with them carefully.
if ($lang && $lang->autodep ne 'no')
- {
+ {
my $depfile = $object;
$depfile =~ s/\.([^.]*)$/.P$1/;
$depfile =~ s/\$\(OBJEXT\)$/o/;
- my $maybe_extra_leading_slash = '';
- $maybe_extra_leading_slash = '/' if $depfile =~ m,^//[^/],;
- $depfile =~ s,/+,/,g;
- my $basename = basename ($depfile);
- # This might make $dirname empty, but we account for that below.
- (my $dirname = dirname ($depfile)) =~ s/\/*$//;
- $dirname = $maybe_extra_leading_slash . $dirname;
- $dep_files{$dirname . '/$(DEPDIR)/' . $basename} = 1;
- }
+ $dep_files{dirname ($depfile) . '/$(DEPDIR)/'
+ . basename ($depfile)} = 1;
+ }
}
return @result;
@@ -1963,41 +1816,12 @@ sub handle_source_transform
my @keys = sort keys %used_pfx;
if (scalar @keys == 0)
{
- # The default source for libfoo.la is libfoo.c, but for
- # backward compatibility we first look at libfoo_la.c,
- # if no default source suffix is given.
- my $old_default_source = "$one_file.c";
my $ext_var = var ('AM_DEFAULT_SOURCE_EXT');
my $default_source_ext = $ext_var ? variable_value ($ext_var) : '.c';
msg_var ('unsupported', $ext_var, $ext_var->name . " can assume at most one value")
if $default_source_ext =~ /[\t ]/;
(my $default_source = $unxformed) =~ s,(\.[^./\\]*)?$,$default_source_ext,;
- # TODO: Remove this backward-compatibility hack in Automake 2.0.
- if ($old_default_source ne $default_source
- && !$ext_var
- && (rule $old_default_source
- || rule '$(srcdir)/' . $old_default_source
- || rule '${srcdir}/' . $old_default_source
- || -f $old_default_source))
- {
- my $loc = $where->clone;
- $loc->pop_context;
- msg ('obsolete', $loc,
- "the default source for '$unxformed' has been changed "
- . "to '$default_source'.\n(Using '$old_default_source' for "
- . "backward compatibility.)");
- $default_source = $old_default_source;
- }
- # If a rule exists to build this source with a $(srcdir)
- # prefix, use that prefix in our variables too. This is for
- # the sake of BSD Make.
- if (rule '$(srcdir)/' . $default_source
- || rule '${srcdir}/' . $default_source)
- {
- $default_source = '$(srcdir)/' . $default_source;
- }
-
- define_variable ($one_file . "_SOURCES", $default_source, $where);
+ define_variable ($one_file . "_SOURCES", $where, $default_source);
push (@sources, $default_source);
push (@dist_sources, $default_source);
@@ -2008,12 +1832,12 @@ sub handle_source_transform
$one_file, $obj,
$default_source, %transform);
$linker ||= resolve_linker (%linkers_used);
- define_pretty_variable ($one_file . '_OBJECTS', TRUE, $where, @result);
+ define_variable ($one_file . '_OBJECTS', $where, @result);
}
else
{
@keys = map { '$(' . $_ . $one_file . '_OBJECTS)' } @keys;
- define_pretty_variable ($one_file . '_OBJECTS', TRUE, $where, @keys);
+ define_variable ($one_file . '_OBJECTS', $where, @keys);
}
# If we want to use 'LINK' we must make sure it is defined.
@@ -2118,9 +1942,7 @@ sub handle_LIBOBJS_or_ALLOCA
my $dir = '';
# If LIBOBJS files must be built in another directory we have
- # to define LIBOBJDIR and ensure the files get cleaned.
- # Otherwise LIBOBJDIR can be left undefined, and the cleaning
- # is achieved by 'rm -f *.$(OBJEXT)' in compile.am.
+ # to define the 'LIBOBJDIR' make variable.
if ($config_libobj_dir && $relative_dir ne $config_libobj_dir)
{
# In the top-level Makefile we do not use $(top_builddir), because
@@ -2131,13 +1953,13 @@ sub handle_LIBOBJS_or_ALLOCA
if $config_libobj_dir ne '.';
$dir = backname ($relative_dir) . "/$dir"
if $relative_dir ne '.';
- define_variable ('LIBOBJDIR', "$dir", INTERNAL);
- $clean_files{"\$($var)"} = MOSTLY_CLEAN;
- # If LTLIBOBJS is used, we must also clear LIBOBJS (which might
- # be created by libtool as a side-effect of creating LTLIBOBJS).
- $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//;
+ define_variable ('LIBOBJDIR', INTERNAL, $dir);
}
+ $clean_files{'$(LIBOBJDIR)*.$(OBJEXT)'} = MOSTLY_CLEAN;
+ $clean_files{'$(LIBOBJDIR)*.lo'} = MOSTLY_CLEAN
+ if $var =~ /^LT/;
+
return $dir;
}
@@ -2223,55 +2045,10 @@ sub check_canonical_spelling
# Set up the compile suite.
sub handle_compile ()
{
- return if ! $must_handle_compiled_objects;
-
- # Boilerplate.
- my $default_includes = '';
- if (! option 'nostdinc')
- {
- my @incs = ('-I.', subst ('am__isrc'));
-
- my $var = var 'CONFIG_HEADER';
- if ($var)
- {
- foreach my $hdr (split (' ', $var->variable_value))
- {
- push @incs, '-I' . dirname ($hdr);
- }
- }
- # We want '-I. -I$(srcdir)', but the latter -I is redundant
- # and unaesthetic in non-VPATH builds. We use `-I.@am__isrc@`
- # instead. It will be replaced by '-I.' or '-I. -I$(srcdir)'.
- # Items in CONFIG_HEADER are never in $(srcdir) so it is safe
- # to just put @am__isrc@ right after '-I.', without a space.
- ($default_includes = ' ' . uniq (@incs)) =~ s/ @/@/;
- }
-
- my (@mostly_rms, @dist_rms);
- foreach my $item (sort keys %compile_clean_files)
- {
- if ($compile_clean_files{$item} == MOSTLY_CLEAN)
- {
- push (@mostly_rms, "\t-rm -f $item");
- }
- elsif ($compile_clean_files{$item} == DIST_CLEAN)
- {
- push (@dist_rms, "\t-rm -f $item");
- }
- else
- {
- prog_error 'invalid entry in %compile_clean_files';
- }
- }
-
- my ($coms, $vars, $rules) =
- file_contents_internal (1, "$libdir/am/compile.am",
- new Automake::Location,
- 'DEFAULT_INCLUDES' => $default_includes,
- 'MOSTLYRMS' => join ("\n", @mostly_rms),
- 'DISTRMS' => join ("\n", @dist_rms));
- $output_vars .= $vars;
- $output_rules .= "$coms$rules";
+ return if ! $must_handle_compiled_objects;
+ $output_rules .= file_contents ('compile',
+ new Automake::Location,
+ 'STDINC' => ! option 'nostdinc');
}
# Handle libtool rules.
@@ -2285,20 +2062,13 @@ sub handle_libtool ()
require_conf_file_with_macro (TRUE, 'LIBTOOL', FOREIGN, @libtool_files)
if $relative_dir eq '.' && ! $libtool_new_api;
- my @libtool_rms;
- foreach my $item (sort keys %libtool_clean_directories)
- {
- my $dir = ($item eq '.') ? '' : "$item/";
- # .libs is for Unix, _libs for DOS.
- push (@libtool_rms, "\t-rm -rf ${dir}.libs");
- }
-
check_user_variables 'LIBTOOLFLAGS';
- # Output the libtool compilation rules.
- $output_rules .= file_contents ('libtool',
- new Automake::Location,
- LTRMS => join ("\n", @libtool_rms));
+ if ($relative_dir eq '.')
+ {
+ $clean_files{"libtool"} = DIST_CLEAN;
+ $clean_files{"config.lt"} = DIST_CLEAN;
+ }
}
@@ -2340,7 +2110,7 @@ sub handle_programs ()
else
{
# User didn't define prog_LDADD override. So do it.
- define_variable ($xname . '_LDADD', '$(LDADD)', $where);
+ define_variable ($xname . '_LDADD', $where, '$(LDADD)');
# This does a bit too much work. But we need it to
# generate _DEPENDENCIES when appropriate.
@@ -2353,28 +2123,21 @@ sub handle_programs ()
reject_var ($xname . '_LIBADD',
"use '${xname}_LDADD', not '${xname}_LIBADD'");
- set_seen ($xname . '_DEPENDENCIES');
- set_seen ('EXTRA_' . $xname . '_DEPENDENCIES');
set_seen ($xname . '_LDFLAGS');
# Determine program to use for link.
my($xlink, $vlink) = define_per_target_linker_variable ($linker, $xname);
$vlink = verbose_flag ($vlink || 'GEN');
- # If the resulting program lies in a subdirectory,
- # ensure that the directory exists before we need it.
- my $dirstamp = require_build_directory_maybe ($one_file);
-
- $libtool_clean_directories{dirname ($one_file)} = 1;
+ $clean_dirs{dirname ($one_file) . '/.libs'} = CLEAN;
$output_rules .= file_contents ('program',
- $where,
- PROGRAM => $one_file,
- XPROGRAM => $xname,
- XLINK => $xlink,
- VERBOSE => $vlink,
- DIRSTAMP => $dirstamp,
- EXEEXT => '$(EXEEXT)');
+ $where,
+ PROGRAM => $one_file,
+ XPROGRAM => $xname,
+ XLINK => $xlink,
+ VERBOSE => $vlink,
+ EXEEXT => '$(EXEEXT)');
if ($seen_libobjs || $seen_global_libobjs)
{
@@ -2407,8 +2170,8 @@ sub handle_libraries ()
$var->requires_variables ('library used', 'RANLIB');
}
- define_variable ('AR', 'ar', INTERNAL);
- define_variable ('ARFLAGS', 'cru', INTERNAL);
+ define_variable ('AR', INTERNAL, 'ar');
+ define_variable ('ARFLAGS', INTERNAL, 'cru');
define_verbose_tagvar ('AR');
foreach my $pair (@liblist)
@@ -2442,7 +2205,7 @@ sub handle_libraries ()
if (! var ($xlib . '_AR'))
{
- define_variable ($xlib . '_AR', '$(AR) $(ARFLAGS)', $where);
+ define_variable ($xlib . '_AR', $where, '$(AR) $(ARFLAGS)');
}
# Generate support for conditional object inclusion in
@@ -2456,32 +2219,22 @@ sub handle_libraries ()
}
else
{
- define_variable ($xlib . "_LIBADD", '', $where);
+ define_variable ($xlib . "_LIBADD", $where, '');
}
reject_var ($xlib . '_LDADD',
"use '${xlib}_LIBADD', not '${xlib}_LDADD'");
- # Make sure we at look at this.
- set_seen ($xlib . '_DEPENDENCIES');
- set_seen ('EXTRA_' . $xlib . '_DEPENDENCIES');
-
handle_source_transform ($xlib, $onelib, $obj, $where,
NONLIBTOOL => 1, LIBTOOL => 0);
- # If the resulting library lies in a subdirectory,
- # make sure this directory will exist.
- my $dirstamp = require_build_directory_maybe ($onelib);
my $verbose = verbose_flag ('AR');
- my $silent = silent_flag ();
$output_rules .= file_contents ('library',
$where,
VERBOSE => $verbose,
- SILENT => $silent,
LIBRARY => $onelib,
- XLIBRARY => $xlib,
- DIRSTAMP => $dirstamp);
+ XLIBRARY => $xlib);
if ($seen_libobjs)
{
@@ -2641,15 +2394,13 @@ sub handle_ltlibraries ()
. "did you mean '$suggestion'?")
}
- ($known_libraries{$onelib} = $bn) =~ s/\.la$//;
+ ($known_ltlibraries{$onelib} = $bn) =~ s/\.la$//;
$where->push_context ("while processing Libtool library '$onelib'");
$where->set (INTERNAL->get);
- # Make sure we look at these.
+ # Make sure we look at this.
set_seen ($xlib . '_LDFLAGS');
- set_seen ($xlib . '_DEPENDENCIES');
- set_seen ('EXTRA_' . $xlib . '_DEPENDENCIES');
# Generate support for conditional object inclusion in
# libraries.
@@ -2662,7 +2413,7 @@ sub handle_ltlibraries ()
}
else
{
- define_variable ($xlib . "_LIBADD", '', $where);
+ define_variable ($xlib . "_LIBADD", $where, '');
}
reject_var ("${xlib}_LDADD",
@@ -2706,17 +2457,11 @@ sub handle_ltlibraries ()
}
else
{
- define_pretty_variable ($rpathvar, $rcond, INTERNAL, $val);
+ define_cond_variable ($rpathvar, $rcond, INTERNAL, $val);
}
}
- # If the resulting library lies in a subdirectory,
- # make sure this directory will exist.
- my $dirstamp = require_build_directory_maybe ($onelib);
-
- # Remember to cleanup .libs/ in this directory.
- my $dirname = dirname $onelib;
- $libtool_clean_directories{$dirname} = 1;
+ $clean_dirs{dirname ($onelib) . '/.libs'} = CLEAN;
$output_rules .= file_contents ('ltlibrary',
$where,
@@ -2724,8 +2469,7 @@ sub handle_ltlibraries ()
XLTLIBRARY => $xlib,
RPATH => $rpath,
XLINK => $xlink,
- VERBOSE => $vlink,
- DIRSTAMP => $dirstamp);
+ VERBOSE => $vlink);
if ($seen_libobjs)
{
if (var ($xlib . '_LIBADD'))
@@ -2743,32 +2487,6 @@ sub handle_ltlibraries ()
}
}
-# See if any _SOURCES variable were misspelled.
-sub check_typos ()
-{
- # It is ok if the user sets this particular variable.
- set_seen 'AM_LDFLAGS';
-
- foreach my $primary ('SOURCES', 'LIBADD', 'LDADD', 'LDFLAGS', 'DEPENDENCIES')
- {
- foreach my $var (variables $primary)
- {
- my $varname = $var->name;
- # A configure variable is always legitimate.
- next if exists $configure_vars{$varname};
-
- for my $cond ($var->conditions->conds)
- {
- $varname =~ /^(?:EXTRA_)?(?:nobase_)?(?:dist_|nodist_)?(.*)_[[:alnum:]]+$/;
- msg_var ('syntax', $var, "variable '$varname' is defined but no"
- . " program or\nlibrary has '$1' as canonical name"
- . " (possible typo)")
- unless $var->rdef ($cond)->seen;
- }
- }
- }
-}
-
sub handle_scripts ()
{
@@ -2808,12 +2526,7 @@ sub scan_texinfo_file
next if $outfile;
$outfile = $1;
- if (index ($outfile, '.') < 0)
- {
- msg 'obsolete', "$filename:$.",
- "use of suffix-less info files is discouraged"
- }
- elsif ($outfile !~ /\.info$/)
+ if ($outfile !~ /\.info$/)
{
error ("$filename:$.",
"output '$outfile' has unrecognized extension");
@@ -2837,106 +2550,6 @@ sub scan_texinfo_file
return ($outfile, $vfile);
}
-
-# ($DIRSTAMP, @CLEAN_FILES)
-# output_texinfo_build_rules ($SOURCE, $DEST, $INSRC, @DEPENDENCIES)
-# ------------------------------------------------------------------
-# SOURCE - the source Texinfo file
-# DEST - the destination Info file
-# INSRC - whether DEST should be built in the source tree
-# DEPENDENCIES - known dependencies
-sub output_texinfo_build_rules
-{
- my ($source, $dest, $insrc, @deps) = @_;
-
- # Split 'a.texi' into 'a' and '.texi'.
- my ($spfx, $ssfx) = ($source =~ /^(.*?)(\.[^.]*)?$/);
- my ($dpfx, $dsfx) = ($dest =~ /^(.*?)(\.[^.]*)?$/);
-
- $ssfx ||= "";
- $dsfx ||= "";
-
- # We can output two kinds of rules: the "generic" rules use Make
- # suffix rules and are appropriate when $source and $dest do not lie
- # in a sub-directory; the "specific" rules are needed in the other
- # case.
- #
- # The former are output only once (this is not really apparent here,
- # but just remember that some logic deeper in Automake will not
- # output the same rule twice); while the later need to be output for
- # each Texinfo source.
- my $generic;
- my $makeinfoflags;
- my $sdir = dirname $source;
- if ($sdir eq '.' && dirname ($dest) eq '.')
- {
- $generic = 1;
- $makeinfoflags = '-I $(srcdir)';
- }
- else
- {
- $generic = 0;
- $makeinfoflags = "-I $sdir -I \$(srcdir)/$sdir";
- }
-
- # A directory can contain two kinds of info files: some built in the
- # source tree, and some built in the build tree. The rules are
- # different in each case. However we cannot output two different
- # set of generic rules. Because in-source builds are more usual, we
- # use generic rules in this case and fall back to "specific" rules
- # for build-dir builds. (It should not be a problem to invert this
- # if needed.)
- $generic = 0 unless $insrc;
-
- # We cannot use a suffix rule to build info files with an empty
- # extension. Otherwise we would output a single suffix inference
- # rule, with separate dependencies, as in
- #
- # .texi:
- # $(MAKEINFO) ...
- # foo.info: foo.texi
- #
- # which confuse Solaris make. (See the Autoconf manual for
- # details.) Therefore we use a specific rule in this case. This
- # applies to info files only (dvi and pdf files always have an
- # extension).
- my $generic_info = ($generic && $dsfx) ? 1 : 0;
-
- # If the resulting file lies in a subdirectory,
- # make sure this directory will exist.
- my $dirstamp = require_build_directory_maybe ($dest);
-
- my $dipfx = ($insrc ? '$(srcdir)/' : '') . $dpfx;
-
- $output_rules .= file_contents ('texibuild',
- new Automake::Location,
- AM_V_MAKEINFO => verbose_flag('MAKEINFO'),
- AM_V_TEXI2DVI => verbose_flag('TEXI2DVI'),
- AM_V_TEXI2PDF => verbose_flag('TEXI2PDF'),
- DEPS => "@deps",
- DEST_PREFIX => $dpfx,
- DEST_INFO_PREFIX => $dipfx,
- DEST_SUFFIX => $dsfx,
- DIRSTAMP => $dirstamp,
- GENERIC => $generic,
- GENERIC_INFO => $generic_info,
- INSRC => $insrc,
- MAKEINFOFLAGS => $makeinfoflags,
- SILENT => silent_flag(),
- SOURCE => ($generic
- ? '$<' : $source),
- SOURCE_INFO => ($generic_info
- ? '$<' : $source),
- SOURCE_REAL => $source,
- SOURCE_SUFFIX => $ssfx,
- TEXIQUIET => verbose_flag('texinfo'),
- TEXIDEVNULL => verbose_flag('texidevnull'),
- );
- return ($dirstamp, "$dpfx.dvi", "$dpfx.pdf", "$dpfx.ps", "$dpfx.html");
-}
-
-
-# ($MOSTLYCLEAN, $TEXICLEAN, $MAINTCLEAN)
# handle_texinfo_helper ($info_texinfos)
# --------------------------------------
# Handle all Texinfo source; helper for 'handle_texinfo'.
@@ -2946,24 +2559,14 @@ sub handle_texinfo_helper
my (@infobase, @info_deps_list, @texi_deps);
my %versions;
my $done = 0;
- my (@mostly_cleans, @texi_cleans, @maint_cleans) = ('', '', '');
foreach my $texi
($info_texinfos->value_as_list_recursive (inner_expand => 1))
{
my $infobase = $texi;
- if ($infobase =~ s/\.texi$//)
+ # Strip tailing '.texi' suffix, complain if it's not there.
+ if ($infobase !~ s/\.texi$//)
{
- 1; # Nothing more to do.
- }
- elsif ($infobase =~ s/\.(txi|texinfo)$//)
- {
- msg_var 'obsolete', $info_texinfos,
- "suffix '.$1' for Texinfo files is discouraged;" .
- " use '.texi' instead";
- }
- else
- {
# FIXME: report line number.
err_am "texinfo file '$texi' has unrecognized extension";
next;
@@ -2978,8 +2581,8 @@ sub handle_texinfo_helper
or next;
# Directory of auxiliary files and build by-products used by texi2dvi
# and texi2pdf.
- push @mostly_cleans, "$infobase.t2d";
- push @mostly_cleans, "$infobase.t2p";
+ $clean_dirs{"$infobase.t2d"} = MOSTLY_CLEAN;
+ $clean_dirs{"$infobase.t2p"} = MOSTLY_CLEAN;
# If the Texinfo source is in a subdirectory, create the
# resulting info in this subdirectory. If it is in the current
@@ -3102,11 +2705,23 @@ sub handle_texinfo_helper
push_dist_common ('$(' . $canonical . '_TEXINFOS)');
}
- my ($dirstamp, @cfiles) =
- output_texinfo_build_rules ($texi, $out_file, $insrc, @texi_deps);
- push (@texi_cleans, @cfiles);
+ (my $dpfx = $out_file) =~ s/\.info$//;
+ $output_rules .= file_contents ('texi-spec',
+ new Automake::Location,
+ DEPS => "@texi_deps",
+ DEST_PREFIX => $dpfx,
+ INSRC => $insrc,
+ SOURCE_REAL => $texi,
+ );
+
+ $clean_files{"$dpfx.dvi"} = CLEAN;
+ $clean_files{"$dpfx.pdf"} = CLEAN;
+ $clean_files{"$dpfx.ps"} = CLEAN;
+ # Add to %clean_dirs, not $clean_files, because this will be a
+ # directory (unless '--no-split' is used in MAKEINFOFLAGS).
+ $clean_dirs{"$dpfx.html"} = CLEAN;
- push (@info_deps_list, $out_file);
+ push @info_deps_list, $out_file;
# If a vers*.texi file is needed, emit the rule.
if ($vtexi)
@@ -3122,35 +2737,14 @@ sub handle_texinfo_helper
my $vti = ($done ? $done : 'vti');
++$done;
- # This is ugly, but it is our historical practice.
- if ($config_aux_dir_set_in_configure_ac)
- {
- require_conf_file_with_macro (TRUE, 'info_TEXINFOS', FOREIGN,
- 'mdate-sh');
- }
- else
- {
- require_file_with_macro (TRUE, 'info_TEXINFOS',
- FOREIGN, 'mdate-sh');
- }
-
- my $conf_dir;
- if ($config_aux_dir_set_in_configure_ac)
- {
- $conf_dir = "$am_config_aux_dir/";
- }
- else
- {
- $conf_dir = '$(srcdir)/';
- }
+ require_conf_file_with_macro (TRUE, 'info_TEXINFOS',
+ FOREIGN, 'mdate-sh');
$output_rules .= file_contents ('texi-vers',
new Automake::Location,
TEXI => $texi,
VTI => $vti,
STAMPVTI => "${src_outdir}stamp-$vti",
- VTEXI => "${src_outdir}$vtexi",
- MDDIR => $conf_dir,
- DIRSTAMP => $dirstamp);
+ VTEXI => "${src_outdir}$vtexi");
}
}
@@ -3166,8 +2760,8 @@ sub handle_texinfo_helper
}
elsif ($config_aux_dir_set_in_configure_ac)
{
- $texinfodir = $am_config_aux_dir;
- define_variable ('TEXINFO_TEX', "$texinfodir/texinfo.tex", INTERNAL);
+ $texinfodir = '$(am.conf.aux-dir)';
+ define_variable ('TEXINFO_TEX', INTERNAL, "$texinfodir/texinfo.tex");
$need_texi_file = 2; # so that we require_conf_file later
}
else
@@ -3175,7 +2769,7 @@ sub handle_texinfo_helper
$texinfodir = '$(srcdir)';
$need_texi_file = 1;
}
- define_variable ('am__TEXINFO_TEX_DIR', $texinfodir, INTERNAL);
+ define_variable ('am__TEXINFO_TEX_DIR', INTERNAL, $texinfodir);
push (@dist_targets, 'dist-info');
@@ -3195,7 +2789,7 @@ sub handle_texinfo_helper
# This next isn't strictly needed now -- the places that look here
# could easily be changed to look in info_TEXINFOS. But this is
# probably better, in case noinst_TEXINFOS is ever supported.
- define_variable ("TEXINFOS", variable_value ('info_TEXINFOS'), INTERNAL);
+ define_variable ("TEXINFOS", INTERNAL, variable_value ('info_TEXINFOS'));
# Do some error checking. Note that this file is not required
# when in Cygnus mode; instead we defined TEXINFO_TEX explicitly
@@ -3213,10 +2807,6 @@ sub handle_texinfo_helper
'texinfo.tex');
}
}
-
- return (makefile_wrap ("", "\t ", @mostly_cleans),
- makefile_wrap ("", "\t ", @texi_cleans),
- makefile_wrap ("", "\t ", @maint_cleans));
}
@@ -3226,25 +2816,13 @@ sub handle_texinfo ()
# FIXME: I think this is an obsolete future feature name.
reject_var 'html_TEXINFOS', "HTML generation not yet supported";
- my $info_texinfos = var ('info_TEXINFOS');
- my ($mostlyclean, $clean, $maintclean) = ('', '', '');
- if ($info_texinfos)
+ if (my $info_texinfos = var ('info_TEXINFOS'))
{
define_verbose_texinfo;
- ($mostlyclean, $clean, $maintclean) = handle_texinfo_helper ($info_texinfos);
- chomp $mostlyclean;
- chomp $clean;
- chomp $maintclean;
+ verbatim ('texibuild');
+ handle_texinfo_helper ($info_texinfos);
}
-
- $output_rules .= file_contents ('texinfos',
- new Automake::Location,
- AM_V_DVIPS => verbose_flag('DVIPS'),
- MOSTLYCLEAN => $mostlyclean,
- TEXICLEAN => $clean,
- MAINTCLEAN => $maintclean,
- 'LOCAL-TEXIS' => !!$info_texinfos,
- TEXIQUIET => verbose_flag('texinfo'));
+ verbatim ('texinfos');
}
@@ -3395,49 +2973,6 @@ sub handle_data ()
'pkgdata', 'lisp', 'noinst', 'check');
}
-
-sub handle_tags ()
-{
- 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';
- }
- 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. Ditto ctags and
- # cscope.
- $output_rules .=
- "tags TAGS:\n\n" .
- "ctags CTAGS:\n\n" .
- "cscope cscopelist:\n\n";
- }
-}
-
-
# user_phony_rule ($NAME)
# -----------------------
# Return false if rule $NAME does not exist. Otherwise,
@@ -3466,9 +3001,6 @@ sub user_phony_rule
# Handle 'dist' target.
sub handle_dist ()
{
- # Substitutions for distdir.am
- my %transform;
-
# Define DIST_SUBDIRS. This must always be done, regardless of the
# no-dist setting: target like 'distclean' or 'maintainer-clean' use it.
my $subdirs = var ('SUBDIRS');
@@ -3490,34 +3022,20 @@ sub handle_dist ()
}
elsif ($subdirs->has_conditional_contents)
{
- define_pretty_variable
- ('DIST_SUBDIRS', TRUE, INTERNAL,
- uniq ($subdirs->value_as_list_recursive));
+ define_variable ('DIST_SUBDIRS', INTERNAL,
+ uniq ($subdirs->value_as_list_recursive));
}
else
{
# We always define this because that is what 'distclean'
# wants.
- define_pretty_variable ('DIST_SUBDIRS', TRUE, INTERNAL,
- '$(SUBDIRS)');
+ define_variable ('DIST_SUBDIRS', INTERNAL, '$(SUBDIRS)');
}
}
# The remaining definitions are only required when a dist target is used.
return if option 'no-dist';
- # At least one of the archive formats must be enabled.
- if ($relative_dir eq '.')
- {
- my $archive_defined = option 'no-dist-gzip' ? 0 : 1;
- $archive_defined ||=
- grep { option "dist-$_" } qw(zip bzip2 lzip xz);
- error (option 'no-dist-gzip',
- "no-dist-gzip specified but no dist-* specified,\n"
- . "at least one archive format must be enabled")
- unless $archive_defined;
- }
-
# Look for common files that should be included in distribution.
# If the aux dir is set, and it does not have a Makefile.am, then
# we check for these files there as well.
@@ -3553,10 +3071,10 @@ sub handle_dist ()
# check that. But if the file is in a subdir without a Makefile,
# we want to distribute it here if we are doing '.'. Ugly!
# Also, in some corner cases, it's possible that the following code
- # will cause the same file to appear in the $(DIST_COMMON) variables
- # of two distinct Makefiles; but this is not a problem, since the
- # 'distdir' target in 'lib/am/distdir.am' can deal with the same
- # file being distributed multiple times.
+ # will cause the same file to appear in the $(am.dist.common-files)
+ # variables of two distinct Makefiles; but this is not a problem,
+ # since the 'distdir' target in 'lib/am/distdir.am' can deal with
+ # the same file being distributed multiple times.
# See also automake bug#9651.
if ($relative_dir eq '.')
{
@@ -3569,35 +3087,29 @@ sub handle_dist ()
@configure_dist_common = ();
}
- # $(am__DIST_COMMON): files to be distributed automatically. Will be
- # appended to $(DIST_COMMON) in the generated Makefile.
- # Use 'sort' so that the expansion of $(DIST_COMMON) in the generated
- # Makefile is deterministic, in face of m4 and/or perl randomizations
- # (see automake bug#17908).
- define_pretty_variable ('am__DIST_COMMON', TRUE, INTERNAL,
- uniq (sort @dist_common));
-
- # Now that we've processed @dist_common, disallow further attempts
- # to modify it.
+ # We don't expected further attempts to modify @dist_common
+ # after this point, so disallow it, for extra safety.
$handle_dist_run = 1;
- $transform{'DISTCHECK-HOOK'} = !! rule 'distcheck-hook';
- $transform{'GETTEXT'} = $seen_gettext && !$seen_gettext_external;
+ define_variable ('am.dist.handle-distcheck-hook', INTERNAL,
+ rule ('distcheck-hook') ? 'yes' : '');
+ define_variable ('am.dist.handle-gettext', INTERNAL,
+ $seen_gettext && !$seen_gettext_external ? 'yes' : '');
+
+ my $flm = option 'filename-length-max';
+ define_variable ('am.dist.filename-filter', INTERNAL,
+ $flm ? ('.' x $flm->[1]) : '');
# If the target 'dist-hook' exists, make sure it is run. This
# allows users to do random weird things to the distribution
# before it is packaged up.
push (@dist_targets, 'dist-hook')
if user_phony_rule 'dist-hook';
- $transform{'DIST-TARGETS'} = join (' ', @dist_targets);
-
- my $flm = option ('filename-length-max');
- my $filename_filter = $flm ? '.' x $flm->[1] : '';
+ define_variable ('am.dist.extra-targets', INTERNAL, @dist_targets);
+ define_variable ('am.dist.common-files.internal', INTERNAL, @dist_common);
- $output_rules .= file_contents ('distdir',
- new Automake::Location,
- %transform,
- FILENAME_FILTER => $filename_filter);
+ verbatim ('distdir');
+ verbatim ('distcheck') if $relative_dir eq '.';
}
@@ -3613,26 +3125,6 @@ sub check_directory
error $where, "required directory $reldir/$dir does not exist"
unless -d "$reldir/$dir";
- # If an 'obj/' directory exists, BSD make will enter it before
- # reading 'Makefile'. Hence the 'Makefile' in the current directory
- # will not be read.
- #
- # % cat Makefile
- # all:
- # echo Hello
- # % cat obj/Makefile
- # all:
- # echo World
- # % make # GNU make
- # echo Hello
- # Hello
- # % pmake # BSD make
- # echo World
- # World
- msg ('portability', $where,
- "naming a subdirectory 'obj' causes troubles with BSD make")
- if $dir eq 'obj';
-
# 'aux' is probably the most important of the following forbidden name,
# since it's tempting to use it as an AC_CONFIG_AUX_DIR.
msg ('portability', $where,
@@ -3670,25 +3162,23 @@ sub handle_subdirs ()
check_directories_in_var $dsubdirs
if $dsubdirs;
- $output_rules .= file_contents ('subdirs', new Automake::Location);
- rvar ('RECURSIVE_TARGETS')->rdef (TRUE)->{'pretty'} = VAR_SORTED; # Gross!
+ verbatim ('subdirs');
}
-# ($REGEN, @DEPENDENCIES)
-# scan_aclocal_m4
-# ---------------
-# If aclocal.m4 creation is automated, return the list of its dependencies.
+# $REGEN
+# scan_aclocal_m4()
+# ----------------
+# If aclocal.m4 creation is automated, return "aclocal.m4",
+# otherwise return 0.
sub scan_aclocal_m4 ()
{
my $regen_aclocal = 0;
- set_seen 'CONFIG_STATUS_DEPENDENCIES';
- set_seen 'CONFIGURE_DEPENDENCIES';
-
if (-f 'aclocal.m4')
{
- define_variable ("ACLOCAL_M4", '$(top_srcdir)/aclocal.m4', INTERNAL);
+ define_variable ("am.remake.aclocal-m4", INTERNAL,
+ '$(top_srcdir)/aclocal.m4');
my $aclocal = new Automake::XFile "< aclocal.m4";
my $line = $aclocal->getline;
@@ -3797,33 +3287,92 @@ sub rewrite_inputs_into_dependencies
return @res;
}
+sub handle_config_headers ()
+{
+ my (@config_h_local, @config_h_nonlocal, @config_hin_local);
+ my $hdr_index = 0;
+ foreach my $spec (@config_headers)
+ {
+ $hdr_index += 1;
+ # $CONFIG_H_PATH: config.h from top level.
+ my ($config_h_path, @ins) = split_config_file_spec ($spec);
+ my $config_h_dir = dirname ($config_h_path);
+ my ($stamp_dir, $cn_sans_dir) = ('', undef);
+ if ($relative_dir eq $config_h_dir)
+ {
+ $cn_sans_dir = basename ($config_h_path);
+ push @config_h_local, $cn_sans_dir;
+ }
+ else
+ {
+ $cn_sans_dir = $config_h_path;
+ $stamp_dir = $config_h_dir . '/' if $config_h_dir ne '.';
+ push @config_h_nonlocal, "\$(top_builddir)/$config_h_path";
+ }
-# handle_configure ($MAKEFILE_AM, $MAKEFILE_IN, $MAKEFILE, @INPUTS)
-# -----------------------------------------------------------------
+ foreach my $in (@ins)
+ {
+ push @config_hin_local, '$(srcdir)/' . basename ($in)
+ if $relative_dir eq dirname ($in);
+ }
+
+ # If the header is in the current directory we want to build
+ # the header here. Otherwise, if we're at the topmost
+ # directory and the header's directory doesn't have a
+ # Makefile, then we also want to build the header.
+ next unless ($relative_dir eq $config_h_dir or
+ $relative_dir eq '.' && ! is_make_dir ($config_h_dir));
+
+ # This will also distribute all inputs.
+ @ins = rewrite_inputs_into_dependencies ($config_h_path, @ins);
+
+ # Cannot define rebuild rules for filenames with shell variables.
+ next if (substitute_ac_subst_variables $config_h_path) =~ /\$/;
+
+ my $stamp = "${stamp_dir}stamp-h${hdr_index}";
+ $output_rules .=
+ file_contents ('remake-hdr',
+ new Automake::Location,
+ 'FIRST-HDR' => ($hdr_index == 1),
+ CONFIG_H => $cn_sans_dir,
+ CONFIG_HIN => $ins[0],
+ CONFIG_H_DEPS => "@ins",
+ CONFIG_H_PATH => $config_h_path,
+ STAMP => $stamp);
+
+ $clean_files{$cn_sans_dir} = DIST_CLEAN;
+ $clean_files{$stamp} = DIST_CLEAN;
+ }
+
+ define_variable ('am.config-hdr.local', INTERNAL, @config_h_local);
+ define_variable ('am.config-hdr.non-local', INTERNAL, @config_h_nonlocal);
+ define_variable ('am.config-hdr.local.in', INTERNAL, @config_hin_local);
+ define_variable ('AM_CONFIG_HEADERS', INTERNAL,
+ qw/$(am.config-hdr.local) $(am.config-hdr.non-local)/);
+}
+
+# handle_configure ($MAKEFILE, @INPUTS)
+# -------------------------------------
# Handle remaking and configure stuff.
# We need the name of the input file, to do proper remaking rules.
sub handle_configure
{
- my ($makefile_am, $makefile_in, $makefile, @inputs) = @_;
+ my ($makefile, @inputs) = @_;
prog_error 'empty @inputs'
unless @inputs;
- my ($rel_makefile_am, $rel_makefile_in) = prepend_srcdir ($makefile_am,
- $makefile_in);
- my $rel_makefile = basename $makefile;
-
my $colon_infile = ':' . join (':', @inputs);
$colon_infile = '' if $colon_infile eq ":$makefile.in";
my @rewritten = rewrite_inputs_into_dependencies ($makefile, @inputs);
my $regen_aclocal_m4 = scan_aclocal_m4;
- define_pretty_variable ('am__aclocal_m4_deps', TRUE, INTERNAL,
- @configure_deps, "\$(top_srcdir)/$configure_ac");
- my @configuredeps = ('$(am__aclocal_m4_deps)', '$(CONFIGURE_DEPENDENCIES)');
- push @configuredeps, '$(ACLOCAL_M4)' if -f 'aclocal.m4';
- define_pretty_variable ('am__configure_deps', TRUE, INTERNAL,
- @configuredeps);
+ define_variable ('am.remake.aclocal-m4-deps', INTERNAL,
+ @configure_deps, "\$(top_srcdir)/$configure_ac");
+ my @configuredeps = ('$(am.remake.aclocal-m4-deps)',
+ '$(CONFIGURE_DEPENDENCIES)');
+ push @configuredeps, '$(am.remake.aclocal-m4)' if -f 'aclocal.m4';
+ define_variable ('am.remake.configure-deps', INTERNAL, @configuredeps);
my $automake_options = '--' . $strictness_name .
(global_option 'no-dependencies' ? ' --ignore-deps' : '');
@@ -3831,150 +3380,15 @@ sub handle_configure
$output_rules .= file_contents
('configure',
new Automake::Location,
- MAKEFILE => $rel_makefile,
'MAKEFILE-DEPS' => "@rewritten",
'CONFIG-MAKEFILE' => ($relative_dir eq '.') ? '$@' : '$(subdir)/$@',
- 'MAKEFILE-IN' => $rel_makefile_in,
'HAVE-MAKEFILE-IN-DEPS' => (@include_stack > 0),
'MAKEFILE-IN-DEPS' => "@include_stack",
- 'MAKEFILE-AM' => $rel_makefile_am,
'AUTOMAKE-OPTIONS' => $automake_options,
'MAKEFILE-AM-SOURCES' => "$makefile$colon_infile",
'REGEN-ACLOCAL-M4' => $regen_aclocal_m4,
VERBOSE => verbose_flag ('GEN'));
- if ($relative_dir eq '.')
- {
- push_dist_common ('acconfig.h')
- if -f 'acconfig.h';
- }
-
- # If we have a configure header, require it.
- my $hdr_index = 0;
- my @distclean_config;
- foreach my $spec (@config_headers)
- {
- $hdr_index += 1;
- # $CONFIG_H_PATH: config.h from top level.
- my ($config_h_path, @ins) = split_config_file_spec ($spec);
- my $config_h_dir = dirname ($config_h_path);
-
- # If the header is in the current directory we want to build
- # the header here. Otherwise, if we're at the topmost
- # directory and the header's directory doesn't have a
- # Makefile, then we also want to build the header.
- if ($relative_dir eq $config_h_dir
- || ($relative_dir eq '.' && ! is_make_dir ($config_h_dir)))
- {
- my ($cn_sans_dir, $stamp_dir);
- if ($relative_dir eq $config_h_dir)
- {
- $cn_sans_dir = basename ($config_h_path);
- $stamp_dir = '';
- }
- else
- {
- $cn_sans_dir = $config_h_path;
- if ($config_h_dir eq '.')
- {
- $stamp_dir = '';
- }
- else
- {
- $stamp_dir = $config_h_dir . '/';
- }
- }
-
- # This will also distribute all inputs.
- @ins = rewrite_inputs_into_dependencies ($config_h_path, @ins);
-
- # Cannot define rebuild rules for filenames with shell variables.
- next if (substitute_ac_subst_variables $config_h_path) =~ /\$/;
-
- # Header defined in this directory.
- my @files;
- if (-f $config_h_path . '.top')
- {
- push (@files, "$cn_sans_dir.top");
- }
- if (-f $config_h_path . '.bot')
- {
- push (@files, "$cn_sans_dir.bot");
- }
-
- push_dist_common (@files);
-
- # For now, acconfig.h can only appear in the top srcdir.
- if (-f 'acconfig.h')
- {
- push (@files, '$(top_srcdir)/acconfig.h');
- }
-
- my $stamp = "${stamp_dir}stamp-h${hdr_index}";
- $output_rules .=
- file_contents ('remake-hdr',
- new Automake::Location,
- FILES => "@files",
- 'FIRST-HDR' => ($hdr_index == 1),
- CONFIG_H => $cn_sans_dir,
- CONFIG_HIN => $ins[0],
- CONFIG_H_DEPS => "@ins",
- CONFIG_H_PATH => $config_h_path,
- STAMP => "$stamp");
-
- push @distclean_config, $cn_sans_dir, $stamp;
- }
- }
-
- $output_rules .= file_contents ('clean-hdr',
- new Automake::Location,
- FILES => "@distclean_config")
- if @distclean_config;
-
- # Distribute and define mkinstalldirs only if it is already present
- # in the package, for backward compatibility (some people may still
- # use $(mkinstalldirs)).
- # TODO: start warning about this in Automake 1.14, and have
- # TODO: Automake 2.0 drop it (and the mkinstalldirs script
- # TODO: as well).
- my $mkidpath = "$config_aux_dir/mkinstalldirs";
- if (-f $mkidpath)
- {
- # Use require_file so that any existing script gets updated
- # by --force-missing.
- require_conf_file ($mkidpath, FOREIGN, 'mkinstalldirs');
- define_variable ('mkinstalldirs',
- "\$(SHELL) $am_config_aux_dir/mkinstalldirs", INTERNAL);
- }
- else
- {
- # Use $(install_sh), not $(MKDIR_P) because the latter requires
- # at least one argument, and $(mkinstalldirs) used to work
- # even without arguments (e.g. $(mkinstalldirs) $(conditional_dir)).
- define_variable ('mkinstalldirs', '$(install_sh) -d', INTERNAL);
- }
-
- reject_var ('CONFIG_HEADER',
- "'CONFIG_HEADER' is an anachronism; now determined "
- . "automatically\nfrom '$configure_ac'");
-
- my @config_h;
- foreach my $spec (@config_headers)
- {
- my ($out, @ins) = split_config_file_spec ($spec);
- # Generate CONFIG_HEADER define.
- if ($relative_dir eq dirname ($out))
- {
- push @config_h, basename ($out);
- }
- else
- {
- push @config_h, "\$(top_builddir)/$out";
- }
- }
- define_variable ("CONFIG_HEADER", "@config_h", INTERNAL)
- if @config_h;
-
# Now look for other files in this directory which must be remade
# by config.status, and generate rules for them.
my @actual_other_files = ();
@@ -4105,10 +3519,10 @@ sub handle_configure
}
# These files get removed by "make distclean".
- define_pretty_variable ('CONFIG_CLEAN_FILES', TRUE, INTERNAL,
- @actual_other_files);
- define_pretty_variable ('CONFIG_CLEAN_VPATH_FILES', TRUE, INTERNAL,
- @actual_other_vpath_files);
+ define_variable ('CONFIG_CLEAN_FILES', INTERNAL,
+ @actual_other_files);
+ define_variable ('CONFIG_CLEAN_VPATH_FILES',INTERNAL,
+ @actual_other_vpath_files);
}
sub handle_headers ()
@@ -4182,125 +3596,19 @@ sub handle_gettext ()
# Emit makefile footer.
sub handle_footer ()
{
- reject_rule ('.SUFFIXES',
- "use variable 'SUFFIXES', not target '.SUFFIXES'");
-
- # Note: AIX 4.1 /bin/make will fail if any suffix rule appears
- # before .SUFFIXES. So we make sure that .SUFFIXES appears before
- # anything else, by sticking it right after the default: target.
- $output_header .= ".SUFFIXES:\n";
- my $suffixes = var 'SUFFIXES';
- my @suffixes = Automake::Rule::suffixes;
- if (@suffixes || $suffixes)
- {
- # Make sure SUFFIXES has unique elements. Sort them to ensure
- # the output remains consistent. However, $(SUFFIXES) is
- # always at the start of the list, unsorted. This is done
- # because make will choose rules depending on the ordering of
- # suffixes, and this lets the user have some control. Push
- # actual suffixes, and not $(SUFFIXES). Some versions of make
- # do not like variable substitutions on the .SUFFIXES line.
- my @user_suffixes = ($suffixes
- ? $suffixes->value_as_list_recursive : ());
-
- my %suffixes = map { $_ => 1 } @suffixes;
- delete @suffixes{@user_suffixes};
-
- $output_header .= (".SUFFIXES: "
- . join (' ', @user_suffixes, sort keys %suffixes)
- . "\n");
- }
-
- $output_trailer .= file_contents ('footer', new Automake::Location);
-}
-
-
-# Generate 'make install' rules.
-sub handle_install ()
-{
- $output_rules .= file_contents
- ('install',
- new Automake::Location,
- maybe_BUILT_SOURCES => (set_seen ('BUILT_SOURCES')
- ? (" \$(BUILT_SOURCES)\n"
- . "\t\$(MAKE) \$(AM_MAKEFLAGS)")
- : ''),
- 'installdirs-local' => (user_phony_rule ('installdirs-local')
- ? ' installdirs-local' : ''),
- am__installdirs => variable_value ('am__installdirs') || '');
-}
-
-
-# handle_all ($MAKEFILE)
-#-----------------------
-# Deal with 'all' and 'all-am'.
-sub handle_all
-{
- my ($makefile) = @_;
-
- # Output 'all-am'.
-
- # Put this at the beginning for the sake of non-GNU makes. This
- # is still wrong if these makes can run parallel jobs. But it is
- # right enough.
- unshift (@all, basename ($makefile));
-
- foreach my $spec (@config_headers)
- {
- my ($out, @ins) = split_config_file_spec ($spec);
- push (@all, basename ($out))
- if dirname ($out) eq $relative_dir;
- }
-
- # Install 'all' hooks.
- push (@all, "all-local")
- if user_phony_rule "all-local";
-
- pretty_print_rule ("all-am:", "\t\t", @all);
- depend ('.PHONY', 'all-am', 'all');
-
-
- # Output 'all'.
-
- my @local_headers = ();
- push @local_headers, '$(BUILT_SOURCES)'
- if var ('BUILT_SOURCES');
- foreach my $spec (@config_headers)
- {
- my ($out, @ins) = split_config_file_spec ($spec);
- push @local_headers, basename ($out)
- if dirname ($out) eq $relative_dir;
- }
-
- if (@local_headers)
- {
- # We need to make sure config.h is built before we recurse.
- # We also want to make sure that built sources are built
- # before any ordinary 'all' targets are run. We can't do this
- # by changing the order of dependencies to the "all" because
- # that breaks when using parallel makes. Instead we handle
- # things explicitly.
- $output_all .= ("all: @local_headers"
- . "\n\t"
- . '$(MAKE) $(AM_MAKEFLAGS) '
- . (var ('SUBDIRS') ? 'all-recursive' : 'all-am')
- . "\n\n");
- depend ('.MAKE', 'all');
- }
- else
- {
- $output_all .= "all: " . (var ('SUBDIRS')
- ? 'all-recursive' : 'all-am') . "\n\n";
- }
+ # FIXME: maybe display a warning if the obsolescent $(SUFFIXES)
+ # FIXME: variable is used? Currently, we don't do that, to preserve
+ # FIXME: better compatibility with mainline Automake.
+ $output_trailer .= file_contents ('footer', new Automake::Location);
}
-# Generate helper targets for user-defined recursive targets, where needed.
+# 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);
+ define_variable ('am.recurs.extra-targets', INTERNAL,
+ map { "$_-recursive" } @extra_recursive_targets);
my $aux = var ('SUBDIRS') ? 'recursive' : 'am';
foreach my $target (@extra_recursive_targets)
{
@@ -4320,91 +3628,29 @@ sub handle_user_recursion ()
}
}
-
-# Handle check merge target specially.
-sub do_check_merge_target ()
+sub handle_clean ()
{
- # Include user-defined local form of target.
- push @check_tests, 'check-local'
- if user_phony_rule 'check-local';
+ my (%f, %d);
- # 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');
- }
-
- if (@check_tests)
- {
- pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ",
- @check_tests);
- depend ('.MAKE', 'check-am');
- }
-
- depend '.PHONY', 'check', 'check-am';
- # Handle recursion. We have to honor BUILT_SOURCES like for 'all:'.
- $output_rules .= ("check: "
- . (var ('BUILT_SOURCES')
- ? "\$(BUILT_SOURCES)\n\t\$(MAKE) \$(AM_MAKEFLAGS) "
- : '')
- . (var ('SUBDIRS') ? 'check-recursive' : 'check-am')
- . "\n");
- depend ('.MAKE', 'check')
- if var ('BUILT_SOURCES');
-}
-
-# Handle all 'clean' targets.
-sub handle_clean
-{
- my ($makefile) = @_;
+ my @fkeys = keys %clean_files;
+ $f{mostly} = [ grep { $clean_files{$_} == MOSTLY_CLEAN } @fkeys ];
+ $f{normal} = [ grep { $clean_files{$_} == CLEAN } @fkeys ];
+ $f{dist} = [ grep { $clean_files{$_} == DIST_CLEAN } @fkeys ];
+ $f{maint} = [ grep { $clean_files{$_} == MAINTAINER_CLEAN } @fkeys ];
- # Clean the files listed in user variables if they exist.
- $clean_files{'$(MOSTLYCLEANFILES)'} = MOSTLY_CLEAN
- if var ('MOSTLYCLEANFILES');
- $clean_files{'$(CLEANFILES)'} = CLEAN
- if var ('CLEANFILES');
- $clean_files{'$(DISTCLEANFILES)'} = DIST_CLEAN
- if var ('DISTCLEANFILES');
- $clean_files{'$(MAINTAINERCLEANFILES)'} = MAINTAINER_CLEAN
- if var ('MAINTAINERCLEANFILES');
+ my @dkeys = keys %clean_dirs;
+ $d{mostly} = [ grep { $clean_dirs{$_} == MOSTLY_CLEAN } @dkeys ];
+ $d{normal} = [ grep { $clean_dirs{$_} == CLEAN } @dkeys ];
+ $d{dist} = [ grep { $clean_dirs{$_} == DIST_CLEAN } @dkeys ];
+ $d{maint} = [ grep { $clean_dirs{$_} == MAINTAINER_CLEAN } @dkeys ];
- # Built sources are automatically removed by maintainer-clean.
- $clean_files{'$(BUILT_SOURCES)'} = MAINTAINER_CLEAN
- if var ('BUILT_SOURCES');
-
- # Compute a list of "rm"s to run for each target.
- my %rms = (MOSTLY_CLEAN, [],
- CLEAN, [],
- DIST_CLEAN, [],
- MAINTAINER_CLEAN, []);
-
- foreach my $file (keys %clean_files)
+ foreach my $kind (qw/mostly normal dist maint/)
{
- my $when = $clean_files{$file};
- prog_error 'invalid entry in %clean_files'
- unless exists $rms{$when};
-
- my $rm = "rm -f $file";
- # If file is a variable, make sure when don't call 'rm -f' without args.
- $rm ="test -z \"$file\" || $rm"
- if ($file =~ /^\s*\$(\(.*\)|\{.*\})\s*$/);
-
- push @{$rms{$when}}, "\t-$rm\n";
+ define_variable ("am.clean.$kind.f.auto", INTERNAL, @{$f{$kind}});
+ define_variable ("am.clean.$kind.d.auto", INTERNAL, @{$d{$kind}});
}
- $output_rules .= file_contents
- ('clean',
- new Automake::Location,
- MOSTLYCLEAN_RMS => join ('', sort @{$rms{&MOSTLY_CLEAN}}),
- CLEAN_RMS => join ('', sort @{$rms{&CLEAN}}),
- DISTCLEAN_RMS => join ('', sort @{$rms{&DIST_CLEAN}}),
- MAINTAINER_CLEAN_RMS => join ('', sort @{$rms{&MAINTAINER_CLEAN}}),
- MAKEFILE => basename $makefile,
- );
+ verbatim ('clean');
}
@@ -4466,10 +3712,9 @@ sub handle_factored_dependencies ()
{
if (user_phony_rule "$_-hook")
{
- depend ('.MAKE', "$_-am");
register_action("$_-am",
("\t\@\$(NORMAL_INSTALL)\n"
- . "\t\$(MAKE) \$(AM_MAKEFLAGS) $_-hook"));
+ . "\t\$(MAKE) $_-hook"));
}
}
@@ -4492,9 +3737,9 @@ sub handle_factored_dependencies ()
# to append dependencies. This would not work if Automake
# refrained from defining its own .PHONY target as it does
# with other overridden targets.
- # Likewise for '.MAKE' and '.PRECIOUS'.
+ # Likewise for '.PRECIOUS'.
my @undefined_conds = (TRUE,);
- if ($_ ne '.PHONY' && $_ ne '.MAKE' && $_ ne '.PRECIOUS')
+ if ($_ ne '.PHONY' && $_ ne '.PRECIOUS')
{
@undefined_conds =
Automake::Rule::define ($_, 'internal',
@@ -4511,84 +3756,11 @@ sub handle_factored_dependencies ()
}
}
-
-sub handle_tests_dejagnu ()
-{
- push (@check_tests, 'check-DEJAGNU');
- $output_rules .= file_contents ('dejagnu', new Automake::Location);
-}
-
-# handle_per_suffix_test ($TEST_SUFFIX, [%TRANSFORM])
-#----------------------------------------------------
-sub handle_per_suffix_test
-{
- my ($test_suffix, %transform) = @_;
- my ($pfx, $generic, $am_exeext);
- if ($test_suffix eq '')
- {
- $pfx = '';
- $generic = 0;
- $am_exeext = 'FALSE';
- }
- else
- {
- prog_error ("test suffix '$test_suffix' lacks leading dot")
- unless $test_suffix =~ m/^\.(.*)/;
- $pfx = uc ($1) . '_';
- $generic = 1;
- $am_exeext = exists $configure_vars{'EXEEXT'} ? 'am__EXEEXT'
- : '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 behaviour, implemented by the 'test-driver'
- # auxiliary script.
- if (! var "${pfx}LOG_DRIVER")
- {
- require_conf_file ("parallel-tests", FOREIGN, 'test-driver');
- define_variable ("${pfx}LOG_DRIVER",
- "\$(SHELL) $am_config_aux_dir/test-driver",
- INTERNAL);
- }
- my $driver = '$(' . $pfx . 'LOG_DRIVER)';
- my $driver_flags = '$(AM_' . $pfx . 'LOG_DRIVER_FLAGS)'
- . ' $(' . $pfx . 'LOG_DRIVER_FLAGS)';
- my $compile = "${pfx}LOG_COMPILE";
- define_variable ($compile,
- '$(' . $pfx . 'LOG_COMPILER)'
- . ' $(AM_' . $pfx . 'LOG_FLAGS)'
- . ' $(' . $pfx . 'LOG_FLAGS)',
- INTERNAL);
- $output_rules .= file_contents ('check2', new Automake::Location,
- GENERIC => $generic,
- DRIVER => $driver,
- DRIVER_FLAGS => $driver_flags,
- COMPILE => '$(' . $compile . ')',
- EXT => $test_suffix,
- am__EXEEXT => $am_exeext,
- %transform);
-}
-
-# is_valid_test_extension ($EXT)
-# ------------------------------
-# Return true if $EXT can appear in $(TEST_EXTENSIONS), return false
-# otherwise.
-sub is_valid_test_extension
-{
- my $ext = shift;
- return 1
- if ($ext =~ /^\.[a-zA-Z_][a-zA-Z0-9_]*$/);
- return 1
- if (exists $configure_vars{'EXEEXT'} && $ext eq subst ('EXEEXT'));
- return 0;
-}
-
-
sub handle_tests ()
{
if (option 'dejagnu')
{
- handle_tests_dejagnu;
+ verbatim ('dejagnu');
}
else
{
@@ -4601,118 +3773,15 @@ sub handle_tests ()
if (var ('TESTS'))
{
- push (@check_tests, 'check-TESTS');
- my $check_deps = "@check";
- $output_rules .= file_contents ('check', new Automake::Location,
- SERIAL_TESTS => !! option 'serial-tests',
- CHECK_DEPS => $check_deps);
-
- # Tests that are known programs should have $(EXEEXT) appended.
- # For matching purposes, we need to adjust XFAIL_TESTS as well.
- append_exeext { exists $known_programs{$_[0]} } 'TESTS';
- append_exeext { exists $known_programs{$_[0]} } 'XFAIL_TESTS'
- if (var ('XFAIL_TESTS'));
-
- if (! option 'serial-tests')
+ verbatim ('color-tests');
+ if (option 'serial-tests')
{
- define_variable ('TEST_SUITE_LOG', 'test-suite.log', INTERNAL);
- my $suff = '.test';
- my $at_exeext = '';
- my $handle_exeext = exists $configure_vars{'EXEEXT'};
- if ($handle_exeext)
- {
- $at_exeext = subst ('EXEEXT');
- $suff = $at_exeext . ' ' . $suff;
- }
- if (! var 'TEST_EXTENSIONS')
- {
- define_variable ('TEST_EXTENSIONS', $suff, INTERNAL);
- }
- my $var = var 'TEST_EXTENSIONS';
- # Currently, we are not able to deal with conditional contents
- # in TEST_EXTENSIONS.
- if ($var->has_conditional_contents)
- {
- msg_var 'unsupported', $var,
- "'TEST_EXTENSIONS' cannot have conditional contents";
- }
- my @test_suffixes = $var->value_as_list_recursive;
- if ((my @invalid_test_suffixes =
- grep { !is_valid_test_extension $_ } @test_suffixes) > 0)
- {
- error $var->rdef (TRUE)->location,
- "invalid test extensions: @invalid_test_suffixes";
- }
- @test_suffixes = grep { is_valid_test_extension $_ } @test_suffixes;
- if ($handle_exeext)
- {
- unshift (@test_suffixes, $at_exeext)
- unless $test_suffixes[0] eq $at_exeext;
- }
- unshift (@test_suffixes, '');
-
- transform_variable_recursively
- ('TESTS', 'TEST_LOGS', 'am__testlogs', 1, INTERNAL,
- sub {
- my ($subvar, $val, $cond, $full_cond) = @_;
- my $obj = $val;
- return $obj
- if $val =~ /^\@.*\@$/;
- $obj =~ s/\$\(EXEEXT\)$//o;
-
- if ($val =~ /(\$\((top_)?srcdir\))\//o)
- {
- msg ('error', $subvar->rdef ($cond)->location,
- "using '$1' in TESTS is currently broken: '$val'");
- }
-
- foreach my $test_suffix (@test_suffixes)
- {
- next
- if $test_suffix eq $at_exeext || $test_suffix eq '';
- return substr ($obj, 0, length ($obj) - length ($test_suffix)) . '.log'
- if substr ($obj, - length ($test_suffix)) eq $test_suffix;
- }
- my $base = $obj;
- $obj .= '.log';
- handle_per_suffix_test ('',
- OBJ => $obj,
- BASE => $base,
- SOURCE => $val);
- return $obj;
- });
-
- my $nhelper=1;
- my $prev = 'TESTS';
- my $post = '';
- my $last_suffix = $test_suffixes[$#test_suffixes];
- my $cur = '';
- foreach my $test_suffix (@test_suffixes)
- {
- if ($test_suffix eq $last_suffix)
- {
- $cur = 'TEST_LOGS';
- }
- else
- {
- $cur = 'am__test_logs' . $nhelper;
- }
- define_variable ($cur,
- '$(' . $prev . ':' . $test_suffix . $post . '=.log)', INTERNAL);
- $post = '.log';
- $prev = $cur;
- $nhelper++;
- if ($test_suffix ne $at_exeext && $test_suffix ne '')
- {
- handle_per_suffix_test ($test_suffix,
- OBJ => '',
- BASE => '$*',
- SOURCE => '$<');
- }
- }
- $clean_files{'$(TEST_LOGS)'} = MOSTLY_CLEAN;
- $clean_files{'$(TEST_LOGS:.log=.trs)'} = MOSTLY_CLEAN;
- $clean_files{'$(TEST_SUITE_LOG)'} = MOSTLY_CLEAN;
+ verbatim ('serial-tests');
+ }
+ else
+ {
+ require_conf_file ("parallel-tests", FOREIGN, 'test-driver');
+ verbatim ('parallel-tests');
}
}
}
@@ -4724,12 +3793,10 @@ sub handle_emacs_lisp ()
return if ! @elfiles;
- define_pretty_variable ('am__ELFILES', TRUE, INTERNAL,
- map { $_->[1] } @elfiles);
- define_pretty_variable ('am__ELCFILES', TRUE, INTERNAL,
- '$(am__ELFILES:.el=.elc)');
+ define_variable ('am__ELFILES', INTERNAL, map { $_->[1] } @elfiles);
+ define_variable ('am__ELCFILES', INTERNAL, '$(am__ELFILES:.el=.elc)');
# This one can be overridden by users.
- define_pretty_variable ('ELCFILES', TRUE, INTERNAL, '$(LISP:.el=.elc)');
+ define_variable ('ELCFILES', INTERNAL, '$(LISP:.el=.elc)');
push @all, '$(ELCFILES)';
@@ -4745,7 +3812,7 @@ sub handle_python ()
require_variables ($pyfiles[0][0], "Python sources seen", TRUE, 'PYTHON');
require_conf_file ($pyfiles[0][0], FOREIGN, 'py-compile');
- define_variable ('py_compile', "$am_config_aux_dir/py-compile", INTERNAL);
+ define_variable ('py_compile', INTERNAL, '$(am.conf.aux-dir)/py-compile');
}
sub handle_java ()
@@ -4778,8 +3845,7 @@ sub handle_java ()
$dir = $curs;
}
- define_pretty_variable ('am__java_sources', TRUE, INTERNAL,
- "@java_sources");
+ define_variable ('am__java_sources', INTERNAL, @java_sources);
if ($dir eq 'check')
{
@@ -4925,7 +3991,6 @@ sub scan_autoconf_traces
AM_GNU_GETTEXT => 0,
AM_GNU_GETTEXT_INTL_SUBDIR => 0,
AM_INIT_AUTOMAKE => 0,
- AM_MAINTAINER_MODE => 0,
AM_PROG_AR => 0,
_AM_SUBST_NOTMAKE => 1,
_AM_COND_IF => 1,
@@ -5112,10 +4177,6 @@ EOF
exit $exit_code unless process_global_option_list (@opts);
}
}
- elsif ($macro eq 'AM_MAINTAINER_MODE')
- {
- $seen_maint_mode = $where;
- }
elsif ($macro eq 'AM_PROG_AR')
{
$seen_ar = $where;
@@ -5336,7 +4397,7 @@ sub lang_vala_ignore
}
# Rewrite a single Vala source file.
-sub lang_vala_rewrite
+sub lang_vala_rewrite ($$$)
{
my ($directory, $base, $ext) = @_;
$ext =~ s/vala$/c/;
@@ -5388,7 +4449,7 @@ sub lang_vala_finish_target
$output_rules .= "$c_file: \$(srcdir)/${derived}_vala.stamp\n"
. "\t\@if test -f \$@; then :; else rm -f \$(srcdir)/${derived}_vala.stamp; fi\n"
. "\t\@if test -f \$@; then :; else \\\n"
- . "\t \$(MAKE) \$(AM_MAKEFLAGS) \$(srcdir)/${derived}_vala.stamp; \\\n"
+ . "\t \$(MAKE) \$(srcdir)/${derived}_vala.stamp; \\\n"
. "\tfi\n";
$clean_files{$c_file} = MAINTAINER_CLEAN;
}
@@ -5408,7 +4469,7 @@ sub lang_vala_finish_target
$output_rules .= "$headerfile: \$(srcdir)/${derived}_vala.stamp\n"
. "\t\@if test -f \$@; then :; else rm -f \$(srcdir)/${derived}_vala.stamp; fi\n"
. "\t\@if test -f \$@; then :; else \\\n"
- . "\t \$(MAKE) \$(AM_MAKEFLAGS) \$(srcdir)/${derived}_vala.stamp; \\\n"
+ . "\t \$(MAKE) \$(srcdir)/${derived}_vala.stamp; \\\n"
. "\tfi\n";
# valac is not used when building from dist tarballs
@@ -5450,7 +4511,7 @@ sub lang_vala_finish_target
# Thus we need to create the stamp file *before* invoking valac, and to
# move it to its final location only after valac has been invoked.
"\t${silent}rm -f \$\@ && echo stamp > \$\@-t\n".
- "\t${verbose}\$(am__cd) \$(srcdir) && $compile @vala_sources\n".
+ "\t${verbose}cd \$(srcdir) && $compile @vala_sources\n".
"\t${silent}mv -f \$\@-t \$\@\n";
push_dist_common ($stampfile);
@@ -5464,13 +4525,14 @@ sub lang_vala_finish_target
sub lang_vala_finish ()
{
my ($self) = @_;
+ my @names =
+ (
+ keys %known_programs,
+ keys %known_libraries,
+ keys %known_ltlibraries,
+ );
- foreach my $prog (keys %known_programs)
- {
- lang_vala_finish_target ($self, $prog);
- }
-
- while (my ($name) = each %known_libraries)
+ foreach my $name (@names)
{
lang_vala_finish_target ($self, $name);
}
@@ -5544,7 +4606,7 @@ sub lang_yacc_target_hook
"$condstr${header}: $output\n"
# Recover from removal of $header
. "$condstr\t\@if test ! -f \$@; then rm -f $output; else :; fi\n"
- . "$condstr\t\@if test ! -f \$@; then \$(MAKE) \$(AM_MAKEFLAGS) $output; else :; fi\n";
+ . "$condstr\t\@if test ! -f \$@; then \$(MAKE) $output; else :; fi\n";
}
# Distribute the generated file, unless its .y source was
# listed in a nodist_ variable. (handle_source_transform()
@@ -5574,37 +4636,16 @@ sub lang_lex_target_hook
$clean_files{$output} = $transform{'DIST_SOURCE'} ? MAINTAINER_CLEAN : CLEAN;
}
-# This is a helper for both lex and yacc.
-sub yacc_lex_finish_helper ()
+sub lang_yacc_lex_finish ()
{
return if defined $language_scratch{'lex-yacc-done'};
$language_scratch{'lex-yacc-done'} = 1;
# FIXME: for now, no line number.
require_conf_file ($configure_ac, FOREIGN, 'ylwrap');
- define_variable ('YLWRAP', "$am_config_aux_dir/ylwrap", INTERNAL);
+ define_variable ('YLWRAP', INTERNAL, '$(am.conf.aux-dir)/ylwrap');
}
-sub lang_yacc_finish ()
-{
- return if defined $language_scratch{'yacc-done'};
- $language_scratch{'yacc-done'} = 1;
-
- reject_var 'YACCFLAGS', "'YACCFLAGS' obsolete; use 'YFLAGS' instead";
-
- yacc_lex_finish_helper;
-}
-
-
-sub lang_lex_finish ()
-{
- return if defined $language_scratch{'lex-done'};
- $language_scratch{'lex-done'} = 1;
-
- yacc_lex_finish_helper;
-}
-
-
# Given a hash table of linker names, pick the name that has the most
# precedence. This is lame, but something has to have global
# knowledge in order to eliminate the conflict. Add more linkers as
@@ -5666,36 +4707,6 @@ sub register_language
$link_languages{$link} = $lang;
}
}
-
- # Update the pattern of known extensions.
- accept_extensions (@{$lang->extensions});
-
- # Update the suffix rules map.
- foreach my $suffix (@{$lang->extensions})
- {
- foreach my $dest ($lang->output_extensions->($suffix))
- {
- register_suffix_rule (INTERNAL, $suffix, $dest);
- }
- }
-}
-
-# derive_suffix ($EXT, $OBJ)
-# --------------------------
-# This function is used to find a path from a user-specified suffix $EXT
-# to $OBJ or to some other suffix we recognize internally, e.g. 'cc'.
-sub derive_suffix
-{
- my ($source_ext, $obj) = @_;
-
- while (!$extension_map{$source_ext} && $source_ext ne $obj)
- {
- my $new_source_ext = next_in_suffix_chain ($source_ext, $obj);
- last if not defined $new_source_ext;
- $source_ext = $new_source_ext;
- }
-
- return $source_ext;
}
@@ -5840,35 +4851,34 @@ sub cond_stack_endif
## ------------------------ ##
-# define_pretty_variable ($VAR, $COND, $WHERE, @VALUE)
+# define_cond_variable ($VAR, $COND, $WHERE, @VALUE)
# ----------------------------------------------------
# Like define_variable, but the value is a list, and the variable may
# be defined conditionally. The second argument is the condition
# under which the value should be defined; this should be the empty
# string to define the variable unconditionally. The third argument
-# is a list holding the values to use for the variable. The value is
-# pretty printed in the output file.
-sub define_pretty_variable
+# is a list holding the values to use for the variable.
+sub define_cond_variable
{
my ($var, $cond, $where, @value) = @_;
if (! vardef ($var, $cond))
{
Automake::Variable::define ($var, VAR_AUTOMAKE, '', $cond, "@value",
- '', $where, VAR_PRETTY);
+ '', $where);
rvar ($var)->rdef ($cond)->set_seen;
}
}
-# define_variable ($VAR, $VALUE, $WHERE)
+# define_variable ($VAR, $WHERE, @VALUE)
# --------------------------------------
# Define a new Automake Makefile variable VAR to VALUE, but only if
# not already defined.
sub define_variable
{
- my ($var, $value, $where) = @_;
- define_pretty_variable ($var, TRUE, $where, $value);
+ my ($var, $where, @value) = @_;
+ define_cond_variable ($var, TRUE, $where, @value);
}
@@ -5879,9 +4889,8 @@ sub define_variable
sub define_files_variable ($\@$$)
{
my ($var, $basename, $extension, $where) = @_;
- define_variable ($var,
- join (' ', map { "$_.$extension" } @$basename),
- $where);
+ define_variable ($var, $where,
+ join (' ', map { "$_.$extension" } @$basename));
}
@@ -5893,9 +4902,9 @@ sub define_configure_variable
# Some variables we do not want to output. For instance it
# would be a bad idea to output `U = @U@` when `@U@` can be
# substituted as `\`.
- my $pretty = exists $ignored_configure_vars{$var} ? VAR_SILENT : VAR_ASIS;
+ return if exists $ignored_configure_vars{$var};
Automake::Variable::define ($var, VAR_CONFIGURE, '', TRUE, subst ($var),
- '', $configure_vars{$var}, $pretty);
+ '', $configure_vars{$var});
}
@@ -5911,14 +4920,13 @@ sub define_compiler_variable
my $libtool_tag = '';
$libtool_tag = '--tag=' . $lang->libtool_tag . ' '
if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
- define_variable ($var, $value, INTERNAL);
+ define_variable ($var, INTERNAL, $value);
if (var ('LIBTOOL'))
{
my $verbose = define_verbose_libtool ();
- define_variable ("LT$var",
- "\$(LIBTOOL) $verbose $libtool_tag\$(AM_LIBTOOLFLAGS)"
- . " \$(LIBTOOLFLAGS) --mode=compile $value",
- INTERNAL);
+ define_variable ("LT$var", INTERNAL,
+ "\$(LIBTOOL) $verbose $libtool_tag\$(AM_LIBTOOLFLAGS) "
+ . "\$(LIBTOOLFLAGS) --mode=compile $value");
}
define_verbose_tagvar ($lang->ccer || 'GEN');
}
@@ -5932,7 +4940,7 @@ sub define_linker_variable
$libtool_tag = '--tag=' . $lang->libtool_tag . ' '
if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
# CCLD = $(CC).
- define_variable ($lang->lder, $lang->ld, INTERNAL);
+ define_variable ($lang->lder, INTERNAL, $lang->ld);
# CCLINK = $(CCLD) blah blah...
my $link = '';
if (var ('LIBTOOL'))
@@ -5941,8 +4949,8 @@ sub define_linker_variable
$link = "\$(LIBTOOL) $verbose $libtool_tag\$(AM_LIBTOOLFLAGS) "
. "\$(LIBTOOLFLAGS) --mode=link ";
}
- define_variable ($lang->linker, $link . $lang->link, INTERNAL);
- define_variable ($lang->compiler, $lang, INTERNAL);
+ define_variable ($lang->linker, INTERNAL, $link . $lang->link);
+ define_variable ($lang->compiler, INTERNAL, $lang);
define_verbose_tagvar ($lang->lder || 'GEN');
}
@@ -5990,7 +4998,7 @@ sub define_per_target_linker_variable
return ($lang->linker, $lang->lder)
if $link_command eq $orig_command;
- define_variable ("${target}_LINK", $link_command, INTERNAL);
+ define_variable ("${target}_LINK", INTERNAL, $link_command);
return ("${target}_LINK", $lang->lder);
}
@@ -6038,7 +5046,6 @@ sub read_am_file
my $comment = '';
my $blank = 0;
my $saw_bk = 0;
- my $var_look = VAR_ASIS;
use constant IN_VAR_DEF => 0;
use constant IN_RULE_DEF => 1;
@@ -6054,8 +5061,6 @@ sub read_am_file
}
elsif (/$WHITE_PATTERN/o)
{
- error $where, "blank line following trailing backslash"
- if $saw_bk;
# Stick a single white line before the incoming macro or rule.
$spacing = "\n";
$blank = 1;
@@ -6094,19 +5099,14 @@ sub read_am_file
my $last_var_value = '';
my $last_where;
# FIXME: shouldn't use $_ in this loop; it is too big.
- while ($_)
- {
+ for (; defined $_; $_ = $am_file->getline)
+ {
$where->set ("$amfile:$.");
# Make sure the line is \n-terminated.
chomp;
$_ .= "\n";
- # Don't look at MAINTAINER_MODE_TRUE here. That shouldn't be
- # used by users. @MAINT@ is an anachronism now.
- $_ =~ s/\@MAINT\@//g
- unless $seen_maint_mode;
-
my $new_saw_bk = check_trailing_slash ($where, $_);
if ($reldir eq '.')
@@ -6131,18 +5131,6 @@ sub read_am_file
{
# Stick a single white line before the incoming macro or rule.
$spacing = "\n";
- error $where, "blank line following trailing backslash"
- if $saw_bk;
- }
- elsif (/$COMMENT_PATTERN/o)
- {
- error $where, "comment following trailing backslash"
- if $saw_bk && $prev_state != IN_COMMENT;
-
- # Stick comments before the incoming macro or rule.
- $comment .= $spacing . $_;
- $spacing = '';
- $prev_state = IN_COMMENT;
}
elsif ($saw_bk)
{
@@ -6154,14 +5142,6 @@ sub read_am_file
}
elsif ($prev_state == IN_COMMENT)
{
- # If the line doesn't start with a '#', add it.
- # We do this because a continued comment like
- # # A = foo \
- # bar \
- # baz
- # is not portable. BSD make doesn't honor
- # escaped newlines in comments.
- s/^#?/#/;
$comment .= $spacing . $_;
}
else # $prev_state == IN_VAR_DEF
@@ -6175,13 +5155,20 @@ sub read_am_file
Automake::Variable::define ($last_var_name, VAR_MAKEFILE,
$last_var_type, $cond,
$last_var_value, $comment,
- $last_where, VAR_ASIS)
+ $last_where)
if $cond != FALSE;
$comment = $spacing = '';
}
}
}
+ elsif (/$COMMENT_PATTERN/o)
+ {
+ # Stick comments before the incoming macro or rule.
+ $comment .= $spacing . $_;
+ $spacing = '';
+ $prev_state = IN_COMMENT;
+ }
elsif (/$IF_PATTERN/o)
{
$cond = cond_stack_if ($1, $2, $where);
@@ -6199,13 +5186,15 @@ sub read_am_file
{
# Found a rule.
$prev_state = IN_RULE_DEF;
+ my $targ = $1;
+ (my $deps = $2) =~ s/^\s*//;
# For now we have to output all definitions of user rules
# and can't diagnose duplicates (see the comment in
- # Automake::Rule::define). So we go on and ignore the return value.
- Automake::Rule::define ($1, $amfile, RULE_USER, $cond, $where);
-
- check_variable_expansions ($_, $where);
+ # Automake::Rule::define). So we go on and ignore the return
+ # value.
+ Automake::Rule::define ($targ, $amfile, RULE_USER, $cond,
+ $where, $deps);
$output_trailer .= $comment . $spacing;
my $cond = new Automake::Condition @cond_stack;
@@ -6228,29 +5217,15 @@ sub read_am_file
# 'sed's.
$last_var_value = $3 . "\n";
}
- # Normally we try to output variable definitions in the
- # same format they were input. However, POSIX compliant
- # systems are not required to support lines longer than
- # 2048 bytes (most notably, some sed implementation are
- # limited to 4000 bytes, and sed is used by config.status
- # to rewrite Makefile.in into Makefile). Moreover nobody
- # would really write such long lines by hand since it is
- # hardly maintainable. So if a line is longer that 1000
- # bytes (an arbitrary limit), assume it has been
- # automatically generated by some tools, and flatten the
- # variable definition. Otherwise, keep the variable as it
- # as been input.
- $var_look = VAR_PRETTY if length ($last_var_value) >= 1000;
if (!/\\$/)
{
Automake::Variable::define ($last_var_name, VAR_MAKEFILE,
$last_var_type, $cond,
$last_var_value, $comment,
- $last_where, $var_look)
+ $last_where)
if $cond != FALSE;
$comment = $spacing = '';
- $var_look = VAR_ASIS;
}
}
elsif (/$INCLUDE_PATTERN/o)
@@ -6261,23 +5236,12 @@ sub read_am_file
{
push (@include_stack, "\$\(top_srcdir\)/$path");
# Distribute any included file.
-
- # Always use the $(top_srcdir) prefix in DIST_COMMON,
- # otherwise OSF make will implicitly copy the included
- # file in the build tree during "make distdir" to satisfy
- # the dependency.
- # (subdir-am-cond.sh and subdir-ac-cond.sh will fail)
push_dist_common ("\$\(top_srcdir\)/$path");
}
else
{
$path =~ s/\$\(srcdir\)\///;
push (@include_stack, "\$\(srcdir\)/$path");
- # Always use the $(srcdir) prefix in DIST_COMMON,
- # otherwise OSF make will implicitly copy the included
- # file in the build tree during "make distdir" to satisfy
- # the dependency.
- # (subdir-am-cond.sh and subdir-ac-cond.sh will fail)
push_dist_common ("\$\(srcdir\)/$path");
$path = $relative_dir . "/" . $path if $relative_dir ne '.';
}
@@ -6292,25 +5256,18 @@ sub read_am_file
# This isn't an error; it is probably a continued rule.
# In fact, this is what we assume.
$prev_state = IN_RULE_DEF;
- check_variable_expansions ($_, $where);
$output_trailer .= $comment . $spacing;
my $cond = new Automake::Condition @cond_stack;
$output_trailer .= $cond->subst_string;
$output_trailer .= $_;
$comment = $spacing = '';
- error $where, "'#' comment at start of rule is unportable"
- if $_ =~ /^\t\s*\#/;
}
$saw_bk = $new_saw_bk;
- $_ = $am_file->getline;
}
$output_trailer .= $comment;
- error ($where, "trailing backslash on last line")
- if $saw_bk;
-
error ($where, (@cond_stack ? "unterminated conditionals: @cond_stack"
: "too many conditionals closed in include file"))
if "@saved_cond_stack" ne "@cond_stack";
@@ -6321,17 +5278,11 @@ sub read_am_file
# and variables from header-vars.am.
sub define_standard_variables ()
{
- my $saved_output_vars = $output_vars;
- my ($comments, undef, $rules) =
- file_contents_internal (1, "$libdir/am/header-vars.am",
- new Automake::Location);
-
foreach my $var (sort keys %configure_vars)
{
define_configure_variable ($var);
}
-
- $output_vars .= $comments . $rules;
+ $output_vars .= verbatim ('header-vars');
}
@@ -6429,42 +5380,17 @@ sub transform ($\%)
}
# $TEXT
-# preprocess_file ($MAKEFILE, [%TRANSFORM])
-# -----------------------------------------
-# Load a $MAKEFILE, apply the %TRANSFORM, and return the result.
-# No extra parsing or post-processing is done (i.e., recognition of
-# rules declaration or of make variables definitions).
-sub preprocess_file
-{
- my ($file, %transform) = @_;
-
- # Complete %transform with global options.
- # Note that %transform goes last, so it overrides global options.
- %transform = ( 'MAINTAINER-MODE'
- => $seen_maint_mode ? subst ('MAINTAINER_MODE_TRUE') : '',
-
- 'XZ' => !! option 'dist-xz',
- 'LZIP' => !! option 'dist-lzip',
- 'BZIP2' => !! option 'dist-bzip2',
- 'GZIP' => ! option 'no-dist-gzip',
- 'ZIP' => !! option 'dist-zip',
-
- 'INSTALL-INFO' => ! option 'no-installinfo',
- 'INSTALL-MAN' => ! option 'no-installman',
- 'CK-NEWS' => !! option 'check-news',
-
- 'SUBDIRS' => !! var ('SUBDIRS'),
- 'TOPDIR_P' => $relative_dir eq '.',
-
- 'BUILD' => ($seen_canonical >= AC_CANONICAL_BUILD),
- 'HOST' => ($seen_canonical >= AC_CANONICAL_HOST),
- 'TARGET' => ($seen_canonical >= AC_CANONICAL_TARGET),
-
- 'LIBTOOL' => !! var ('LIBTOOL'),
- 'NONLIBTOOL' => 1,
- %transform);
-
- if (! defined ($_ = $am_file_cache{$file}))
+# slurp_makefile_fragment ($MAKEFILE)
+# -----------------------------------
+# Load a $MAKEFILE, strip '##'-style comments, and return the result.
+# No extra parsing or post-processing is done (e.g., '%TRANSFORM%'
+# substitutions, recognition of rules declaration or of make variables
+# definitions).
+sub slurp_makefile_fragment
+{
+ my $file = shift;
+ local $_;
+ if (not defined ($_ = $am_file_cache{$file}))
{
verb "reading $file";
# Swallow the whole file.
@@ -6475,12 +5401,37 @@ sub preprocess_file
$/ = $saved_dollar_slash;
$fc_file->close;
# Remove ##-comments.
- # Besides we don't need more than two consecutive new-lines.
- s/(?:$IGNORE_PATTERN|(?<=\n\n)\n+)//gom;
+ s/$IGNORE_PATTERN//gom;
# Remember the contents of the just-read file.
$am_file_cache{$file} = $_;
}
+ return $_;
+}
+
+# $TEXT
+# preprocess_file ($MAKEFILE, [%TRANSFORM])
+# -----------------------------------------
+# Load a $MAKEFILE, apply the %TRANSFORM, and return the result.
+# No extra parsing or post-processing is done (i.e., recognition of
+# rules declaration or of make variables definitions).
+sub preprocess_file
+{
+ my ($file, %transform) = @_;
+ # Complete %transform with global options.
+ # Note that %transform goes last, so it overrides global options.
+ %transform = ('INSTALL-MAN' => ! option 'no-installman',
+ 'SUBDIRS' => !! var ('SUBDIRS'),
+ 'TOPDIR_P' => $relative_dir eq '.',
+ 'LIBTOOL' => !! var ('LIBTOOL'),
+ 'NONLIBTOOL' => 1,
+ 'SILENT' => silent_flag (),
+ %transform);
+
+ local $_ = slurp_makefile_fragment ($file);
+
+ # We don't need more than two consecutive new-lines.
+ s/(?<=\n\n)\n+//gm;
# Substitute Automake template tokens.
s/(?: % \?? [\w\-]+ %
| \? !? [\w\-]+ \?
@@ -6493,6 +5444,37 @@ sub preprocess_file
return $_;
}
+# verbatim ($NAME)
+# ----------------
+# Load a "$libdir/am/$NAME.mk", stripping any '##'-style comment. No
+# extra parsing or post-processing is done (i.e., recognition of rules
+# declaration or of make variables definitions).
+# If used in scalar or list context, return the read makefile fragment.
+# While if used in void context, append it to the '$output_verbatim'
+# variable.
+sub verbatim
+{
+ my $name = shift;
+ my $dir = "$config_aux_dir/am-ng";
+ my $file = "$dir/$name.mk";
+ my $text = slurp_makefile_fragment ("$libdir/am/$name.mk");
+ mkdir ($dir, 0755) if ! -d $dir;
+ my $fh = new Automake::XFile "> $file";
+ verb "creating $file";
+ print $fh $text;
+ my $out = "include \@top_srcdir\@/$file\n";
+ if (defined wantarray)
+ {
+ # Scalar or list context.
+ return $out;
+ }
+ else
+ {
+ # Void context
+ $output_verbatim .= $out;
+ return;
+ }
+}
# @PARAGRAPHS
# make_paragraphs ($MAKEFILE, [%TRANSFORM])
@@ -6505,9 +5487,27 @@ sub make_paragraphs
$transform{FIRST} = !$transformed_files{$file};
$transformed_files{$file} = 1;
- my @lines = split /(?<!\\)\n/, preprocess_file ($file, %transform);
- my @res;
+ my @lines = split /\n/, preprocess_file ($file, %transform);
+
+ # A line starting with '!' must be passed verbatim to the output
+ # Makefile, placed after the variables' definitions and before the
+ # Makefile targets. This is an hack to allow us to use tricky GNU
+ # make constructs (on which the dumb Automake parser would choke).
+ # It is not perfect, but seems good enough for the moment.
+ my @verbatim_lines = grep /^!/, @lines;
+ foreach (@verbatim_lines)
+ {
+ s/^!//;
+ $output_verbatim .= "$_\n";
+ }
+ @lines = grep !/^!/, @lines;
+ # Handle line continuations.
+ # FIXME: this could probably be done more efficiently, but I'd rather
+ # FIXME: not change working (and trickish) code for the moment.
+ @lines = split /(?<!\\)\n/, join ("\n", @lines);
+
+ my @res;
while (defined ($_ = shift @lines))
{
my $paragraph = $_;
@@ -6573,24 +5573,18 @@ sub file_contents_internal
# FIXME: no line number available.
$where->set ($file);
- # Sanity checks.
- error $where, "blank line following trailing backslash:\n$_"
- if /\\$/;
- error $where, "comment following trailing backslash:\n$_"
- if /\\#/;
-
if (/^$/)
- {
+ {
$is_rule = 0;
# Stick empty line before the incoming macro or rule.
$spacing = "\n";
- }
+ }
elsif (/$COMMENT_PATTERN/mso)
- {
+ {
$is_rule = 0;
# Stick comments before the incoming macro or rule.
$comment = "$_\n";
- }
+ }
# Handle inclusion of other files.
elsif (/$INCLUDE_PATTERN/o)
@@ -6674,7 +5668,7 @@ sub file_contents_internal
my @undefined_conds =
Automake::Rule::define ($targets, $file,
$is_am ? RULE_AUTOMAKE : RULE_USER,
- $cond, $where);
+ $cond, $where, "@deps");
for my $undefined_cond (@undefined_conds)
{
my $condparagraph = $paragraph;
@@ -6704,8 +5698,7 @@ sub file_contents_internal
Automake::Variable::define ($var,
$is_am ? VAR_AUTOMAKE : VAR_MAKEFILE,
- $type, $cond, $val, $comment, $where,
- VAR_ASIS)
+ $type, $cond, $val, $comment, $where)
if $cond != FALSE;
$comment = $spacing = '';
@@ -7012,7 +6005,7 @@ sub am_install_var
if (@used && $primary ne 'JAVA' && $primary ne 'PYTHON')
{
# Define it.
- define_pretty_variable ($primary, TRUE, INTERNAL, @used);
+ define_variable ($primary, INTERNAL, @used);
$output_vars .= "\n";
}
@@ -7102,7 +6095,6 @@ sub locate_aux_dir ()
# push_required_file ($DIR, $FILE, $FULLFILE)
# -------------------------------------------
-# Push the given file onto DIST_COMMON.
sub push_required_file
{
my ($dir, $file, $fullfile) = @_;
@@ -7121,7 +6113,7 @@ sub push_required_file
# of $am_config_aux_dir here is deliberate and necessary.
elsif ($dir eq $config_aux_dir)
{
- push_dist_common ("$am_config_aux_dir/$file");
+ push_dist_common ('$(am.conf.aux-dir)/' . $file);
}
# FIXME: another spacial case, for AC_LIBOBJ/AC_LIBSOURCE support.
# We probably need some refactoring of this function and its callers,
@@ -7177,7 +6169,8 @@ sub push_required_file
else
{
prog_error "a Makefile in relative directory $relative_dir " .
- "can't add files in directory $dir to DIST_COMMON";
+ "can't add files in directory $dir to the list " .
+ "of distributed files";
}
}
@@ -7295,15 +6288,13 @@ sub required_file_check_or_copy
}
-# require_file_internal ($WHERE, $MYSTRICT, $DIRECTORY, $QUEUE, @FILES)
-# ---------------------------------------------------------------------
+# require_file_internal ($WHERE, $MYSTRICT, $DIRECTORY, @FILES)
+# -------------------------------------------------------------
# Verify that the file must exist in $DIRECTORY, or install it.
# $MYSTRICT is the strictness level at which this file becomes required.
-# Worker threads may queue up the action to be serialized by the master,
-# if $QUEUE is true
sub require_file_internal
{
- my ($where, $mystrict, $dir, $queue, @files) = @_;
+ my ($where, $mystrict, $dir, @files) = @_;
return
unless $strictness >= $mystrict;
@@ -7311,16 +6302,7 @@ sub require_file_internal
foreach my $file (@files)
{
push_required_file ($dir, $file, "$dir/$file");
- if ($queue)
- {
- queue_required_file_check_or_copy ($required_conf_file_queue,
- QUEUE_CONF_FILE, $relative_dir,
- $where, $mystrict, @files);
- }
- else
- {
- required_file_check_or_copy ($where, $dir, $file);
- }
+ required_file_check_or_copy ($where, $dir, $file);
}
}
@@ -7329,7 +6311,7 @@ sub require_file_internal
sub require_file
{
my ($where, $mystrict, @files) = @_;
- require_file_internal ($where, $mystrict, $relative_dir, 0, @files);
+ require_file_internal ($where, $mystrict, $relative_dir, @files);
}
# require_file_with_macro ($COND, $MACRO, $MYSTRICT, @FILES)
@@ -7352,7 +6334,7 @@ sub require_libsource_with_macro
if ($config_libobj_dir)
{
require_file_internal ($macro->rdef ($cond)->location, $mystrict,
- $config_libobj_dir, 0, @files);
+ $config_libobj_dir, @files);
}
else
{
@@ -7360,66 +6342,13 @@ sub require_libsource_with_macro
}
}
-# queue_required_file_check_or_copy ($QUEUE, $KEY, $DIR, $WHERE,
-# $MYSTRICT, @FILES)
-# --------------------------------------------------------------
-sub queue_required_file_check_or_copy
-{
- my ($queue, $key, $dir, $where, $mystrict, @files) = @_;
- my @serial_loc;
- if (ref $where)
- {
- @serial_loc = (QUEUE_LOCATION, $where->serialize ());
- }
- else
- {
- @serial_loc = (QUEUE_STRING, $where);
- }
- $queue->enqueue ($key, $dir, @serial_loc, $mystrict, 0 + @files, @files);
-}
-
-# require_queued_file_check_or_copy ($QUEUE)
-# ------------------------------------------
-sub require_queued_file_check_or_copy
-{
- my ($queue) = @_;
- my $where;
- my $dir = $queue->dequeue ();
- my $loc_key = $queue->dequeue ();
- if ($loc_key eq QUEUE_LOCATION)
- {
- $where = Automake::Location::deserialize ($queue);
- }
- elsif ($loc_key eq QUEUE_STRING)
- {
- $where = $queue->dequeue ();
- }
- else
- {
- prog_error "unexpected key $loc_key";
- }
- my $mystrict = $queue->dequeue ();
- my $nfiles = $queue->dequeue ();
- my @files;
- push @files, $queue->dequeue ()
- foreach (1 .. $nfiles);
- return
- unless $strictness >= $mystrict;
- foreach my $file (@files)
- {
- required_file_check_or_copy ($where, $config_aux_dir, $file);
- }
-}
-
# require_conf_file ($WHERE, $MYSTRICT, @FILES)
# ---------------------------------------------
# Looks in configuration path, as specified by AC_CONFIG_AUX_DIR.
sub require_conf_file
{
my ($where, $mystrict, @files) = @_;
- my $queue = defined $required_conf_file_queue ? 1 : 0;
- require_file_internal ($where, $mystrict, $config_aux_dir,
- $queue, @files);
+ require_file_internal ($where, $mystrict, $config_aux_dir, @files);
}
@@ -7436,66 +6365,6 @@ sub require_conf_file_with_macro
# require_build_directory ($DIRECTORY)
# ------------------------------------
-# Emit rules to create $DIRECTORY if needed, and return
-# the file that any target requiring this directory should be made
-# dependent upon.
-# We don't want to emit the rule twice, and want to reuse it
-# for directories with equivalent names (e.g., 'foo/bar' and './foo//bar').
-sub require_build_directory
-{
- my $directory = shift;
-
- return $directory_map{$directory} if exists $directory_map{$directory};
-
- my $cdir = File::Spec->canonpath ($directory);
-
- if (exists $directory_map{$cdir})
- {
- my $stamp = $directory_map{$cdir};
- $directory_map{$directory} = $stamp;
- return $stamp;
- }
-
- my $dirstamp = "$cdir/\$(am__dirstamp)";
-
- $directory_map{$directory} = $dirstamp;
- $directory_map{$cdir} = $dirstamp;
-
- # Set a variable for the dirstamp basename.
- define_pretty_variable ('am__dirstamp', TRUE, INTERNAL, '.dirstamp');
-
- # Directory must be removed by 'make distclean'.
- $clean_files{$dirstamp} = DIST_CLEAN;
-
- $output_rules .= ("$dirstamp:\n"
- . "\t\@\$(MKDIR_P) $directory\n"
- . "\t\@: > $dirstamp\n");
-
- return $dirstamp;
-}
-
-# require_build_directory_maybe ($FILE)
-# -------------------------------------
-# If $FILE lies in a subdirectory, emit a rule to create this
-# directory and return the file that $FILE should be made
-# dependent upon. Otherwise, just return the empty string.
-sub require_build_directory_maybe
-{
- my $file = shift;
- my $directory = dirname ($file);
-
- if ($directory ne '.')
- {
- return require_build_directory ($directory);
- }
- else
- {
- return '';
- }
-}
-
-################################################################
-
# Push a list of files onto '@dist_common'.
sub push_dist_common
{
@@ -7504,7 +6373,6 @@ sub push_dist_common
push @dist_common, @_;
}
-
################################################################
# generate_makefile ($MAKEFILE_AM, $MAKEFILE_IN)
@@ -7571,19 +6439,42 @@ sub generate_makefile
. " (or '*_CPPFLAGS') instead"
}
- # Must do this after reading .am file.
- define_variable ('subdir', $relative_dir, INTERNAL);
+ # Some of these must do this after reading .am file.
+
+ define_variable ('subdir', INTERNAL, $relative_dir);
+ define_variable ('am.conf.is-topdir', INTERNAL,
+ $relative_dir eq '.' ? "yes" : "");
+ define_variable ('am.conf.check-news', INTERNAL,
+ option 'check-news' ? "yes" : "");
+ define_variable ('am.conf.no-installinfo', INTERNAL,
+ option 'no-installinfo' ? "yes" : "");
+ define_variable ('am.conf.aux-dir', INTERNAL, $am_config_aux_dir);
+ define_variable ('am.relpath.makefile', INTERNAL, basename ($makefile));
+ define_variable ('am.relpath.makefile.am', INTERNAL,
+ prepend_srcdir ($makefile_am));
+ define_variable ('am.relpath.makefile.in', INTERNAL,
+ prepend_srcdir ($makefile_in));
+
+ define_variable 'am.conf.build-triplet', INTERNAL,
+ $seen_canonical >= AC_CANONICAL_BUILD ? '$(build)' : '';
+ define_variable 'am.conf.host-triplet', INTERNAL,
+ $seen_canonical >= AC_CANONICAL_HOST ? '$(host)' : '';
+ define_variable 'am.conf.target-triplet', INTERNAL,
+ $seen_canonical >= AC_CANONICAL_TARGET ? '$(target)' : '';
# If DIST_SUBDIRS is defined, make sure SUBDIRS is, so that
# recursive rules are enabled.
- define_pretty_variable ('SUBDIRS', TRUE, INTERNAL, '')
+ define_variable ('SUBDIRS', INTERNAL, '')
if var 'DIST_SUBDIRS' && ! var 'SUBDIRS';
# Check first, because we might modify some state.
check_gnu_standards;
check_gnits_standards;
- handle_configure ($makefile_am, $makefile_in, $makefile, @inputs);
+ verbatim ('am-dir');
+
+ handle_config_headers;
+ handle_configure ($makefile, @inputs);
handle_gettext;
handle_libraries;
handle_ltlibraries;
@@ -7600,11 +6491,9 @@ sub generate_makefile
handle_libtool;
# Variables used by distdir.am and tags.am.
- define_pretty_variable ('SOURCES', TRUE, INTERNAL, @sources);
- if (! option 'no-dist')
- {
- define_pretty_variable ('DIST_SOURCES', TRUE, INTERNAL, @dist_sources);
- }
+ define_variable ('SOURCES', INTERNAL, @sources);
+ define_variable ('am.dist.sources', INTERNAL, @dist_sources)
+ unless option 'no-dist';
handle_texinfo;
handle_emacs_lisp;
@@ -7613,39 +6502,50 @@ sub generate_makefile
handle_man_pages;
handle_data;
handle_headers;
- handle_subdirs;
+ verbatim ('tags');
handle_user_recursion;
- handle_tags;
handle_minor_options;
- # Must come after handle_programs so that %known_programs is up-to-date.
+
+ # Must come after invocation of handle_programs, handle_libraries and
+ # handle_ltlibraries, so that %known_programs and %known_libraries are
+ # up-to-date.
+ define_variable 'am.all-progs', INTERNAL, sort keys %known_programs;
+ define_variable 'am.all-libs', INTERNAL, sort keys %known_libraries;
+ define_variable 'am.all-ltlibs', INTERNAL, sort keys %known_ltlibraries;
+ # Must come after invocation of several of the 'handle_*' functions
+ # above, which can declare additional dependencies for the 'check'
+ # and 'all' target.
+ define_variable ('am.all.targets', INTERNAL, @all);
+ define_variable ('am.test-suite.deps', INTERNAL, @check);
handle_tests;
# This must come after most other rules.
handle_dist;
handle_footer;
- do_check_merge_target;
- handle_all ($makefile);
+ # Special targets 'all', 'check' and 'install', handling of
+ # $(BUILT_SOURCES), and related stuff.
+ verbatim ('common-targets');
- # FIXME: Gross!
- if (var ('lib_LTLIBRARIES') && var ('bin_PROGRAMS'))
- {
- $output_rules .= "install-binPROGRAMS: install-libLTLIBRARIES\n\n";
- }
- if (var ('nobase_lib_LTLIBRARIES') && var ('bin_PROGRAMS'))
- {
- $output_rules .= "install-binPROGRAMS: install-nobase_libLTLIBRARIES\n\n";
- }
+ handle_clean ();
+ # This must really come late.
+ handle_subdirs;
- handle_install;
- handle_clean ($makefile);
handle_factored_dependencies;
# Comes last, because all the above procedures may have
# defined or overridden variables.
$output_vars .= output_variables;
- check_typos;
+ my $output_checks = '';
+ # See if any _SOURCES (or _LIBADD, or ...) variable were misspelled.
+ $output_checks .= verbatim ('check-typos');
+ # Bail out if we have encountered errors at make runtime. The
+ # relevant diagnostic should have already been reported by any
+ # call to the function '$(am.error)', so we just print a generic
+ # "errors seen, stopping" message.
+ $output_checks .= '$(if $(am.error.seen),$(call am.fatal))' .
+ "\n";
if ($exit_code != 0)
{
@@ -7657,8 +6557,11 @@ sub generate_makefile
mkdir ($am_relative_dir, 0755) if ! -d $am_relative_dir;
# We make sure that 'all:' is the first target.
- my $output =
- "$output_vars$output_all$output_header$output_rules$output_trailer";
+ my $output = $output_vars .
+ $output_verbatim .
+ $output_checks .
+ $output_rules .
+ $output_trailer;
# Decide whether we must update the output file or not.
# We have to update in the following situations.
@@ -7898,114 +6801,6 @@ sub handle_makefile
}
}
-# Deal with all makefiles, without threads.
-sub handle_makefiles_serial ()
-{
- foreach my $file (@input_files)
- {
- handle_makefile ($file);
- }
-}
-
-# Logic for deciding how many worker threads to use.
-sub get_number_of_threads ()
-{
- my $nthreads = $ENV{'AUTOMAKE_JOBS'} || 0;
-
- $nthreads = 0
- unless $nthreads =~ /^[0-9]+$/;
-
- # It doesn't make sense to use more threads than makefiles,
- my $max_threads = @input_files;
-
- if ($nthreads > $max_threads)
- {
- $nthreads = $max_threads;
- }
- return $nthreads;
-}
-
-# handle_makefiles_threaded ($NTHREADS)
-# -------------------------------------
-# Deal with all makefiles, using threads. The general strategy is to
-# spawn NTHREADS worker threads, dispatch makefiles to them, and let the
-# worker threads push back everything that needs serialization:
-# * warning and (normal) error messages, for stable stderr output
-# order and content (avoiding duplicates, for example),
-# * races when installing aux files (and respective messages),
-# * races when collecting aux files for distribution.
-#
-# The latter requires that the makefile that deals with the aux dir
-# files be handled last, done by the master thread.
-sub handle_makefiles_threaded
-{
- my ($nthreads) = @_;
-
- # The file queue distributes all makefiles, the message queues
- # collect all serializations needed for respective files.
- my $file_queue = Thread::Queue->new;
- my %msg_queues;
- foreach my $file (@input_files)
- {
- $msg_queues{$file} = Thread::Queue->new;
- }
-
- verb "spawning $nthreads worker threads";
- my @threads = (1 .. $nthreads);
- foreach my $t (@threads)
- {
- $t = threads->new (sub
- {
- while (my $file = $file_queue->dequeue)
- {
- verb "handling $file";
- my $queue = $msg_queues{$file};
- setup_channel_queue ($queue, QUEUE_MESSAGE);
- $required_conf_file_queue = $queue;
- handle_makefile ($file);
- $queue->enqueue (undef);
- setup_channel_queue (undef, undef);
- $required_conf_file_queue = undef;
- }
- return $exit_code;
- });
- }
-
- # Queue all makefiles.
- verb "queuing " . @input_files . " input files";
- $file_queue->enqueue (@input_files, (undef) x @threads);
-
- # Collect and process serializations.
- foreach my $file (@input_files)
- {
- verb "dequeuing messages for " . $file;
- reset_local_duplicates ();
- my $queue = $msg_queues{$file};
- while (my $key = $queue->dequeue)
- {
- if ($key eq QUEUE_MESSAGE)
- {
- pop_channel_queue ($queue);
- }
- elsif ($key eq QUEUE_CONF_FILE)
- {
- require_queued_file_check_or_copy ($queue);
- }
- else
- {
- prog_error "unexpected key $key";
- }
- }
- }
-
- foreach my $t (@threads)
- {
- my @exit_thread = $t->join;
- $exit_code = $exit_thread[0]
- if ($exit_thread[0] > $exit_code);
- }
-}
-
################################################################
# Parse the WARNINGS environment variable.
@@ -8027,15 +6822,9 @@ if (! @input_files)
fatal ("no 'Makefile.am' found for any configure output$msg");
}
-my $nthreads = get_number_of_threads ();
-
-if ($perl_threads && $nthreads >= 1)
- {
- handle_makefiles_threaded ($nthreads);
- }
-else
+foreach my $file (@input_files)
{
- handle_makefiles_serial ();
+ handle_makefile ($file);
}
exit $exit_code;
diff --git a/bootstrap.sh b/bootstrap.sh
index 87719ba73..bc96bc53c 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -99,9 +99,9 @@ for p in bin/aclocal bin/automake; do
done
# Create required makefile snippets.
-$PERL ./gen-testsuite-part > t/testsuite-part.tmp
-chmod a-w t/testsuite-part.tmp
-mv -f t/testsuite-part.tmp t/testsuite-part.am
+$PERL ./gen-testsuite-part > testsuite-autodeps.tmp
+chmod a-w testsuite-autodeps.tmp
+mv -f testsuite-autodeps.tmp testsuite-autodeps.am
# Run the autotools. Bail out if any warning is triggered.
# Use '-I' here so that our own *.m4 files in m4/ gets included,
diff --git a/configure.ac b/configure.ac
index 9e34f95f5..eb146352f 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.99a], [bug-automake@gnu.org])
+AC_INIT([GNU Automake-NG], [1.99a], [automake-ng@gnu.org])
AC_CONFIG_SRCDIR([bin/automake.in])
AC_CONFIG_AUX_DIR([lib])
@@ -39,7 +39,7 @@ AC_SUBST([am_AUTOUPDATE], ["${AUTOUPDATE-autoupdate}"])
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([-Wall -Werror dist-xz filename-length-max=99
+AM_INIT_AUTOMAKE([ng -Wall -Werror filename-length-max=99
no-define no-dependencies])
# Keep this on a line of its own, since it must be found and processed
@@ -82,7 +82,7 @@ $PERL -e 'require 5.006;' || {
AC_MSG_ERROR(
[perl 5.6 or better is required; perl 5.8.2 or better
is recommended. If you have several perl versions
-installed, select the one Automake should use using
+installed, select the one Automake-NG should use using
./configure PERL=/path/to/perl])
}
@@ -381,7 +381,7 @@ AC_ARG_VAR([AM_TEST_RUNNER_SHELL],
dnl We don't want to abort our configuration script if no C compiler is
dnl available, as such a compiler is only required to run part of the
-dnl testsuite, not to build or install Automake. Ditto for C++, Fortran
+dnl testsuite, not to build or install Automake-NG. Ditto for C++, Fortran
dnl and Fortran 77 compilers. Unfortunately, autoconf does not offer an
dnl easy way to obtain this behaviour, so we'll need a few hacks.
@@ -584,8 +584,8 @@ AC_CONFIG_FILES([t/wrap/automake-${APIVERSION}:t/wrap/automake.in],
AC_OUTPUT
-# Inform the user if this version of automake is a beta release or
-# a development snapshot.
+# Inform the user if this version of Automake-ng is a beta release
+# or a development snapshot.
# According to HACKING, the version of a development snapshot should
# end with an "odd" letter (a, c, ...), the version of a test release
# should end wit an "even" letter (b, d, ...).
@@ -601,7 +601,7 @@ am_release_type=`AS_ECHO(["$PACKAGE_VERSION"]) | LC_ALL=C awk ["
# '$silent' is set to yes if configure is passed the '--quiet' option.
test "$am_release_type" = stable || test "$silent" = yes || cat <<EOF
-WARNING: You are about to use a $am_release_type of automake.
+WARNING: You are about to use a $am_release_type of Automake-NG.
WARNING: It might easily suffer from new bugs or regressions.
WARNING: You are strongly advised not to use it in production code.
diff --git a/contrib/README b/contrib/README
index a4d7eeb8d..0202fc77c 100644
--- a/contrib/README
+++ b/contrib/README
@@ -1,16 +1,16 @@
-This is the 'contrib' directory of the GNU Automake distribution.
+This is the 'contrib' directory of the GNU Automake-NG distribution.
-Here you'll find additions to the Automake base distribution, in form of
-makefile fragments, m4 macros, scripts, documentation, et cetera. Such
+Here you'll find additions to the Automake-NG base distribution, in form
+of makefile fragments, m4 macros, scripts, documentation, et cetera. Such
addition that might be useful for a significant percentage of its general
audience, but (for one reason or another) are not deemed appropriate for
-inclusion into the Automake core.
+inclusion into the Automake-NG core.
There are several reasons for which a feature can be kept in contrib:
1. The long-term usefulness of the feature is debatable and uncertain;
- on-field and real-word testing are necessary to prove or disprove
- its usefulness, before the feature can be committed into the Automake
+ on-field and real-word testing are necessary to prove or disprove its
+ usefulness, before the feature can be committed into the Automake-NG
core (as doing so too early would later force us to continue the
support for backward-compatibility, even if the features proves
flawed or fails to attract widespread use).
@@ -21,6 +21,6 @@ There are several reasons for which a feature can be kept in contrib:
3. The feature was an historical one, mostly obsoleted but still used
"here and there" in the wild; so we want to to deprecate it and
- remove it from the Automake core, but cannot remove it altogether,
+ remove it from the Automake-NG core, but cannot remove it altogether,
for the sake of those still-existing usage. So it gets moved in
contrib.
diff --git a/contrib/check-html.am b/contrib/check-html.am
index 36cace419..b8d6eb987 100644
--- a/contrib/check-html.am
+++ b/contrib/check-html.am
@@ -21,14 +21,11 @@
TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
-mostlyclean-local: mostlyclean-check-html
-.PHONY: mostlyclean-check-html
-mostlyclean-check-html:
-## Expand $(TEST_LOGS) only once, to avoid exceeding line length limits.
- list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list
- rm -f $(TEST_SUITE_HTML)
+## This expects MOSTLYCLEANFILES to be pre-defined by the clients (even
+## if just to the empty value). Not ans unreasonable request.
+MOSTLYCLEANFILES += $(TEST_SUITE_HTML) $(TEST_LOGS:.log=.html)
-.log.html:
+%.html: %.log
@list='$(RST2HTML) rst2html rst2html.py'; \
while :; do \
for r2h in $$list; do \
@@ -45,13 +42,11 @@ mostlyclean-check-html:
# Beware of concurrent executions. Run "check" not "check-TESTS", as
# check-SCRIPTS and other dependencies are rebuilt by the former only.
# And expect check to fail.
-check-html recheck-html:
- @target=`echo $@ | sed 's/-html$$//'`; \
- rv=0; $(MAKE) $(AM_MAKEFLAGS) $$target || rv=$$?; \
-## The nullification of $(TEST_LOGS) is required to ensure that
+check-html recheck-html: %-html:
+ @rv=0; $(MAKE) $* || rv=$$?; \
+## The nullification of $(TESTS) is required to ensure that
## "make recheck-html" do not try to uselessly re-run tests.
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) TEST_LOGS= || exit 4; \
+ $(MAKE) $(TEST_SUITE_HTML) TESTS= || exit 4; \
exit $$rv
.PHONY: check-html recheck-html
-.MAKE: check-html recheck-html
diff --git a/contrib/multilib/README b/contrib/multilib/README
deleted file mode 100644
index 35c726f84..000000000
--- a/contrib/multilib/README
+++ /dev/null
@@ -1,9 +0,0 @@
-Minimal support for multilib builds.
-
-For a little more information, see:
-<http://airs.com/ian/configure/configure_8.html>
-
-The master (and probably more up-to-date) copies of the 'config-ml.in'
-and 'symlink-tree' files are maintained in the GCC development tree
-at <http://gcc.gnu.org/svn.html>. The same is probably true also for
-the 'multi.m4' file.
diff --git a/contrib/multilib/config-ml.in b/contrib/multilib/config-ml.in
deleted file mode 100644
index 2956217e3..000000000
--- a/contrib/multilib/config-ml.in
+++ /dev/null
@@ -1,876 +0,0 @@
-# Configure fragment invoked in the post-target section for subdirs
-# wanting multilib support.
-#
-# Copyright (C) 1995-2015 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-#
-# Please report bugs to <gcc-bugs@gnu.org>
-# and send patches to <gcc-patches@gnu.org>.
-
-# It is advisable to support a few --enable/--disable options to let the
-# user select which libraries s/he really wants.
-#
-# Subdirectories wishing to use multilib should put the following lines
-# in the "post-target" section of configure.in.
-#
-# if [ "${srcdir}" = "." ] ; then
-# if [ "${with_target_subdir}" != "." ] ; then
-# . ${with_multisrctop}../../config-ml.in
-# else
-# . ${with_multisrctop}../config-ml.in
-# fi
-# else
-# . ${srcdir}/../config-ml.in
-# fi
-#
-#
-# Things are complicated because 6 separate cases must be handled:
-# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.
-#
-# srcdir=. is special. It must handle make programs that don't handle VPATH.
-# To implement this, a symlink tree is built for each library and for each
-# multilib subdir.
-#
-# The build tree is laid out as
-#
-# ./
-# newlib
-# m68020/
-# newlib
-# m68881/
-# newlib
-#
-# The nice feature about this arrangement is that inter-library references
-# in the build tree work without having to care where you are. Note that
-# inter-library references also work in the source tree because symlink trees
-# are built when srcdir=.
-#
-# Unfortunately, trying to access the libraries in the build tree requires
-# the user to manually choose which library to use as GCC won't be able to
-# find the right one. This is viewed as the lesser of two evils.
-#
-# Configure variables:
-# ${with_target_subdir} = "." for native, or ${target_alias} for cross.
-# Set by top level Makefile.
-# ${with_multisrctop} = how many levels of multilibs there are in the source
-# tree. It exists to handle the case of configuring in the source tree:
-# ${srcdir} is not constant.
-# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).
-#
-# Makefile variables:
-# MULTISRCTOP = number of multilib levels in source tree (+1 if cross)
-# (FIXME: note that this is different than ${with_multisrctop}. Check out.).
-# MULTIBUILDTOP = number of multilib levels in build tree
-# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)
-# (only defined in each library's main Makefile).
-# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000)
-# (only defined in each multilib subdir).
-
-# FIXME: Multilib is currently disabled by default for everything other than
-# newlib. It is up to each target to turn on multilib support for the other
-# libraries as desired.
-
-# Autoconf incoming variables:
-# srcdir, host, ac_configure_args
-#
-# We *could* figure srcdir and host out, but we'd have to do work that
-# our caller has already done to figure them out and requiring these two
-# seems reasonable.
-# Note that `host' in this case is GCC's `target'. Target libraries are
-# configured for a particular host.
-
-Makefile=${ac_file-Makefile}
-ml_config_shell=${CONFIG_SHELL-/bin/sh}
-ml_realsrcdir=${srcdir}
-
-# Scan all the arguments and set all the ones we need.
-
-ml_verbose=--verbose
-for option in ${ac_configure_args}
-do
- # strip single quotes surrounding individual options
- case $option in
- \'*\') eval option=$option ;;
- esac
-
- case $option in
- --*) ;;
- -*) option=-$option ;;
- esac
-
- case $option in
- --*=*)
- optarg=`echo $option | sed -e 's/^[^=]*=//'`
- ;;
- esac
-
- case $option in
- --disable-*)
- enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'`
- eval $enableopt=no
- ;;
- --enable-*)
- case "$option" in
- *=*) ;;
- *) optarg=yes ;;
- esac
- enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
- # enable_shared and enable_static are handled by configure.
- # Don't undo its work.
- case $enableopt in
- enable_shared | enable_static) ;;
- *) eval $enableopt="$optarg" ;;
- esac
- ;;
- --norecursion | --no-recursion)
- ml_norecursion=yes
- ;;
- --silent | --sil* | --quiet | --q*)
- ml_verbose=--silent
- ;;
- --verbose | --v | --verb*)
- ml_verbose=--verbose
- ;;
- --with-*)
- case "$option" in
- *=*) ;;
- *) optarg=yes ;;
- esac
- withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
- eval $withopt="$optarg"
- ;;
- --without-*)
- withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'`
- eval $withopt=no
- ;;
- esac
-done
-
-# Only do this if --enable-multilib.
-if [ "${enable_multilib}" = yes ]; then
-
-# Compute whether this is the library's top level directory
-# (ie: not a multilib subdirectory, and not a subdirectory like newlib/src).
-# ${with_multisubdir} tells us we're in the right branch, but we could be
-# in a subdir of that.
-# ??? The previous version could void this test by separating the process into
-# two files: one that only the library's toplevel configure.in ran (to
-# configure the multilib subdirs), and another that all configure.in's ran to
-# update the Makefile. It seemed reasonable to collapse all multilib support
-# into one file, but it does leave us with having to perform this test.
-ml_toplevel_p=no
-if [ -z "${with_multisubdir}" ]; then
- if [ "${srcdir}" = "." ]; then
- # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
- # ${with_target_subdir} = "." for native, otherwise target alias.
- if [ "${with_target_subdir}" = "." ]; then
- if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
- ml_toplevel_p=yes
- fi
- else
- if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then
- ml_toplevel_p=yes
- fi
- fi
- else
- # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
- if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
- ml_toplevel_p=yes
- fi
- fi
-fi
-
-# If this is the library's top level directory, set multidirs to the
-# multilib subdirs to support. This lives at the top because we need
-# `multidirs' set right away.
-
-if [ "${ml_toplevel_p}" = yes ]; then
-
-multidirs=
-for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
- dir=`echo $i | sed -e 's/;.*$//'`
- if [ "${dir}" = "." ]; then
- true
- else
- if [ -z "${multidirs}" ]; then
- multidirs="${dir}"
- else
- multidirs="${multidirs} ${dir}"
- fi
- fi
-done
-
-# Target libraries are configured for the host they run on, so we check
-# $host here, not $target.
-
-case "${host}" in
-arm-*-*)
- if [ x"$enable_fpu" = xno ]
- then
- old_multidirs=${multidirs}
- multidirs=""
- for x in ${old_multidirs}; do
- case "${x}" in
- *fpu*) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x"$enable_26bit" = xno ]
- then
- old_multidirs=${multidirs}
- multidirs=""
- for x in ${old_multidirs}; do
- case "${x}" in
- *26bit*) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x"$enable_underscore" = xno ]
- then
- old_multidirs=${multidirs}
- multidirs=""
- for x in ${old_multidirs}; do
- case "${x}" in
- *under*) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x"$enable_interwork" = xno ]
- then
- old_multidirs=${multidirs}
- multidirs=""
- for x in ${old_multidirs}; do
- case "${x}" in
- *interwork*) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_biendian = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *le* ) : ;;
- *be* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x"$enable_nofmult" = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *nofmult* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- ;;
-m68*-*-*)
- if [ x$enable_softfloat = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *soft-float* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_m68881 = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *m68881* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_m68000 = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *m68000* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_m68020 = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *m68020* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- ;;
-mips*-*-*)
- if [ x$enable_single_float = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *single* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_biendian = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *el* ) : ;;
- *eb* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_softfloat = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *soft-float* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- ;;
-powerpc*-*-* | rs6000*-*-*)
- if [ x$enable_aix64 = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *ppc64* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_pthread = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *pthread* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_softfloat = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *soft-float* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_powercpu = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- power | */power | */power/* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_powerpccpu = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *powerpc* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_powerpcos = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *mcall-linux* | *mcall-solaris* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_biendian = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *mlittle* | *mbig* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- if [ x$enable_sysv = xno ]
- then
- old_multidirs="${multidirs}"
- multidirs=""
- for x in ${old_multidirs}; do
- case "$x" in
- *mcall-sysv* ) : ;;
- *) multidirs="${multidirs} ${x}" ;;
- esac
- done
- fi
- ;;
-esac
-
-# Remove extraneous blanks from multidirs.
-# Tests like `if [ -n "$multidirs" ]' require it.
-multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
-
-# Add code to library's top level makefile to handle building the multilib
-# subdirs.
-
-cat > Multi.tem <<\EOF
-
-PWD_COMMAND=$${PWDCMD-pwd}
-
-# FIXME: There should be an @-sign in front of the `if'.
-# Leave out until this is tested a bit more.
-multi-do:
- if [ -z "$(MULTIDIRS)" ]; then \
- true; \
- else \
- rootpre=`${PWD_COMMAND}`/; export rootpre; \
- srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \
- lib=`echo "$${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
- compiler="$(CC)"; \
- for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
- dir=`echo $$i | sed -e 's/;.*$$//'`; \
- if [ "$${dir}" = "." ]; then \
- true; \
- else \
- if [ -d ../$${dir}/$${lib} ]; then \
- flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
- if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
- CFLAGS="$(CFLAGS) $${flags}" \
- CCASFLAGS="$(CCASFLAGS) $${flags}" \
- FCFLAGS="$(FCFLAGS) $${flags}" \
- FFLAGS="$(FFLAGS) $${flags}" \
- ADAFLAGS="$(ADAFLAGS) $${flags}" \
- prefix="$(prefix)" \
- exec_prefix="$(exec_prefix)" \
- GCJFLAGS="$(GCJFLAGS) $${flags}" \
- GOCFLAGS="$(GOCFLAGS) $${flags}" \
- CXXFLAGS="$(CXXFLAGS) $${flags}" \
- LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
- LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
- LDFLAGS="$(LDFLAGS) $${flags}" \
- MULTIFLAGS="$${flags}" \
- DESTDIR="$(DESTDIR)" \
- INSTALL="$(INSTALL)" \
- INSTALL_DATA="$(INSTALL_DATA)" \
- INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \
- INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \
- $(DO)); then \
- true; \
- else \
- exit 1; \
- fi; \
- else true; \
- fi; \
- fi; \
- done; \
- fi
-
-# FIXME: There should be an @-sign in front of the `if'.
-# Leave out until this is tested a bit more.
-multi-clean:
- if [ -z "$(MULTIDIRS)" ]; then \
- true; \
- else \
- lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
- for dir in : $(MULTIDIRS); do \
- test $$dir != : || continue; \
-EOF
-cat >>Multi.tem <<EOF
- if [ -f ../\$\${dir}/\$\${lib}/${Makefile} ]; then \\
-EOF
-cat >>Multi.tem <<\EOF
- if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
- then true; \
- else exit 1; \
- fi; \
- else true; \
- fi; \
- done; \
- fi
-EOF
-
-cat ${Makefile} Multi.tem > Makefile.tem
-rm -f ${Makefile} Multi.tem
-mv Makefile.tem ${Makefile}
-
-fi # ${ml_toplevel_p} = yes
-
-if [ "${ml_verbose}" = --verbose ]; then
- echo "Adding multilib support to ${Makefile} in ${ml_realsrcdir}"
- if [ "${ml_toplevel_p}" = yes ]; then
- echo "multidirs=${multidirs}"
- fi
- echo "with_multisubdir=${with_multisubdir}"
-fi
-
-if [ "${srcdir}" = "." ]; then
- if [ "${with_target_subdir}" != "." ]; then
- ml_srcdotdot="../"
- else
- ml_srcdotdot=""
- fi
-else
- ml_srcdotdot=""
-fi
-
-if [ -z "${with_multisubdir}" ]; then
- ml_subdir=
- ml_builddotdot=
- : # ml_srcdotdot= # already set
-else
- ml_subdir="/${with_multisubdir}"
- # The '[^/][^/]*' appears that way to work around a SunOS sed bug.
- ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/
- if [ "$srcdir" = "." ]; then
- ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot}
- else
- : # ml_srcdotdot= # already set
- fi
-fi
-
-if [ "${ml_toplevel_p}" = yes ]; then
- ml_do='$(MAKE)'
- ml_clean='$(MAKE)'
-else
- ml_do=true
- ml_clean=true
-fi
-
-# TOP is used by newlib and should not be used elsewhere for this purpose.
-# MULTI{SRC,BUILD}TOP are the proper ones to use. MULTISRCTOP is empty
-# when srcdir != builddir. MULTIBUILDTOP is always some number of ../'s.
-# FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can
-# delete TOP. Newlib may wish to continue to use TOP for its own purposes
-# of course.
-# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile)
-# and lists the subdirectories to recurse into.
-# MULTISUBDIR is non-empty in each cpu subdirectory's Makefile
-# (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with
-# a leading '/'.
-# MULTIDO is used for targets like all, install, and check where
-# $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed.
-# MULTICLEAN is used for the *clean targets.
-#
-# ??? It is possible to merge MULTIDO and MULTICLEAN into one. They are
-# currently kept separate because we don't want the *clean targets to require
-# the existence of the compiler (which MULTIDO currently requires) and
-# therefore we'd have to record the directory options as well as names
-# (currently we just record the names and use --print-multi-lib to get the
-# options).
-
-sed -e "s:^TOP[ ]*=[ ]*\([./]*\)[ ]*$:TOP = ${ml_builddotdot}\1:" \
- -e "s:^MULTISRCTOP[ ]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \
- -e "s:^MULTIBUILDTOP[ ]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \
- -e "s:^MULTIDIRS[ ]*=.*$:MULTIDIRS = ${multidirs}:" \
- -e "s:^MULTISUBDIR[ ]*=.*$:MULTISUBDIR = ${ml_subdir}:" \
- -e "s:^MULTIDO[ ]*=.*$:MULTIDO = $ml_do:" \
- -e "s:^MULTICLEAN[ ]*=.*$:MULTICLEAN = $ml_clean:" \
- ${Makefile} > Makefile.tem
-rm -f ${Makefile}
-mv Makefile.tem ${Makefile}
-
-# If this is the library's top level, configure each multilib subdir.
-# This is done at the end because this is the loop that runs configure
-# in each multilib subdir and it seemed reasonable to finish updating the
-# Makefile before going on to configure the subdirs.
-
-if [ "${ml_toplevel_p}" = yes ]; then
-
-# We must freshly configure each subdirectory. This bit of code is
-# actually partially stolen from the main configure script. FIXME.
-
-if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
-
- if [ "${ml_verbose}" = --verbose ]; then
- echo "Running configure in multilib subdirs ${multidirs}"
- echo "pwd: `${PWDCMD-pwd}`"
- fi
-
- ml_origdir=`${PWDCMD-pwd}`
- ml_libdir=`echo "$ml_origdir" | sed -e 's,^.*/,,'`
- # cd to top-level-build-dir/${with_target_subdir}
- cd ..
-
- for ml_dir in ${multidirs}; do
-
- if [ "${ml_verbose}" = --verbose ]; then
- echo "Running configure in multilib subdir ${ml_dir}"
- echo "pwd: `${PWDCMD-pwd}`"
- fi
-
- if [ -d ${ml_dir} ]; then true; else
- # ``mkdir -p ${ml_dir}'' See also mkinstalldirs.
- pathcomp=""
- for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp" 1>&2
- mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
- fi
- if test ! -d "$pathcomp"; then
- exit $lasterr
- fi
- pathcomp="$pathcomp/"
- done
- fi
- if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi
-
- # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../
- dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'`
-
- case ${srcdir} in
- ".")
- echo "Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}"
- if [ "${with_target_subdir}" != "." ]; then
- ml_unsubdir="../"
- else
- ml_unsubdir=""
- fi
- (cd ${ml_dir}/${ml_libdir};
- ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "")
- if [ -f ${ml_dir}/${ml_libdir}/${Makefile} ]; then
- if [ x"${MAKE}" = x ]; then
- (cd ${ml_dir}/${ml_libdir}; make distclean)
- else
- (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean)
- fi
- fi
- ml_newsrcdir="."
- ml_srcdiroption=
- multisrctop=${dotdot}
- ;;
- *)
- case "${srcdir}" in
- /* | [A-Za-z]:[\\/]* ) # absolute path
- ml_newsrcdir=${srcdir}
- ;;
- *) # otherwise relative
- ml_newsrcdir=${dotdot}${srcdir}
- ;;
- esac
- ml_srcdiroption="-srcdir=${ml_newsrcdir}"
- multisrctop=
- ;;
- esac
-
- case "${progname}" in
- /* | [A-Za-z]:[\\/]* ) ml_recprog=${progname} ;;
- *) ml_recprog=${dotdot}${progname} ;;
- esac
-
- # FIXME: POPDIR=${PWD=`pwd`} doesn't work here.
- ML_POPDIR=`${PWDCMD-pwd}`
- cd ${ml_dir}/${ml_libdir}
-
- if [ -f ${ml_newsrcdir}/configure ]; then
- ml_recprog="${ml_newsrcdir}/configure"
- fi
-
- # find compiler flag corresponding to ${ml_dir}
- for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
- dir=`echo $i | sed -e 's/;.*$//'`
- if [ "${dir}" = "${ml_dir}" ]; then
- flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`
- break
- fi
- done
- ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
-
- if [ "${with_target_subdir}" = "." ]; then
- CC_=$CC' '
- CXX_=$CXX' '
- F77_=$F77' '
- GCJ_=$GCJ' '
- GFORTRAN_=$GFORTRAN' '
- GOC_=$GOC' '
- else
- # Create a regular expression that matches any string as long
- # as ML_POPDIR.
- popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'`
- CC_=
- for arg in ${CC}; do
- case $arg in
- -[BIL]"${ML_POPDIR}"/*)
- CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;;
- "${ML_POPDIR}"/*)
- CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- *)
- CC_="${CC_}${arg} " ;;
- esac
- done
-
- CXX_=
- for arg in ${CXX}; do
- case $arg in
- -[BIL]"${ML_POPDIR}"/*)
- CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- "${ML_POPDIR}"/*)
- CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- *)
- CXX_="${CXX_}${arg} " ;;
- esac
- done
-
- F77_=
- for arg in ${F77}; do
- case $arg in
- -[BIL]"${ML_POPDIR}"/*)
- F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- "${ML_POPDIR}"/*)
- F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- *)
- F77_="${F77_}${arg} " ;;
- esac
- done
-
- GCJ_=
- for arg in ${GCJ}; do
- case $arg in
- -[BIL]"${ML_POPDIR}"/*)
- GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- "${ML_POPDIR}"/*)
- GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- *)
- GCJ_="${GCJ_}${arg} " ;;
- esac
- done
-
- GFORTRAN_=
- for arg in ${GFORTRAN}; do
- case $arg in
- -[BIL]"${ML_POPDIR}"/*)
- GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- "${ML_POPDIR}"/*)
- GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- *)
- GFORTRAN_="${GFORTRAN_}${arg} " ;;
- esac
- done
-
- GOC_=
- for arg in ${GOC}; do
- case $arg in
- -[BIL]"${ML_POPDIR}"/*)
- GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- "${ML_POPDIR}"/*)
- GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
- *)
- GOC_="${GOC_}${arg} " ;;
- esac
- done
-
- if test "x${LD_LIBRARY_PATH+set}" = xset; then
- LD_LIBRARY_PATH_=
- for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
- case "$arg" in
- "${ML_POPDIR}"/*)
- arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`
- ;;
- esac
- if test "x$LD_LIBRARY_PATH_" != x; then
- LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg
- else
- LD_LIBRARY_PATH_=$arg
- fi
- done
- ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_"
- fi
-
- if test "x${SHLIB_PATH+set}" = xset; then
- SHLIB_PATH_=
- for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do
- case "$arg" in
- "${ML_POPDIR}"/*)
- arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`
- ;;
- esac
- if test "x$SHLIB_PATH_" != x; then
- SHLIB_PATH_=$SHLIB_PATH_:$arg
- else
- SHLIB_PATH_=$arg
- fi
- done
- ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_"
- fi
- fi
-
- if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
- --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
- ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
- true
- else
- exit 1
- fi
-
- cd "${ML_POPDIR}"
-
- done
-
- cd "${ml_origdir}"
-fi
-
-fi # ${ml_toplevel_p} = yes
-fi # ${enable_multilib} = yes
diff --git a/contrib/multilib/multi.m4 b/contrib/multilib/multi.m4
deleted file mode 100644
index 39b05c10b..000000000
--- a/contrib/multilib/multi.m4
+++ /dev/null
@@ -1,64 +0,0 @@
-## -*- Autoconf -*-
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
-# ---------------------------------------------------
-# Add --enable-multilib to configure.
-AC_DEFUN([AM_ENABLE_MULTILIB],
-[# Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[ --enable-multilib build many library versions (default)],
-[case "$enableval" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) AC_MSG_ERROR([bad value $enableval for multilib option]) ;;
- esac],
- [multilib=yes])
-
-# We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
-# See config-ml.in if you want the gory details.
-
-if test "$srcdir" = "."; then
- if test "$with_target_subdir" != "."; then
- multi_basedir="$srcdir/$with_multisrctop../$2"
- else
- multi_basedir="$srcdir/$with_multisrctop$2"
- fi
-else
- multi_basedir="$srcdir/$2"
-fi
-AC_SUBST(multi_basedir)
-
-# Even if the default multilib is not a cross compilation,
-# it may be that some of the other multilibs are.
-if test $cross_compiling = no && test $multilib = yes \
- && test "x${with_multisubdir}" != x ; then
- cross_compiling=maybe
-fi
-
-AC_OUTPUT_COMMANDS([
-# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" ]m4_default([$1],Makefile)[ "*)
- ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in
- ;;
-esac],
- [
-srcdir="$srcdir"
-host="$host"
-target="$target"
-with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
-with_target_subdir="$with_target_subdir"
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-multi_basedir="$multi_basedir"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-CC="$CC"])])dnl
diff --git a/contrib/multilib/multilib.am b/contrib/multilib/multilib.am
deleted file mode 100644
index 1781295be..000000000
--- a/contrib/multilib/multilib.am
+++ /dev/null
@@ -1,45 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-
-## Copyright (C) 1994-2015 Free Software Foundation, Inc.
-## This Makefile.in is free software; the Free Software Foundation
-## gives unlimited permission to copy and/or distribute it,
-## with or without modifications, as long as this notice is preserved.
-
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds. Hence the
-# comments below.
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-
-.MAKE .PHONY: all-multi clean-multi distclean-multi install-am \
- install-multi maintainer-clean-multi mostlyclean-multi
-
-install-exec-local: install-multi
-
-all-local: all-multi
-mostlyclean-local: mostlyclean-multi
-clean-local: clean-multi
-distclean-local: distclean-multi
-maintainer-clean-local: maintainer-clean-multi
diff --git a/contrib/multilib/symlink-tree b/contrib/multilib/symlink-tree
deleted file mode 100755
index 0529b997a..000000000
--- a/contrib/multilib/symlink-tree
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/sh
-# Create a symlink tree.
-#
-# Copyright (C) 1995-2015 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-#
-# Please report bugs to <gcc-bugs@gnu.org>
-# and send patches to <gcc-patches@gnu.org>.
-
-# Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
-#
-# where srcdir is the directory to create a symlink tree to,
-# and "ignoreN" is a list of files/directories to ignore.
-
-prog=$0
-srcdir=$1
-ignore="$2"
-
-if test $# -lt 1; then
- echo "symlink-tree error: Usage: symlink-tree srcdir \"ignore1 ignore2 ...\""
- exit 1
-fi
-
-ignore_additional=". .. CVS"
-
-# If we were invoked with a relative path name, adjust ${prog} to work
-# in subdirs.
-case ${prog} in
-/* | [A-Za-z]:[\\/]*) ;;
-*) prog=../${prog} ;;
-esac
-
-# Set newsrcdir to something subdirectories can use.
-case ${srcdir} in
-/* | [A-Za-z]:[\\/]*) newsrcdir=${srcdir} ;;
-*) newsrcdir=../${srcdir} ;;
-esac
-
-for f in `ls -a ${srcdir}`; do
- if [ -d ${srcdir}/$f ]; then
- found=
- for i in ${ignore} ${ignore_additional}; do
- if [ "$f" = "$i" ]; then
- found=yes
- fi
- done
- if [ -z "${found}" ]; then
- echo "$f ..working in"
- if [ -d $f ]; then true; else mkdir $f; fi
- (cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
- fi
- else
- echo "$f ..linked"
- rm -f $f
- ln -s ${srcdir}/$f .
- fi
-done
-
-exit 0
diff --git a/contrib/t/Makefile.inc b/contrib/t/Makefile.inc
index 51d577941..b33caade9 100644
--- a/contrib/t/Makefile.inc
+++ b/contrib/t/Makefile.inc
@@ -21,6 +21,4 @@
contrib_TESTS = \
%D%/parallel-tests-html.sh \
- %D%/parallel-tests-html-recursive.sh \
- %D%/help-multilib.sh \
- %D%/multilib.sh
+ %D%/parallel-tests-html-recursive.sh
diff --git a/contrib/t/multilib.sh b/contrib/t/multilib.sh
deleted file mode 100755
index 5a77f0aa2..000000000
--- a/contrib/t/multilib.sh
+++ /dev/null
@@ -1,160 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Check multilib support.
-# Based on a test case from Ralf Corsepius.
-
-required='gcc GNUmake'
-. test-init.sh
-
-mldir=$am_top_srcdir/contrib/multilib
-mkdir m4
-cp "$mldir"/config-ml.in "$mldir"/symlink-tree .
-cp "$mldir"/multi.m4 m4
-
-ACLOCAL_PATH=${ACLOCAL_PATH+"$ACLOCAL_PATH:"}$(pwd)/m4
-export ACLOCAL_PATH
-
-cat >configure.ac <<'END'
-AC_INIT([multlib], [1.0])
-AC_CONFIG_SRCDIR(libfoo/foo.c)
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_SUBDIRS(libfoo)
-AC_CONFIG_SUBDIRS(libbar)
-AC_OUTPUT
-END
-
-cat >mycc <<'END'
-#! /bin/sh
-case ${1+"$@"} in
- *-print-multi-lib*)
- echo ".;"
- echo "debug;@g"
- exit 0 ;;
-esac
-gcc ${1+"$@"}
-END
-
-chmod +x mycc
-PATH=$(pwd)$PATH_SEPARATOR$PATH; export PATH
-
-cat >Makefile.am <<'EOF'
-SUBDIRS = @subdirs@
-EXTRA_DIST = config-ml.in symlink-tree
-check-all:
- test -f debug/libfoo/libfoo.a
- test -f debug/libbar/libbar.a
- test -f libfoo/libfoo.a
- test -f libbar/libbar.a
-EOF
-
-# libfoo tests multilib supports when there are no subdirectories
-# libbar tests multilib supports when there are subdirectories
-
-mkdir libfoo
-cp "$mldir"/multilib.am libfoo/
-
-cat >libfoo/configure.ac <<'END'
-AC_PREREQ(2.57)
-AC_INIT(libfoo, 0.1, nobody@localhost)
-AC_CONFIG_SRCDIR(foo.c)
-# Apparently it doesn't work to have auxdir=.. when
-# multilib uses symlinked trees.
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_RANLIB
-AM_ENABLE_MULTILIB(Makefile,[..])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-
-cat >libfoo/Makefile.am <<'END'
-noinst_LIBRARIES = libfoo.a
-libfoo_a_SOURCES = foo.c
-include $(top_srcdir)/multilib.am
-END
-
-: > libfoo/foo.c
-
-mkdir libbar
-cp "$mldir"/multilib.am libbar/
-
-cat >libbar/configure.ac <<'END'
-AC_PREREQ(2.57)
-AC_INIT(libbar, 0.1, nobody@localhost)
-# Apparently it doesn't work to have auxdir=.. when
-# multilib uses symlinked trees.
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_RANLIB
-AM_ENABLE_MULTILIB(Makefile,[..])
-AC_CONFIG_FILES([Makefile sub/Makefile])
-AC_OUTPUT
-END
-
-cat >libbar/Makefile.am <<'END'
-SUBDIRS = sub
-noinst_LIBRARIES = libbar.a
-libbar_a_SOURCES = bar.c
-include $(top_srcdir)/multilib.am
-END
-
-mkdir libbar/sub
-echo 'include $(top_srcdir)/multilib.am' >libbar/sub/Makefile.am
-: > libbar/bar.c
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-cd libfoo
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-cd ..
-
-cd libbar
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-cd ..
-
-# Check VPATH builds
-mkdir build
-cd build
-../configure --enable-multilib CC=mycc
-$MAKE
-test -f debug/libfoo/libfoo.a
-test -f debug/libbar/libbar.a
-test -f libfoo/libfoo.a
-test -f libbar/libbar.a
-$MAKE install
-$MAKE distcleancheck
-
-# Check standard builds.
-cd ..
-# Why to I have to specify --with-target-subdir?
-./configure --enable-multilib --with-target-subdir=. CC=mycc
-$MAKE check
-DISTCHECK_CONFIGURE_FLAGS='--enable-multilib CC=mycc' $MAKE distcheck
-
-:
diff --git a/contrib/t/parallel-tests-html-recursive.sh b/contrib/t/parallel-tests-html-recursive.sh
index 4a7c04cd5..4f92ae986 100755
--- a/contrib/t/parallel-tests-html-recursive.sh
+++ b/contrib/t/parallel-tests-html-recursive.sh
@@ -34,6 +34,9 @@ cp "$am_top_srcdir"/contrib/check-html.am . \
cat >> configure.ac << 'END'
AM_EXTRA_RECURSIVE_TARGETS([check-html])
+# This variable must be defined in each Makefile.am that includes
+# 'check-html.am'. It's simpler to do this once here.
+AC_SUBST([MOSTLYCLEANFILES], [])
AC_CONFIG_FILES([sub/Makefile sub/more/Makefile])
AC_OUTPUT
END
@@ -106,7 +109,6 @@ test ! -f test.log
test -f x.txt
END
-
cat > sub/more/mu << 'END'
#!/bin/sh
exit 99
diff --git a/contrib/t/parallel-tests-html.sh b/contrib/t/parallel-tests-html.sh
index eca818da2..5fdd36add 100755
--- a/contrib/t/parallel-tests-html.sh
+++ b/contrib/t/parallel-tests-html.sh
@@ -45,6 +45,8 @@ check_SCRIPTS = bla
bla:
echo bla > $@
CLEANFILES = bla
+## Initialization of this required by 'check-html.am', below.
+MOSTLYCLEANFILES =
include $(srcdir)/check-html.am
END
@@ -87,12 +89,12 @@ test ! -e bla
# Always create the HTML output, even if there were no failures.
rm -f mylog.html
-run_make TESTS=foo.test check-html
+$MAKE TESTS=foo.test check-html
test -f mylog.html
# Create summarizing HTML output also with recheck-html.
rm -f mylog.html
-run_make TESTS=foo.test recheck-html
+$MAKE TESTS=foo.test recheck-html
test -f mylog.html
# Create HTML output for an individual test.
@@ -120,7 +122,7 @@ test ! -e mylog.html
$MAKE clean
test ! -e mylog.html
-run_make TEST_LOGS=foo.log check-html
+$MAKE check-html TESTS=foo
test -f bla
test -f foo.log
test ! -e bar.log
@@ -128,7 +130,7 @@ test ! -e baz.log
test -f mylog.html
$MAKE clean
-run_make TESTS=foo.test recheck-html
+$MAKE recheck-html TESTS=foo.test
test -f bla
test ! -e foo.log
test -f mylog.html
diff --git a/contrib/tap-driver.pl b/contrib/tap-driver.pl
index ee73b9973..4d76bd905 100755
--- a/contrib/tap-driver.pl
+++ b/contrib/tap-driver.pl
@@ -19,9 +19,9 @@
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
# ---------------------------------- #
# Imports, static data, and setup. #
@@ -49,7 +49,7 @@ END
my $HELP = "$ME: TAP-aware test driver for Automake testsuite harness." .
"\n" . $USAGE;
-# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+# Keep in sync with 'lib/am/color-tests.am:$(am.test-suite.tty-colors)'.
my %COLOR = (
red => "\e[0;31m",
grn => "\e[0;32m",
diff --git a/doc/Makefile.inc b/doc/Makefile.inc
index 1df3bc67d..3bd5b0f81 100644
--- a/doc/Makefile.inc
+++ b/doc/Makefile.inc
@@ -19,37 +19,31 @@
## Documentation. ##
## ---------------- ##
-info_TEXINFOS = %D%/automake.texi %D%/automake-history.texi
-doc_automake_TEXINFOS = %D%/fdl.texi
-doc_automake_history_TEXINFOS = %D%/fdl.texi
-
-man1_MANS = \
- %D%/aclocal.1 \
- %D%/automake.1 \
- %D%/aclocal-$(APIVERSION).1 \
- %D%/automake-$(APIVERSION).1
+## ---------------- ##
+## Documentation. ##
+## ---------------- ##
-$(man1_MANS): $(top_srcdir)/configure.ac
+info_TEXINFOS = %D%/automake-ng.texi
+doc_automake_ng_TEXINFOS = %D%/fdl.texi
CLEANFILES += $(man1_MANS)
EXTRA_DIST += %D%/help2man
-update_mans = \
- $(AM_V_GEN): \
- && $(MKDIR_P) %D% \
- && $(extend_PATH) \
- && $(PERL) $(srcdir)/%D%/help2man --output=$@
+man1_MANS = $(versioned_mans) $(unversioned_mans)
+
+unversioned_mans = %D%/aclocal.1 %D%/automake.1
+versioned_mans = %D%/aclocal-$(APIVERSION).1 %D%/automake-$(APIVERSION).1
-%D%/aclocal.1 %D%/automake.1:
- $(AM_V_GEN): \
- && $(MKDIR_P) %D% \
- && f=`echo $@ | sed 's|.*/||; s|\.1$$||; $(transform)'` \
+$(unversioned_mans): Makefile
+ $(AM_V_GEN)$(MKDIR_P) %D% \
+ && f=`echo $(@D) | sed 's|.*/||; s|\.1$$||; $(transform)'` \
&& echo ".so man1/$$f-$(APIVERSION).1" > $@
-%D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
- $(update_mans) aclocal-$(APIVERSION)
-%D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
- $(update_mans) automake-$(APIVERSION)
+$(versioned_mans): %D%/%-$(APIVERSION).1: bin/% lib/Automake/Config.pm
+ $(AM_V_GEN)$(MKDIR_P) %D% \
+ && $(extend_PATH) \
+ && $(PERL) $(srcdir)/%D%/help2man --output=$@ $*-$(APIVERSION)
+
## ---------------------------- ##
## Example package "amhello". ##
@@ -71,6 +65,7 @@ amhello_configury = \
depcomp \
install-sh \
missing \
+ am-ng \
src/Makefile.in
dist_noinst_DATA += $(amhello_sources)
@@ -92,15 +87,15 @@ setup_autotools_paths = { \
# whenever the Automake version changes.
$(srcdir)/%D%/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
$(AM_V_GEN)tmp=amhello-output.tmp \
- && $(am__cd) $(srcdir)/%D%/amhello \
+ && cd $(srcdir)/%D%/amhello \
&& : Make our aclocal and automake avaiable before system ones. \
&& $(setup_autotools_paths) \
&& ( \
{ $(AM_V_P) || exec 5>&2 >$$tmp 2>&1; } \
&& $(am_AUTORECONF) -vfi \
&& ./configure \
- && $(MAKE) $(AM_MAKEFLAGS) distcheck \
- && $(MAKE) $(AM_MAKEFLAGS) distclean \
+ && $(MAKE) distcheck \
+ && $(MAKE) distclean \
|| { \
if $(AM_V_P); then :; else \
echo "$@: recipe failed." >&5; \
diff --git a/doc/amhello/README b/doc/amhello/README
index d24723a81..d1b8e03f9 100644
--- a/doc/amhello/README
+++ b/doc/amhello/README
@@ -1,2 +1,2 @@
-This is a demonstration package for GNU Automake.
-Type `info Automake' to read the Automake manual.
+This is a demonstration package for GNU Automake-NG.
+Type 'info Automake-NG' to read its manual.
diff --git a/doc/automake-history.texi b/doc/automake-history.texi
deleted file mode 100644
index 57355544a..000000000
--- a/doc/automake-history.texi
+++ /dev/null
@@ -1,1214 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename automake-history.info
-@settitle automake-history
-@setchapternewpage on
-@c %**end of header
-
-@copying
-
-This manual describes (part of) the history of GNU Automake, a program
-that creates GNU standards-compliant Makefiles from template files.
-
-Copyright @copyright{} 1995-2015 Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License,
-Version 1.3 or any later version published by the Free Software
-Foundation; with no Invariant Sections, with no Front-Cover texts,
-and with no Back-Cover Texts. A copy of the license is included in the
-section entitled ``GNU Free Documentation License.''
-
-@end quotation
-@end copying
-
-@titlepage
-@title Brief History of Automake
-@author David MacKenzie
-@author Tom Tromey
-@author Alexandre Duret-Lutz
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-@contents
-
-@ifnottex
-@node Top
-@comment node-name, next, previous, up
-@top Brief History of Automake
-
-@insertcopying
-
-@menu
-* Timeline:: The Automake story.
-* Dependency Tracking Evolution:: Evolution of Automatic Dependency Tracking
-* Releases:: Release statistics
-* Copying This Manual:: How to make copies of this manual
-
-@detailmenu
- --- The Detailed Node Listing ---
-
-Evolution of Automatic Dependency Tracking
-
-* First Take on Dependencies:: Precomputed dependency tracking
-* Dependencies As Side Effects:: Update at developer compile time
-* Dependencies for the User:: Update at user compile time
-* Techniques for Dependencies:: Alternative approaches
-
-Techniques for Computing Dependencies
-
-* Recommendations for Tool Writers::
-* Future Directions for Dependencies::
-
-Copying This Manual
-
-* GNU Free Documentation License:: License for copying this manual
-
-@end detailmenu
-@end menu
-
-@end ifnottex
-
-@node Timeline
-@chapter Timeline
-
-@table @asis
-@item 1994-09-19 First CVS commit.
-
-If we can trust the CVS repository, David J.@tie{}MacKenzie (djm) started
-working on Automake (or AutoMake, as it was spelt then) this Monday.
-
-The first version of the @command{automake} script looks as follows.
-
-@example
-#!/bin/sh
-
-status=0
-
-for makefile
-do
- if test ! -f $@{makefile@}.am; then
- echo "automake: $@{makefile@}.am: No such honkin' file"
- status=1
- continue
- fi
-
- exec 4> $@{makefile@}.in
-
-done
-@end example
-
-From this you can already see that Automake will be about reading
-@file{*.am} file and producing @file{*.in} files. You cannot see
-anything else, but if you also know that David is the one who created
-Autoconf two years before you can guess the rest.
-
-Several commits follow, and by the end of the day Automake is
-reported to work for GNU fileutils and GNU m4.
-
-The modus operandi is the one that is still used today: variable
-assignments in @file{Makefile.am} files trigger injections of
-precanned @file{Makefile} fragments into the generated
-@file{Makefile.in}. The use of @file{Makefile} fragments was inspired
-by the 4.4BSD @command{make} and include files, however Automake aims
-to be portable and to conform to the GNU standards for @file{Makefile}
-variables and targets.
-
-At this point, the most recent release of Autoconf is version 1.11,
-and David is preparing to release Autoconf 2.0 in late October. As a
-matter of fact, he will barely touch Automake after September.
-
-@item 1994-11-05 David MacKenzie's last commit.
-
-At this point Automake is a 200 line portable shell script, plus 332
-lines of @file{Makefile} fragments. In the @file{README}, David
-states his ambivalence between ``portable shell'' and ``more
-appropriate language'':
-
-@quotation
-I wrote it keeping in mind the possibility of it becoming an Autoconf
-macro, so it would run at configure-time. That would slow
-configuration down a bit, but allow users to modify the Makefile.am
-without needing to fetch the AutoMake package. And, the Makefile.in
-files wouldn't need to be distributed. But all of AutoMake would. So
-I might reimplement AutoMake in Perl, m4, or some other more
-appropriate language.
-@end quotation
-
-Automake is described as ``an experimental Makefile generator''.
-There is no documentation. Adventurous users are referred to the
-examples and patches needed to use Automake with GNU m4 1.3, fileutils
-3.9, time 1.6, and development versions of find and indent.
-
-These examples seem to have been lost. However at the time of writing
-(10 years later in September, 2004) the FSF still distributes a
-package that uses this version of Automake: check out GNU termutils
-2.0.
-
-@item 1995-11-12 Tom Tromey's first commit.
-
-After one year of inactivity, Tom Tromey takes over the package.
-Tom was working on GNU cpio back then, and doing this just for fun,
-having trouble finding a project to contribute to. So while hacking
-he wanted to bring the @file{Makefile.in} up to GNU standards. This
-was hard, and one day he saw Automake on @url{ftp://alpha.gnu.org/},
-grabbed it and tried it out.
-
-Tom didn't talk to djm about it until later, just to make sure he
-didn't mind if he made a release. He did a bunch of early releases to
-the Gnits folks.
-
-Gnits was (and still is) totally informal, just a few GNU friends who
-Fran@,cois Pinard knew, who were all interested in making a common
-infrastructure for GNU projects, and shared a similar outlook on how
-to do it. So they were able to make some progress. It came along
-with Autoconf and extensions thereof, and then Automake from David and
-Tom (who were both gnitsians). One of their ideas was to write a
-document paralleling the GNU standards, that was more strict in some
-ways and more detailed. They never finished the GNITS standards, but
-the ideas mostly made their way into Automake.
-
-@item 1995-11-23 Automake 0.20
-
-Besides introducing automatic dependency tracking (@pxref{Dependency
-Tracking Evolution}), this version also supplies a 9-page manual.
-
-At this time @command{aclocal} and @code{AM_INIT_AUTOMAKE} did not
-exist, so many things had to be done by hand. For instance, here is
-what a configure.in (this is the former name of the
-@file{configure.ac} we use today) must contain in order to use
-Automake 0.20:
-
-@example
-PACKAGE=cpio
-VERSION=2.3.911
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-AC_ARG_PROGRAM
-AC_PROG_INSTALL
-@end example
-
-(Today all of the above is achieved by @code{AC_INIT} and
-@code{AM_INIT_AUTOMAKE}.)
-
-Here is how programs are specified in @file{Makefile.am}:
-
-@example
-PROGRAMS = hello
-hello_SOURCES = hello.c
-@end example
-
-This looks pretty much like what we do today, except the
-@code{PROGRAMS} variable has no directory prefix specifying where
-@file{hello} should be installed: all programs are installed in
-@samp{$(bindir)}. @code{LIBPROGRAMS} can be used to specify programs
-that must be built but not installed (it is called
-@code{noinst_PROGRAMS} nowadays).
-
-Programs can be built conditionally using @code{AC_SUBST}itutions:
-
-@example
-PROGRAMS = @@progs@@
-AM_PROGRAMS = foo bar baz
-@end example
-
-(@code{AM_PROGRAMS} has since then been renamed to
-@code{EXTRA_PROGRAMS}.)
-
-Similarly scripts, static libraries, and data can be built and installed
-using the @code{LIBRARIES}, @code{SCRIPTS}, and @code{DATA} variables.
-However @code{LIBRARIES} were treated a bit specially in that Automake
-did automatically supply the @file{lib} and @file{.a} prefixes.
-Therefore to build @file{libcpio.a}, one had to write
-
-@example
-LIBRARIES = cpio
-cpio_SOURCES = ...
-@end example
-
-Extra files to distribute must be listed in @code{DIST_OTHER} (the
-ancestor of @code{EXTRA_DIST}). Also extra directories that are to be
-distributed should appear in @code{DIST_SUBDIRS}, but the manual
-describes this as a temporary ugly hack (today extra directories should
-also be listed in @code{EXTRA_DIST}, and @code{DIST_SUBDIRS} is used
-for another purpose, @pxref{Conditional Subdirectories, , Conditional
-Subdirectories, automake, GNU Automake}).
-
-@item 1995-11-26 Automake 0.21
-
-In less time than it takes to cook a frozen pizza, Tom rewrites
-Automake using Perl. At this time Perl 5 is only one year old, and
-Perl 4.036 is in use at many sites. Supporting several Perl versions
-has been a source of problems through the whole history of Automake.
-
-If you never used Perl 4, imagine Perl 5 without objects, without
-@samp{my} variables (only dynamically scoped @samp{local} variables),
-without function prototypes, with function calls that needs to be
-prefixed with @samp{&}, etc. Traces of this old style can still be
-found in today's @command{automake}.
-
-@item 1995-11-28 Automake 0.22
-@itemx 1995-11-29 Automake 0.23
-
-Bug fixes.
-
-@item 1995-12-08 Automake 0.24
-@itemx 1995-12-10 Automake 0.25
-
-Releases are raining. 0.24 introduces the uniform naming scheme we
-use today, i.e., @code{bin_PROGRAMS} instead of @code{PROGRAMS},
-@code{noinst_LIBRARIES} instead of @code{LIBLIBRARIES}, etc. (However
-@code{EXTRA_PROGRAMS} does not exist yet, @code{AM_PROGRAMS} is still
-in use; and @code{TEXINFOS} and @code{MANS} still have no directory
-prefixes.) Adding support for prefixes like that was one of the major
-ideas in @command{automake}; it has lasted pretty well.
-
-AutoMake is renamed to Automake (Tom seems to recall it was Fran@,cois
-Pinard's doing).
-
-0.25 fixes a Perl 4 portability bug.
-
-@item 1995-12-18 Jim Meyering starts using Automake in GNU Textutils.
-@item 1995-12-31 Fran@,cois Pinard starts using Automake in GNU tar.
-
-@item 1996-01-03 Automake 0.26
-@itemx 1996-01-03 Automake 0.27
-
-Of the many changes and suggestions sent by Fran@,cois Pinard and
-included in 0.26, perhaps the most important is the advice that to
-ease customization a user rule or variable definition should always
-override an Automake rule or definition.
-
-Gordon Matzigkeit and Jim Meyering are two other early contributors
-that have been sending fixes.
-
-0.27 fixes yet another Perl 4 portability bug.
-
-@item 1996-01-13 Automake 0.28
-
-Automake starts scanning @file{configure.in} for @code{LIBOBJS}
-support. This is an important step because until this version
-Automake only knew about the @file{Makefile.am}s it processed.
-@file{configure.in} was Autoconf's world and the link between Autoconf
-and Automake had to be done by the @file{Makefile.am} author. For
-instance, if @file{config.h} was generated by @file{configure}, it was the
-package maintainer's responsibility to define the @code{CONFIG_HEADER}
-variable in each @file{Makefile.am}.
-
-Succeeding releases will rely more and more on scanning
-@file{configure.in} to better automate the Autoconf integration.
-
-0.28 also introduces the @code{AUTOMAKE_OPTIONS} variable and the
-@option{--gnu} and @option{--gnits} options, the latter being stricter.
-
-@item 1996-02-07 Automake 0.29
-
-Thanks to @file{configure.in} scanning, @code{CONFIG_HEADER} is gone,
-and rebuild rules for @file{configure}-generated file are
-automatically output.
-
-@code{TEXINFOS} and @code{MANS} converted to the uniform naming
-scheme.
-
-@item 1996-02-24 Automake 0.30
-
-The test suite is born. It contains 9 tests. From now on test cases
-will be added pretty regularly (@pxref{Releases}), and this proved to
-be really helpful later on.
-
-@code{EXTRA_PROGRAMS} finally replaces @code{AM_PROGRAMS}.
-
-All the third-party Autoconf macros, written mostly by Fran@,cois
-Pinard (and later Jim Meyering), are distributed in Automake's
-hand-written @file{aclocal.m4} file. Package maintainers are expected
-to extract the necessary macros from this file. (In previous versions
-you had to copy and paste them from the manual...)
-
-@item 1996-03-11 Automake 0.31
-
-The test suite in 0.30 was run via a long @code{check-local} rule. Upon
-Ulrich Drepper's suggestion, 0.31 makes it an Automake rule output
-whenever the @code{TESTS} variable is defined.
-
-@code{DIST_OTHER} is renamed to @code{EXTRA_DIST}, and the @code{check_}
-prefix is introduced. The syntax is now the same as today.
-
-@item 1996-03-15 Gordon Matzigkeit starts writing libtool.
-
-@item 1996-04-27 Automake 0.32
-
-@code{-hook} targets are introduced; an idea from Dieter Baron.
-
-@file{*.info} files, which were output in the build directory are
-now built in the source directory, because they are distributed. It
-seems these files like to move back and forth as that will happen
-again in future versions.
-
-@item 1996-05-18 Automake 0.33
-
-Gord Matzigkeit's main two contributions:
-
-@itemize
-@item very preliminary libtool support
-@item the distcheck rule
-@end itemize
-
-Although they were very basic at this point, these are probably
-among the top features for Automake today.
-
-Jim Meyering also provides the infamous @code{jm_MAINTAINER_MODE}, since
-then renamed to @code{AM_MAINTAINER_MODE} and abandoned by its author
-(@pxref{maintainer-mode, , maintainer-mode, automake, GNU Automake}).
-
-@item 1996-05-28 Automake 1.0
-
-After only six months of heavy development, the @command{automake} script is
-3134 lines long, plus 973 lines of @file{Makefile} fragments. The
-package has 30 pages of documentation, and 38 test cases.
-@file{aclocal.m4} contains 4 macros.
-
-From now on and until version 1.4, new releases will occur at a rate
-of about one a year. 1.1 did not exist, actually 1.1b to 1.1p have
-been the name of beta releases for 1.2. This is the first time
-Automake uses suffix letters to designate beta releases, a habit that
-lasts.
-
-@item 1996-10-10 Kevin Dalley packages Automake 1.0 for Debian GNU/Linux.
-
-@item 1996-11-26 David J.@tie{}MacKenzie releases Autoconf 2.12.
-
-Between June and October, the Autoconf development is almost stalled.
-Roland McGrath has been working at the beginning of the year. David
-comes back in November to release 2.12, but he won't touch Autoconf
-anymore after this year, and Autoconf then really stagnates. The
-desolate Autoconf @file{ChangeLog} for 1997 lists only 7 commits.
-
-@item 1997-02-28 @email{automake@@gnu.ai.mit.edu} list alive
-
-The mailing list is announced as follows:
-@smallexample
-I've created the "automake" mailing list. It is
-"automake@@gnu.ai.mit.edu". Administrivia, as always, to
-automake-request@@gnu.ai.mit.edu.
-
-The charter of this list is discussion of automake, autoconf, and
-other configuration/portability tools (e.g., libtool). It is expected
-that discussion will range from pleas for help all the way up to
-patches.
-
-This list is archived on the FSF machines. Offhand I don't know if
-you can get the archive without an account there.
-
-This list is open to anybody who wants to join. Tell all your
-friends!
--- Tom Tromey
-@end smallexample
-
-Before that people were discussing Automake privately, on the Gnits
-mailing list (which is not public either), and less frequently on
-@code{gnu.misc.discuss}.
-
-@code{gnu.ai.mit.edu} is now @code{gnu.org}, in case you never
-noticed. The archives of the early years of the
-@code{automake@@gnu.org} list have been lost, so today it is almost
-impossible to find traces of discussions that occurred before 1999.
-This has been annoying more than once, as such discussions can be
-useful to understand the rationale behind a piece of uncommented code
-that was introduced back then.
-
-@item 1997-06-22 Automake 1.2
-
-Automake developments continues, and more and more new Autoconf macros
-are required. Distributing them in @file{aclocal.m4} and requiring
-people to browse this file to extract the relevant macros becomes
-uncomfortable. Ideally, some of them should be contributed to
-Autoconf so that they can be used directly, however Autoconf is
-currently inactive. Automake 1.2 consequently introduces
-@command{aclocal} (@command{aclocal} was actually started on
-1996-07-28), a tool that automatically constructs an @file{aclocal.m4}
-file from a repository of third-party macros. Because Autoconf has
-stalled, Automake also becomes a kind of repository for such
-third-party macros, even macros completely unrelated to Automake (for
-instance macros that fix broken Autoconf macros).
-
-The 1.2 release contains 20 macros, including the
-@code{AM_INIT_AUTOMAKE} macro that simplifies the creation of
-@file{configure.in}.
-
-Libtool is fully supported using @code{*_LTLIBRARIES}.
-
-The missing script is introduced by Fran@,cois Pinard; it is meant
-to be a better solution than @code{AM_MAINTAINER_MODE}
-(@pxref{maintainer-mode, , maintainer-mode, automake, GNU Automake}).
-
-Conditionals support was implemented by Ian Lance Taylor. At the
-time, Tom and Ian were working on an internal project at Cygnus. They
-were using ILU, which is pretty similar to CORBA@. They wanted to
-integrate ILU into their build, which was all @file{configure}-based,
-and Ian thought that adding conditionals to @command{automake} was
-simpler than doing all the work in @file{configure} (which was the
-standard at the time). So this was actually funded by Cygnus.
-
-This very useful but tricky feature will take a lot of time to
-stabilize. (At the time this text is written, there are still
-primaries that have not been updated to support conditional
-definitions in Automake 1.9.)
-
-The @command{automake} script has almost doubled: 6089 lines of Perl,
-plus 1294 lines of @file{Makefile} fragments.
-
-@item 1997-07-08 Gordon Matzigkeit releases Libtool 1.0.
-
-@item 1998-04-05 Automake 1.3
-
-This is a small advance compared to 1.2.
-It adds support for assembly, and preliminary support for Java.
-
-Perl 5.004_04 is out, but fixes to support Perl 4 are still
-regularly submitted whenever Automake breaks it.
-
-@item 1998-09-06 @code{sourceware.cygnus.com} is on-line.
-
-Sourceware was setup by Jason Molenda to host open source projects.
-
-@item 1998-09-19 Automake CVS repository moved to @code{sourceware.cygnus.com}
-@itemx 1998-10-26 @code{sourceware.cygnus.com} announces it hosts Automake:
-Automake is now hosted on @code{sourceware.cygnus.com}. It has a
-publicly accessible CVS repository. This CVS repository is a copy of
-the one Tom was using on his machine, which in turn is based on
-a copy of the CVS repository of David MacKenzie. This is why we still
-have to full source history. (Automake was on Sourceware until 2007-10-29,
-when it moved to a git repository on @code{savannah.gnu.org},
-but the Sourceware host had been renamed to @code{sources.redhat.com}.)
-
-The oldest file in the administrative directory of the CVS repository
-that was created on Sourceware is dated 1998-09-19, while the
-announcement that @command{automake} and @command{autoconf} had joined
-@command{sourceware} was made on 1998-10-26. They were among the
-first projects to be hosted there.
-
-The heedful reader will have noticed Automake was exactly 4 years old
-on 1998-09-19.
-
-@item 1999-01-05 Ben Elliston releases Autoconf 2.13.
-
-@item 1999-01-14 Automake 1.4
-
-This release adds support for Fortran 77 and for the @code{include}
-statement. Also, @samp{+=} assignments are introduced, but it is
-still quite easy to fool Automake when mixing this with conditionals.
-
-These two releases, Automake 1.4 and Autoconf 2.13 make a duo that
-will be used together for years.
-
-@command{automake} is 7228 lines, plus 1591 lines of Makefile
-fragment, 20 macros (some 1.3 macros were finally contributed back to
-Autoconf), 197 test cases, and 51 pages of documentation.
-
-@item 1999-03-27 The @code{user-dep-branch} is created on the CVS repository.
-
-This implements a new dependency tracking schemed that should be
-able to handle automatic dependency tracking using any compiler (not
-just gcc) and any make (not just GNU @command{make}). In addition,
-the new scheme should be more reliable than the old one, as
-dependencies are generated on the end user's machine. Alexandre Oliva
-creates depcomp for this purpose.
-
-@xref{Dependency Tracking Evolution}, for more details about the
-evolution of automatic dependency tracking in Automake.
-
-@item 1999-11-21 The @code{user-dep-branch} is merged into the main trunk.
-
-This was a huge problem since we also had patches going in on the
-trunk. The merge took a long time and was very painful.
-
-@item 2000-05-10
-
-Since September 1999 and until 2003, Akim Demaille will be zealously
-revamping Autoconf.
-
-@quotation
-I think the next release should be called "3.0".@*
-Let's face it: you've basically rewritten autoconf.@*
-Every weekend there are 30 new patches.@*
-I don't see how we could call this "2.15" with a straight face.@*
--- Tom Tromey on @email{autoconf@@gnu.org}
-@end quotation
-
-Actually Akim works like a submarine: he will pile up patches while he
-works off-line during the weekend, and flush them in batch when he
-resurfaces on Monday.
-
-@item 2001-01-24
-
-On this Wednesday, Autoconf 2.49c, the last beta before Autoconf 2.50
-is out, and Akim has to find something to do during his week-end :)
-
-@item 2001-01-28
-
-Akim sends a batch of 14 patches to @email{automake@@gnu.org}.
-
-@quotation
-Aiieeee! I was dreading the day that the Demaillator turned his
-sights on automake@dots{} and now it has arrived! -- Tom Tromey
-@end quotation
-
-It's only the beginning: in two months he will send 192 patches. Then
-he would slow down so Tom can catch up and review all this. Initially
-Tom actually read all of these patches, then he probably trustingly
-answered OK to most of them, and finally gave up and let Akim apply
-whatever he wanted. There was no way to keep up with that patch rate.
-
-@quotation
-Anyway the patch below won't apply since it predates Akim's
-sourcequake; I have yet to figure where the relevant passage has
-been moved :) -- Alexandre Duret-Lutz
-@end quotation
-
-All of these patches were sent to and discussed on
-@email{automake@@gnu.org}, so subscribed users were literally drowning in
-technical mails. Eventually, the @email{automake-patches@@gnu.org}
-mailing list was created in May.
-
-Year after year, Automake had drifted away from its initial design:
-construct @file{Makefile.in} by assembling various @file{Makefile}
-fragments. In 1.4, lots of @file{Makefile} rules are being emitted at
-various places in the @command{automake} script itself; this does not
-help ensuring a consistent treatment of these rules (for instance
-making sure that user-defined rules override Automake's own rules).
-One of Akim's goal was moving all of these hard-coded rules to separate
-@file{Makefile} fragments, so the logic could be centralized in a
-@file{Makefile} fragment processor.
-
-Another significant contribution of Akim is the interface with the
-``trace'' feature of Autoconf. The way to scan @file{configure.in} at
-this time was to read the file and grep the various macro of interest
-to Automake. Doing so could break in many unexpected ways; @command{automake}
-could miss some definition (for instance @samp{AC_SUBST([$1], [$2])}
-where the arguments are known only when M4 is run), or conversely it
-could detect some macro that was not expanded (because it is called
-conditionally). In the CVS version of Autoconf, Akim had implemented
-the @option{--trace} option, which provides accurate information about
-where macros are actually called and with what arguments. Akim will
-equip Automake with a second @file{configure.in} scanner that uses
-this @option{--trace} interface. Since it was not sensible to drop the
-Autoconf 2.13 compatibility yet, this experimental scanner was only
-used when an environment variable was set, the traditional
-grep-scanner being still the default.
-
-@item 2001-04-25 Gary V.@tie{}Vaughan releases Libtool 1.4
-
-It has been more than two years since Automake 1.4, CVS Automake has
-suffered lot's of heavy changes and still is not ready for release.
-Libtool 1.4 had to be distributed with a patch against Automake 1.4.
-
-@item 2001-05-08 Automake 1.4-p1
-@itemx 2001-05-24 Automake 1.4-p2
-
-Gary V.@tie{}Vaughan, the principal Libtool maintainer, makes a ``patch
-release'' of Automake:
-
-@quotation
-The main purpose of this release is to have a stable automake
-which is compatible with the latest stable libtool.
-@end quotation
-
-The release also contains obvious fixes for bugs in Automake 1.4,
-some of which were reported almost monthly.
-
-@item 2001-05-21 Akim Demaille releases Autoconf 2.50
-
-@item 2001-06-07 Automake 1.4-p3
-@itemx 2001-06-10 Automake 1.4-p4
-@itemx 2001-07-15 Automake 1.4-p5
-
-Gary continues his patch-release series. These also add support for
-some new Autoconf 2.50 idioms. Essentially, Autoconf now advocates
-@file{configure.ac} over @file{configure.in}, and it introduces a new
-syntax for @code{AC_OUTPUT}ing files.
-
-@item 2001-08-23 Automake 1.5
-
-A major and long-awaited release, that comes more than two years after
-1.4. It brings many changes, among which:
-@itemize
-@item The new dependency tracking scheme that uses @command{depcomp}.
-Aside from the improvement on the dependency tracking itself
-(@pxref{Dependency Tracking Evolution}), this also streamlines the use
-of @command{automake}-generated @file{Makefile.in}s as the @file{Makefile.in}s
-used during development are now the same as those used in
-distributions. Before that the @file{Makefile.in}s generated for
-maintainers required GNU @command{make} and GCC, they were different
-from the portable @file{Makefile} generated for distribution; this was
-causing some confusion.
-
-@item Support for per-target compilation flags.
-
-@item Support for reference to files in subdirectories in most
-@file{Makefile.am} variables.
-
-@item Introduction of the @code{dist_}, @code{nodist_}, and @code{nobase_}
-prefixes.
-@item Perl 4 support is finally dropped.
-@end itemize
-
-1.5 did break several packages that worked with 1.4. Enough so that
-Linux distributions could not easily install the new Automake version
-without breaking many of the packages for which they had to run
-@command{automake}.
-
-Some of these breakages were effectively bugs that would eventually be
-fixed in the next release. However, a lot of damage was caused by
-some changes made deliberately to render Automake stricter on some
-setup we did consider bogus. For instance, @samp{make distcheck} was
-improved to check that @samp{make uninstall} did remove all the files
-@samp{make install} installed, that @samp{make distclean} did not omit
-some file, and that a VPATH build would work even if the source
-directory was read-only. Similarly, Automake now rejects multiple
-definitions of the same variable (because that would mix very badly
-with conditionals), and @samp{+=} assignments with no previous
-definition. Because these changes all occurred suddenly after 1.4 had
-been established for more than two years, it hurt users.
-
-To make matter worse, meanwhile Autoconf (now at version 2.52) was
-facing similar troubles, for similar reasons.
-
-@item 2002-03-05 Automake 1.6
-
-This release introduced versioned installation (@pxref{API Versioning, ,
-API Versioning, automake, GNU Automake}). This was mainly pushed by
-Havoc Pennington, taking the GNOME source tree as motive: due to
-incompatibilities between the autotools it's impossible for the GNOME
-packages to switch to Autoconf 2.53 and Automake 1.5 all at once, so
-they are currently stuck with Autoconf 2.13 and Automake 1.4.
-
-The idea was to call this version @file{automake-1.6}, call all its
-bug-fix versions identically, and switch to @file{automake-1.7} for
-the next release that adds new features or changes some rules. This
-scheme implies maintaining a bug-fix branch in addition to the
-development trunk, which means more work from the maintainer, but
-providing regular bug-fix releases proved to be really worthwhile.
-
-Like 1.5, 1.6 also introduced a bunch of incompatibilities, intentional or
-not. Perhaps the more annoying was the dependence on the newly
-released Autoconf 2.53. Autoconf seemed to have stabilized enough
-since its explosive 2.50 release and included changes required to fix
-some bugs in Automake. In order to upgrade to Automake 1.6, people
-now had to upgrade Autoconf too; for some packages it was no picnic.
-
-While versioned installation helped people to upgrade, it also
-unfortunately allowed people not to upgrade. At the time of writing,
-some Linux distributions are shipping packages for Automake 1.4, 1.5,
-1.6, 1.7, 1.8, and 1.9. Most of these still install 1.4 by default.
-Some distribution also call 1.4 the ``stable'' version, and present
-``1.9'' as the development version; this does not really makes sense
-since 1.9 is way more solid than 1.4. All this does not help the
-newcomer.
-
-@item 2002-04-11 Automake 1.6.1
-
-1.6, and the upcoming 1.4-p6 release were the last release by Tom.
-This one and those following will be handled by Alexandre
-Duret-Lutz. Tom is still around, and will be there until about 1.7,
-but his interest into Automake is drifting away towards projects like
-@command{gcj}.
-
-Alexandre has been using Automake since 2000, and started to
-contribute mostly on Akim's incitement (Akim and Alexandre have been
-working in the same room from 1999 to 2002). In 2001 and 2002 he had
-a lot of free time to enjoy hacking Automake.
-
-@item 2002-06-14 Automake 1.6.2
-
-@item 2002-07-28 Automake 1.6.3
-@itemx 2002-07-28 Automake 1.4-p6
-
-Two releases on the same day. 1.6.3 is a bug-fix release.
-
-Tom Tromey backported the versioned installation mechanism on the 1.4
-branch, so that Automake 1.6.x and Automake 1.4-p6 could be installed
-side by side. Another request from the GNOME folks.
-
-@item 2002-09-25 Automake 1.7
-
-This release switches to the new @file{configure.ac} scanner Akim
-was experimenting in 1.5.
-
-@item 2002-10-16 Automake 1.7.1
-@itemx 2002-12-06 Automake 1.7.2
-@itemx 2003-02-20 Automake 1.7.3
-@itemx 2003-04-23 Automake 1.7.4
-@itemx 2003-05-18 Automake 1.7.5
-@itemx 2003-07-10 Automake 1.7.6
-@itemx 2003-09-07 Automake 1.7.7
-@itemx 2003-10-07 Automake 1.7.8
-
-Many bug-fix releases. 1.7 lasted because the development version
-(upcoming 1.8) was suffering some major internal revamping.
-
-@item 2003-10-26 Automake on screen
-
-Episode 49, `Repercussions', in the third season of the `Alias' TV
-show is first aired.
-
-Marshall, one of the characters, is working on a computer virus that he
-has to modify before it gets into the wrong hands or something like
-that. The screenshots you see do not show any program code, they show
-a @file{Makefile.in} generated by automake...
-
-@item 2003-11-09 Automake 1.7.9
-
-@item 2003-12-10 Automake 1.8
-
-The most striking update is probably that of @command{aclocal}.
-
-@command{aclocal} now uses @code{m4_include} in the produced
-@file{aclocal.m4} when the included macros are already distributed
-with the package (an idiom used in many packages), which reduces code
-duplication. Many people liked that, but in fact this change was
-really introduced to fix a bug in rebuild rules: @file{Makefile.in}
-must be rebuilt whenever a dependency of @file{configure} changes, but
-all the @file{m4} files included in @file{aclocal.m4} where unknown
-from @command{automake}. Now @command{automake} can just trace the
-@code{m4_include}s to discover the dependencies.
-
-@command{aclocal} also starts using the @option{--trace} Autoconf option
-in order to discover used macros more accurately. This will turn out
-to be very tricky (later releases will improve this) as people had
-devised many ways to cope with the limitation of previous
-@command{aclocal} versions, notably using handwritten
-@code{m4_include}s: @command{aclocal} must make sure not to redefine a
-rule that is already included by such statement.
-
-Automake also has seen its guts rewritten. Although this rewriting
-took a lot of efforts, it is only apparent to the users in that some
-constructions previously disallowed by the implementation now work
-nicely. Conditionals, Locations, Variable and Rule definitions,
-Options: these items on which Automake works have been rewritten as
-separate Perl modules, and documented.
-
-@item 2004-01-11 Automake 1.8.1
-@itemx 2004-01-12 Automake 1.8.2
-@itemx 2004-03-07 Automake 1.8.3
-@itemx 2004-04-25 Automake 1.8.4
-@itemx 2004-05-16 Automake 1.8.5
-
-@item 2004-07-28 Automake 1.9
-
-This release tries to simplify the compilation rules it outputs to
-reduce the size of the Makefile. The complaint initially come from
-the libgcj developers. Their @file{Makefile.in} generated with
-Automake 1.4 and custom build rules (1.4 did not support compiled
-Java) is 250KB@. The one generated by 1.8 was over 9MB@! 1.9 gets it
-down to 1.2MB@.
-
-Aside from this it contains mainly minor changes and bug-fixes.
-
-@item 2004-08-11 Automake 1.9.1
-@itemx 2004-09-19 Automake 1.9.2
-
-Automake has ten years. This chapter of the manual was initially
-written for this occasion.
-
-@item 2007-10-29 Automake repository moves to @code{savannah.gnu.org}
-and uses git as primary repository.
-
-@end table
-
-@node Dependency Tracking Evolution
-@chapter Evolution of Automatic Dependency Tracking
-
-Over the years Automake has deployed three different dependency
-tracking methods. Each method, including the current one, has had
-flaws of various sorts. Here we lay out the different dependency
-tracking methods, their flaws, and their fixes. We conclude with
-recommendations for tool writers, and by indicating future directions
-for dependency tracking work in Automake.
-
-@menu
-* First Take on Dependencies:: Precomputed dependency tracking
-* Dependencies As Side Effects:: Update at developer compile time
-* Dependencies for the User:: Update at user compile time
-* Techniques for Dependencies:: Alternative approaches
-@end menu
-
-@node First Take on Dependencies
-@section First Take on Dependency Tracking
-@unnumberedsubsec Description
-
-Our first attempt at automatic dependency tracking was based on the
-method recommended by GNU @command{make}. (@pxref{Automatic
-Prerequisites, , Generating Prerequisites Automatically, make, The GNU
-make Manual})
-
-This version worked by precomputing dependencies ahead of time. For
-each source file, it had a special @file{.P} file that held the
-dependencies. There was a rule to generate a @file{.P} file by
-invoking the compiler appropriately. All such @file{.P} files were
-included by the @file{Makefile}, thus implicitly becoming dependencies
-of @file{Makefile}.
-
-@unnumberedsubsec Bugs
-
-This approach had several critical bugs.
-
-@itemize
-@item
-The code to generate the @file{.P} file relied on @command{gcc}.
-(A limitation, not technically a bug.)
-@item
-The dependency tracking mechanism itself relied on GNU @command{make}.
-(A limitation, not technically a bug.)
-@item
-Because each @file{.P} file was a dependency of @file{Makefile}, this
-meant that dependency tracking was done eagerly by @command{make}.
-For instance, @samp{make clean} would cause all the dependency files
-to be updated, and then immediately removed. This eagerness also
-caused problems with some configurations; if a certain source file
-could not be compiled on a given architecture for some reason,
-dependency tracking would fail, aborting the entire build.
-@item
-As dependency tracking was done as a pre-pass, compile times were
-doubled--the compiler had to be run twice per source file.
-@item
-@samp{make dist} re-ran @command{automake} to generate a
-@file{Makefile} that did not have automatic dependency tracking (and
-that was thus portable to any version of @command{make}). In order to
-do this portably, Automake had to scan the dependency files and remove
-any reference that was to a source file not in the distribution.
-This process was error-prone. Also, if @samp{make dist} was run in an
-environment where some object file had a dependency on a source file
-that was only conditionally created, Automake would generate a
-@file{Makefile} that referred to a file that might not appear in the
-end user's build. A special, hacky mechanism was required to work
-around this.
-@end itemize
-
-@unnumberedsubsec Historical Note
-
-The code generated by Automake is often inspired by the
-@file{Makefile} style of a particular author. In the case of the first
-implementation of dependency tracking, I believe the impetus and
-inspiration was Jim Meyering. (I could be mistaken. If you know
-otherwise feel free to correct me.)
-
-@node Dependencies As Side Effects
-@section Dependencies As Side Effects
-@unnumberedsubsec Description
-
-The next refinement of Automake's automatic dependency tracking scheme
-was to implement dependencies as side effects of the compilation.
-This was aimed at solving the most commonly reported problems with the
-first approach. In particular we were most concerned with eliminating
-the weird rebuilding effect associated with make clean.
-
-In this approach, the @file{.P} files were included using the
-@code{-include} command, which let us create these files lazily. This
-avoided the @samp{make clean} problem.
-
-We only computed dependencies when a file was actually compiled. This
-avoided the performance penalty associated with scanning each file
-twice. It also let us avoid the other problems associated with the
-first, eager, implementation. For instance, dependencies would never
-be generated for a source file that was not compilable on a given
-architecture (because it in fact would never be compiled).
-
-@unnumberedsubsec Bugs
-
-@itemize
-@item
-This approach also relied on the existence of @command{gcc} and GNU
-@command{make}. (A limitation, not technically a bug.)
-@item
-Dependency tracking was still done by the developer, so the problems
-from the first implementation relating to massaging of dependencies by
-@samp{make dist} were still in effect.
-@item
-This implementation suffered from the ``deleted header file'' problem.
-Suppose a lazily-created @file{.P} file includes a dependency on a
-given header file, like this:
-
-@example
-maude.o: maude.c something.h
-@end example
-
-Now suppose that you remove @file{something.h} and update @file{maude.c}
-so that this include is no longer needed. If you run @command{make},
-you will get an error because there is no way to create
-@file{something.h}.
-
-We fixed this problem in a later release by further massaging the
-output of @command{gcc} to include a dummy dependency for each header
-file.
-@end itemize
-
-@node Dependencies for the User
-@section Dependencies for the User
-@unnumberedsubsec Description
-
-The bugs associated with @samp{make dist}, over time, became a real
-problem. Packages using Automake were being built on a large number
-of platforms, and were becoming increasingly complex. Broken
-dependencies were distributed in ``portable'' @file{Makefile.in}s,
-leading to user complaints. Also, the requirement for @command{gcc}
-and GNU @command{make} was a constant source of bug reports. The next
-implementation of dependency tracking aimed to remove these problems.
-
-We realized that the only truly reliable way to automatically track
-dependencies was to do it when the package itself was built. This
-meant discovering a method portable to any version of make and any
-compiler. Also, we wanted to preserve what we saw as the best point
-of the second implementation: dependency computation as a side effect
-of compilation.
-
-In the end we found that most modern make implementations support some
-form of include directive. Also, we wrote a wrapper script that let
-us abstract away differences between dependency tracking methods for
-compilers. For instance, some compilers cannot generate dependencies
-as a side effect of compilation. In this case we simply have the
-script run the compiler twice. Currently our wrapper script
-(@command{depcomp}) knows about twelve different compilers (including
-a "compiler" that simply invokes @command{makedepend} and then the
-real compiler, which is assumed to be a standard Unix-like C compiler
-with no way to do dependency tracking).
-
-@unnumberedsubsec Bugs
-
-@itemize
-@item
-Running a wrapper script for each compilation slows down the build.
-@item
-Many users don't really care about precise dependencies.
-@item
-This implementation, like every other automatic dependency tracking
-scheme in common use today (indeed, every one we've ever heard of),
-suffers from the ``duplicated new header'' bug.
-
-This bug occurs because dependency tracking tools, such as the
-compiler, only generate dependencies on the successful opening of a
-file, and not on every probe.
-
-Suppose for instance that the compiler searches three directories for
-a given header, and that the header is found in the third directory.
-If the programmer erroneously adds a header file with the same name to
-the first directory, then a clean rebuild from scratch could fail
-(suppose the new header file is buggy), whereas an incremental rebuild
-will succeed.
-
-What has happened here is that people have a misunderstanding of what
-a dependency is. Tool writers think a dependency encodes information
-about which files were read by the compiler. However, a dependency
-must actually encode information about what the compiler tried to do.
-
-This problem is not serious in practice. Programmers typically do not
-use the same name for a header file twice in a given project. (At
-least, not in C or C++. This problem may be more troublesome in
-Java.) This problem is easy to fix, by modifying dependency
-generators to record every probe, instead of every successful open.
-
-@item
-Since Automake generates dependencies as a side effect of compilation,
-there is a bootstrapping problem when header files are generated by
-running a program. The problem is that, the first time the build is
-done, there is no way by default to know that the headers are
-required, so make might try to run a compilation for which the headers
-have not yet been built.
-
-This was also a problem in the previous dependency tracking implementation.
-
-The current fix is to use @code{BUILT_SOURCES} to list built headers
-(@pxref{Sources, , Sources, automake, GNU Automake}). This causes them
-to be built before any other build rules are run. This is unsatisfactory
-as a general solution, however in practice it seems sufficient for most
-actual programs.
-@end itemize
-
-This code is used since Automake 1.5.
-
-In GCC 3.0, we managed to convince the maintainers to add special
-command-line options to help Automake more efficiently do its job. We
-hoped this would let us avoid the use of a wrapper script when
-Automake's automatic dependency tracking was used with @command{gcc}.
-
-Unfortunately, this code doesn't quite do what we want. In
-particular, it removes the dependency file if the compilation fails;
-we'd prefer that it instead only touch the file in any way if the
-compilation succeeds.
-
-Nevertheless, since Automake 1.7, when a recent @command{gcc} is
-detected at @command{configure} time, we inline the
-dependency-generation code and do not use the @command{depcomp}
-wrapper script. This makes compilations faster for those using this
-compiler (probably our primary user base). The counterpart is that
-because we have to encode two compilation rules in @file{Makefile}
-(with or without @command{depcomp}), the produced @file{Makefile}s are
-larger.
-
-@node Techniques for Dependencies
-@section Techniques for Computing Dependencies
-
-There are actually several ways for a build tool like Automake to
-cause tools to generate dependencies.
-
-@table @asis
-@item @command{makedepend}
-This was a commonly-used method in the past. The idea is to run a
-special program over the source and have it generate dependency
-information. Traditional implementations of @command{makedepend} are
-not completely precise; ordinarily they were conservative and
-discovered too many dependencies.
-@item The tool
-An obvious way to generate dependencies is to simply write the tool so
-that it can generate the information needed by the build tool. This is
-also the most portable method. Many compilers have an option to
-generate dependencies. Unfortunately, not all tools provide such an
-option.
-@item The file system
-It is possible to write a special file system that tracks opens,
-reads, writes, etc, and then feed this information back to the build
-tool. @command{clearmake} does this. This is a very powerful
-technique, as it doesn't require cooperation from the
-tool. Unfortunately it is also very difficult to implement and also
-not practical in the general case.
-@item @code{LD_PRELOAD}
-Rather than use the file system, one could write a special library to
-intercept @code{open} and other syscalls. This technique is also quite
-powerful, but unfortunately it is not portable enough for use in
-@command{automake}.
-@end table
-
-@menu
-* Recommendations for Tool Writers::
-* Future Directions for Dependencies::
-@end menu
-
-@node Recommendations for Tool Writers
-@subsection Recommendations for Tool Writers
-
-We think that every compilation tool ought to be able to generate
-dependencies as a side effect of compilation. Furthermore, at least
-while @command{make}-based tools are nearly universally in use (at
-least in the free software community), the tool itself should generate
-dummy dependencies for header files, to avoid the deleted header file
-bug. Finally, the tool should generate a dependency for each probe,
-instead of each successful file open, in order to avoid the duplicated
-new header bug.
-
-@node Future Directions for Dependencies
-@subsection Future Directions for Dependencies
-
-Currently, only languages and compilers understood by Automake can
-have dependency tracking enabled. We would like to see if it is
-practical (and worthwhile) to let this support be extended by the user
-to languages unknown to Automake.
-
-@node Releases
-@chapter Release Statistics
-
-The following table (inspired by @samp{perlhist(1)}) quantifies the
-evolution of Automake using these metrics:
-
-@table @asis
-@item Date, Rel
-The date and version of the release.
-@item am
-The number of lines of the @command{automake} script.
-@item acl
-The number of lines of the @command{aclocal} script.
-@item pm
-The number of lines of the @command{Perl} supporting modules.
-@item @file{*.am}
-The number of lines of the @file{Makefile} fragments. The number in
-parentheses is the number of files.
-@item m4
-The number of lines (and files) of Autoconf macros.
-@item doc
-The number of pages of the documentation (the Postscript version).
-@item t
-The number of test cases in the test suite. Of those, the number in
-parentheses is the number of generated test cases.
-@end table
-
-@multitable {8888-88-88} {8.8-p8} {8888} {8888} {8888} {8888 (88)} {8888 (88)} {888} {888 (88)}
-@headitem Date @tab Rel @tab am @tab acl @tab pm @tab @file{*.am} @tab m4 @tab doc @tab t
-@item 1994-09-19 @tab CVS @tab 141 @tab @tab @tab 299 (24) @tab @tab @tab
-@item 1994-11-05 @tab CVS @tab 208 @tab @tab @tab 332 (28) @tab @tab @tab
-@item 1995-11-23 @tab 0.20 @tab 533 @tab @tab @tab 458 (35) @tab @tab 9 @tab
-@item 1995-11-26 @tab 0.21 @tab 613 @tab @tab @tab 480 (36) @tab @tab 11 @tab
-@item 1995-11-28 @tab 0.22 @tab 1116 @tab @tab @tab 539 (38) @tab @tab 12 @tab
-@item 1995-11-29 @tab 0.23 @tab 1240 @tab @tab @tab 541 (38) @tab @tab 12 @tab
-@item 1995-12-08 @tab 0.24 @tab 1462 @tab @tab @tab 504 (33) @tab @tab 14 @tab
-@item 1995-12-10 @tab 0.25 @tab 1513 @tab @tab @tab 511 (37) @tab @tab 15 @tab
-@item 1996-01-03 @tab 0.26 @tab 1706 @tab @tab @tab 438 (36) @tab @tab 16 @tab
-@item 1996-01-03 @tab 0.27 @tab 1706 @tab @tab @tab 438 (36) @tab @tab 16 @tab
-@item 1996-01-13 @tab 0.28 @tab 1964 @tab @tab @tab 934 (33) @tab @tab 16 @tab
-@item 1996-02-07 @tab 0.29 @tab 2299 @tab @tab @tab 936 (33) @tab @tab 17 @tab
-@item 1996-02-24 @tab 0.30 @tab 2544 @tab @tab @tab 919 (32) @tab 85 (1) @tab 20 @tab 9
-@item 1996-03-11 @tab 0.31 @tab 2877 @tab @tab @tab 919 (32) @tab 85 (1) @tab 29 @tab 17
-@item 1996-04-27 @tab 0.32 @tab 3058 @tab @tab @tab 921 (31) @tab 85 (1) @tab 30 @tab 26
-@item 1996-05-18 @tab 0.33 @tab 3110 @tab @tab @tab 926 (31) @tab 105 (1) @tab 30 @tab 35
-@item 1996-05-28 @tab 1.0 @tab 3134 @tab @tab @tab 973 (32) @tab 105 (1) @tab 30 @tab 38
-@item 1997-06-22 @tab 1.2 @tab 6089 @tab 385 @tab @tab 1294 (36) @tab 592 (20) @tab 37 @tab 126
-@item 1998-04-05 @tab 1.3 @tab 6415 @tab 422 @tab @tab 1470 (39) @tab 741 (23) @tab 39 @tab 156
-@item 1999-01-14 @tab 1.4 @tab 7240 @tab 426 @tab @tab 1591 (40) @tab 734 (20) @tab 51 @tab 197
-@item 2001-05-08 @tab 1.4-p1 @tab 7251 @tab 426 @tab @tab 1591 (40) @tab 734 (20) @tab 51 @tab 197
-@item 2001-05-24 @tab 1.4-p2 @tab 7268 @tab 439 @tab @tab 1591 (40) @tab 734 (20) @tab 49 @tab 197
-@item 2001-06-07 @tab 1.4-p3 @tab 7312 @tab 439 @tab @tab 1591 (40) @tab 734 (20) @tab 49 @tab 197
-@item 2001-06-10 @tab 1.4-p4 @tab 7321 @tab 439 @tab @tab 1591 (40) @tab 734 (20) @tab 49 @tab 198
-@item 2001-07-15 @tab 1.4-p5 @tab 7228 @tab 426 @tab @tab 1596 (40) @tab 734 (20) @tab 51 @tab 198
-@item 2001-08-23 @tab 1.5 @tab 8016 @tab 475 @tab 600 @tab 2654 (39) @tab 1166 (29) @tab 63 @tab 327
-@item 2002-03-05 @tab 1.6 @tab 8465 @tab 475 @tab 1136 @tab 2732 (39) @tab 1603 (27) @tab 66 @tab 365
-@item 2002-04-11 @tab 1.6.1 @tab 8544 @tab 475 @tab 1136 @tab 2741 (39) @tab 1603 (27) @tab 66 @tab 372
-@item 2002-06-14 @tab 1.6.2 @tab 8575 @tab 475 @tab 1136 @tab 2800 (39) @tab 1609 (27) @tab 67 @tab 386
-@item 2002-07-28 @tab 1.6.3 @tab 8600 @tab 475 @tab 1153 @tab 2809 (39) @tab 1609 (27) @tab 67 @tab 391
-@item 2002-07-28 @tab 1.4-p6 @tab 7332 @tab 455 @tab @tab 1596 (40) @tab 735 (20) @tab 49 @tab 197
-@item 2002-09-25 @tab 1.7 @tab 9189 @tab 471 @tab 1790 @tab 2965 (39) @tab 1606 (28) @tab 73 @tab 430
-@item 2002-10-16 @tab 1.7.1 @tab 9229 @tab 475 @tab 1790 @tab 2977 (39) @tab 1606 (28) @tab 73 @tab 437
-@item 2002-12-06 @tab 1.7.2 @tab 9334 @tab 475 @tab 1790 @tab 2988 (39) @tab 1606 (28) @tab 77 @tab 445
-@item 2003-02-20 @tab 1.7.3 @tab 9389 @tab 475 @tab 1790 @tab 3023 (39) @tab 1651 (29) @tab 84 @tab 448
-@item 2003-04-23 @tab 1.7.4 @tab 9429 @tab 475 @tab 1790 @tab 3031 (39) @tab 1644 (29) @tab 85 @tab 458
-@item 2003-05-18 @tab 1.7.5 @tab 9429 @tab 475 @tab 1790 @tab 3033 (39) @tab 1645 (29) @tab 85 @tab 459
-@item 2003-07-10 @tab 1.7.6 @tab 9442 @tab 475 @tab 1790 @tab 3033 (39) @tab 1660 (29) @tab 85 @tab 461
-@item 2003-09-07 @tab 1.7.7 @tab 9443 @tab 475 @tab 1790 @tab 3041 (39) @tab 1660 (29) @tab 90 @tab 467
-@item 2003-10-07 @tab 1.7.8 @tab 9444 @tab 475 @tab 1790 @tab 3041 (39) @tab 1660 (29) @tab 90 @tab 468
-@item 2003-11-09 @tab 1.7.9 @tab 9444 @tab 475 @tab 1790 @tab 3048 (39) @tab 1660 (29) @tab 90 @tab 468
-@item 2003-12-10 @tab 1.8 @tab 7171 @tab 585 @tab 7730 @tab 3236 (39) @tab 1666 (31) @tab 104 @tab 521
-@item 2004-01-11 @tab 1.8.1 @tab 7217 @tab 663 @tab 7726 @tab 3287 (39) @tab 1686 (31) @tab 104 @tab 525
-@item 2004-01-12 @tab 1.8.2 @tab 7217 @tab 663 @tab 7726 @tab 3288 (39) @tab 1686 (31) @tab 104 @tab 526
-@item 2004-03-07 @tab 1.8.3 @tab 7214 @tab 686 @tab 7735 @tab 3303 (39) @tab 1695 (31) @tab 111 @tab 530
-@item 2004-04-25 @tab 1.8.4 @tab 7214 @tab 686 @tab 7736 @tab 3310 (39) @tab 1701 (31) @tab 112 @tab 531
-@item 2004-05-16 @tab 1.8.5 @tab 7240 @tab 686 @tab 7736 @tab 3299 (39) @tab 1701 (31) @tab 112 @tab 533
-@item 2004-07-28 @tab 1.9 @tab 7508 @tab 715 @tab 7794 @tab 3352 (40) @tab 1812 (32) @tab 115 @tab 551
-@item 2004-08-11 @tab 1.9.1 @tab 7512 @tab 715 @tab 7794 @tab 3354 (40) @tab 1812 (32) @tab 115 @tab 552
-@item 2004-09-19 @tab 1.9.2 @tab 7512 @tab 715 @tab 7794 @tab 3354 (40) @tab 1812 (32) @tab 132 @tab 554
-@item 2004-11-01 @tab 1.9.3 @tab 7507 @tab 718 @tab 7804 @tab 3354 (40) @tab 1812 (32) @tab 134 @tab 556
-@item 2004-12-18 @tab 1.9.4 @tab 7508 @tab 718 @tab 7856 @tab 3361 (40) @tab 1811 (32) @tab 140 @tab 560
-@item 2005-02-13 @tab 1.9.5 @tab 7523 @tab 719 @tab 7859 @tab 3373 (40) @tab 1453 (32) @tab 142 @tab 562
-@item 2005-07-10 @tab 1.9.6 @tab 7539 @tab 699 @tab 7867 @tab 3400 (40) @tab 1453 (32) @tab 144 @tab 570
-@item 2006-10-15 @tab 1.10 @tab 7859 @tab 1072 @tab 8024 @tab 3512 (40) @tab 1496 (34) @tab 172 @tab 604
-@item 2008-01-19 @tab 1.10.1 @tab 7870 @tab 1089 @tab 8025 @tab 3520 (40) @tab 1499 (34) @tab 173 @tab 617
-@item 2008-11-23 @tab 1.10.2 @tab 7882 @tab 1089 @tab 8027 @tab 3540 (40) @tab 1509 (34) @tab 176 @tab 628
-@item 2009-05-17 @tab 1.11 @tab 8721 @tab 1092 @tab 8289 @tab 4164 (42) @tab 1714 (37) @tab 181 @tab 732 (20)
-@end multitable
-
-
-@c ========================================================== Appendices
-
-@page
-@node Copying This Manual
-@appendix Copying This Manual
-
-@menu
-* GNU Free Documentation License:: License for copying this manual
-@end menu
-
-@node GNU Free Documentation License
-@appendixsec GNU Free Documentation License
-@include fdl.texi
-
-@bye
diff --git a/doc/automake.texi b/doc/automake-ng.texi
index ecfbbc836..cb3f8e866 100644
--- a/doc/automake.texi
+++ b/doc/automake-ng.texi
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
-@setfilename automake.info
-@settitle automake
+@setfilename automake-ng.info
+@settitle automake-ng
@documentencoding UTF-8
@documentlanguage en
@setchapternewpage off
@@ -17,11 +17,11 @@
@r{[}@var{\varname\}@r{]}
@end macro
-@set PACKAGE_BUGREPORT bug-automake@@gnu.org
+@set PACKAGE_BUGREPORT automake-ng@@gnu.org
@copying
-This manual is for GNU Automake (version @value{VERSION},
+This manual is for GNU Automake-NG (version @value{VERSION},
@value{UPDATED}), a program that creates GNU standards-compliant
Makefiles from template files.
@@ -40,17 +40,17 @@ section entitled ``GNU Free Documentation License.''
@dircategory Software development
@direntry
-* Automake: (automake). Making GNU standards-compliant Makefiles.
+* Automake-NG: (automake-ng). Making GNU standards-compliant Makefiles.
@end direntry
@dircategory Individual utilities
@direntry
-* aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
-* automake-invocation: (automake)automake Invocation. Generating Makefile.in.
+* aclocal-invocation: (automake-ng)aclocal Invocation. Generating aclocal.m4.
+* automake-invocation: (automake-ng)automake Invocation. Generating Makefile.in.
@end direntry
@titlepage
-@title GNU Automake
+@title GNU Automake-NG
@subtitle For version @value{VERSION}, @value{UPDATED}
@author David MacKenzie
@author Tom Tromey
@@ -92,12 +92,12 @@ section entitled ``GNU Free Documentation License.''
@ifnottex
@node Top
@comment node-name, next, previous, up
-@top GNU Automake
+@top GNU Automake-NG
@insertcopying
@menu
-* Introduction:: Automake's purpose
+* Introduction:: Automake-NG's purpose
* Autotools Introduction:: An Introduction to the Autotools
* Generalities:: General ideas
* Examples:: Some example packages
@@ -375,7 +375,7 @@ When Automake Isn't Enough
Frequently Asked Questions about Automake
* CVS:: CVS and generated files
-* maintainer-mode:: missing and AM_MAINTAINER_MODE
+* maintainer tools:: The missing script and maintainer tools
* Wildcards:: Why doesn't Automake support wildcards?
* Limitations on File Names:: Limitations on source and installed file names
* Errors with distclean:: Files left in build directory after distclean
@@ -406,7 +406,7 @@ Indices
@node Introduction
@chapter Introduction
-Automake is a tool for automatically generating @file{Makefile.in}s
+Automake-NG is a tool for automatically generating @file{Makefile.in}s
from files called @file{Makefile.am}. Each @file{Makefile.am} is
basically a series of @command{make} variable
definitions@footnote{These variables are also called @dfn{make macros}
@@ -419,29 +419,33 @@ the GNU Makefile standards.
The GNU Makefile Standards Document
(@pxref{Makefile Conventions, , , standards, The GNU Coding Standards})
-is long, complicated, and subject to change. The goal of Automake is to
-remove the burden of Makefile maintenance from the back of the
-individual GNU maintainer (and put it on the back of the Automake
+is long, complicated, and subject to change. The goal of Automake-NG
+is to remove the burden of Makefile maintenance from the back of the
+individual GNU maintainer (and put it on the back of the Automake-NG
maintainers).
-The typical Automake input file is simply a series of variable definitions.
-Each such file is processed to create a @file{Makefile.in}.
+The typical Automake-NG input file is simply a series of variable
+definitions. Each such file is processed to create a @file{Makefile.in}.
+@cindex Constraints of Automake-NG
+@cindex Automake-NG constraints
@cindex Constraints of Automake
@cindex Automake constraints
-Automake does constrain a project in certain ways; for instance, it
+Automake-NG does constrain a project in certain ways; for instance, it
assumes that the project uses Autoconf (@pxref{Top, , Introduction,
autoconf, The Autoconf Manual}), and enforces certain restrictions on
the @file{configure.ac} contents.
+@cindex Automake-NG requirements
+@cindex Requirements, Automake-NG
@cindex Automake requirements
@cindex Requirements, Automake
-Automake requires @command{perl} in order to generate the
-@file{Makefile.in}s. However, the distributions created by Automake are
-fully GNU standards-compliant, and do not require @command{perl} in order
-to be built.
+Automake-NG requires @command{perl} in order to generate the
+@file{Makefile.in}s. However, the distributions created by Automake-NG
+are fully GNU standards-compliant, and do not require @command{perl} in
+order to be built.
@cindex Bugs, reporting
@cindex Reporting bugs
@@ -452,11 +456,11 @@ For more information on bug reports, @xref{Reporting Bugs}.
@node Autotools Introduction
@chapter An Introduction to the Autotools
-If you are new to Automake, maybe you know that it is part of a set of
+If you are new to Automake-NG, maybe you know that it is part of a set of
tools called @emph{The Autotools}. Maybe you've already delved into a
package full of files named @file{configure}, @file{configure.ac},
@file{Makefile.in}, @file{Makefile.am}, @file{aclocal.m4}, @dots{},
-some of them claiming to be @emph{generated by} Autoconf or Automake.
+some of them claiming to be @emph{generated by} Autoconf or Automake-NG.
But the exact purpose of these files and their relations is probably
fuzzy. The goal of this chapter is to introduce you to this machinery,
to show you how it works and how powerful it is. If you've never
@@ -526,8 +530,8 @@ other packages: following any existing convention has its advantages.
@cindex Autotools, introduction
The Autotools are tools that will create a GNU Build System for your
-package. Autoconf mostly focuses on @file{configure} and Automake on
-@file{Makefile}s. It is entirely possible to create a GNU Build
+package. Autoconf mostly focuses on @file{configure} and Automake-NG
+on @file{Makefile}s. It is entirely possible to create a GNU Build
System without the help of these tools. However it is rather
burdensome and error-prone. We will discuss this again after some
illustration of the GNU Build System in action.
@@ -543,15 +547,15 @@ illustration of the GNU Build System in action.
In this section we explore several use cases for the GNU Build System.
You can replay all of these examples on the @file{amhello-1.0.tar.gz}
-package distributed with Automake. If Automake is installed on your
-system, you should find a copy of this file in
+package distributed with Automake-NG. If Automake-NG is installed on
+your system, you should find a copy of this file in
@file{@var{prefix}/share/doc/automake/amhello-1.0.tar.gz}, where
@var{prefix} is the installation prefix specified during configuration
-(@var{prefix} defaults to @file{/usr/local}, however if Automake was
+(@var{prefix} defaults to @file{/usr/local}, however if Automake-NG was
installed by some GNU/Linux distribution it most likely has been set
-to @file{/usr}). If you do not have a copy of Automake installed,
+to @file{/usr}). If you do not have a copy of Automake-NG installed,
you can find a copy of this file inside the @file{doc/} directory of
-the Automake package.
+the Automake-NG package.
Some of the following use cases present features that are in fact
extensions to the GNU Build System. Read: they are not specified by
@@ -1460,12 +1464,12 @@ main (void)
package.
@example
~/amhello % @kbd{cat README}
-This is a demonstration package for GNU Automake.
-Type 'info Automake' to read the Automake manual.
+This is a demonstration package for GNU Automake-NG.
+Type 'info Automake-NG' to read its manual.
@end example
@item
-@file{Makefile.am} and @file{src/Makefile.am} contain Automake
+@file{Makefile.am} and @file{src/Makefile.am} contain Automake-NG
instructions for these two directories.
@example
@@ -1575,7 +1579,7 @@ when you execute @command{make}.
@command{automake}, and a bunch of other commands in the right order.
If you are beginning with these tools, it is not important to figure
out in which order all of these tools should be invoked and why. However,
-because Autoconf and Automake have separate manuals, the important
+because Autoconf and Automake-NG have separate manuals, the important
point to understand is that @command{autoconf} is in charge of
creating @file{configure} from @file{configure.ac}, while
@command{automake} is in charge of creating @file{Makefile.in}s from
@@ -1816,16 +1820,18 @@ distributions from the source control system.
@cindex GNU make extensions
-Note that most GNU make extensions are not recognized by Automake. Using
-such extensions in a @file{Makefile.am} will lead to errors or confusing
-behavior.
+Note that most GNU make extensions are sadly not yet recognized by
+Automake. Using such extensions in a @file{Makefile.am} will likely
+lead to errors or confusing behavior. We hope to improve this
+situation over time.
@cindex Append operator
@cmindex +=
-A special exception is that the GNU make append operator, @samp{+=}, is
-supported. This operator appends its right hand argument to the variable
-specified on the left. Automake will translate the operator into
-an ordinary @samp{=} operator; @samp{+=} will thus work with any make program.
+For historical reasons, the GNU make append operator @samp{+=} (which
+appends its right hand argument to the variable specified on the left)
+is supported and handled in a special way: Automake will translate the
+operator into an ordinary @samp{=} operator @emph{at Automake (not make)
+runtime}. This behaviour might change future versions.
Automake tries to keep comments grouped with any adjoining rules or
variable definitions.
@@ -1840,16 +1846,6 @@ Makefile constructs, so you're advised to avoid fancy constructs or
For example, @key{TAB} characters cannot be used between a target name
and the following ``@code{:}'' character, and variable assignments
shouldn't be indented with @key{TAB} characters.
-@c Keep this in sync with doc-parsing-buglets-colneq-subst.sh
-Also, using more complex macro in target names can cause trouble:
-
-@example
-% @kbd{cat Makefile.am}
-$(FOO:=x): bar
-% @kbd{automake}
-Makefile.am:1: bad characters in variable name '$(FOO'
-Makefile.am:1: ':='-style assignments are not portable
-@end example
@cindex Make targets, overriding
@cindex Make rules, overriding
@@ -1877,9 +1873,10 @@ names might change in future releases.
@cindex Automake, recursive operation
@cindex Example of recursive operation
-When examining a variable definition, Automake will recursively examine
-variables referenced in the definition. For example, if Automake is
-looking at the content of @code{foo_SOURCES} in this snippet
+When examining the definition of some ``special'' variables, Automake
+might recursively examine variables referenced in the definition in order
+to perform its magic. For example, if Automake is looking at the content
+of @code{foo_SOURCES} in this snippet
@c Keep in sync with interp.sh
@example
@@ -1890,6 +1887,19 @@ foo_SOURCES = c.c $(xs)
it would use the files @file{a.c}, @file{b.c}, and @file{c.c} as the
contents of @code{foo_SOURCES}.
+Unfortunately, for historical reasons, this interpolation processes
+has the effect of currently making it impossible to use more advanced
+GNU make features in the definitions of special variables like
+@code{foo_SOURCES}; for example, Automake will generate a broken
+@file{Makefile.in} on this input:
+
+@c Keep in sync with interp3.test.
+@example
+bin_PROGRAMS = foo
+xs = one two
+foo_SOURCES = main.c $(foreach base, $(xs), $(base).c $(base).h)
+@end example
+
@cindex @code{##} (special Automake comment)
@cindex Special Automake comment
@cindex Comment, special to Automake
@@ -2301,16 +2311,6 @@ 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
-portable. Now we prefer to use @samp{install-sh -d} when @command{configure}
-finds that @samp{mkdir -p} does not work, this makes one less script to
-distribute.
-
-For backward compatibility @file{mkinstalldirs} is still used and
-distributed when @command{automake} finds it in a package. But it is no
-longer installed automatically, and it should be safe to remove it.
-
@item py-compile
This is used to byte-compile Python scripts.
@@ -2675,8 +2675,10 @@ obsolete features or constructions
@item override
user redefinitions of Automake rules or variables
@item portability
-portability issues (e.g., use of @command{make} features that are
-known to be not portable)
+portability issues; e.g., use of file names like @file{aux} that are
+reserved on some systems (like Windows), or use of Automake features
+that require support from the target C compiler, support that is
+known not be present on all the mainstream C compilers.
@item extra-portability
extra portability issues related to obscure tools. One example of such
a tool is the Microsoft @command{lib} archiver.
@@ -2716,12 +2718,6 @@ for this reason.
@end table
-@vindex AUTOMAKE_JOBS
-If the environment variable @env{AUTOMAKE_JOBS} contains a positive
-number, it is taken as the maximum number of Perl threads to use in
-@command{automake} for generating multiple @file{Makefile.in} files
-concurrently. This is an experimental feature.
-
@node configure
@chapter Scanning @file{configure.ac}, using @command{aclocal}
@@ -2914,14 +2910,13 @@ Currently recognized macros and their effects are:
@item AC_CANONICAL_BUILD
@itemx AC_CANONICAL_HOST
@itemx AC_CANONICAL_TARGET
-@vindex build_triplet
-@vindex host_triplet
-@vindex target_triplet
+@vindex build
+@vindex host
+@vindex target
Automake will ensure that @file{config.guess} and @file{config.sub}
-exist. Also, the @file{Makefile} variables @code{build_triplet},
-@code{host_triplet} and @code{target_triplet} are introduced. See
-@ref{Canonicalizing, , Getting the Canonical System Type, autoconf,
-The Autoconf Manual}.
+exist. Also, the @file{Makefile} variables @code{build}, @code{host}
+and @code{target} are introduced. See @ref{Canonicalizing, ,
+Getting the Canonical System Type, autoconf, The Autoconf Manual}.
@item AC_CONFIG_AUX_DIR
Automake will look for various helper scripts, such as
@@ -2937,7 +2932,6 @@ Automake will look for various helper scripts, such as
@file{ltmain.sh},
@file{mdate-sh},
@file{missing},
-@file{mkinstalldirs},
@file{py-compile},
@file{test-driver},
@file{texinfo.tex},
@@ -3096,17 +3090,6 @@ This macro specifies that the @file{intl/} subdirectory is to be built,
even if the @code{AM_GNU_GETTEXT} macro was invoked with a first argument
of @samp{external}.
-@item AM_MAINTAINER_MODE(@ovar{default-mode})
-@opindex --enable-maintainer-mode
-@opindex --disable-maintainer-mode
-This macro adds an @option{--enable-maintainer-mode} option to
-@command{configure}. If this is used, @command{automake} will cause
-``maintainer-only'' rules to be turned off by default in the
-generated @file{Makefile.in}s, unless @var{default-mode} is
-@samp{enable}. This macro defines the @code{MAINTAINER_MODE}
-conditional, which you can use in your own @file{Makefile.am}.
-@xref{maintainer-mode}.
-
@item AM_SUBST_NOTMAKE(@var{var})
Prevent Automake from defining a variable @var{var}, even if it is
substituted by @command{config.status}. Normally, Automake defines a
@@ -4034,8 +4017,8 @@ Find a maintainer tool @var{program} and define the @var{name}
environment variable with its location. If @var{program} is not
detected, then @var{name} will instead invoke the @command{missing}
script, in order to give useful advice to the user about the missing
-maintainer tool. @xref{maintainer-mode}, for more information on when
-the @command{missing} script is appropriate.
+maintainer tool. @xref{maintainer tools}, for more information on
+when the @command{missing} script is appropriate.
@item AM_SILENT_RULES
@acindex AM_SILENT_RULES
@@ -4073,8 +4056,8 @@ to avoid problems in the future.
@vindex mkdir_p
From Automake 1.8 to 1.9.6 this macro used to define the output
-variable @code{mkdir_p} to one of @code{mkdir -p}, @code{install-sh
--d}, or @code{mkinstalldirs}.
+variable @code{mkdir_p} to one of @code{mkdir -p} or
+@code{install-sh -d}.
Nowadays Autoconf provides a similar functionality with
@code{AC_PROG_MKDIR_P} (@pxref{Particular Programs, , Particular
@@ -4101,16 +4084,10 @@ skip this section!
@item _AM_DEPENDENCIES
@itemx AM_SET_DEPDIR
@itemx AM_DEP_TRACK
-@itemx AM_OUTPUT_DEPENDENCY_COMMANDS
These macros are used to implement Automake's automatic dependency
tracking scheme. They are called automatically by Automake when
required, and there should be no need to invoke them manually.
-@item AM_MAKE_INCLUDE
-This macro is used to discover how the user's @command{make} handles
-@code{include} statements. This macro is automatically invoked when
-needed; there should be no need to invoke it manually.
-
@item AM_PROG_INSTALL_STRIP
This is used to find a version of @code{install} that can be used to
strip a program at installation time. This macro is automatically
@@ -4189,12 +4166,8 @@ SUBDIRS = doc intl po src tests
@end example
When Automake invokes @command{make} in a subdirectory, it uses the value
-of the @code{MAKE} variable. It passes the value of the variable
-@code{AM_MAKEFLAGS} to the @command{make} invocation; this can be set in
-@file{Makefile.am} if there are flags you must always pass to
-@command{make}.
+of the @code{MAKE} variable.
@vindex MAKE
-@vindex AM_MAKEFLAGS
The directories mentioned in @code{SUBDIRS} are usually direct
children of the current directory, each subdirectory containing its
@@ -5614,10 +5587,10 @@ each source file to be compiled to a single @file{.o} file (or
@file{.lo} when using libtool). Normally these object files are named
after the source file, but other factors can change this. If a file in
the @code{_SOURCES} variable has an unrecognized extension, Automake
-will do one of two things with it. If a suffix rule exists for turning
-files with the unrecognized extension into @file{.o} files, then
-@command{automake} will treat this file as it will any other source file
-(@pxref{Support for Other Languages}). Otherwise, the file will be
+will do one of two things with it. If a suffix-based pattern rule exists
+for turning files with the unrecognized extension into @file{.o} files,
+then @command{automake} will treat this file as it will any other source
+file (@pxref{Support for Other Languages}). Otherwise, the file will be
ignored as though it were a header file.
The prefixes @code{dist_} and @code{nodist_} can be used to control
@@ -6219,10 +6192,6 @@ When @command{lex} is invoked, it is passed @code{AM_LFLAGS} and
@code{LFLAGS}. The latter is a user variable and the former is
intended for the @file{Makefile.am} author.
-When @code{AM_MAINTAINER_MODE} (@pxref{maintainer-mode}) is used, the
-rebuild rule for distributed Yacc and Lex sources are only used when
-@code{maintainer-mode} is enabled, or when the files have been erased.
-
@cindex @command{ylwrap}
@cindex @command{yacc}, multiple parsers
@cindex Multiple @command{yacc} parsers
@@ -6449,8 +6418,8 @@ assembly code. This compiler must work a bit like a C compiler; in
particular it must accept @option{-c} and @option{-o}. The values of
@code{CCASFLAGS} and @code{AM_CCASFLAGS} (or its per-target
definition) is passed to the compilation. For preprocessed files,
-@code{DEFS}, @code{DEFAULT_INCLUDES}, @code{INCLUDES}, @code{CPPFLAGS}
-and @code{AM_CPPFLAGS} are also used.
+@code{DEFS}, @code{AM_DEFAULT_INCLUDES}, @code{CPPFLAGS} and
+@code{AM_CPPFLAGS} are also used.
The autoconf macro @code{AM_PROG_AS} will define @code{CCAS} and
@code{CCASFLAGS} for you (unless they are already set, it simply sets
@@ -6539,8 +6508,7 @@ command used is as follows:
@table @file
@item .F
-@code{$(F77) -F $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)@*
-$(AM_FFLAGS) $(FFLAGS)}
+@code{$(F77) -F $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)}
@item .r
@code{$(F77) -F $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)}
@@ -6562,8 +6530,7 @@ is as follows:
@code{$(F77) -c $(AM_FFLAGS) $(FFLAGS)}
@item .F
-@code{$(F77) -c $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)@*
-$(AM_FFLAGS) $(FFLAGS)}
+@code{$(F77) -c $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)}
@item .r
@code{$(F77) -c $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)}
@@ -6822,8 +6789,7 @@ the @code{_LDFLAGS} variable for the program.
Automake provides initial support for Vala
(@uref{http://www.vala-project.org/}).
-This requires valac version 0.7.0 or later, and currently requires
-the user to use GNU @command{make}.
+This requires valac version 0.7.0 or later.
@example
foo_SOURCES = foo.vala bar.vala zardoc.c
@@ -6888,7 +6854,7 @@ support for other languages, support for which will be improved based
on user demand.
Some limited support for adding your own languages is available via the
-suffix rule handling (@pxref{Suffixes}).
+suffix-based pattern rules handling (@pxref{Suffixes}).
@node Dependencies
@section Automatic dependency tracking
@@ -6970,11 +6936,6 @@ bin_PROGRAMS = liver$(EXEEXT)
The targets Automake generates are likewise given the @samp{$(EXEEXT)}
extension.
-The variables @code{TESTS} and @code{XFAIL_TESTS} (@pxref{Simple Tests})
-are also rewritten if they contain filenames that have been declared as
-programs in the same @file{Makefile}. (This is mostly useful when some
-programs from @code{check_PROGRAMS} are listed in @code{TESTS}.)
-
However, Automake cannot apply this rewriting to @command{configure}
substitutions. This means that if you are conditionally building a
program using such a substitution, then your @file{configure.ac} must
@@ -7304,11 +7265,10 @@ The symptom is as follows.
@example
% make
-source='foo.c' object='foo.o' libtool=no \
-depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
-depmode=gcc /bin/sh ./depcomp \
-gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
-foo.c:2: bindir.h: No such file or directory
+test -d .deps || mkdir -p .deps
+gcc ... -I. -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c
+foo.c:2:20: fatal error: bindir.h: No such file or directory
+compilation terminated.
make: *** [foo.o] Error 1
@end example
@@ -7340,13 +7300,12 @@ See how @file{bindir.h} gets built first:
@example
% make
echo '#define bindir "/usr/local/bin"' >bindir.h
-make all-am
+make all-am
make[1]: Entering directory `/home/adl/tmp'
-source='foo.c' object='foo.o' libtool=no \
-depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
-depmode=gcc /bin/sh ./depcomp \
-gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
-gcc -g -O2 -o foo foo.o
+test -d .deps || mkdir -p .deps
+gcc ... -I. -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c
+mv -f .deps/foo.Tpo .deps/foo.Po
+gcc -g -O2 -o foo foo.o
make[1]: Leaving directory `/home/adl/tmp'
@end example
@@ -7361,11 +7320,10 @@ test -z "foo" || rm -f foo
rm -f *.o
% : > .deps/foo.Po # Suppress previously recorded dependencies
% make foo
-source='foo.c' object='foo.o' libtool=no \
-depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
-depmode=gcc /bin/sh ./depcomp \
-gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
-foo.c:2: bindir.h: No such file or directory
+test -d .deps || mkdir -p .deps
+gcc -I. -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c
+foo.c:2:20: fatal error: bindir.h: No such file or directory
+compilation terminated.
make: *** [foo.o] Error 1
@end example
@@ -7401,8 +7359,8 @@ not careful enough. This is due to the way Automake tries not to
overwrite your rules (it assumes you know better than it).
@samp{foo.$(OBJEXT): bindir.h} supersedes any rule Automake may want to
output to build @samp{foo.$(OBJEXT)}. It happens to work in this case
-because Automake doesn't have to output any @samp{foo.$(OBJEXT):}
-target: it relies on a suffix rule instead (i.e., @samp{.c.$(OBJEXT):}).
+because Automake doesn't have to output any @samp{foo.$(OBJEXT):} target:
+it relies on a pattern rule instead (i.e., @samp{%.$(OBJEXT): %.c}).
Always check the generated @file{Makefile.in} if you do this.
@subsubheading Build @file{bindir.h} from @file{configure}
@@ -8665,52 +8623,74 @@ distuninstallcheck:
@node The Types of Distributions
@section The Types of Distributions
-Automake generates rules to provide archives of the project for
-distributions in various formats. Their targets are:
+Automake-generated @code{dist} rule can generated distributions in
+various formats, depending on the content of the @code{AM_DIST_FORMATS}
+variable; this is overridable at runtime, defaults to @code{gzip}, and
+can contain several formats at once, to produce several kind of archives
+in one go. The recognized formats are:
@table @asis
-@item @code{dist-gzip}
-Generate a @samp{gzip} tar archive of the distribution. This is the
-only format enabled by default.
-@trindex dist-gzip
+@vindex GZIP_ENV
+@item @code{gzip}
+Usual compression with GNU @command{gzip}. Not very size-efficient
+these days, but very portable and fast. You can use the @command{make}
+variable @code{GZIP_ENV} to control which options @code{make dist}
+passes to @code{gzip} (the default setting being @option{--best}).
+For example:
+@smallexample
+make dist GZIP_ENV=--fast
+@end smallexample
+@cindex gzip compression
+@cindex Compression, gzip format
@vindex BZIP2
-@item @code{dist-bzip2}
-Generate a @samp{bzip2} tar archive of the distribution. bzip2 archives
-are frequently smaller than gzipped archives.
-By default, this rule makes @samp{bzip2} use a compression option of @option{-9}.
-To make it use a different one, set the @env{BZIP2} environment variable.
-For example, @samp{make dist-bzip2 BZIP2=-7}.
-@trindex dist-bzip2
-
-@item @code{dist-lzip}
+@item @code{bzip2}
+Archives compressed with @command{bzip2} are frequently smaller than
+gzipped archives (albeit becoming more and more obsolescent today,
+superseded by more advanced formats like @code{xz}). You can use
+the environment variable @code{BZIP2} to control which options
+@code{make dist} passes to @code{gzip} (the default setting being
+@option{-9}). For example:
+@smallexample
+make dist AM_DIST_FORMATS=bzip2 BZIP2=-7
+@end smallexample
+@cindex bzip2 compression
+@cindex Compression, bzip2 format
+
+@vindex LZIP_OPT
+@item @code{lzip}
Generate an @samp{lzip} tar archive of the distribution. @command{lzip}
archives are frequently smaller than @command{bzip2}-compressed archives.
-@trindex dist-lzip
+You can use the environment variable @code{LZIP_OPT} to control which
+options @code{make dist} passes to @code{gzip} (the default setting
+being @option{-9}). For example:
+@smallexample
+make dist AM_DIST_FORMATS=lzip LZIP_OPT=--fast
+@end smallexample
+@cindex lzip compression
+@cindex Compression, lzip format
@vindex XZ_OPT
-@item @code{dist-xz}
+@item @code{xz}
Generate an @samp{xz} tar archive of the distribution. @command{xz}
archives are frequently smaller than @command{bzip2}-compressed archives.
By default, this rule makes @samp{xz} use a compression option of
@option{-e}. To make it use a different one, set the @env{XZ_OPT}
environment variable. For example, run this command to use the
default compression ratio, but with a progress indicator:
-@samp{make dist-xz XZ_OPT=-ve}.
-@trindex dist-xz
+@smallexample
+make dist AM_DIST_FORMATS=xz XZ_OPT=-ve
+@end smallexample
+@cindex xz compression
+@cindex Compression, xz format
-@item @code{dist-zip}
-Generate a @samp{zip} archive of the distribution.
-@trindex dist-zip
+@item @code{zip}
+Generate a zip archive of the distribution.
+@cindex zip compression
+@cindex Compression, zip format
@end table
-The rule @code{dist} (and its historical synonym @code{dist-all})
-will create archives in all the enabled formats (@pxref{List of
-Automake options} for how to change this list). By default, only
-the @code{dist-gzip} target is hooked to @code{dist}.
-
-
@node Tests
@chapter Support for test suites
@@ -9069,17 +9049,19 @@ file is output after the summary.
@vindex TEST_LOGS
Each couple of @file{.log} and @file{.trs} files is created when the
corresponding test has completed. The set of log files is listed in
-the read-only variable @code{TEST_LOGS}, and defaults to @code{TESTS},
-with the executable extension if any (@pxref{EXEEXT}), as well as any
-suffix listed in @code{TEST_EXTENSIONS} removed, and @file{.log} appended.
-Results are undefined if a test file name ends in several concatenated
-suffixes. @code{TEST_EXTENSIONS} defaults to @file{.test}; it can be
-overridden by the user, in which case any extension listed in it must be
-constituted by a dot, followed by a non-digit alphabetic character,
-followed by any number of alphabetic characters.
-@c Keep in sync with test-extensions.sh
-For example, @samp{.sh}, @samp{.T} and @samp{.t1} are valid extensions,
-while @samp{.x-y}, @samp{.6c} and @samp{.t.1} are not.
+the @emph{read-only} variable @code{TEST_LOGS}, and defaults to
+@code{TESTS}, with the executable extension if any (@pxref{EXEEXT}),
+as well as any suffix listed in @code{TEST_EXTENSIONS} removed, and
+@file{.log} appended. @code{TEST_EXTENSIONS} defaults to @file{.test};
+it can be overridden by the user, in which case any extension listed
+in it must start with a dot (the generated Makefile will check at
+runtime that this is the case, and error out if it's not). While
+@code{TEST_EXTENSIONS} entries could in theory support ``funny
+characters'' (like @samp{@@} or @samp{!}), their use might cause
+unexpected problems for the underlying GNU make implementation, so
+you're advised to limit to the use of alphanumeric characters, plus
+eventually the underscore @samp{_}, the dot @samp{.}, the dash
+@samp{-} characters.
@cindex Configure substitutions in @code{TESTS}
It is important to note that, due to current limitations (unlikely to be
@@ -9098,33 +9080,52 @@ in @code{TEST_EXTENSIONS}.
@vindex @var{ext}_LOG_FLAGS
@vindex AM_@var{ext}_LOG_FLAGS
@vindex AM_LOG_FLAGS
+@noindent
For tests that match an extension @code{.@var{ext}} listed in
-@code{TEST_EXTENSIONS}, you can provide a custom ``test runner'' using
-the variable @code{@var{ext}_LOG_COMPILER} (note the upper-case
-extension) and pass options in @code{AM_@var{ext}_LOG_FLAGS} and allow
-the user to pass options in @code{@var{ext}_LOG_FLAGS}. It will cause
-all tests with this extension to be called with this runner. For all
-tests without a registered extension, the variables @code{LOG_COMPILER},
-@code{AM_LOG_FLAGS}, and @code{LOG_FLAGS} may be used. For example,
+@code{TEST_EXTENSIONS}, you can:
+
+@itemize
+@item
+declare extra dependencies through @code{@var{ext}_LOG_DEPENDENCIES};
+@item
+provide a custom ``test runner'' using @code{@var{ext}_LOG_COMPILER},
+(it will be used to run all the tests with this extension);
+@item
+pass options to that runner through @code{AM_@var{ext}_LOG_FLAGS};
+@item
+allow the user to pass further options through @code{@var{ext}_LOG_FLAGS}.
+@end itemize
-@c Keep in sync with parallel-tests-log-compiler-example.sh
+@noindent
+Similarly, for tests without a registered extension, the variables
+@code{LOG_DEPENDENCIES}, @code{LOG_COMPILER}, @code{AM_LOG_FLAGS} and
+@code{LOG_FLAGS} may be used for those same purposes.
+
+Let's see an example.
+
+@c Keep in sync with parallel-tests-logvars-example.sh
@example
TESTS = foo.pl bar.py baz
TEST_EXTENSIONS = .pl .py
+
PL_LOG_COMPILER = $(PERL)
AM_PL_LOG_FLAGS = -w
+
PY_LOG_COMPILER = $(PYTHON)
AM_PY_LOG_FLAGS = -v
+PY_LOG_DEPENDENCIES = mymod.py
+
LOG_COMPILER = ./wrapper-script
AM_LOG_FLAGS = -d
@end example
@noindent
-will invoke @samp{$(PERL) -w foo.pl}, @samp{$(PYTHON) -v bar.py},
+The above will invoke @samp{$(PERL) -w foo.pl}, @samp{$(PYTHON) -v bar.py},
and @samp{./wrapper-script -d baz} to produce @file{foo.log},
-@file{bar.log}, and @file{baz.log}, respectively. The @file{foo.trs},
-@file{bar.trs} and @file{baz.trs} files will be automatically produced
-as a side-effect.
+@file{bar.log}, and @file{baz.log}, respectively, and will ensure
+the python module @file{mymod.py} is built before the @file{bar.py}
+test is run. The @file{foo.trs}, @file{bar.trs} and @file{baz.trs}
+files will be automatically produced as a side-effect.
It's important to note that, differently from what we've seen for the
serial test harness (@pxref{Serial Test Harness}), the
@@ -9154,10 +9155,17 @@ You can set the @code{TESTS} variable. For example, you can use a
command like this to run only a subset of the tests:
@example
-env TESTS="foo.test bar.test" make -e check
+make check TESTS="foo.test bar.sh"
+@end example
+
+If @code{.test} and @code{.sh} are in @code{$(TEST_EXTENSIONS)}, the
+command above can also be shortened as:
+
+@example
+make check TESTS="foo bar"
@end example
-Note however that the command above will unconditionally overwrite the
+Note however that the commands above will unconditionally overwrite the
@file{test-suite.log} file, thus clobbering the recorded results
of any previous testsuite run. This might be undesirable for packages
whose testsuite takes long time to execute. Luckily, this problem can
@@ -9166,48 +9174,31 @@ for example,
@c Keep in sync with parallel-tests-log-override-2.sh
@example
-env TEST_SUITE_LOG=partial.log TESTS="..." make -e check
+make check TEST_SUITE_LOG=partial.log TESTS="..."
@end example
will write the result of the partial testsuite runs to the
@file{partial.log}, without touching @file{test-suite.log}.
@item
-You can set the @code{TEST_LOGS} variable. By default, this variable is
-computed at @command{make} run time from the value of @code{TESTS} as
-described above. For example, you can use the following:
-
-@example
-set x subset*.log; shift
-env TEST_LOGS="foo.log $*" make -e check
-@end example
-
-The comments made above about @code{TEST_SUITE_LOG} overriding applies
-here too.
-
-@item
-@vindex RECHECK_LOGS
+@vindex AM_LAZY_CHECK
@cindex lazy test execution
-By default, the test harness removes all old per-test @file{.log} and
-@file{.trs} files before it starts running tests to regenerate them. The
-variable @code{RECHECK_LOGS} contains the set of @file{.log} (and, by
-implication, @file{.trs}) files which are removed. @code{RECHECK_LOGS}
-defaults to @code{TEST_LOGS}, which means all tests need to be rechecked.
-By overriding this variable, you can choose which tests need to be
-reconsidered. For example, you can lazily rerun only those tests which
-are outdated, i.e., older than their prerequisite test files, by setting
-this variable to the empty value:
+By default, the test harness will run all the tests anew. By setting
+the @code{AM_LAZY_CHECK} variable to @code{"yes"}, you can instruct the
+harness to re-run only those test scripts whose @file{.log} or
+@file{.trs} is out-of-date (or non-existent):
@example
-env RECHECK_LOGS= make -e check
+make check AM_LAZY_CHECK=yes
@end example
+In normal circumstances, this offers a simple way to lazily rerun only
+those tests which are outdated, i.e., older than their prerequisites.
+
@item
@trindex recheck
You can ensure that all tests are rerun which have failed or passed
unexpectedly, by running @code{make recheck} in the test directory.
-This convenience target will set @code{RECHECK_LOGS} appropriately
-before invoking the main test harness.
@end itemize
@noindent
@@ -9251,17 +9242,6 @@ the inference rules generated by @command{automake} can apply. For
literal test names, @command{automake} can generate per-target rules
to avoid this limitation.
-Please note that it is currently not possible to use @code{$(srcdir)/}
-or @code{$(top_srcdir)/} in the @code{TESTS} variable. This technical
-limitation is necessary to avoid generating test logs in the source tree
-and has the unfortunate consequence that it is not possible to specify
-distributed tests that are themselves generated by means of explicit
-rules, in a way that is portable to all @command{make} implementations
-(@pxref{Make Target Lookup,,, autoconf, The Autoconf Manual}, the
-semantics of FreeBSD and OpenBSD @command{make} conflict with this).
-In case of doubt you may want to require to use GNU @command{make},
-or work around the issue with inference rules to generate the tests.
-
@node Custom Test Drivers
@section Custom Test Drivers
@@ -9307,15 +9287,14 @@ parallel harness remains in place; this includes:
@itemize
@item
list of test scripts defined in @code{TESTS}, and overridable at
-runtime through the redefinition of @code{TESTS} or @code{TEST_LOGS};
+runtime through the redefinition of @code{TESTS};
@item
concurrency through the use of @command{make}'s option @option{-j};
@item
per-test @file{.log} and @file{.trs} files, and generation of a summary
@file{.log} file from them;
@item
-@code{recheck} target, @code{RECHECK_LOGS} variable, and lazy reruns
-of tests;
+@code{recheck} target and on-demand lazy reruns of tests;
@item
inter-test dependencies;
@item
@@ -9729,8 +9708,8 @@ Please report to bug-automake@@gnu.org
exit status: 1
@c Keep the "skewed" indentation below, it produces pretty PDF output.
-% @kbd{env TEST_LOG_DRIVER_FLAGS='--comments --ignore-exit' \
- TESTS='foo.test baz.test' make -e check}
+% @kbd{make check TEST_LOG_DRIVER_FLAGS='--comments --ignore-exit' \
+ TESTS='foo.test baz.test'}
...
PASS: foo.test 1 - Swallows fly
XFAIL: foo.test 2 - Caterpillars fly # TODO metamorphosis in progress
@@ -9875,10 +9854,6 @@ to this by writing an @code{installcheck-local} rule.
Automake generates rules to automatically rebuild @file{Makefile}s,
@file{configure}, and other derived files like @file{Makefile.in}.
-@acindex AM_MAINTAINER_MODE
-If you are using @code{AM_MAINTAINER_MODE} in @file{configure.ac}, then
-these automatic rebuilding rules are only enabled in maintainer mode.
-
@vindex CONFIG_STATUS_DEPENDENCIES
@vindex CONFIGURE_DEPENDENCIES
@cindex @file{version.sh}, example
@@ -10052,30 +10027,6 @@ in the first few lines of the @file{NEWS} file.
@opindex dejagnu
Cause @command{dejagnu}-specific rules to be generated. @xref{DejaGnu Tests}.
-@item @option{dist-bzip2}
-@cindex Option, @option{dist-bzip2}
-@opindex dist-bzip2
-Hook @code{dist-bzip2} to @code{dist}.
-@trindex dist-bzip2
-
-@item @option{dist-lzip}
-@cindex Option, @option{dist-lzip}
-@opindex dist-lzip
-Hook @code{dist-lzip} to @code{dist}.
-@trindex dist-lzip
-
-@item @option{dist-xz}
-@cindex Option, @option{dist-xz}
-@opindex dist-xz
-Hook @code{dist-xz} to @code{dist}.
-@trindex dist-xz
-
-@item @option{dist-zip}
-@cindex Option, @option{dist-zip}
-@opindex dist-zip
-Hook @code{dist-zip} to @code{dist}.
-@trindex dist-zip
-
@item @option{filename-length-max=99}
@cindex Option, @option{filename-length-max=99}
@opindex filename-length-max=99
@@ -10095,6 +10046,15 @@ Instruct Automake to place the generated @file{.info} files in the
might make VPATH builds with some non-GNU make implementations more
brittle.
+@item @option{ng}
+@cindex Option, @option{ng}
+@opindex ng
+This is a no-op option, whose only purpose it to be recognized by
+Automake-NG but @emph{not} by mainstream Automake. It can be
+used by developers to declare that their build system requires
+Automake-NG, and in a way that will ensure a clear error if
+mainstream Automake is used by mistake.
+
@item @option{no-define}
@cindex Option, @option{no-define}
@opindex no-define
@@ -10121,12 +10081,6 @@ disable automatic dependency tracking.
Don't emit any code related to @code{dist} target. This is useful
when a package has its own method for making distributions.
-@item @option{no-dist-gzip}
-@cindex Option, @option{no-dist-gzip}
-@opindex no-dist-gzip
-Do not hook @code{dist-gzip} to @code{dist}.
-@trindex no-dist-gzip
-
@item @option{no-exeext}
@cindex Option, @option{no-exeext}
@opindex no-exeext
@@ -10225,12 +10179,6 @@ bin_SCRIPTS = true.sh ...
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) true.sh
@end example
-@item @option{subdir-objects}
-@cindex Options, @option{subdir-objects}
-@opindex subdir-objects
-This option does nothing; it exists solely for compatibility with
-older Automake versions.
-
@anchor{tar-formats}
@item @option{tar-v7}
@itemx @option{tar-ustar}
@@ -10247,9 +10195,7 @@ older Automake versions.
@opindex tar-pax
These three mutually exclusive options select the tar format to use
-when generating tarballs with @samp{make dist}. (The tar file created
-is then compressed according to the set of @option{no-dist-gzip},
-@option{dist-bzip2}, @option{dist-lzip} and @option{dist-xz} in use).
+when generating tarballs with @samp{make dist}.
These options must be passed as arguments to @code{AM_INIT_AUTOMAKE}
(@pxref{Macros}) because they can require additional configure checks.
@@ -10410,14 +10356,15 @@ holds arguments that are passed to @command{gtags}.
@vindex SUFFIXES
It is sometimes useful to introduce a new implicit rule to handle a file
-type that Automake does not know about.
+type that Automake-NG does not know about. Automake-NG offers a limited
+support to do so, through the use of suffix-based pattern rules.
For instance, suppose you had a compiler that could compile @file{.foo}
-files to @file{.o} files. You would simply define a suffix rule for
+files to @file{.o} files. You would simply define a pattern rule for
your language:
@example
-.foo.o:
+%.o: %.foo
foocc -c -o $@@ $<
@end example
@@ -10429,30 +10376,7 @@ bin_PROGRAMS = doit
doit_SOURCES = doit.foo
@end example
-This was the simpler and more common case. In other cases, you will
-have to help Automake to figure out which extensions you are defining your
-suffix rule for. This usually happens when your extension does not
-start with a dot. Then, all you have to do is to put a list of new
-suffixes in the @code{SUFFIXES} variable @strong{before} you define your
-implicit rule.
-
-For instance, the following definition prevents Automake from misinterpreting
-the @samp{.idlC.cpp:} rule as an attempt to transform @file{.idlC} files into
-@file{.cpp} files.
-
-@c Keep in sync with suffix7.sh
-@example
-SUFFIXES = .idl C.cpp
-.idlC.cpp:
- # whatever
-@end example
-
-As you may have noted, the @code{SUFFIXES} variable behaves like the
-@code{.SUFFIXES} special target of @command{make}. You should not touch
-@code{.SUFFIXES} yourself, but use @code{SUFFIXES} instead and let
-Automake generate the suffix list for @code{.SUFFIXES}. Any given
-@code{SUFFIXES} go at the start of the generated suffixes list, followed
-by Automake generated suffixes not already in the list.
+Note that the above only works with suffixes that start with a dot.
@node Include
@chapter Include
@@ -10762,7 +10686,7 @@ debugging and error assessment very difficult.
@item @command{make --no-print-directory}
-This is GNU @command{make} specific. When called with the
+When called with the
@option{--no-print-directory} option, GNU @command{make} will disable
printing of the working directory by invoked sub-@command{make}s (the
well-known ``@i{Entering/Leaving directory ...}'' messages). This helps
@@ -10899,25 +10823,9 @@ Users who prefer to have silent rules enabled by default can edit their
default to @samp{yes}. This should still allow disabling silent rules
at @command{configure} time and at @command{make} time.
-@c FIXME: there's really a need to specify this explicitly?
-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.
-
-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}
@vindex @code{AM_V_at}
@vindex @code{AM_DEFAULT_VERBOSITY}
-@vindex @code{AM_V}
-@vindex @code{AM_DEFAULT_V}
To extend the silent mode to your own rules, you have few choices:
@itemize @bullet
@@ -10949,9 +10857,9 @@ The following snippet shows how you would define your own equivalent of
@code{AM_V_GEN}:
@example
-pkg_verbose = $(pkg_verbose_@@AM_V@@)
-pkg_verbose_ = $(pkg_verbose_@@AM_DEFAULT_V@@)
-pkg_verbose_0 = @@echo PKG-GEN $@@;
+pkg_verbose = $(pkg_verbose/$(V))
+pkg_verbose/1 =
+pkg_verbose/0 = @@echo PKG-GEN $@@;
foo: foo.in
$(pkg_verbose)cp $(srcdir)/foo.in $@@
@@ -11363,7 +11271,7 @@ keep the third-party sources untouched to ease upgrades to new
versions.
@cindex @file{GNUmakefile} including @file{Makefile}
-Here are two other ideas. If GNU make is assumed, one possibility is
+Here are two other ideas. One possibility is
to add to that subdirectory a @file{GNUmakefile} that defines the
required targets and includes the third-party @file{Makefile}. For
this to work in VPATH builds, @file{GNUmakefile} must lie in the build
@@ -11387,31 +11295,31 @@ check: test
@cindex Proxy @file{Makefile} for third-party packages
A similar idea that does not use @code{include} is to write a proxy
@file{Makefile} that dispatches rules to the real @file{Makefile},
-either with @samp{$(MAKE) -f Makefile.real $(AM_MAKEFLAGS) target} (if
-it's OK to rename the original @file{Makefile}) or with @samp{cd
-subdir && $(MAKE) $(AM_MAKEFLAGS) target} (if it's OK to store the
-subdirectory project one directory deeper). The good news is that
-this proxy @file{Makefile} can be generated with Automake. All we
-need are @option{-local} targets (@pxref{Extending}) that perform the
-dispatch. Of course the other Automake features are available, so you
-could decide to let Automake perform distribution or installation.
+either with @samp{$(MAKE) -f Makefile.real target} (if it's OK to
+rename the original @file{Makefile}) or with @samp{cd subdir &&
+$(MAKE) target} (if it's OK to store the subdirectory project one
+directory deeper). The good news is that this proxy @file{Makefile}
+can be generated with Automake. All we need are @option{-local}
+targets (@pxref{Extending}) that perform the dispatch. Of course
+the other Automake features are available, so you could decide to
+let Automake perform distribution or installation.
Here is a possible @file{Makefile.am}:
@example
all-local:
- cd subdir && $(MAKE) $(AM_MAKEFLAGS) all
+ cd subdir && $(MAKE) all
check-local:
- cd subdir && $(MAKE) $(AM_MAKEFLAGS) test
+ cd subdir && $(MAKE) test
clean-local:
- cd subdir && $(MAKE) $(AM_MAKEFLAGS) clean
+ cd subdir && $(MAKE) clean
# Assuming the package knows how to install itself
install-data-local:
- cd subdir && $(MAKE) $(AM_MAKEFLAGS) install-data
+ cd subdir && $(MAKE) install-data
install-exec-local:
- cd subdir && $(MAKE) $(AM_MAKEFLAGS) install-exec
+ cd subdir && $(MAKE) install-exec
uninstall-local:
- cd subdir && $(MAKE) $(AM_MAKEFLAGS) uninstall
+ cd subdir && $(MAKE) uninstall
# Distribute files from here.
EXTRA_DIST = subdir/Makefile subdir/program.c ...
@@ -11567,7 +11475,7 @@ lists.
@menu
* CVS:: CVS and generated files
-* maintainer-mode:: missing and AM_MAINTAINER_MODE
+* maintainer tools:: The missing script and maintainer tools
* Wildcards:: Why doesn't Automake support wildcards?
* Limitations on File Names:: Limitations on source and installed file names
* Errors with distclean:: Files left in build directory after distclean
@@ -11658,7 +11566,7 @@ inaccurate. Some rebuild rules will be triggered and attempt to
run developer tools such as @command{autoconf} or @command{automake}.
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
+script discussed later (@pxref{maintainer tools}), 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
@@ -11697,7 +11605,7 @@ touch doc/*.info
In distributed development, developers are likely to have different
version of the maintainer tools installed. In this case rebuilds
triggered by timestamp lossage will lead to spurious changes
-to generated files. There are several solutions to this:
+to generated files. There are some popular solutions to this:
@itemize
@item
@@ -11707,10 +11615,6 @@ project you work on uses different versions.)
@item
Or people use a script to fix the timestamp after a checkout (the GCC
folks have such a script).
-@item
-Or @file{configure.ac} uses @code{AM_MAINTAINER_MODE}, which will
-disable all of these rebuild rules by default. This is further discussed
-in @ref{maintainer-mode}.
@end itemize
@item
@@ -11773,14 +11677,14 @@ concerns about version mismatch between developers' tools. The
Gettext manual has a section about this, see @ref{CVS Issues, CVS
Issues, Integrating with CVS, gettext, GNU gettext tools}.
-@node maintainer-mode
-@section @command{missing} and @code{AM_MAINTAINER_MODE}
+@node maintainer tools
+@section The @command{missing} script and maintainer tools
@subheading @command{missing}
@cindex @command{missing}, purpose
The @command{missing} script is a wrapper around several maintainer
-tools, designed to warn users if a maintainer tool is required but
+tools, designed to warn users if one of them is required but
missing. Typical maintainer tools are @command{autoconf},
@command{automake}, @command{bison}, etc. Because file generated by
these tools are shipped with the other sources of a package, these
@@ -11798,64 +11702,6 @@ 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
-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.
-
-@subheading @code{AM_MAINTAINER_MODE}
-@cindex @code{AM_MAINTAINER_MODE}, purpose
-@acindex AM_MAINTAINER_MODE
-
-@code{AM_MAINTAINER_MODE} allows you to choose whether the so called
-"rebuild rules" should be enabled or disabled. With
-@code{AM_MAINTAINER_MODE([enable])}, they are enabled by default,
-otherwise they are disabled by default. In the latter case, if
-you have @code{AM_MAINTAINER_MODE} in @file{configure.ac}, and run
-@samp{./configure && make}, then @command{make} will *never* attempt to
-rebuild @file{configure}, @file{Makefile.in}s, Lex or Yacc outputs, etc.
-I.e., this disables build rules for files that are usually distributed
-and that users should normally not have to update.
-
-The user can override the default setting by passing either
-@samp{--enable-maintainer-mode} or @samp{--disable-maintainer-mode}
-to @command{configure}.
-
-People use @code{AM_MAINTAINER_MODE} either because they do not want their
-users (or themselves) annoyed by timestamps lossage (@pxref{CVS}), or
-because they simply can't stand the rebuild rules and prefer running
-maintainer tools explicitly.
-
-@code{AM_MAINTAINER_MODE} also allows you to disable some custom build
-rules conditionally. Some developers use this feature to disable
-rules that need exotic tools that users may not have available.
-
-Several years ago Fran@,{c}ois Pinard pointed out several arguments
-against this @code{AM_MAINTAINER_MODE} macro. Most of them relate to
-insecurity. By removing dependencies you get non-dependable builds:
-changes to sources files can have no effect on generated files and this
-can be very confusing when unnoticed. He adds that security shouldn't
-be reserved to maintainers (what @option{--enable-maintainer-mode}
-suggests), on the contrary. If one user has to modify a
-@file{Makefile.am}, then either @file{Makefile.in} should be updated
-or a warning should be output (this is what Automake uses
-@command{missing} for) but the last thing you want is that nothing
-happens and the user doesn't notice it (this is what happens when
-rebuild rules are disabled by @code{AM_MAINTAINER_MODE}).
-
-Jim Meyering, the inventor of the @code{AM_MAINTAINER_MODE} macro was
-swayed by Fran@,{c}ois's arguments, and got rid of
-@code{AM_MAINTAINER_MODE} in all of his packages.
-
-Still many people continue to use @code{AM_MAINTAINER_MODE}, because
-it helps them working on projects where all files are kept under version
-control, and because @command{missing} isn't enough if you have the
-wrong version of the tools.
-
-
@node Wildcards
@section Why doesn't Automake support wildcards?
@cindex wildcards
@@ -11890,49 +11736,24 @@ even though a file is missing. By listing files, @samp{make dist}
@emph{will} complain.
@item
-Wildcards are not portable to some non-GNU @command{make} implementations,
-e.g., NetBSD @command{make} will not expand globs such as @samp{*} in
-prerequisites of a target.
-
-@item
Finally, it's really hard to @emph{forget} to add a file to
@file{Makefile.am}: files that are not listed in @file{Makefile.am} are
not compiled or installed, so you can't even test them.
@end itemize
Still, these are philosophical objections, and as such you may disagree,
-or find enough value in wildcards to dismiss all of them. Before you
-start writing a patch against Automake to teach it about wildcards,
-let's see the main technical issue: portability.
-
-Although @samp{$(wildcard ...)} works with GNU @command{make}, it is
-not portable to other @command{make} implementations.
-
-The only way Automake could support @command{$(wildcard ...)} is by
-expanding @command{$(wildcard ...)} when @command{automake} is run.
-The resulting @file{Makefile.in}s would be portable since they would
-list all files and not use @samp{$(wildcard ...)}. However that
-means developers would need to remember to run @command{automake} each
-time they add, delete, or rename files.
-
-Compared to editing @file{Makefile.am}, this is a very small gain. Sure,
-it's easier and faster to type @samp{automake; make} than to type
-@samp{emacs Makefile.am; make}. But nobody bothered enough to write a
-patch to add support for this syntax. Some people use scripts to
-generate file lists in @file{Makefile.am} or in separate
-@file{Makefile} fragments.
-
-Even if you don't care about portability, and are tempted to use
-@samp{$(wildcard ...)} anyway because you target only GNU Make, you
-should know there are many places where Automake needs to know exactly
-which files should be processed. As Automake doesn't know how to
-expand @samp{$(wildcard ...)}, you cannot use it in these places.
+or find enough value in wildcards to dismiss all of them. Still, before
+you start ignoring our advice and using @samp{$(wildcard ...)} all over
+the place, you should know there are many places where Automake needs to
+know exactly which files should be processed @footnote{This limitation
+is mostly due to historical reasons; unfortunately, the current
+implementation has been heavily influenced by that assumption, and
+is difficult to change now. We hope this situation will improve in
+the future (no promises though).}. As Automake doesn't know how to
+expand @samp{$(wildcard ...)}, you @emph{cannot} use it in these places;
@samp{$(wildcard ...)} is a black box comparable to @code{AC_SUBST}ed
variables as far Automake is concerned.
-You can get warnings about @samp{$(wildcard ...}) constructs using the
-@option{-Wportability} flag.
-
@node Limitations on File Names
@section Limitations on File Names
@cindex file names, limitations on
@@ -12084,7 +11905,7 @@ foo_SOURCES = foo.c
dist_man_MANS = foo.1
foo.1: foo.c $(top_srcdir)/configure.ac
- $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
+ $(MAKE) foo$(EXEEXT)
help2man --output=foo.1 ./foo$(EXEEXT)
@end example
@@ -12116,7 +11937,7 @@ should be changed to
@example
distributed-file: distributed-sources
- $(MAKE) $(AM_MAKEFLAGS) built-tools
+ $(MAKE) built-tools
build-command
@end example
@@ -12361,11 +12182,6 @@ DejaGnu tests (@pxref{DejaGnu Tests}) use @code{RUNTESTDEFAULTFLAGS} and
(@pxref{Java}) use @code{JAVACFLAGS} and @code{AM_JAVACFLAGS}. None
of these rules support per-target flags (yet).
-To some extent, even @code{AM_MAKEFLAGS} (@pxref{Subdirectories})
-obeys this naming scheme. The slight difference is that
-@code{MAKEFLAGS} is passed to sub-@command{make}s implicitly by
-@command{make} itself.
-
@code{ARFLAGS} (@pxref{A Library}) is usually defined by Automake and
has neither @code{AM_} nor per-target cousin.
@@ -12605,7 +12421,7 @@ data.h: data.c
## Recover from the removal of $@@
@@if test -f $@@; then :; else \
rm -f data.c; \
- $(MAKE) $(AM_MAKEFLAGS) data.c; \
+ $(MAKE) data.c; \
fi
@end example
@@ -12623,7 +12439,7 @@ data.h data.w data.x: data.c
## Recover from the removal of $@@
@@if test -f $@@; then :; else \
rm -f data.c; \
- $(MAKE) $(AM_MAKEFLAGS) data.c; \
+ $(MAKE) data.c; \
fi
@end example
@@ -12632,8 +12448,7 @@ to the timestamp ordering of @file{data.h}, @file{data.w},
@file{data.x}, and @file{data.c}. Another one is a race condition
if a parallel @command{make} attempts to run multiple instances of the
recover block at once. Finally, the recursive rule breaks @samp{make -n}
-when run with GNU @command{make} (as well as some other @command{make}
-implementations), as it may remove @file{data.h} even when it should not
+as it may remove @file{data.h} even when it should not
(@pxref{MAKE Variable, , How the @code{MAKE} Variable Works, make,
The GNU Make Manual}).
@@ -12659,7 +12474,7 @@ data.h data.w data.x: data.c
else \
## Recover from the removal of $@@
rm -f data.c; \
- $(MAKE) $(AM_MAKEFLAGS) data.c; \
+ $(MAKE) data.c; \
fi
@end example
@@ -12676,7 +12491,7 @@ data.c data.h data.w data.x: data.stamp
## Recover from the removal of $@@
@@if test -f $@@; then :; else \
rm -f data.stamp; \
- $(MAKE) $(AM_MAKEFLAGS) data.stamp; \
+ $(MAKE) data.stamp; \
fi
@end example
@@ -12689,9 +12504,9 @@ This solution still suffers from the second problem: the race
condition in the recover rule. If, after a successful build, a user
erases @file{data.c} and @file{data.h}, and runs @samp{make -j}, then
@command{make} may start both recover rules in parallel. If the two
-instances of the rule execute @samp{$(MAKE) $(AM_MAKEFLAGS)
-data.stamp} concurrently the build is likely to fail (for instance, the
-two rules will create @file{data.tmp}, but only one can rename it).
+instances of the rule execute @samp{$(MAKE) data.stamp} concurrently
+the build is likely to fail (for instance, the two rules will create
+@file{data.tmp}, but only one can rename it).
Admittedly, such a weird situation does not arise during ordinary
builds. It occurs only when the build tree is mutilated. Here
@@ -12713,7 +12528,7 @@ data.c data.h data.w data.x: data.stamp
if mkdir data.lock 2>/dev/null; then \
## This code is being executed by the first process.
rm -f data.stamp; \
- $(MAKE) $(AM_MAKEFLAGS) data.stamp; \
+ $(MAKE) data.stamp; \
result=$$?; rm -rf data.lock; exit $$result; \
else \
## This code is being executed by the follower processes.
@@ -12749,7 +12564,7 @@ $(ELCFILES): elc-stamp
if mkdir elc-lock 2>/dev/null; then \
## This code is being executed by the first process.
rm -f elc-stamp; \
- $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
+ $(MAKE) elc-stamp; \
rmdir elc-lock; \
else \
## This code is being executed by the follower processes.
@@ -12795,7 +12610,7 @@ $(ELCFILES): elc-stamp
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; \
+ $(MAKE) elc-stamp; \
$$dry rmdir elc-lock; \
else \
## This code is being executed by the follower processes.
@@ -12810,6 +12625,8 @@ $(ELCFILES): elc-stamp
fi
@end example
+@emph{FIXME! Automake-NG does assume GNU make, so we might want to
+re-work this section to take advantage of pattern rules support.}
For completeness it should be noted that GNU @command{make} is able to
express rules with multiple output files using pattern rules
(@pxref{Pattern Examples, , Pattern Rule Examples, make, The GNU Make
@@ -12969,10 +12786,10 @@ 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
-it. Note however, that this will @emph{still execute} commands prefixed
-with @samp{+}, and, when using GNU @command{make}, commands that contain
-the strings @samp{$(MAKE)} or @samp{$@{MAKE@}} (@pxref{Instead of
-Execution,,, make, The GNU Make Manual}).
+it. Note however, that this will @emph{still execute} recipes prefixed
+with @samp{+} and recipes that contain the strings @samp{$(MAKE)} or
+@samp{$@{MAKE@}} (@pxref{Instead of Execution,,, make, The GNU Make
+Manual}).
Typically, this is helpful to show what recursive rules would do, but it
means that, in your own rules, you should not mix such recursion with
actions that change any files.@footnote{Automake's @samp{dist} and
@@ -13002,7 +12819,7 @@ a debugger.
@node Reporting Bugs
@section Reporting Bugs
-Most nontrivial software has bugs. Automake is no exception. Although
+Most nontrivial software has bugs. Automake-NG is no exception. Although
we cannot promise we can or will fix a bug, and we might not even agree
that it is a bug, we want to hear about problems you encounter. Often we
agree they are bugs and want to fix them.
@@ -13011,13 +12828,11 @@ To make it possible for us to fix a bug, please report it. In order to
do so effectively, it helps to know when and how to do it.
Before reporting a bug, it is a good idea to see if it is already known.
-You can look at the @uref{http://debbugs.gnu.org/, GNU Bug Tracker}
-and the @uref{http://lists.gnu.org/@/archive/@/html/@/bug-automake/,
-bug-automake mailing list archives} for previous bug reports. We
-previously used a
-@uref{http://sourceware.org/@/cgi-bin/@/gnatsweb.pl?database=automake,
-Gnats database} for bug tracking, so some bugs might have been reported
-there already. Please do not use it for new bug reports, however.
+@c FIXME: we'll need a bug tracker for Automake-NG, sooner or later ...
+@c You can look at the @uref{http://debbugs.gnu.org/, GNU Bug Tracker}
+You can look at the
+@uref{http://lists.gnu.org/@/archive/@/html/@/automake-ng/,automake-ng
+mailing list archives} for previous bug reports.
If the bug is not already known, it should be reported. It is very
important to report bugs in a way that is useful and efficient. For
@@ -13030,9 +12845,11 @@ which can then be spent on fixing more bugs and implementing more
features.
For a bug report, a feature request or other suggestions, please send
-email to @email{@value{PACKAGE_BUGREPORT}}. This will then open a new
-bug in the @uref{http://debbugs.gnu.org/@/automake, bug tracker}. Be
-sure to include the versions of Autoconf and Automake that you use.
+email to @email{@value{PACKAGE_BUGREPORT}}.
+@c FIXME: we'll need a bug tracker for Automake-NG, sooner or later ...
+@c This will then open a new bug in the
+@c @uref{http://debbugs.gnu.org/@/automake, bug tracker}.
+Be sure to include the versions of Autoconf and Automake-NG that you use.
Ideally, post a minimal @file{Makefile.am} and @file{configure.ac} that
reproduces the problem you encounter. If you have encountered test
suite failures, please attach the @file{test-suite.log} file.
@@ -13088,7 +12905,7 @@ suite failures, please attach the @file{test-suite.log} file.
@c LocalWords: pkg libdir cpio bindir sbindir rmt pax sbin zar zardir acindex
@c LocalWords: HTML htmldir html noinst TEXINFOS nodist nobase strudel CFLAGS
@c LocalWords: libmumble CC YFLAGS itemx de fication config url comp
-@c LocalWords: depcomp elisp sh mdate mkinstalldirs mkdir py tex dvi ps pdf
+@c LocalWords: depcomp elisp sh mdate mkdir py tex dvi ps pdf
@c LocalWords: ylwrap zardoz INIT gettext acinclude mv FUNCS LIBOBJS LDADD fr
@c LocalWords: uref featureful dnl src LINGUAS es ko nl pl sl sv PROG ISC doc
@c LocalWords: POSIX STDC fcntl FUNC ALLOCA blksize struct stat intl po chmod
diff --git a/gen-testsuite-part b/gen-testsuite-part
index 957351b11..a2056aecd 100755
--- a/gen-testsuite-part
+++ b/gen-testsuite-part
@@ -73,10 +73,10 @@ sub atomic_write ($$;$)
sub line_match ($$)
{
my ($re, $file) = (shift, shift);
- # Try both builddir and srcdir, with builddir first, to play nice
- # with VPATH builds.
- open (FH, "<$file") or open (FH, "<$srcdir/$file")
- or die "$me: cannot open file '$file': $!\n";
+ # Test scripts should always be in srcdir, whether auto-generated
+ # or not.
+ open (FH, "<$srcdir/$file")
+ or die "$me: cannot open file '$srcdir/$file': $!\n";
my $ret = 0;
while (defined (my $line = <FH>))
{
@@ -98,33 +98,31 @@ sub write_wrapper_script ($$$)
# This file has been automatically generated. DO NOT EDIT BY HAND!
. test-lib.sh
$shell_setup_code
- # In the spirit of VPATH, we prefer a test in the build tree
- # over one in the source tree.
- for dir in . "\$am_top_srcdir"; do
- if test -f "\$dir/$wrapped_test"; then
- echo "\$0: will source \$dir/$wrapped_test"
- . "\$dir/$wrapped_test"; exit \$?
- fi
- done
- echo "\$0: cannot find wrapped test '$wrapped_test'" >&2
+ w="\$am_top_srcdir/$wrapped_test"
+ if test -f "\$w"; then
+ echo "\$0: will source '\$w'"
+ . "\$w"
+ exit \$?
+ fi
+ echo "\$0: cannot find wrapped test '\$w'" >&2
exit 99
EOF
}
sub get_list_of_tests ()
{
- my $make = defined $ENV{MAKE} ? $ENV{MAKE} : "make";
- # Unset MAKEFLAGS, for when we are called from make itself.
- my $cmd = "MAKEFLAGS= && unset MAKEFLAGS && cd '$srcdir' && "
- . "$make -s -f $testdir/list-of-tests.mk print-list-of-tests";
- my @tests_list = split /\s+/, `$cmd`;
+ my @tests_list = split /\s+/,
+ `cd '$srcdir' && echo $testdir/*.sh $testdir/*.tap`;
+ # Tests whose names matches this pattern are already autogenerated,
+ # so we shouldn't re-process them.
+ @tests_list = grep { !/-w[0-9]*\.(sh|tap)$/ } @tests_list;
die "$me: cannot get list of tests\n" unless $? == 0 && @tests_list;
my $ok = 1;
foreach my $test (@tests_list)
{
- # Respect VPATH builds.
- next if -f $test || -f "$srcdir/$test";
- warn "$me: test '$test' not found\n";
+ my $test_path = "$srcdir/$test";
+ next if -f $test_path;
+ warn "$me: test '$test_path' not found\n";
$ok = 0;
}
die "$me: some test scripts not found\n" if !$ok;
@@ -164,6 +162,11 @@ my %deps_extractor =
line_matcher => qr/\btrivial-test-driver\b/,
dist_prereqs => "$testauxdir/trivial-test-driver",
},
+ depcomp_shuffle =>
+ {
+ line_matcher => qr/\bdepcomp-shuffle\.sh\b/,
+ dist_prereqs => "$testauxdir/depcomp-shuffle.sh",
+ },
check_testsuite_summary =>
{
line_matcher => qr/\btestsuite-summary-checks\.sh\b/,
@@ -248,16 +251,15 @@ my %test_generators =
parse_options @ARGV;
my @all_tests = get_list_of_tests;
-my @generated_tests = (); # Will be updated later.
print "## -*- Makefile -*-\n";
-print "## Generated by $me. DO NOT EDIT BY HAND!\n\n";
+print "## Generated by $me. DO NOT EDIT BY HAND!\n";
print <<EOF;
-## --------------------------------------------- ##
-## Autogenerated tests and their dependencies. ##
-## --------------------------------------------- ##
+## --------------------------------------- ##
+## Dependencies for autogenerated tests. ##
+## --------------------------------------- ##
EOF
@@ -293,9 +295,7 @@ for my $wrapped_test (sort keys %wrapper_setups)
{
$count++;
my $wbase = "$base-w" . ($count > 1 ? $count : '');
- my $wrapper_test = "$wbase.$suf";
- # Register wrapper test as "autogenerated".
- push @generated_tests, $wrapper_test;
+ my $wrapper_test = "$srcdir/$wbase.$suf";
# Create wrapper test.
atomic_write $wrapper_test,
sub { write_wrapper_script $_[0], $wrapped_test,
@@ -316,13 +316,13 @@ for my $wrapped_test (sort keys %wrapper_setups)
print <<EOF;
-## ---------------------------------------------------- ##
-## Ad-hoc autogenerated tests and their dependencies. ##
-## ---------------------------------------------------- ##
+## ---------------------------------------------- ##
+## Dependencies for ad-hoc autogenerated tests. ##
+## ---------------------------------------------- ##
EOF
-print "## Tests on automatic dependency tracking (see 'depcomp.sh').\n";
+print "## Tests on automatic dependency tracking (see t/ax/depcomp.sh)\n";
# Key: depmode, value: list of required programs.
my %depmodes =
@@ -360,11 +360,9 @@ foreach my $lt (TRUE, FALSE)
"depmode=$m",
"depcomp_with_libtool=" . ($lt ? "yes" : "no"),
);
- my $test = "$testdir/depcomp" . ($lt ? "-lt-" : "-") . "$m.tap";
- # Register wrapper test as "autogenerated" ...
- push @generated_tests, $test;
- # ... and create it.
- atomic_write ($test, sub
+ my $testname = "depcomp" . ($lt ? "-lt-" : "-") . $m . ".tap";
+ # Create wrapper test.
+ atomic_write ("$srcdir/$testdir/$testname", sub
{
my $file_handle = shift;
print $file_handle unindent <<EOF;
@@ -382,16 +380,11 @@ EOF
}
}
-# Update generated makefile fragment to account for all the generated tests.
-print "generated_TESTS =\n";
-map { print "generated_TESTS += $_\n" } @generated_tests;
-
# The test scripts are scanned for automatic dependency generation *after*
# the generated tests have been created, so they too can be scanned. To
# do so correctly, we need to update the list in '@all_tests' to make it
# comprise also the freshly-generated tests.
-
-push @all_tests, @generated_tests;
+@all_tests = get_list_of_tests;
print <<EOF;
diff --git a/lib/Automake/ChannelDefs.pm b/lib/Automake/ChannelDefs.pm
index bc53eae69..62f64a7e0 100644
--- a/lib/Automake/ChannelDefs.pm
+++ b/lib/Automake/ChannelDefs.pm
@@ -16,14 +16,6 @@
package Automake::ChannelDefs;
use Automake::Config;
-BEGIN
-{
- if ($perl_threads)
- {
- require threads;
- import threads;
- }
-}
use Automake::Channels;
=head1 NAME
@@ -142,7 +134,7 @@ Informative messages.
# Do not forget to update &usage and the manual
# if you add or change a warning channel.
-register_channel 'fatal', type => 'fatal', uniq_part => UP_NONE, ordered => 0;
+register_channel 'fatal', type => 'fatal', uniq_part => UP_NONE;
register_channel 'error', type => 'error';
register_channel 'error-gnu', type => 'error';
register_channel 'error-gnu/warn', type => 'error';
@@ -152,19 +144,17 @@ register_channel 'automake', type => 'fatal', backtrace => 1,
"## Internal Error ##\n" .
"####################\n"),
footer => "\nPlease contact <$PACKAGE_BUGREPORT>.",
- uniq_part => UP_NONE, ordered => 0;
+ uniq_part => UP_NONE;
register_channel 'extra-portability', type => 'warning', silent => 1;
register_channel 'gnu', type => 'warning';
register_channel 'obsolete', type => 'warning';
register_channel 'override', type => 'warning', silent => 1;
register_channel 'portability', type => 'warning', silent => 1;
-register_channel 'portability-recursive', type => 'warning', silent => 1;
register_channel 'syntax', type => 'warning';
register_channel 'unsupported', type => 'warning';
-register_channel 'verb', type => 'debug', silent => 1, uniq_part => UP_NONE,
- ordered => 0;
+register_channel 'verb', type => 'debug', silent => 1, uniq_part => UP_NONE;
register_channel 'note', type => 'debug', silent => 0;
setup_channel_type 'warning', header => 'warning: ';
@@ -249,8 +239,6 @@ C<--verbose> messages.
sub verb ($;%)
{
my ($msg, %opts) = @_;
- $msg = "thread " . threads->tid . ": " . $msg
- if $perl_threads;
msg 'verb', '', $msg, %opts;
}
@@ -292,37 +280,18 @@ sub switch_warning ($)
elsif (channel_type ($cat) eq 'warning')
{
setup_channel $cat, silent => $has_no;
- #
- # Handling of portability warnings is trickier. For relevant tests,
- # see 'dollarvar2', 'extra-portability' and 'extra-portability3'.
- #
- # -Wportability-recursive and -Wno-portability-recursive should not
- # have any effect on other 'portability' or 'extra-portability'
- # warnings, so there's no need to handle them separately or ad-hoc.
- #
+ # Handling of portability warnings is trickier.
+ # See 'extra-portability.test'.
if ($cat eq 'extra-portability' && ! $has_no) # -Wextra-portability
{
- # -Wextra-portability must enable 'portability' and
- # 'portability-recursive' warnings.
+ # '-Wextra-portability' must enable 'portability' warnings.
setup_channel 'portability', silent => 0;
- setup_channel 'portability-recursive', silent => 0;
}
- if ($cat eq 'portability') # -Wportability or -Wno-portability
+ if ($cat eq 'portability' && $has_no) # -Wno-portability
{
- if ($has_no) # -Wno-portability
- {
- # -Wno-portability must disable 'extra-portability' and
- # 'portability-recursive' warnings.
- setup_channel 'portability-recursive', silent => 1;
- setup_channel 'extra-portability', silent => 1;
- }
- else # -Wportability
- {
- # -Wportability must enable 'portability-recursive'
- # warnings. But it should have no influence over the
- # 'extra-portability' warnings.
- setup_channel 'portability-recursive', silent => 0;
- }
+ # '-Wno-portability' must disable 'extra-portability'
+ # warnings.
+ setup_channel 'extra-portability', silent => 1;
}
}
else
diff --git a/lib/Automake/Channels.pm b/lib/Automake/Channels.pm
index 558532e14..b7eaac88b 100644
--- a/lib/Automake/Channels.pm
+++ b/lib/Automake/Channels.pm
@@ -43,13 +43,6 @@ Automake::Channels - support functions for error and warning management
# Turn on all channels of type 'warning'.
setup_channel_type 'warning', silent => 0;
- # Redirect all channels to push messages on a Thread::Queue using
- # the specified serialization key.
- setup_channel_queue $queue, $key;
-
- # Output a message pending in a Thread::Queue.
- pop_channel_queue $queue;
-
# Treat all warnings as errors.
$warnings_are_errors = 1;
@@ -81,7 +74,6 @@ use vars qw (@ISA @EXPORT %channels $me);
&setup_channel &setup_channel_type
&dup_channel_setup &drop_channel_setup
&buffer_messages &flush_messages
- &setup_channel_queue &pop_channel_queue
US_GLOBAL US_LOCAL
UP_NONE UP_TEXT UP_LOC_TEXT);
@@ -181,11 +173,6 @@ The file where the error should be output.
Whether the channel should be silent. Use this do disable a
category of warning, for instance.
-=item C<ordered =E<gt> 1>
-
-Whether, with multi-threaded execution, the message should be queued
-for ordered output.
-
=item C<uniq_part =E<gt> UP_LOC_TEXT>
The part of the message subject to duplicate filtering. See the
@@ -269,9 +256,6 @@ use vars qw (%_default_options %_global_duplicate_messages
exit_code => 1,
file => \*STDERR,
silent => 0,
- ordered => 1,
- queue => 0,
- queue_key => undef,
uniq_scope => US_LOCAL,
uniq_part => UP_LOC_TEXT,
header => '',
@@ -343,13 +327,6 @@ sub _merge_options (\%%)
confess "unknown option '$_'";
}
}
- if ($hash->{'ordered'})
- {
- confess "fatal messages cannot be ordered"
- if $hash->{'type'} eq 'fatal';
- confess "backtrace cannot be output on ordered messages"
- if $hash->{'backtrace'};
- }
}
=item C<register_channel ($name, [%options])>
@@ -433,63 +410,6 @@ sub _format_message ($$%)
return $msg;
}
-# _enqueue ($QUEUE, $KEY, $UNIQ_SCOPE, $TO_FILTER, $MSG, $FILE)
-# -------------------------------------------------------------
-# Push message on a queue, to be processed by another thread.
-sub _enqueue ($$$$$$)
-{
- my ($queue, $key, $uniq_scope, $to_filter, $msg, $file) = @_;
- $queue->enqueue ($key, $msg, $to_filter, $uniq_scope);
- confess "message queuing works only for STDERR"
- if $file ne \*STDERR;
-}
-
-# _dequeue ($QUEUE)
-# -----------------
-# Pop a message from a queue, and print, similarly to how
-# _print_message would do it. Return 0 if the queue is
-# empty. Note that the key has already been dequeued.
-sub _dequeue ($)
-{
- my ($queue) = @_;
- my $msg = $queue->dequeue || return 0;
- my $to_filter = $queue->dequeue;
- my $uniq_scope = $queue->dequeue;
- my $file = \*STDERR;
-
- if ($to_filter ne '')
- {
- # Do we want local or global uniqueness?
- my $dups;
- if ($uniq_scope == US_LOCAL)
- {
- $dups = \%_local_duplicate_messages;
- }
- elsif ($uniq_scope == US_GLOBAL)
- {
- $dups = \%_global_duplicate_messages;
- }
- else
- {
- confess "unknown value for uniq_scope: " . $uniq_scope;
- }
-
- # Update the hash of messages.
- if (exists $dups->{$to_filter})
- {
- ++$dups->{$to_filter};
- return 1;
- }
- else
- {
- $dups->{$to_filter} = 0;
- }
- }
- print $file $msg;
- return 1;
-}
-
-
# _print_message ($LOCATION, $MESSAGE, %OPTIONS)
# ----------------------------------------------
# Format the message, check duplicates, and print it.
@@ -561,15 +481,7 @@ sub _print_message ($$%)
}
}
my $file = $opts{'file'};
- if ($opts{'ordered'} && $opts{'queue'})
- {
- _enqueue ($opts{'queue'}, $opts{'queue_key'}, $opts{'uniq_scope'},
- $to_filter, $msg, $file);
- }
- else
- {
- print $file $msg;
- }
+ print $file $msg;
return 1;
}
@@ -662,7 +574,7 @@ sub msg ($$;$%)
confess if $opts{'backtrace'};
if ($opts{'type'} eq 'fatal')
{
- # flush messages explicitly here, needed in worker threads.
+ # Flush messages explicitly here, for extra safety.
STDERR->flush;
exit $exit_code;
}
@@ -777,33 +689,6 @@ sub flush_messages ()
@backlog = ();
}
-=item C<setup_channel_queue ($queue, $key)>
-
-Set the queue to fill for each channel that is ordered,
-and the key to use for serialization.
-
-=cut
-sub setup_channel_queue ($$)
-{
- my ($queue, $key) = @_;
- foreach my $channel (keys %channels)
- {
- setup_channel $channel, queue => $queue, queue_key => $key
- if $channels{$channel}{'ordered'};
- }
-}
-
-=item C<pop_channel_queue ($queue)>
-
-pop a message off the $queue; the key has already been popped.
-
-=cut
-sub pop_channel_queue ($)
-{
- my ($queue) = @_;
- return _dequeue ($queue);
-}
-
=back
=head1 SEE ALSO
diff --git a/lib/Automake/Config.in b/lib/Automake/Config.in
index 6661d0342..f6a447fb6 100644
--- a/lib/Automake/Config.in
+++ b/lib/Automake/Config.in
@@ -23,7 +23,7 @@ require Exporter;
our @ISA = qw (Exporter);
our @EXPORT = qw ($APIVERSION $PACKAGE $PACKAGE_BUGREPORT $VERSION
- $RELEASE_YEAR $libdir $perl_threads);
+ $RELEASE_YEAR $libdir);
# Parameters set by configure. Not to be changed. NOTE: assign
# VERSION as string so that e.g. version 0.30 will print correctly.
@@ -34,14 +34,6 @@ our $VERSION = '@VERSION@';
our $RELEASE_YEAR = '@RELEASE_YEAR@';
our $libdir = '@datadir@/@PACKAGE@-@APIVERSION@';
-our $perl_threads = 0;
-# We need at least this version for CLONE support.
-if (eval { require 5.007_002; })
- {
- use Config;
- $perl_threads = $Config{useithreads};
- }
-
1;
### Setup "GNU" style for perl-mode and cperl-mode.
diff --git a/lib/Automake/DisjConditions.pm b/lib/Automake/DisjConditions.pm
index 6281e96db..87cf2a5ff 100644
--- a/lib/Automake/DisjConditions.pm
+++ b/lib/Automake/DisjConditions.pm
@@ -193,26 +193,6 @@ sub new ($;@)
return $self;
}
-
-=item C<CLONE>
-
-Internal special subroutine to fix up the self hashes in
-C<%_disjcondition_singletons> upon thread creation. C<CLONE> is invoked
-automatically with ithreads from Perl 5.7.2 or later, so if you use this
-module with earlier versions of Perl, it is not thread-safe.
-
-=cut
-
-sub CLONE
-{
- foreach my $self (values %_disjcondition_singletons)
- {
- my %h = map { $_ => $_ } @{$self->{'conds'}};
- $self->{'hash'} = \%h;
- }
-}
-
-
=item C<@conds = $set-E<gt>conds>
Return the list of C<Condition> objects involved in C<$set>.
diff --git a/lib/Automake/ItemDef.pm b/lib/Automake/ItemDef.pm
index ed62094a4..e38f93225 100644
--- a/lib/Automake/ItemDef.pm
+++ b/lib/Automake/ItemDef.pm
@@ -33,10 +33,6 @@ Automake::ItemDef - base class for Automake::VarDef and Automake::RuleDef
Create a new Makefile-item definition.
-C<$comment> is any comment preceding the definition. (Because
-Automake reorders items in the output, it also tries to carry comments
-around.)
-
C<$location> is the place where the definition occurred, it should be
an instance of L<Automake::Location>.
@@ -44,12 +40,11 @@ C<$owner> specifies who owns the rule.
=cut
-sub new ($$$$)
+sub new ($$$)
{
- my ($class, $comment, $location, $owner) = @_;
+ my ($class, $location, $owner) = @_;
my $self = {
- comment => $comment,
location => $location,
owner => $owner,
};
@@ -58,8 +53,6 @@ sub new ($$$$)
return $self;
}
-=item C<$def-E<gt>comment>
-
=item C<$def-E<gt>location>
=item C<$def-E<gt>owner>
@@ -69,12 +62,6 @@ documentation of C<new>'s arguments for a description of these.
=cut
-sub comment ($)
-{
- my ($self) = @_;
- return $self->{'comment'};
-}
-
sub location ($)
{
my ($self) = @_;
diff --git a/lib/Automake/Location.pm b/lib/Automake/Location.pm
index 945d90ebd..78735ae49 100644
--- a/lib/Automake/Location.pm
+++ b/lib/Automake/Location.pm
@@ -59,13 +59,6 @@ Automake::Location - a class for location tracking, with a stack of contexts
# that would otherwise be modified.
my $where_copy = $where->clone;
- # Serialize a Location object (for passing through a thread queue,
- # for example)
- my @array = $where->serialize ();
-
- # De-serialize: recreate a Location object from a queue.
- my $where = new Automake::Location::deserialize ($queue);
-
=head1 DESCRIPTION
C<Location> objects are used to keep track of locations in Automake,
@@ -207,46 +200,6 @@ sub dump ($)
return $res;
}
-=item C<@array = $location-E<gt>serialize>
-
-Serialize a Location object (for passing through a thread queue,
-for example).
-
-=cut
-
-sub serialize ($)
-{
- my ($self) = @_;
- my @serial = ();
- push @serial, $self->get;
- my @contexts = $self->get_contexts;
- for my $pair (@contexts)
- {
- push @serial, @{$pair};
- }
- push @serial, undef;
- return @serial;
-}
-
-=item C<new Automake::Location::deserialize ($queue)>
-
-De-serialize: recreate a Location object from a queue.
-
-=cut
-
-sub deserialize ($)
-{
- my ($queue) = @_;
- my $position = $queue->dequeue ();
- my $self = new Automake::Location $position;
- while (my $position = $queue->dequeue ())
- {
- my $context = $queue->dequeue ();
- push @{$self->{'contexts'}}, [$position, $context];
- }
- return $self;
-}
-
=back
=head1 SEE ALSO
diff --git a/lib/Automake/Makefile.inc b/lib/Automake/Makefile.inc
index 2e5722e70..134994c67 100644
--- a/lib/Automake/Makefile.inc
+++ b/lib/Automake/Makefile.inc
@@ -48,8 +48,7 @@ CLEANFILES += $(nodist_perllib_DATA)
%D%/Config.pm: %D%/Config.in Makefile
$(AM_V_at)rm -f $@ $@-t
$(AM_V_at)$(MKDIR_P) %D%
- $(AM_V_GEN)in=Config.in \
- && $(do_subst) <$(srcdir)/%D%/Config.in >$@-t
+ $(AM_V_GEN)$(do_subst)
$(generated_file_finalize)
EXTRA_DIST += %D%/Config.in
diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm
index d7eeebf08..90e5b012a 100644
--- a/lib/Automake/Options.pm
+++ b/lib/Automake/Options.pm
@@ -273,15 +273,11 @@ sub _is_valid_easy_option ($)
check-news
color-tests
dejagnu
- dist-bzip2
- dist-lzip
- dist-xz
- dist-zip
info-in-builddir
+ ng
no-define
no-dependencies
no-dist
- no-dist-gzip
no-exeext
no-installinfo
no-installman
@@ -332,26 +328,11 @@ sub _process_option_list (\%@)
error $where, "support for Cygnus-style trees has been removed";
$ret = 0;
}
- # TODO: Remove this special check in Automake 3.0.
- elsif ($_ eq 'dist-lzma')
- {
- error ($where, "support for lzma-compressed distribution " .
- "archives has been removed");
- $ret = 0;
- }
- # TODO: Remove this special check in Automake 3.0.
- elsif ($_ eq 'dist-shar')
+ elsif (/^(?:no-)?dist-.*/)
{
- error ($where, "support for shar distribution archives has " .
- "been removed.");
- $ret = 0;
- }
- # TODO: Remove this special check in Automake 3.0.
- elsif ($_ eq 'dist-tarZ')
- {
- error ($where, "support for distribution archives compressed " .
- "with legacy program 'compress' has " .
- "been removed.");
+ error ($where,
+ "'$_' option and the like are no more supported;\n" .
+ "use AM_DIST_FORMATS in top-level Makefile.am instead");
$ret = 0;
}
elsif (/^filename-length-max=(\d+)$/)
diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm
index 100408cd6..2f72fdcd6 100644
--- a/lib/Automake/Rule.pm
+++ b/lib/Automake/Rule.pm
@@ -29,10 +29,8 @@ use Automake::DisjConditions;
require Exporter;
use vars '@ISA', '@EXPORT', '@EXPORT_OK';
@ISA = qw/Automake::Item Exporter/;
-@EXPORT = qw (reset register_suffix_rule next_in_suffix_chain
- suffixes rules $KNOWN_EXTENSIONS_PATTERN
+@EXPORT = qw (reset rules
depend %dependencies %actions register_action
- accept_extensions
reject_rule msg_rule msg_cond_rule err_rule err_cond_rule
rule rrule ruledef rruledef);
@@ -95,20 +93,7 @@ non-object).
=cut
-my $_SUFFIX_RULE_PATTERN =
- '^(\.[a-zA-Z0-9_(){}$+@\-]+)(\.[a-zA-Z0-9_(){}$+@\-]+)' . "\$";
-
-my @_suffixes = ();
-my @_known_extensions_list = ();
-my %_rule_dict = ();
-
-# See comments in the implementation of the 'next_in_suffix_chain()'
-# variable for details.
-my %_suffix_rules;
-
-# Same as $suffix_rules, but records only the default rules
-# supplied by the languages Automake supports.
-my %_suffix_rules_builtin;
+my %_rule_dict;
=item C<%dependencies>
@@ -131,20 +116,6 @@ only when keys exists in C<%dependencies>.
use vars '%actions';
-=item C<$KNOWN_EXTENSIONS_PATTERN>
-
-Pattern that matches all know input extensions (i.e. extensions used
-by the languages supported by Automake). Using this pattern (instead
-of '\..*$') to match extensions allows Automake to support dot-less
-extensions.
-
-New extensions should be registered with C<accept_extensions>.
-
-=cut
-
-use vars qw ($KNOWN_EXTENSIONS_PATTERN);
-$KNOWN_EXTENSIONS_PATTERN = "";
-
=back
=head2 Error reporting functions
@@ -231,20 +202,6 @@ sub reject_rule ($$)
=over 4
-=item C<accept_extensions (@exts)>
-
-Update C<$KNOWN_EXTENSIONS_PATTERN> to recognize the extensions
-listed in C<@exts>. Extensions should contain a dot if needed.
-
-=cut
-
-sub accept_extensions (@)
-{
- push @_known_extensions_list, @_;
- $KNOWN_EXTENSIONS_PATTERN =
- '(?:' . join ('|', map (quotemeta, @_known_extensions_list)) . ')';
-}
-
=item C<rules>
Return the list of all L<Automake::Rule> instances. (I.e., all
@@ -289,8 +246,6 @@ other internal data.
sub reset()
{
%_rule_dict = ();
- @_suffixes = ();
- %_suffix_rules = %_suffix_rules_builtin;
%dependencies =
(
@@ -342,139 +297,10 @@ sub reset()
'.PHONY' => [],
'.PRECIOUS' => [],
- # Recursive install targets (so "make -n install" works for BSD Make).
- '.MAKE' => [],
);
%actions = ();
}
-=item C<next_in_suffix_chain ($ext1, $ext2)>
-
-Return the target suffix for the next rule to use to reach C<$ext2>
-from C<$ext1>, or C<undef> if no such rule exists.
-
-=cut
-
-sub next_in_suffix_chain ($$)
-{
- my ($ext1, $ext2) = @_;
- return undef unless (exists $_suffix_rules{$ext1} and
- exists $_suffix_rules{$ext1}{$ext2});
- return $_suffix_rules{$ext1}{$ext2}[0];
-}
-
-=item C<register_suffix_rule ($where, $src, $dest)>
-
-Register a suffix rule defined on C<$where> that transforms
-files ending in C<$src> into files ending in C<$dest>.
-
-=cut
-
-sub register_suffix_rule ($$$)
-{
- my ($where, $src, $dest) = @_;
- my $suffix_rules = $where->{'position'} ? \%_suffix_rules
- : \%_suffix_rules_builtin;
-
- verb "Sources ending in $src become $dest";
- push @_suffixes, $src, $dest;
-
- # When transforming sources to objects, Automake uses the
- # %suffix_rules to move from each source extension to
- # '.$(OBJEXT)', not to '.o' or '.obj'. However some people
- # define suffix rules for '.o' or '.obj', so internally we will
- # consider these extensions equivalent to '.$(OBJEXT)'. We
- # CANNOT rewrite the target (i.e., automagically replace '.o'
- # and '.obj' by '.$(OBJEXT)' in the output), or warn the user
- # that (s)he'd better use '.$(OBJEXT)', because Automake itself
- # output suffix rules for '.o' or '.obj' ...
- $dest = '.$(OBJEXT)' if ($dest eq '.o' || $dest eq '.obj');
-
- # ----------------------------------------------------------------------
- # The $suffix_rules variable maps the source extension for all suffix
- # rules seen to a hash whose keys are the possible output extensions.
- #
- # Note that this is transitively closed by construction:
- # if we have
- #
- # exists $suffix_rules{$ext1}{$ext2}
- # && exists $suffix_rules{$ext2}{$ext3}
- #
- # then we also have
- #
- # exists $suffix_rules{$ext1}{$ext3}
- #
- # So it's easy to check whether '.foo' can be transformed to
- # '.$(OBJEXT)' by checking whether $suffix_rules{'.foo'}{'.$(OBJEXT)'}
- # exists. This will work even if transforming '.foo' to '.$(OBJEXT)'
- # involves a chain of several suffix rules.
- #
- # The value of $suffix_rules{$ext1}{$ext2} is a pair [$next_sfx, $dist]
- # where $next_sfx is target suffix for the next rule to use to reach
- # $ext2, and $dist the distance to $ext2.
- # ----------------------------------------------------------------------
-
- # Register $dest as a possible destination from $src.
- # We might have the create the \hash.
- if (exists $suffix_rules->{$src})
- {
- $suffix_rules->{$src}{$dest} = [ $dest, 1 ];
- }
- else
- {
- $suffix_rules->{$src} = { $dest => [ $dest, 1 ] };
- }
-
- # If we know how to transform $dest in something else, then
- # we know how to transform $src in that "something else".
- if (exists $suffix_rules->{$dest})
- {
- for my $dest2 (keys %{$suffix_rules->{$dest}})
- {
- my $dist = $suffix_rules->{$dest}{$dest2}[1] + 1;
- # Overwrite an existing $src->$dest2 path only if
- # the path via $dest which is shorter.
- if (! exists $suffix_rules->{$src}{$dest2}
- || $suffix_rules->{$src}{$dest2}[1] > $dist)
- {
- $suffix_rules->{$src}{$dest2} = [ $dest, $dist ];
- }
- }
- }
-
- # Similarly, any extension that can be derived into $src
- # can be derived into the same extensions as $src can.
- my @dest2 = keys %{$suffix_rules->{$src}};
- for my $src2 (keys %$suffix_rules)
- {
- if (exists $suffix_rules->{$src2}{$src})
- {
- for my $dest2 (@dest2)
- {
- my $dist = $suffix_rules->{$src}{$dest2} + 1;
- # Overwrite an existing $src2->$dest2 path only if
- # the path via $src is shorter.
- if (! exists $suffix_rules->{$src2}{$dest2}
- || $suffix_rules->{$src2}{$dest2}[1] > $dist)
- {
- $suffix_rules->{$src2}{$dest2} = [ $src, $dist ];
- }
- }
- }
- }
-}
-
-=item C<@list = suffixes>
-
-Return the list of known suffixes.
-
-=cut
-
-sub suffixes ()
-{
- return @_suffixes;
-}
-
=item C<rule ($rulename)>
Return the C<Automake::Rule> object for the rule
@@ -608,23 +434,17 @@ sub _maybe_warn_about_duplicated_target ($$$$$$)
{
if ($oldowner == RULE_USER)
{
- # Ignore '%'-style pattern rules. We'd need the
- # dependencies to detect duplicates, and they are
- # already diagnosed as unportable by -Wportability.
- if ($target !~ /^[^%]*%[^%]*$/)
- {
- ## FIXME: Presently we can't diagnose duplicate user rules
- ## because we don't distinguish rules with commands
- ## from rules that only add dependencies. E.g.,
- ## .PHONY: foo
- ## .PHONY: bar
- ## is legitimate. This is checked in the 'phony.sh' test.
-
- # msg ('syntax', $where,
- # "redefinition of '$target'$condmsg ...", partial => 1);
- # msg_cond_rule ('syntax', $cond, $target,
- # "... '$target' previously defined here");
- }
+ ## FIXME: Presently we can't diagnose duplicate user rules
+ ## because we don't distinguish rules with commands
+ ## from rules that only add dependencies. E.g.,
+ ## .PHONY: foo
+ ## .PHONY: bar
+ ## is legitimate. This is checked in the 'phony.sh' test.
+
+ # msg ('syntax', $where,
+ # "redefinition of '$target'$condmsg ...", partial => 1);
+ # msg_cond_rule ('syntax', $cond, $target,
+ # "... '$target' previously defined here");
}
else
{
@@ -694,9 +514,13 @@ sub _conditionals_for_rule ($$$$)
return $cond if !$message; # No ambiguity.
+ # Ignore possible ambiguity in '%'-style pattern rules. We'd need the
+ # dependencies to detect duplicates, and would be overkill anyway, worth
+ # the possibility of annoying false positives.
+ return $cond if $target =~ /%/;
+
if ($owner == RULE_USER)
{
- # For user rules, just diagnose the ambiguity.
msg 'syntax', $where, "$message ...", partial => 1;
msg_cond_rule ('syntax', $ambig_cond, $target,
"... '$target' previously defined here");
@@ -736,22 +560,24 @@ sub _conditionals_for_rule ($$$$)
return @conds;
}
-=item C<@conds = define ($rulename, $source, $owner, $cond, $where)>
+=item C<@conds = define ($rulename, $source, $owner, $cond, $where, [$deps])>
Define a new rule. C<$rulename> is the list of targets. C<$source>
is the filename the rule comes from. C<$owner> is the owner of the
rule (C<RULE_AUTOMAKE> or C<RULE_USER>). C<$cond> is the
C<Automake::Condition> under which the rule is defined. C<$where> is
-the C<Automake::Location> where the rule is defined.
+the C<Automake::Location> where the rule is defined. C<$deps> is a
+withespace-separated list of dependencies (currently unused).
Returns a (possibly empty) list of C<Automake::Condition>s where the
rule's definition should be output.
=cut
-sub define ($$$$$)
+sub define ($$$$$;$)
{
- my ($target, $source, $owner, $cond, $where) = @_;
+ my ($target, $source, $owner, $cond, $where, $deps) = @_;
+ $deps = '' unless defined $deps;
prog_error "$where is not a reference"
unless ref $where;
@@ -763,13 +589,11 @@ sub define ($$$$$)
my $tdef = _rule_defn_with_exeext_awareness ($target, $cond, $where);
- # A GNU make-style pattern rule has a single "%" in the target name.
- msg ('portability', $where,
- "'%'-style pattern rules are a GNU make extension")
- if $target =~ /^[^%]*%[^%]*$/;
-
# See whether this is a duplicated target declaration.
- if ($tdef)
+ # Ignore '%'-style pattern rules. We'd need to scan the dependencies
+ # to detect duplicates, and doing so would be overkill anyway, not
+ # worth the possibility of annoying false positives.
+ if ($tdef && $target !~ /%/)
{
# Diagnose invalid target redefinitions, if any. Note that some
# target redefinitions are valid (e.g., for multiple-targets
@@ -797,42 +621,11 @@ sub define ($$$$$)
# Finally define this rule.
for my $c (@conds)
{
- my $def = new Automake::RuleDef ($target, '', $where->clone,
- $owner, $source);
+ my $def = new Automake::RuleDef ($target, $where->clone, $owner,
+ $source);
$rule->set ($c, $def);
}
- # We honor inference rules with multiple targets because many
- # makes support this and people use it. However this is disallowed
- # by POSIX. We'll print a warning later.
- my $target_count = 0;
- my $inference_rule_count = 0;
-
- for my $t (split (' ', $target))
- {
- ++$target_count;
- # Check if the rule is a suffix rule: either it's a rule for
- # two known extensions...
- if ($t =~ /^($KNOWN_EXTENSIONS_PATTERN)($KNOWN_EXTENSIONS_PATTERN)$/
- # ...or it's a rule with unknown extensions (i.e., the rule
- # looks like '.foo.bar:' but '.foo' or '.bar' are not
- # declared in SUFFIXES and are not known language
- # extensions). Automake will complete SUFFIXES from
- # @suffixes automatically (see handle_footer).
- || ($t =~ /$_SUFFIX_RULE_PATTERN/o && accept_extensions($1)))
- {
- ++$inference_rule_count;
- register_suffix_rule ($where, $1, $2);
- }
- }
-
- # POSIX allows multiple targets before the colon, but disallows
- # definitions of multiple inference rules. It's also
- # disallowed to mix plain targets with inference rules.
- msg ('portability', $where,
- "inference rules can have only one target before the colon (POSIX)")
- if $inference_rule_count > 0 && $target_count > 1;
-
return @conds;
}
diff --git a/lib/Automake/RuleDef.pm b/lib/Automake/RuleDef.pm
index b90060e40..bedd5aafe 100644
--- a/lib/Automake/RuleDef.pm
+++ b/lib/Automake/RuleDef.pm
@@ -59,19 +59,18 @@ use constant RULE_USER => 1; # Rule defined in the user's Makefile.am.
=over 4
-=item C<new Automake::RuleDef ($name, $comment, $location, $owner, $source)>
+=item C<new Automake::RuleDef ($name, $location, $owner, $source)>
-Create a new rule definition with target C<$name>, with associated comment
-C<$comment>, Location C<$location> and owner C<$owner>, defined in file
-C<$source>.
+Create a new rule definition with target C<$name>, Location C<$location>
+and owner C<$owner>, defined in file C<$source>.
=cut
-sub new ($$$$$)
+sub new ($$$$)
{
- my ($class, $name, $comment, $location, $owner, $source) = @_;
+ my ($class, $name, $location, $owner, $source) = @_;
- my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
+ my $self = Automake::ItemDef::new ($class, $location, $owner);
$self->{'source'} = $source;
$self->{'name'} = $name;
return $self;
diff --git a/lib/Automake/VarDef.pm b/lib/Automake/VarDef.pm
index dc6558e6e..52dd417f3 100644
--- a/lib/Automake/VarDef.pm
+++ b/lib/Automake/VarDef.pm
@@ -24,8 +24,7 @@ use Automake::ItemDef;
require Exporter;
use vars '@ISA', '@EXPORT';
@ISA = qw/Automake::ItemDef Exporter/;
-@EXPORT = qw (&VAR_AUTOMAKE &VAR_CONFIGURE &VAR_MAKEFILE
- &VAR_ASIS &VAR_PRETTY &VAR_SILENT &VAR_SORTED);
+@EXPORT = qw (&VAR_AUTOMAKE &VAR_CONFIGURE &VAR_MAKEFILE);
=head1 NAME
@@ -43,7 +42,7 @@ Automake::VarDef - a class for variable definitions
my $loc = new Automake::Location 'Makefile.am:2';
my $def = new Automake::VarDef ('foo', 'bar # more comment',
'# any comment',
- $loc, '', VAR_MAKEFILE, VAR_ASIS);
+ $loc, '', VAR_MAKEFILE);
# Appending to a definition.
$def->append ('value to append', 'comment to append');
@@ -56,7 +55,6 @@ Automake::VarDef - a class for variable definitions
my $location = $def->location;
my $type = $def->type;
my $owner = $def->owner;
- my $pretty = $def->pretty;
# Changing owner.
$def->set_owner (VAR_CONFIGURE,
@@ -91,27 +89,6 @@ use constant VAR_AUTOMAKE => 0; # Variable defined by Automake.
use constant VAR_CONFIGURE => 1;# Variable defined in configure.ac.
use constant VAR_MAKEFILE => 2; # Variable defined in Makefile.am.
-=item C<VAR_ASIS>, C<VAR_PRETTY>, C<VAR_SILENT>, C<VAR_SORTED>
-
-Possible print styles. C<VAR_ASIS> variables should be output as-is.
-C<VAR_PRETTY> variables are wrapped on multiple lines if they cannot
-fit on one. C<VAR_SILENT> variables are not output at all. Finally,
-C<VAR_SORTED> variables should be sorted and then handled as
-C<VAR_PRETTY> variables.
-
-C<VAR_SILENT> variables can also be overridden silently (unlike the
-other kinds of variables whose overriding may sometimes produce
-warnings).
-
-=cut
-
-# Possible values for pretty.
-use constant VAR_ASIS => 0; # Output as-is.
-use constant VAR_PRETTY => 1; # Pretty printed on output.
-use constant VAR_SILENT => 2; # Not output. (Can also be
- # overridden silently.)
-use constant VAR_SORTED => 3; # Sorted and pretty-printed.
-
=back
=head2 Methods
@@ -121,7 +98,7 @@ from L<Automake::ItemDef>.
=over 4
-=item C<my $def = new Automake::VarDef ($varname, $value, $comment, $location, $type, $owner, $pretty)>
+=item C<my $def = new Automake::VarDef ($varname, $value, $comment, $location, $type, $owner)>
Create a new Makefile-variable definition. C<$varname> is the name of
the variable being defined and C<$value> its value.
@@ -140,15 +117,12 @@ C<$owner> specifies who owns the variables, it can be one of
C<VAR_AUTOMAKE>, C<VAR_CONFIGURE>, or C<VAR_MAKEFILE> (see these
definitions).
-Finally, C<$pretty> tells how the variable should be output, and can
-be one of C<VAR_ASIS>, C<VAR_PRETTY>, or C<VAR_SILENT>, or
-C<VAR_SORTED> (see these definitions).
-
=cut
sub new ($$$$$$$$)
{
- my ($class, $var, $value, $comment, $location, $type, $owner, $pretty) = @_;
+ my ($class, $var, $value, $comment, $cond, $location, $type,
+ $owner) = @_;
# A user variable must be set by either '=' or ':=', and later
# promoted to '+='.
@@ -157,42 +131,28 @@ sub new ($$$$$$$$)
error $location, "$var must be set with '=' before using '+='";
}
- my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
- $self->{'value'} = $value;
+ my $self = Automake::ItemDef::new ($class, $location, $owner);
+ $self->{'value_list'} = [ { value => $value, cond => $cond } ];
$self->{'type'} = $type;
- $self->{'pretty'} = $pretty;
$self->{'seen'} = 0;
+ $self->{'comment_list'} = [ { text => $comment, cond => $cond } ];
return $self;
}
-=item C<$def-E<gt>append ($value, $comment)>
+=item C<$def-E<gt>append ($value, $comment, $cond)>
-Append C<$value> and <$comment> to the existing value and comment of
-C<$def>. This is normally called on C<+=> definitions.
+Append C<$value> and C<$comment> to the existing value and comment of
+C<$def> in condition C<$cond>. This is normally called on C<+=>
+definitions.
=cut
sub append ($$$)
{
- my ($self, $value, $comment) = @_;
- $self->{'comment'} .= $comment;
-
- my $val = $self->{'value'};
+ my ($self, $value, $comment, $cond) = @_;
- # Strip comments from augmented variables. This is so that
- # VAR = foo # com
- # VAR += bar
- # does not become
- # VAR = foo # com bar
- # Furthermore keeping '#' would not be portable if the variable is
- # output on multiple lines.
- $val =~ s/ ?#.*//;
- # Insert a separator, if required.
- $val .= ' ' if $val;
- $self->{'value'} = $val . $value;
- # Turn ASIS appended variables into PRETTY variables. This is to
- # cope with 'make' implementation that cannot read very long lines.
- $self->{'pretty'} = VAR_PRETTY if $self->{'pretty'} == VAR_ASIS;
+ push @{$self->{'comment_list'}}, { text => $comment, cond => $cond };
+ push @{$self->{'value_list'}}, { value => $value, cond => $cond };
}
=item C<$def-E<gt>value>
@@ -201,8 +161,6 @@ sub append ($$$)
=item C<$def-E<gt>type>
-=item C<$def-E<gt>pretty>
-
Accessors to the various constituents of a C<VarDef>. See the
documentation of C<new>'s arguments for a description of these.
@@ -212,30 +170,48 @@ sub value ($)
{
my ($self) = @_;
my $val = $self->raw_value;
+
# Strip anything past '#'. '#' characters cannot be escaped
# in Makefiles, so we don't have to be smart.
+ # FIXME: Actually, '#' *can* be escaped in GNU make ...
+ # FIXME: Should we adapt our code?
$val =~ s/#.*$//s;
# Strip backslashes.
$val =~ s/\\$/ /mg;
return $val;
}
-sub raw_value ($)
+sub comment ($)
{
my ($self) = @_;
- return $self->{'value'};
+ return join ("", map { $_->{text} } @{$self->{'comment_list'}});
}
-sub type ($)
+sub raw_value ($)
{
my ($self) = @_;
- return $self->{'type'};
+ my @values = map { $_->{value} } @{$self->{'value_list'}};
+
+ # Strip comments from augmented variables. This is so that
+ # VAR = foo # com
+ # VAR += bar
+ # does not become
+ # VAR = foo # com bar
+ # Furthermore keeping '#' would not be portable if the variable is
+ # output on multiple lines.
+ # But we have to preserve escaped '#', so that a definition line:
+ # hash = \#
+ # remains possible. To make our life easier, we just assume that
+ # any tailed comment must be separated with whitespace from the
+ # actual variable value.
+ map { s/^#.*//; s/[ \t]+#.*// } @values;
+ return join (' ', @values);
}
-sub pretty ($)
+sub type ($)
{
my ($self) = @_;
- return $self->{'pretty'};
+ return $self->{'type'};
}
=item C<$def-E<gt>set_owner ($owner, $location)>
@@ -309,13 +285,12 @@ sub dump ($)
}
my $where = $self->location->dump;
- my $comment = $self->comment;
my $value = $self->raw_value;
my $type = $self->type;
return "{
type: $type=
- where: $where comment: $comment
+ where: $where
value: $value
owner: $owner
}\n";
diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm
index bbd74c88b..faae1f7f9 100644
--- a/lib/Automake/Variable.pm
+++ b/lib/Automake/Variable.pm
@@ -34,7 +34,7 @@ use vars '@ISA', '@EXPORT', '@EXPORT_OK';
@EXPORT = qw (err_var msg_var msg_cond_var reject_var
var rvar vardef rvardef
variables
- scan_variable_expansions check_variable_expansions
+ scan_variable_expansions
variable_delete
variables_dump
set_seen
@@ -55,7 +55,7 @@ Automake::Variable - support for variable definitions
# Defining a variable.
Automake::Variable::define($varname, $owner, $type,
$cond, $value, $comment,
- $where, $pretty)
+ $where)
# Looking up a variable.
my $var = var $varname;
@@ -129,11 +129,6 @@ non-object).
=cut
-my $_VARIABLE_CHARACTERS = '[.A-Za-z0-9_@]+';
-my $_VARIABLE_PATTERN = '^' . $_VARIABLE_CHARACTERS . "\$";
-my $_VARIABLE_RECURSIVE_PATTERN =
- '^([.A-Za-z0-9_@]|\$[({]' . $_VARIABLE_CHARACTERS . '[})]?)+' . "\$";
-
# The order in which variables should be output. (May contain
# duplicates -- only the first occurrence matters.)
my @_var_order;
@@ -284,25 +279,6 @@ sub reject_var ($$)
=over 4
-=item C<Automake::Variable::hook ($varname, $fun)>
-
-Declare a function to be called whenever a variable
-named C<$varname> is defined or redefined.
-
-C<$fun> should take two arguments: C<$type> and C<$value>.
-When type is C<''> or <':'>, C<$value> is the value being
-assigned to C<$varname>. When C<$type> is C<'+'>, C<$value>
-is the value being appended to C<$varname>.
-
-=cut
-
-use vars '%_hooks';
-sub hook ($$)
-{
- my ($var, $fun) = @_;
- $_hooks{$var} = $fun;
-}
-
=item C<variables ([$suffix])>
Returns the list of all L<Automake::Variable> instances. (I.e., all
@@ -445,7 +421,6 @@ sub _new ($$)
my ($class, $name) = @_;
my $self = Automake::Item::new ($class, $name);
$self->{'scanned'} = 0;
- $self->{'last-append'} = []; # helper variable for last conditional append.
$_variable_dict{$name} = $self;
if ($name =~ /_([[:alnum:]]+)$/)
{
@@ -469,7 +444,7 @@ sub _check_ambiguous_condition ($$$)
# We allow silent variables to be overridden silently,
# by either silent or non-silent variables.
my $def = $self->def ($ambig_cond);
- if ($message && $def->pretty != VAR_SILENT)
+ if ($message)
{
msg 'syntax', $where, "$message ...", partial => 1;
msg_var ('syntax', $var, "... '$var' previously defined here");
@@ -506,6 +481,16 @@ sub check_defined_unconditionally ($;$$)
}
}
+sub _has_line_too_long ($)
+{
+ my ($text) = @_;
+ foreach my $line (split "\n", $text)
+ {
+ return 1 if length ($line) >= 1000 ;
+ }
+ return 0;
+}
+
=item C<$str = $var-E<gt>output ([@conds])>
Format all the definitions of C<$var> if C<@cond> is not specified,
@@ -530,48 +515,32 @@ sub output ($@)
. $self->name . "'")
unless $def;
- next
- if $def->pretty == VAR_SILENT;
-
$res .= $def->comment;
my $val = $def->raw_value;
my $equals = $def->type eq ':' ? ':=' : '=';
my $str = $cond->subst_string;
-
-
- if ($def->pretty == VAR_ASIS)
- {
- my $output_var = "$name $equals $val";
- $output_var =~ s/^/$str/meg;
- $res .= "$output_var\n";
- }
- elsif ($def->pretty == VAR_PRETTY)
- {
- # Suppress escaped new lines. &makefile_wrap will
- # add them back, maybe at other places.
- $val =~ s/\\$//mg;
- my $wrap = makefile_wrap ("$str$name $equals", "$str\t",
- split (' ', $val));
-
- # If the last line of the definition is made only of
- # @substitutions@, append an empty variable to make sure it
- # cannot be substituted as a blank line (that would confuse
- # HP-UX Make).
- $wrap = makefile_wrap ("$str$name $equals", "$str\t",
- split (' ', $val), '$(am__empty)')
- if $wrap =~ /\n(\s*@\w+@)+\s*$/;
-
- $res .= $wrap;
- }
- else # ($def->pretty == VAR_SORTED)
- {
- # Suppress escaped new lines. &makefile_wrap will
- # add them back, maybe at other places.
- $val =~ s/\\$//mg;
- $res .= makefile_wrap ("$str$name $equals", "$str\t",
- sort (split (' ' , $val)));
- }
+ my $output_var;
+ # Definition of variables whose value contains unescaped newlines
+ # (likely as a result of a "+=" appending) cannot be output as-is;
+ # we need to wrap their definition. We also wrap the definition if
+ # the length of any line is too big, since POSIX-compliant systems
+ # are not required to support lines longer than 2048 bytes (most
+ # notably, some sed implementation are limited to 4000 bytes, and
+ # sed is used by config.status to rewrite Makefile.in into Makefile).
+ if (_has_line_too_long ($val) or $val =~ /(:?\\\\)*[^\\]\n./)
+ {
+ $val =~ s/\\$//mg;
+ $output_var = makefile_wrap ("$str$name $equals", "$str\t",
+ split (' ', $val));
+ }
+ else
+ {
+ $val =~ s/^[ \t]*//;
+ $output_var = "$name $equals $val";
+ $output_var =~ s/^/$str/meg;
+ }
+ $res .= "$output_var\n";
}
return $res;
}
@@ -725,74 +694,7 @@ sub dump ($)
=over 4
-=item C<@list = scan_variable_expansions ($text)>
-
-Return the list of variable names expanded in C<$text>. Note that
-unlike some other functions, C<$text> is not split on spaces before we
-check for subvariables.
-
-=cut
-
-sub scan_variable_expansions ($)
-{
- my ($text) = @_;
- my @result = ();
-
- # Strip comments.
- $text =~ s/#.*$//;
-
- # Record each use of ${stuff} or $(stuff) that does not follow a $.
- while ($text =~ /(?<!\$)\$(?:\{([^\}]*)\}|\(([^\)]*)\))/g)
- {
- my $var = $1 || $2;
- # The occurrence may look like $(string1[:subst1=[subst2]]) but
- # we want only 'string1'.
- $var =~ s/:[^:=]*=[^=]*$//;
- push @result, $var;
- }
-
- return @result;
-}
-
-=item C<check_variable_expansions ($text, $where)>
-
-Check variable expansions in C<$text> and warn about any name that
-does not conform to POSIX. C<$where> is the location of C<$text>
-for the error message.
-
-=cut
-
-sub check_variable_expansions ($$)
-{
- my ($text, $where) = @_;
- # Catch expansion of variables whose name does not conform to POSIX.
- foreach my $var (scan_variable_expansions ($text))
- {
- if ($var !~ /$_VARIABLE_PATTERN/o)
- {
- # If the variable name contains a space, it's likely
- # to be a GNU make extension (such as $(addsuffix ...)).
- # Mention this in the diagnostic.
- my $gnuext = "";
- $gnuext = "\n(probably a GNU make extension)" if $var =~ / /;
- # Accept recursive variable expansions if so desired
- # (we hope they are rather portable in practice).
- if ($var =~ /$_VARIABLE_RECURSIVE_PATTERN/o)
- {
- msg ('portability-recursive', $where,
- "$var: non-POSIX recursive variable expansion$gnuext");
- }
- else
- {
- msg ('portability', $where, "$var: non-POSIX variable name$gnuext");
- }
- }
- }
-}
-
-
-
-=item C<Automake::Variable::define($varname, $owner, $type, $cond, $value, $comment, $where, $pretty)>
+=item C<Automake::Variable::define($varname, $owner, $type, $cond, $value, $comment, $where)>
Define or append to a new variable.
@@ -816,20 +718,11 @@ assignment.
C<$where>: the C<Location> of the assignment.
-C<$pretty>: whether C<$value> should be pretty printed (one of
-C<VAR_ASIS>, C<VAR_PRETTY>, C<VAR_SILENT>, or C<VAR_SORTED>, defined
-by by L<Automake::VarDef>). C<$pretty> applies only to real
-assignments. I.e., it does not apply to a C<+=> assignment (except
-when part of it is being done as a conditional C<=> assignment).
-
-This function will all run any hook registered with the C<hook>
-function.
-
=cut
-sub define ($$$$$$$$)
+sub define ($$$$$$$)
{
- my ($var, $owner, $type, $cond, $value, $comment, $where, $pretty) = @_;
+ my ($var, $owner, $type, $cond, $value, $comment, $where) = @_;
prog_error "$cond is not a reference"
unless ref $cond;
@@ -837,24 +730,6 @@ sub define ($$$$$$$$)
prog_error "$where is not a reference"
unless ref $where;
- prog_error "pretty argument missing"
- unless defined $pretty && ($pretty == VAR_ASIS
- || $pretty == VAR_PRETTY
- || $pretty == VAR_SILENT
- || $pretty == VAR_SORTED);
-
- error $where, "bad characters in variable name '$var'"
- if $var !~ /$_VARIABLE_PATTERN/o;
-
- # ':='-style assignments are not acknowledged by POSIX. Moreover it
- # has multiple meanings. In GNU make or BSD make it means "assign
- # with immediate expansion", while in OSF make it is used for
- # conditional assignments.
- msg ('portability', $where, "':='-style assignments are not portable")
- if $type eq ':';
-
- check_variable_expansions ($value, $where);
-
# If there's a comment, make sure it is \n-terminated.
if ($comment)
{
@@ -911,9 +786,7 @@ sub define ($$$$$$$$)
# 1. append (+=) to a variable defined for current condition
if ($type eq '+' && ! $new_var)
{
- $def->append ($value, $comment);
- $self->{'last-append'} = [];
-
+ $def->append ($value, $comment, $cond);
# Only increase owners. A VAR_CONFIGURE variable augmented in a
# Makefile.am becomes a VAR_MAKEFILE variable.
$def->set_owner ($owner, $where->clone)
@@ -922,63 +795,24 @@ sub define ($$$$$$$$)
# 2. append (+=) to a variable defined for *another* condition
elsif ($type eq '+' && ! $self->conditions->false)
{
- # * Generally, $cond is not TRUE. For instance:
+ # * If we have an input like:
# FOO = foo
# if COND
# FOO += bar
# endif
- # In this case, we declare an helper variable conditionally,
- # and append it to FOO:
+ # we declare an helper variable conditionally, and append
+ # it to FOO:
# FOO = foo $(am__append_1)
# @COND_TRUE@am__append_1 = bar
# Of course if FOO is defined under several conditions, we add
# $(am__append_1) to each definitions.
- #
- # * If $cond is TRUE, we don't need the helper variable. E.g., in
- # if COND1
- # FOO = foo1
- # else
- # FOO = foo2
- # endif
- # FOO += bar
- # we can add bar directly to all definition of FOO, and output
- # @COND_TRUE@FOO = foo1 bar
- # @COND_FALSE@FOO = foo2 bar
-
- my $lastappend = [];
- # Do we need an helper variable?
- if ($cond != TRUE)
- {
- # Can we reuse the helper variable created for the previous
- # append? (We cannot reuse older helper variables because
- # we must preserve the order of items appended to the
- # variable.)
- my $condstr = $cond->string;
- my $key = "$var:$condstr";
- my ($appendvar, $appendvarcond) = @{$self->{'last-append'}};
- if ($appendvar && $condstr eq $appendvarcond)
- {
- # Yes, let's simply append to it.
- $var = $appendvar;
- $owner = VAR_AUTOMAKE;
- $self = var ($var);
- $def = $self->rdef ($cond);
- $new_var = 0;
- }
- else
- {
- # No, create it.
- my $num = ++$_appendvar;
- my $hvar = "am__append_$num";
- $lastappend = [$hvar, $condstr];
- &define ($hvar, VAR_AUTOMAKE, '+',
- $cond, $value, $comment, $where, $pretty);
-
- # Now HVAR is to be added to VAR.
- $comment = '';
- $value = "\$($hvar)";
- }
- }
+ my $num = ++$_appendvar;
+ my $hvar = "am__append_$num";
+ &define ($hvar, VAR_AUTOMAKE, '+',
+ $cond, $value, $comment, $where);
+ # Now HVAR is to be added to VAR.
+ $comment = '';
+ $value = "\$($hvar)";
# Add VALUE to all definitions of SELF.
foreach my $vcond ($self->conditions->conds)
@@ -1004,11 +838,9 @@ sub define ($$$$$$$$)
}
else
{
- &define ($var, $owner, '+', $vcond, $value, $comment,
- $where, $pretty);
+ &define ($var, $owner, '+', $vcond, $value, $comment, $where);
}
}
- $self->{'last-append'} = $lastappend;
}
# 3. first assignment (=, :=, or +=)
else
@@ -1028,16 +860,11 @@ sub define ($$$$$$$$)
# Assignments to a macro set its location. We don't adjust
# locations for '+='. Ideally I suppose we would associate
# line numbers with random bits of text.
- $def = new Automake::VarDef ($var, $value, $comment, $where->clone,
- $type, $owner, $pretty);
+ $def = new Automake::VarDef ($var, $value, $comment, $cond,
+ $where->clone, $type, $owner);
$self->set ($cond, $def);
push @_var_order, $var;
}
-
- # Call any defined hook. This helps to update some internal state
- # *while* parsing the file. For instance the handling of SUFFIXES
- # requires this (see var_SUFFIXES_trigger).
- &{$_hooks{$var}}($type, $value) if exists $_hooks{$var};
}
=item C<variable_delete ($varname, [@conds])>
@@ -1647,7 +1474,7 @@ sub transform_variable_recursively ($$$$$&;%)
foreach (@conds)
{
define ($varname, VAR_AUTOMAKE, '', $_, "@result",
- '', $where, VAR_PRETTY);
+ '', $where);
}
}
}
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index c0a20cb2e..5642b544c 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -33,7 +33,6 @@ dist_script_DATA = \
%D%/install-sh \
%D%/mdate-sh \
%D%/missing \
- %D%/mkinstalldirs \
%D%/ylwrap \
%D%/depcomp \
%D%/compile \
@@ -44,24 +43,14 @@ dist_script_DATA = \
install-data-hook:
@$(POST_INSTALL)
- @for f in $(dist_script_DATA); do echo $$f; done \
- | sed 's,^%D%/,,' \
- | ( st=0; \
- while read f; do \
- echo " chmod +x '$(DESTDIR)$(scriptdir)/$$f'"; \
- chmod +x "$(DESTDIR)$(scriptdir)/$$f" || st=1; \
- done; \
- exit $$st )
+ chmod +x $(patsubst %D%/%,'$(DESTDIR)$(scriptdir)/%',$(dist_script_DATA))
installcheck-local: installcheck-executable-scripts
installcheck-executable-scripts:
- @for f in $(dist_script_DATA); do echo $$f; done \
- | sed 's,^%D%/,,' \
- | while read f; do \
- path="$(pkgvdatadir)/$$f"; \
- test -x "$$path" || echo $$path; \
- done \
- | sed 's/$$/: not executable/' \
- | grep . 1>&2 && exit 1; exit 0
+ @st=0; \
+ for f in $(patsubst %D%/%,'$(scriptdir)/%',$(dist_script_DATA)); do \
+ test -x $$f || { echo "$@: $$f: not executable" >&2; st=1; }; \
+ done; \
+ exit $$st;
# vim: ft=automake noet
diff --git a/lib/am/Makefile.inc b/lib/am/Makefile.inc
index 923c86159..276a1d1e8 100644
--- a/lib/am/Makefile.inc
+++ b/lib/am/Makefile.inc
@@ -22,28 +22,32 @@
amdir = @amdir@
dist_am_DATA = \
- %D%/check.am \
- %D%/check2.am \
- %D%/clean-hdr.am \
- %D%/clean.am \
+ %D%/am-dir.mk \
+ %D%/common-targets.mk \
+ %D%/color-tests.mk \
+ %D%/serial-tests.mk \
+ %D%/parallel-tests.mk \
+ %D%/check-typos.mk \
+ %D%/clean.mk \
+ %D%/header-vars.mk \
+ %D%/tags.mk \
+ %D%/dejagnu.mk \
+ %D%/distcheck.mk \
+ %D%/distdir.mk \
+ %D%/subdirs.mk \
+ %D%/texibuild.mk \
+ %D%/texinfos.mk \
%D%/compile.am \
%D%/configure.am \
%D%/data.am \
- %D%/dejagnu.am \
- %D%/depend.am \
%D%/depend2.am \
- %D%/distdir.am \
%D%/footer.am \
- %D%/header-vars.am \
%D%/header.am \
- %D%/install.am \
- %D%/inst-vars.am \
%D%/java.am \
%D%/lang-compile.am \
%D%/lex.am \
%D%/library.am \
%D%/libs.am \
- %D%/libtool.am \
%D%/lisp.am \
%D%/ltlib.am \
%D%/ltlibrary.am \
@@ -54,11 +58,8 @@ dist_am_DATA = \
%D%/python.am \
%D%/remake-hdr.am \
%D%/scripts.am \
- %D%/subdirs.am \
- %D%/tags.am \
%D%/texi-vers.am \
- %D%/texibuild.am \
- %D%/texinfos.am \
+ %D%/texi-spec.am \
%D%/vala.am \
%D%/yacc.am
diff --git a/lib/am/am-dir.mk b/lib/am/am-dir.mk
new file mode 100644
index 000000000..d52728a78
--- /dev/null
+++ b/lib/am/am-dir.mk
@@ -0,0 +1,40 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2012-2014 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/>.
+
+# Internal make variables that point to a sandbox directory where we can
+# play freely to implement internal details that require interaction with
+# the filesystem. It is not created by default; recipes needing it
+# should add an order-only dependency on it, as in:
+#
+# am-rule: am-prereqs | $(am.dir)
+# [recipe creating/using files in $(am.dir)]
+#
+am.dir = .am
+
+# Its counterpart with an absolute path, for recipes that can chdir around.
+am.dir.abs = $(abs_builddir)/$(am.dir)
+
+# Its counterpart for use in subdir makefiles, in case they need to refer
+# to the top-level $(am.dir) directory.
+am.top-dir = $(top_builddir)/$(am.dir)
+
+# Its counterpart with an absolute path and for use in subdir makefiles.
+am.top-dir.abs = $(abs_top_builddir)/$(am.dir)
+
+am.clean.dist.d += $(am.dir)
+
+$(am.dir):
+ @mkdir $@
diff --git a/lib/am/check-typos.mk b/lib/am/check-typos.mk
new file mode 100644
index 000000000..8e676ecf7
--- /dev/null
+++ b/lib/am/check-typos.mk
@@ -0,0 +1,133 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2012-2014 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/>.
+##
+## See if any _SOURCES or similar variable were misspelled, as in:
+## bin_PROGRAMS = bar
+## baz_SOURCES = main.c # Should be bar_SOURCES.
+
+## FIXME: We should document the '.am/' namespace as reserved for automake
+## FIXME: internals somewhere.
+
+## FIXME: we should document the user-settable AM_FORCE_SANITY_CHECKS
+## FIXME: variable, and its semantics.
+
+# Running these checks unconditionally can be quite wasteful, especially
+# for projects with lots of programs. So run them only when the values
+# of the checked variables has possibly changed. For the moment, we assume
+# this can only happen if the Makefile has been updated since the later
+# check. And to give user more control, we also allow him to require these
+# checks run unconditionally, by setting AM_FORCE_SANITY_CHECKS to "yes".
+
+# The idiom we employ to implement our "lazy checking" relies on recursive
+# make invocations and creation of an auxiliary makefile fragments, and
+# such an approach do not interact very well with "make -n"; in such a case,
+# it's simpler and safer to go for "greedy checking".
+ifeq ($(am.make.dry-run),true)
+AM_FORCE_SANITY_CHECKS ?= yes
+endif
+
+ifeq ($(AM_FORCE_SANITY_CHECKS),yes)
+
+# Variables with these suffixes are candidates for typo checking.
+.am/vartypos/suffixes := _SOURCES _LIBADD _LDADD _LDFLAGS _DEPENDENCIES
+
+# But these variables are not, even if they match the patterns above.
+.am/vartypos/whitelisted-vars := \
+ AM_LDFLAGS \
+ BUILT_SOURCES \
+ TAGS_DEPENDENCIES \
+ CONFIG_STATUS_DEPENDENCIES \
+ CONFIGURE_DEPENDENCIES
+
+# The '*LOG_DEPENDENCIES' variables are used to declare extra dependencies
+# for test cases, but only when the parallel testsuite harness is in use.
+ifeq "$(am.conf.using-parallel-tests)" "yes"
+# Extension-less tests are always accepted.
+.am/vartypos/whitelisted-vars += LOG_DEPENDENCIES
+# We expect '.ext' to be a valid tests extension iff 'EXT_LOG_DRIVER' is
+# defined. Hence the following logic.
+.am/vartypos/whitelisted-vars += \
+ $(patsubst %_LOG_DRIVER,%_LOG_DEPENDENCIES, \
+ $(filter %_LOG_DRIVER,$(.VARIABLES)))
+endif
+
+# Allow the user to add his own whitelist.
+# FIXME: this is still undocumented!
+.am/vartypos/whitelisted-vars += $(AM_VARTYPOS_WHITELIST)
+
+# Canonicalized names of programs and libraries (vanilla or libtool) that
+# have been declared.
+.am/vartypos/known-canon-proglibs := \
+ $(sort $(call am.util.canon, $(am.all-progs) \
+ $(am.all-libs) \
+ $(am.all-ltlibs)))
+
+# Extract 'foo' from something like "EXTRA_nodist_foo_SOURCES".
+define .am/vartypos/canon-name-from-var
+$(call am.util.strip-suffixes, $(.am/vartypos/suffixes), \
+ $(patsubst dist_%,%, \
+ $(patsubst nodist_%,%, \
+ $(patsubst nobase_%,%, \
+ $(patsubst EXTRA_%,%, \
+ $1)))))
+endef
+
+define .am/vartypos/check
+$(eval $0/canon := $(call .am/vartypos/canon-name-from-var,$1))
+$(if $(filter $($0/canon),$(.am/vartypos/known-canon-proglibs)),, \
+ $(call am.error,variable '$1' is defined but no program) \
+ $(call am.error, or library has '$($0/canon)' as canonical name))
+endef
+
+# The variables candidate for checking of typos.
+.am/vartypos/candidate-vars := \
+ $(filter-out $(.am/vartypos/whitelisted-vars), \
+ $(filter $(addprefix %,$(.am/vartypos/suffixes)), \
+ $(.VARIABLES)))
+
+# Apparently useless use of eval required to avoid a spurious "missing
+# separator" error from GNU make.
+$(eval $(foreach v,$(.am/vartypos/candidate-vars), \
+ $(call .am/vartypos/check,$v)))
+
+else # $(AM_FORCE_SANITY_CHECKS) != yes
+
+# We use "-include" rather than "include" to avoid getting, on the first
+# make run in a clean tree, the following annoying warning:
+# Makefile: .am/check-typos-stamp.mk: No such file or directory
+# Although such a warning would *not* be an error in our setup, it still
+# is ugly and annoying enough to justify ...
+-include $(am.dir)/check-typos-stamp.mk
+
+# ... this workaround; which is required by the fact that, if a recipe
+# meant to rebuild a file included with "-include" file fails, the make
+# run itself is not considered failed (this is quite consistent with
+# the "-include" semantics).
+ifdef .am/sanity-checks-failed
+$(shell rm -f $(am.dir)/check-typos-stamp.mk)
+$(error Some Automake-NG sanity checks failed)
+else
+$(am.dir)/check-typos-stamp.mk: $(am.relpath.makefile) | $(am.dir)
+ @if \
+ $(MAKE) --no-print-directory AM_FORCE_SANITY_CHECKS=yes .am/nil; \
+ then \
+ echo "# stamp" > $@; \
+ else \
+ echo ".am/sanity-checks-failed = yes" > $@; \
+ fi
+endif
+
+endif # $(AM_FORCE_SANITY_CHECKS) != yes
diff --git a/lib/am/check.am b/lib/am/check.am
deleted file mode 100644
index 7bcffd53f..000000000
--- a/lib/am/check.am
+++ /dev/null
@@ -1,573 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 2001-2015 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/>.
-
-am__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-
-am__tty_colors = { \
- $(am__tty_colors_dummy); \
- if test "X$(AM_COLOR_TESTS)" = Xno; then \
- am__color_tests=no; \
- elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
- am__color_tests=yes; \
-## If stdout is a non-dumb tty, use colors. If test -t is not supported,
-## then this check fails; a conservative approach. Of course do not
-## redirect stdout here, just stderr.
- elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
- am__color_tests=yes; \
- fi; \
- if test $$am__color_tests = yes; then \
- red=''; \
- grn=''; \
- lgn=''; \
- blu=''; \
- mgn=''; \
- brg=''; \
- std=''; \
- fi; \
-}
-
-.PHONY: check-TESTS
-
-if !%?SERIAL_TESTS%
-
-include inst-vars.am
-
-## New parallel test driver.
-##
-## The first version of the code here was adapted from check.mk, which was
-## originally written at EPITA/LRDE, further developed at Gostai, then made
-## its way from GNU coreutils to end up, largely rewritten, in Automake.
-## The current version is an heavy rewrite of that, to allow for support
-## of more test metadata, and the use of custom test drivers and protocols
-## (among them, TAP).
-
-am__recheck_rx = ^[ ]*:recheck:[ ]*
-am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
-am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
-
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
-## By default, we assume the test is to be re-run.
- recheck = 1; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- { \
-## If we've encountered an I/O error here, there are three possibilities:
-##
-## [1] The '.log' file exists, but the '.trs' does not; in this case,
-## we "gracefully" recover by assuming the corresponding test is
-## to be re-run (which will re-create the missing '.trs' file).
-##
-## [2] Both the '.log' and '.trs' files are missing; this means that
-## the corresponding test has not been run, and is thus *not* to
-## be re-run.
-##
-## [3] We have encountered some corner-case problem (e.g., a '.log' or
-## '.trs' files somehow made unreadable, or issues with a bad NFS
-## connection, or whatever); we don't handle such corner cases.
-##
- if ((getline line2 < ($$0 ".log")) < 0) \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
-## A directive explicitly specifying the test is *not* to be re-run.
- { \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
- { \
-## A directive explicitly specifying the test *is* to be re-run.
- break; \
- } \
-## else continue with the next iteration.
- }; \
- if (recheck) \
- print $$0; \
-## Don't leak open file descriptors, as this could cause serious
-## problems when there are many tests (yes, even on Linux).
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
- print "fatal: making $@: " msg | "cat >&2"; \
- exit 1; \
-} \
-function rst_section(header) \
-{ \
- print header; \
- len = length(header); \
- for (i = 1; i <= len; i = i + 1) \
- printf "="; \
- printf "\n\n"; \
-} \
-{ \
-## By default, we assume the test log is to be copied in the global log,
-## and that its result is simply "RUN" (i.e., we still don't know what
-## it outcome was, but we know that at least it has run).
- copy_in_global_log = 1; \
- global_test_result = "RUN"; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".trs"); \
- if (line ~ /$(am__global_test_result_rx)/) \
- { \
- sub("$(am__global_test_result_rx)", "", line); \
- sub("[ ]*$$", "", line); \
- global_test_result = line; \
- } \
- else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
- copy_in_global_log = 0; \
- }; \
- if (copy_in_global_log) \
- { \
- rst_section(global_test_result ": " $$0); \
- while ((rc = (getline line < ($$0 ".log"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".log"); \
- print line; \
- }; \
- printf "\n"; \
- }; \
-## Don't leak open file descriptors, as this could cause serious
-## problems when there are many tests (yes, even on Linux).
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-
-# Restructured Text title.
-am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-
-# Default flags passed to test drivers.
-am__common_driver_flags = \
- --color-tests "$$am__color_tests" \
- --enable-hard-errors "$$am__enable_hard_errors" \
- --expect-failure "$$am__expect_failure"
-
-# To be inserted before the command running the test. Creates the
-# directory for the log if needed. Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup); \
-$(am__vpath_adj_setup) $(am__vpath_adj) \
-$(am__tty_colors); \
-srcdir=$(srcdir); export srcdir; \
-case "$@" in \
- */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
- *) am__odir=.;; \
-esac; \
-test "x$$am__odir" = x"." || test -d "$$am__odir" \
- || $(MKDIR_P) "$$am__odir" || exit $$?; \
-if test -f "./$$f"; then dir=./; \
-elif test -f "$$f"; then dir=; \
-else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; \
-if test -n '$(DISABLE_HARD_ERRORS)'; then \
- am__enable_hard_errors=no; \
-else \
- am__enable_hard_errors=yes; \
-fi; \
-## The use of $dir below is required to account for VPATH
-## rewriting done by Sun make.
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- am__expect_failure=yes;; \
- *) \
- am__expect_failure=no;; \
-esac; \
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed). The result is saved in the shell variable
-# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
- bases='$(TEST_LOGS)'; \
- bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
-## Trim away any extra whitespace. This has already proved useful
-## in avoiding weird bug on lesser make implementations. It also
-## works around the GNU make 3.80 bug where trailing whitespace in
-## "TESTS = foo.test $(empty)" causes $(TESTS_LOGS) to erroneously
-## expand to "foo.log .log".
- bases=`echo $$bases`
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
- rm -f $< $@
- $(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
- @:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__set_TESTS_bases); \
-## Helper shell function, tells whether a path refers to an existing,
-## regular, readable file.
- am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
-## We need to ensures that all the required '.trs' and '.log' files will
-## be present and readable. The direct dependencies of $(TEST_SUITE_LOG)
-## only ensure that all the '.log' files exists; they don't ensure that
-## the '.log' files are readable, and worse, they don't ensure that the
-## '.trs' files even exist.
- redo_bases=`for i in $$bases; do \
- am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
- done`; \
- if test -n "$$redo_bases"; then \
-## Uh-oh, either some '.log' files were unreadable, or some '.trs' files
-## were missing (or unreadable). We need to re-run the corresponding
-## tests in order to re-create them.
- redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
- redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
- if $(am__make_dryrun); then :; else \
-## Break "rm -f" into two calls to minimize the possibility of exceeding
-## command line length limits.
- rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
- fi; \
- fi; \
-## Use a trick to to ensure that we don't go into an infinite recursion
-## in case a test log in $(TEST_LOGS) is the same as $(TEST_SUITE_LOG).
-## Yes, this has already happened in practice. Sigh!
- if test -n "$$am__remaking_logs"; then \
- echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
- "recursion detected" >&2; \
-## Invoking this unconditionally could cause a useless "make all" to
-## be invoked when '$redo_logs' expands to empty (automake bug#16302).
- elif test -n "$$redo_logs"; then \
- am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
- fi; \
- if $(am__make_dryrun); then :; else \
-## Sanity check: each unreadable or non-existent test result file should
-## has been properly remade at this point, as should the corresponding log
-## file.
- st=0; \
- errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
- for i in $$redo_bases; do \
- test -f $$i.trs && test -r $$i.trs \
- || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
- test -f $$i.log && test -r $$i.log \
- || { echo "$$errmsg $$i.log" >&2; st=1; }; \
- done; \
- test $$st -eq 0 || exit 1; \
- fi
-## We need a new subshell to work portably with "make -n", since the
-## previous part of the recipe contained a $(MAKE) invocation.
- @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
- ws='[ ]'; \
-## List of test result files.
- results=`for b in $$bases; do echo $$b.trs; done`; \
- test -n "$$results" || results=/dev/null; \
-## Prepare data for the test suite summary. These do not take into account
-## unreadable test results, but they'll be appropriately updated later if
-## needed.
- all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
- pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
- fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
- skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
- xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
- xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
- error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
-## Whether the testsuite was successful or not.
- if test `expr $$fail + $$xpass + $$error` -eq 0; then \
- success=true; \
- else \
- success=false; \
- fi; \
-## Make $br a line of exactly 76 '=' characters, that will be used to
-## enclose the testsuite summary report when displayed on the console.
- br='==================='; br=$$br$$br$$br$$br; \
-## When writing the test summary to the console, we want to color a line
-## reporting the count of some result *only* if at least one test
-## experienced such a result. This function is handy in this regard.
- result_count () \
- { \
- if test x"$$1" = x"--maybe-color"; then \
- maybe_colorize=yes; \
- elif test x"$$1" = x"--no-color"; then \
- maybe_colorize=no; \
- else \
- echo "$@: invalid 'result_count' usage" >&2; exit 4; \
- fi; \
- shift; \
- desc=$$1 count=$$2; \
- if test $$maybe_colorize = yes && test $$count -gt 0; then \
- color_start=$$3 color_end=$$std; \
- else \
- color_start= color_end=; \
- fi; \
- echo "$${color_start}# $$desc $$count$${color_end}"; \
- }; \
-## A shell function that creates the testsuite summary. We need it
-## because we have to create *two* summaries, one for test-suite.log,
-## and a possibly-colorized one for console output.
- create_testsuite_report () \
- { \
- result_count $$1 "TOTAL:" $$all "$$brg"; \
- result_count $$1 "PASS: " $$pass "$$grn"; \
- result_count $$1 "SKIP: " $$skip "$$blu"; \
- result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
- result_count $$1 "FAIL: " $$fail "$$red"; \
- result_count $$1 "XPASS:" $$xpass "$$red"; \
- result_count $$1 "ERROR:" $$error "$$mgn"; \
- }; \
-## Write "global" testsuite log.
- { \
- echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
- $(am__rst_title); \
- create_testsuite_report --no-color; \
- echo; \
- echo ".. contents:: :depth: 2"; \
- echo; \
- for b in $$bases; do echo $$b; done \
- | $(am__create_global_log); \
- } >$(TEST_SUITE_LOG).tmp || exit 1; \
- mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
-## Emit the test summary on the console.
- if $$success; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
- fi; \
-## Multi line coloring is problematic with "less -R", so we really need
-## to color each line individually.
- echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
- echo "$${col}$$br$${std}"; \
-## This is expected to go to the console, so it might have to be colorized.
- create_testsuite_report --maybe-color; \
- echo "$$col$$br$$std"; \
- if $$success; then :; else \
- echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
- if test -n "$(PACKAGE_BUGREPORT)"; then \
- echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
- fi; \
- echo "$$col$$br$$std"; \
- fi; \
-## Be sure to exit with the proper exit status. The use of "exit 1" below
-## is required to work around a FreeBSD make bug (present only when running
-## in concurrent mode). See automake bug#9245:
-## <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
-## and FreeBSD PR bin/159730:
-## <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>.
- $$success || exit 1
-
-RECHECK_LOGS = $(TEST_LOGS)
-
-## ------------------------------------------ ##
-## Running all tests, or rechecking failures. ##
-## ------------------------------------------ ##
-
-check-TESTS:
- @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
- @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
-## We always have to remove $(TEST_SUITE_LOG), to ensure its rule is run
-## in any case even in lazy mode: otherwise, if no test needs rerunning,
-## or a prior run plus reruns all happen within the same timestamp (can
-## happen with a prior "make TESTS=<subset>"), then we get no log output.
-## OTOH, this means that, in the rule for '$(TEST_SUITE_LOG)', we
-## cannot use '$?' to compute the set of lazily rerun tests, lest
-## we rely on .PHONY to work portably.
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- trs_list=`for i in $$bases; do echo $$i.trs; done`; \
-## Remove newlines and normalize whitespace. Trailing (and possibly
-## leading) whitespace is known to cause segmentation faults on
-## Solaris 10 XPG4 make.
- log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
-## Be sure to exit with the proper exit status (automake bug#9245). See
-## comments in the recipe of $(TEST_SUITE_LOG) above for more information.
- exit $$?;
-
-## Recheck must depend on $(check_SCRIPTS), $(check_PROGRAMS), etc.
-## It must also depend on the 'all' target. See automake bug#11252.
-recheck: all %CHECK_DEPS%
-## See comments above in the check-TESTS recipe for why remove
-## $(TEST_SUITE_LOG) here.
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
-## We must only consider tests that had an unexpected outcome (FAIL
-## or XPASS) in the earlier run.
- bases=`for i in $$bases; do echo $$i; done \
- | $(am__list_recheck_tests)` || exit 1; \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
-## Remove newlines and normalize whitespace. Trailing (and possibly
-## leading) whitespace is known to cause segmentation faults on
-## Solaris 10 XPG4 make.
- log_list=`echo $$log_list`; \
-## Move the '.log' and '.trs' files associated with the tests to be
-## re-run out of the way, so that those tests will be re-run by the
-## "make test-suite.log" recursive invocation below.
-## Two tricky requirements:
-## - we must avoid extra files removal when running under "make -n";
-## - in case the test is a compiled program whose compilation fails,
-## we must ensure that any '.log' and '.trs' file referring to such
-## test are preserved, so that future "make recheck" invocations
-## will still try to re-compile and re-run it (automake bug#11791).
-## The tricky recursive make invocation below should cater to such
-## requirements.
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
- am__force_recheck=am--force-recheck \
- TEST_LOGS="$$log_list"; \
-## Be sure to exit with the proper exit status (automake bug#9245). See
-## comments in the recipe of $(TEST_SUITE_LOG) above for more information.
- exit $$?
-
-AM_RECURSIVE_TARGETS += check recheck
-
-.PHONY: recheck
-
-else %?SERIAL_TESTS%
-
-## Obsolescent serial testsuite driver.
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
-## Make sure Solaris VPATH-expands all members of this list, even
-## the first and the last one; thus the spaces around $(TESTS)
- list=' $(TESTS) '; \
- $(am__tty_colors); \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
-## Note: Solaris 2.7 seems to expand TESTS using VPATH. That's
-## why we also try 'dir='.
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
-## Success
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- col=$$red; res=XPASS; \
- ;; \
- *) \
- col=$$grn; res=PASS; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
-## Failure
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xfail=`expr $$xfail + 1`; \
- col=$$lgn; res=XFAIL; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- col=$$red; res=FAIL; \
- ;; \
- esac; \
- else \
-## Skipped
- skip=`expr $$skip + 1`; \
- col=$$blu; res=SKIP; \
- fi; \
- echo "$${col}$$res$${std}: $$tst"; \
- done; \
-## Prepare the banner
- if test "$$all" -eq 1; then \
- tests="test"; \
- All=""; \
- else \
- tests="tests"; \
- All="All "; \
- fi; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="$$All$$all $$tests passed"; \
- else \
- if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
- banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all $$tests failed"; \
- else \
- if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
- banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
- fi; \
- fi; \
-## DASHES should contain the largest line of the banner.
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- if test "$$skip" -eq 1; then \
- skipped="($$skip test was not run)"; \
- else \
- skipped="($$skip tests were not run)"; \
- fi; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- if test "$$failed" -eq 0; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- fi; \
-## Multi line coloring is problematic with "less -R", so we really need
-## to color each line individually.
- echo "$${col}$$dashes$${std}"; \
- echo "$${col}$$banner$${std}"; \
- test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
- test -z "$$report" || echo "$${col}$$report$${std}"; \
- echo "$${col}$$dashes$${std}"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-endif %?SERIAL_TESTS%
diff --git a/lib/am/check2.am b/lib/am/check2.am
deleted file mode 100644
index b94d9cc1d..000000000
--- a/lib/am/check2.am
+++ /dev/null
@@ -1,60 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 2008-2015 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/>.
-
-if %?FIRST%
-## When BSD make is run in parallel mode, it apparently strips any
-## leading directory component from the automatic variable '$*' (of
-## course, against what POSIX mandates). Try to detect and work
-## around this incompatibility.
-am__set_b = \
- case '$@' in \
- */*) \
- case '$*' in \
- */*) b='$*';; \
- *) b=`echo '$@' | sed 's/\.log$$//'`; \
- esac;; \
- *) \
- b='$*';; \
- esac
-endif %?FIRST%
-
-## From a test file to a .log and .trs file.
-?GENERIC?%EXT%.log:
-?!GENERIC?%OBJ%: %SOURCE%
- @p='%SOURCE%'; \
-## Another hack to support BSD make in parallel mode.
-?!GENERIC? b='%BASE%'; \
-?GENERIC? $(am__set_b); \
- $(am__check_pre) %DRIVER% --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) %DRIVER_FLAGS% -- %COMPILE% \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-
-## If no programs are built in this package, then this rule is removed
-## at automake time. Otherwise, %am__EXEEXT% expands to a configure time
-## conditional, true if $(EXEEXT) is nonempty, thus this rule does not
-## conflict with the previous one.
-if %am__EXEEXT%
-?GENERIC?%EXT%$(EXEEXT).log:
- @p='%SOURCE%'; \
- ## Another hack to support BSD make in parallel mode.
-?!GENERIC? b='%BASE%'; \
-?GENERIC? $(am__set_b); \
- $(am__check_pre) %DRIVER% --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) %DRIVER_FLAGS% -- %COMPILE% \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-endif %am__EXEEXT%
diff --git a/lib/am/clean-hdr.am b/lib/am/clean-hdr.am
deleted file mode 100644
index 82f22fdbf..000000000
--- a/lib/am/clean-hdr.am
+++ /dev/null
@@ -1,20 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 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/>.
-
-.PHONY: distclean-hdr
-distclean-am: distclean-hdr
-distclean-hdr:
- -rm -f %FILES%
diff --git a/lib/am/clean.am b/lib/am/clean.am
deleted file mode 100644
index 439b876ff..000000000
--- a/lib/am/clean.am
+++ /dev/null
@@ -1,62 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 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/>.
-
-## We must test each macro because it might be empty, and an empty "rm
-## -rf" command looks disturbing. Also, the Solaris 2.4 "rm" will
-## return an error if there are no arguments other than "-f".
-mostlyclean-am: mostlyclean-generic
-mostlyclean-generic:
-%MOSTLYCLEAN_RMS%
-
-clean-am: clean-generic mostlyclean-am
-clean-generic:
-%CLEAN_RMS%
-
-distclean-am: distclean-generic clean-am
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-%DISTCLEAN_RMS%
-
-## Makefiles and their dependencies cannot be cleaned by
-## an -am dependency, because that would prevent other distclean
-## dependencies from calling make recursively. (The multilib
-## cleaning rules do this.)
-##
-## If you change distclean here, you probably also want to change
-## maintainer-clean below.
-distclean:
- -rm -f %MAKEFILE%
-
-maintainer-clean-am: maintainer-clean-generic distclean-am
-maintainer-clean-generic:
-## FIXME: shouldn't we really print these messages before running
-## the dependencies?
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-%MAINTAINER_CLEAN_RMS%
-
-## See comment for distclean.
-maintainer-clean:
- -rm -f %MAKEFILE%
-
-.PHONY: clean mostlyclean distclean maintainer-clean \
-clean-generic mostlyclean-generic distclean-generic maintainer-clean-generic
-
-?!SUBDIRS?clean: clean-am
-?!SUBDIRS?distclean: distclean-am
-?!SUBDIRS?mostlyclean: mostlyclean-am
-?!SUBDIRS?maintainer-clean: maintainer-clean-am
diff --git a/lib/am/clean.mk b/lib/am/clean.mk
new file mode 100644
index 000000000..1f745c4b7
--- /dev/null
+++ b/lib/am/clean.mk
@@ -0,0 +1,78 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994-2014 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/>.
+
+am.clean.mostly.f += $(MOSTLYCLEANFILES)
+am.clean.normal.f += $(CLEANFILES)
+am.clean.dist.f += $(DISTCLEANFILES)
+am.clean.maint.f += $(MAINTAINERCLEANFILES)
+
+# Add files computed automatically by the automake script, at automake
+# runtime.
+$(foreach t,f d, \
+ $(foreach k, mostly normal dist maint, \
+ $(eval am.clean.$k.$t += $(am.clean.$k.$t.auto))))
+
+am.clean.dist.f += $(CONFIG_CLEAN_FILES)
+
+# Some files must be cleaned only in VPATH builds -- e.g., those linked
+# in usages like "AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])".
+ifneq ($(srcdir),.)
+am.clean.dist.f += $(CONFIG_CLEAN_VPATH_FILES)
+endif
+
+# Built sources are automatically removed by maintainer-clean.
+# This is what mainline Automake does.
+am.clean.maint.f += $(BUILT_SOURCES)
+
+mostlyclean-am: mostlyclean-generic
+mostlyclean-generic:
+ $(call am.clean-cmd.f,$(am.clean.mostly.f))
+ $(call am.clean-cmd.d,$(am.clean.mostly.d))
+
+clean-am: clean-generic mostlyclean-am
+clean-generic:
+ $(call am.clean-cmd.f,$(am.clean.normal.f))
+ $(call am.clean-cmd.d,$(am.clean.normal.d))
+
+distclean-am: distclean-generic clean-am
+distclean-generic:
+ $(call am.clean-cmd.f,$(am.clean.dist.f))
+ $(call am.clean-cmd.d,$(am.clean.dist.d))
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+maintainer-clean-generic:
+ $(call am.clean-cmd.f,$(am.clean.maint.f))
+ $(call am.clean-cmd.d,$(am.clean.maint.d))
+
+# Makefiles and their dependencies cannot be cleaned by an '-am'
+# dependency, because that would prevent other distclean dependencies
+# from calling make recursively (the multilib cleaning used to do
+# this, and it's not unreasonable to expect user-defined rules might
+# do that as well).
+distclean:
+ rm -f $(am.relpath.makefile) $(am.clean.config-files)
+maintainer-clean:
+ rm -f $(am.relpath.makefile) $(am.clean.config-files)
+
+.PHONY: clean mostlyclean distclean maintainer-clean \
+clean-generic mostlyclean-generic distclean-generic maintainer-clean-generic
+
+ifndef SUBDIRS
+clean: clean-am
+distclean: distclean-am
+mostlyclean: mostlyclean-am
+maintainer-clean: maintainer-clean-am
+endif
diff --git a/lib/am/color-tests.mk b/lib/am/color-tests.mk
new file mode 100644
index 000000000..83f983475
--- /dev/null
+++ b/lib/am/color-tests.mk
@@ -0,0 +1,43 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001-2014 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/>.
+
+define am.test-suite.tty-colors
+{ \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+## If stdout is a non-dumb tty, use colors. If test -t is not supported,
+## then this check fails; a conservative approach. Of course do not
+## redirect stdout here, just stderr.
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ else \
+ am__color_tests=no; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ else \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ fi; \
+}
+endef
diff --git a/lib/am/common-targets.mk b/lib/am/common-targets.mk
new file mode 100644
index 000000000..349cbfa5f
--- /dev/null
+++ b/lib/am/common-targets.mk
@@ -0,0 +1,174 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001-2014 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/>.
+
+## Handle our "flagship" targets 'all', 'install' and 'check', as
+## well as timely creation of config headers and $(BUILT_SOURCES).
+
+# ------------------- #
+# The 'all' target. #
+# ------------------- #
+
+.PHONY: all all-am all-local
+ifdef SUBDIRS
+.PHONY: all-recursive
+endif
+
+all-am: all-local $(am.all.targets)
+all: $(if $(SUBDIRS),all-recursive,all-am)
+
+# --------------------- #
+# The 'check' target. #
+# --------------------- #
+
+.PHONY: check check-am check-local
+ifdef SUBDIRS
+.PHONY: check-recursive
+endif
+
+# 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 dependencies, and finally run the actual tests (as given
+# by $(TESTS), by DejaGNU, and by the 'check-local' target).
+am.test-suite.check-targets = check-DEJAGNU check-TESTS check-local
+.PHONY: $(am.test-suite.check-targets)
+check-am: $(am.test-suite.check-targets)
+$(am.test-suite.check-targets): all-am $(am.test-suite.deps)
+
+check: $(if $(SUBDIRS),check-recursive,check-am)
+
+## ----------------------------------------- ##
+## installdirs -- Creating the installdirs. ##
+## ----------------------------------------- ##
+
+.PHONY: installdirs installdirs-local
+ifdef SUBDIRS
+.PHONY: installdirs-am
+RECURSIVE_TARGETS += installdirs-recursive
+installdirs: installdirs-recursive
+endif
+
+$(if $(SUBDIRS),installdirs-am,installdirs): installdirs-local
+ifdef am__installdirs
+# The reason we loop over $(am__installdirs), instead of simply running
+# "$(MKDIR_P) $(am__installdirs), is that directories variable such as
+# "$(DESTDIR)$(mydir)" can potentially expand to "" if $(mydir) is
+# conditionally defined. BTW, directories in $(am__installdirs) are
+# already quoted in order to support installation paths with spaces.
+ for dir in $(am__installdirs); do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+endif
+
+# ------------------ #
+# Install targets. #
+# ------------------ #
+
+.PHONY: install install-exec install-data uninstall
+.PHONY: install-exec-am install-data-am uninstall-am
+
+ifdef SUBDIRS
+RECURSIVE_TARGETS += install-data-recursive install-exec-recursive
+RECURSIVE_TARGETS += install-recursive uninstall-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+else
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+endif
+
+install: $(if $(SUBDIRS),install-recursive,install-am)
+
+.PHONY: install-am
+install-am: all-am
+ @$(MAKE) install-exec-am install-data-am
+
+
+.PHONY: installcheck
+ifdef SUBDIRS
+installcheck: installcheck-recursive
+else
+installcheck: installcheck-am
+.PHONY: installcheck-am
+installcheck-am:
+endif
+
+## If you ever modify this, keep in mind that INSTALL_PROGRAM is used
+## in subdirectories, so never set it to a value relative to the top
+## directory.
+.PHONY: install-strip
+## Beware that there are two variables used to install programs:
+## INSTALL_PROGRAM is used for ordinary *_PROGRAMS
+## install_sh_PROGRAM is used for nobase_*_PROGRAMS (because install-sh
+## creates directories)
+## It's OK to override both with INSTALL_STRIP_PROGRAM, because
+## INSTALL_STRIP_PROGRAM uses install-sh (see m4/strip.m4 for a rationale).
+##
+## Use double quotes for the *_PROGRAM settings because we might need to
+## interpolate some backquotes at runtime.
+##
+## The case for empty $(STRIP) is separate so that it is quoted correctly for
+## multiple words, but does not expand to an empty words if STRIP is empty.
+install-strip:
+ $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ $(if $(STRIP),"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'") \
+ install
+
+# Allow parallel install with forced relink. See commit Automake bd4a1d5
+# of 2000-10-19 for a little more background.
+# FIXME: this is gross, and is debatable how useful and/or needed this
+# workaround still is today. This is something that should be eventually
+# discussed with the Libtool guys.
+ifdef bin_PROGRAMS
+ ifdef lib_LTLIBRARIES
+ install-binPROGRAMS: install-libLTLIBRARIES
+ endif
+ ifdef nobase_lib_LTLIBRARIES
+ install-binPROGRAMS: install-nobase_libLTLIBRARIES
+ endif
+endif
+
+# -------------------------------------- #
+# $(BUILT_SOURCES) and config headers. #
+# -------------------------------------- #
+
+# We need to make sure $(BUILT_SOURCES) files are built before
+# any "ordinary" target (all, check, install, ...) is run.
+# Ditto for config.h (or files specified in AC_CONFIG_HEADERS).
+# But of course, we shouldn't attempt to build any of them when
+# running in dry mode.
+am.built-early = $(am.config-hdr.local) $(BUILT_SOURCES)
+ifeq ($(am.make.dry-run),true)
+# A trick to make the "make -n" output more useful, albeit not
+# completely accurate.
+all check install: | $(am.built-early)
+else
+# Also, with this implementation, a recursive make call in the recipe
+# of any $(BUILT_SOURCES) (or any of its prerequisites) could cause an
+# infinite recursion (complete with fork bomb, yuck), if we are not
+# careful. The following hack takes care of the problem.
+$(am.built-early): am.hack.making-built-sources = yes
+export am.hack.making-built-sources
+ifndef am.hack.making-built-sources
+$(foreach x,$(am.built-early),$(eval -include .am/built-sources/$(x)))
+.am/built-sources/%: | %
+ @$(am.cmd.ensure-target-dir-exists)
+ @touch $@
+endif
+endif
diff --git a/lib/am/compile.am b/lib/am/compile.am
index 86c016bfd..af0537484 100644
--- a/lib/am/compile.am
+++ b/lib/am/compile.am
@@ -14,16 +14,15 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-DEFAULT_INCLUDES = %DEFAULT_INCLUDES%
-
-mostlyclean-am: mostlyclean-compile
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-?MOSTLYRMS?%MOSTLYRMS%
-
-distclean-am: distclean-compile
-distclean-compile:
- -rm -f *.tab.c
-?DISTRMS?%DISTRMS%
-
-.PHONY: mostlyclean-compile distclean-compile
+if %?STDINC%
+AM_DEFAULT_INCLUDES = \
+ $(call am.memoize,AM_DEFAULT_INCLUDES,$(strip \
+## We want '-I. -I$(srcdir)', but the latter -I is redundant and
+## unaesthetic in non-VPATH builds, so get rid of it if it is not
+## actually needed.
+ $(call am.util.uniq, -I. -I$(srcdir) \
+ $(foreach h, $(AM_CONFIG_HEADERS), \
+ $(patsubst %/,%,-I$(dir $h))))))
+else !%?STDINC%
+AM_DEFAULT_INCLUDES =
+endif !%?STDINC%
diff --git a/lib/am/configure.am b/lib/am/configure.am
index 0f1abac38..c2375573d 100644
--- a/lib/am/configure.am
+++ b/lib/am/configure.am
@@ -14,54 +14,44 @@
## 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 dummy rule is called from subdirectories whenever one of the
-## top-level Makefile's dependencies must be updated. It does depend
-## on %MAKEFILE% for the benefit of non-GNU make implementations (GNU
-## make will always make sure %MAKEFILE% is updated before considering
-## the am--refresh target anyway).
-if %?TOPDIR_P%
-.PHONY: am--refresh
-am--refresh: %MAKEFILE%
- @:
-endif %?TOPDIR_P%
-
## --------------------- ##
## Building Makefile.*. ##
## --------------------- ##
## This rule remakes the Makefile.in.
-%MAKEFILE-IN%: %MAINTAINER-MODE% %MAKEFILE-AM% %MAKEFILE-IN-DEPS% $(am__configure_deps)
+$(am.relpath.makefile.in): $(am.relpath.makefile.am) \
+ $(am.remake.configure-deps) \
+ %MAKEFILE-IN-DEPS%
## If configure.ac or one of configure's dependencies has changed, all
## Makefile.in are to be updated; it is then more efficient to run
## automake on all the Makefiles at once. It also allow Automake to be
## run for newly added directories.
@for dep in $?; do \
- case '$(am__configure_deps)' in \
+ case '$(am.remake.configure-deps)' in \
*$$dep*) \
?TOPDIR_P? echo ' cd $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS%'; \
-?TOPDIR_P? $(am__cd) $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% \
+?TOPDIR_P? cd $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% \
?TOPDIR_P? && exit 0; \
-?!TOPDIR_P? ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+?!TOPDIR_P? ( cd $(top_builddir) && $(MAKE) .am/nil ) \
## If on the other hand, subdir/Makefile.in has been removed, then toplevel
-## am--refresh will not be aware of any need to run. We still invoke it
-## due to $? listing all prerequisites. Fix up for it by running the rebuild
-## rule for this file only, below.
+## .am/nil will not be aware of any need to run. We still invoke it due to
+## $? listing all prerequisites. Fix up for it by running the rebuild rule
+## for this file only, below.
?!TOPDIR_P? && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
## Otherwise, rebuild only this file.
echo ' cd $(top_srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% %MAKEFILE-AM-SOURCES%'; \
- $(am__cd) $(top_srcdir) && \
+ cd $(top_srcdir) && \
$(AUTOMAKE) %AUTOMAKE-OPTIONS% %MAKEFILE-AM-SOURCES%
## Ensure that GNU make doesn't remove Makefile if ./config.status (below)
## is interrupted. Otherwise, the user would need to know to rerun
## ./config.status to recreate the lost Makefile.
-.PRECIOUS: %MAKEFILE%
+.PRECIOUS: $(am.relpath.makefile)
## This rule remakes the Makefile.
-%MAKEFILE%: %MAKEFILE-DEPS% $(top_builddir)/config.status
+$(am.relpath.makefile): %MAKEFILE-DEPS% $(top_builddir)/config.status
## If Makefile is to be updated because of config.status, then run
## config.status without argument in order to (i) rerun all the
## AC_CONFIG_COMMANDS including those that are not visible to
@@ -74,22 +64,20 @@ endif %?TOPDIR_P%
*config.status*) \
?TOPDIR_P? echo ' $(SHELL) ./config.status'; \
?TOPDIR_P? $(SHELL) ./config.status;; \
-?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+?!TOPDIR_P? cd $(top_builddir) && $(MAKE) .am/nil;; \
*) \
-## FIXME: $(am__depfiles_maybe) lets us re-run the rule to create the
-## .P files. Ideally we wouldn't have to do this by hand.
- echo ' cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE% $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE% $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE%'; \
+ cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE%;; \
esac;
## Avoid the "deleted header file" problem for the dependencies.
-## Add the trailing "$(am__empty)" to trick Automake into not spuriously
+## Add the trailing "$(am.chars.empty)" to trick Automake into not spuriously
## complaining about "duplicated targets" in case the %MAKEFILE-IN-DEPS%
## list expands to a single target that is also declared in some
## user-defined rule.
-?HAVE-MAKEFILE-IN-DEPS?%MAKEFILE-IN-DEPS% $(am__empty):
+?HAVE-MAKEFILE-IN-DEPS?%MAKEFILE-IN-DEPS% $(am.chars.empty):
-DIST_COMMON += %MAKEFILE-AM%
+am.dist.common-files += $(am.relpath.makefile.am)
## --------------------------- ##
@@ -101,16 +89,16 @@ if %?TOPDIR_P%
## don't exist. This is especially important for configure, since it
## won't be created until autoconf is run -- which might be after
## automake is run.
-DIST_COMMON += $(top_srcdir)/configure $(am__configure_deps)
+am.dist.common-files += $(top_srcdir)/configure $(am.remake.configure-deps)
endif %?TOPDIR_P%
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
?TOPDIR_P? $(SHELL) ./config.status --recheck
-?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+?!TOPDIR_P? cd $(top_builddir) && $(MAKE) .am/nil
-$(top_srcdir)/configure: %MAINTAINER-MODE% $(am__configure_deps)
-?TOPDIR_P? $(am__cd) $(srcdir) && $(AUTOCONF)
-?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(top_srcdir)/configure: $(am.remake.configure-deps)
+?TOPDIR_P? cd $(srcdir) && $(AUTOCONF)
+?!TOPDIR_P? cd $(top_builddir) && $(MAKE) .am/nil
## ------------ ##
@@ -120,17 +108,17 @@ $(top_srcdir)/configure: %MAINTAINER-MODE% $(am__configure_deps)
## 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.
+## the $(am.remake.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)
-?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am.remake.aclocal-m4): $(am.remake.aclocal-m4-deps)
+?TOPDIR_P? cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+?!TOPDIR_P? cd $(top_builddir) && $(MAKE) .am/nil
## Avoid the "deleted header file" problem for the dependencies.
-$(am__aclocal_m4_deps):
+$(am.remake.aclocal-m4-deps):
endif %?REGEN-ACLOCAL-M4%
@@ -144,23 +132,23 @@ endif %?REGEN-ACLOCAL-M4%
## Makefile depends on config.status.
if %?TOPDIR_P%
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-distclean:
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-## Note: you might think we should remove Makefile.in, configure, or
-## aclocal.m4 here in a maintainer-clean rule. However, the GNU
-## Coding Standards explicitly prohibit this.
+## This variable is used in 'clean.am'. See the comments to the
+## 'distclean' and 'maintainer-clean' targets there to understand
+## why we cannot simply append this to $(am.clean.dist.f) or
+## $(am.clean.maint.f).
+am.clean.config-files = \
+ config.status \
+ config.cache \
+ config.log \
+ configure.lineno \
+ config.status.lineno
-maintainer-clean:
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
## autom4te.cache is created by Autoconf; the only valid target to
## remove it is maintainer-clean, not distclean.
## If you have an autom4te.cache that cause distcheck to fail, then
## it is good news: you finally discovered that autoconf and/or
## autoheader is needed to use your tarball, which is wrong.
- -rm -rf $(top_srcdir)/autom4te.cache
-
+am.clean.maint.d += $(top_srcdir)/autom4te.cache
endif %?TOPDIR_P%
diff --git a/lib/am/data.am b/lib/am/data.am
index fb21d4c6a..038801ce8 100644
--- a/lib/am/data.am
+++ b/lib/am/data.am
@@ -14,10 +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/>.
-if %?INSTALL%
-include inst-vars.am
-endif %?INSTALL%
-
## ------------ ##
## Installing. ##
## ------------ ##
@@ -77,10 +73,10 @@ if %?INSTALL%
.PHONY uninstall-am: uninstall-%DIR%%PRIMARY%
uninstall-%DIR%%PRIMARY%:
@$(NORMAL_UNINSTALL)
- @list='$(%DIR%_%PRIMARY%)'; test -n "$(%NDIR%dir)" || list=; \
-?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
- dir='$(DESTDIR)$(%NDIR%dir)'; $(am__uninstall_files_from_dir)
+ $(call am.uninst.cmd,$(%NDIR%dir), \
+?BASE? $(notdir $(%DIR%_%PRIMARY%)) \
+?!BASE? $(patsubst $(srcdir)/%,%,$(%DIR%_%PRIMARY%)) \
+ )
endif %?INSTALL%
@@ -96,5 +92,5 @@ endif %?INSTALL%
## -------------- ##
if %?DIST%
-DIST_COMMON += %DISTVAR%
+am.dist.common-files += %DISTVAR%
endif %?DIST%
diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.mk
index 84e57d899..4fec2b2ee 100644
--- a/lib/am/dejagnu.am
+++ b/lib/am/dejagnu.mk
@@ -14,19 +14,23 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-## Name of tool to use. Default is the same as the package.
+# Name of tool to use. Default is the same as the package.
+ifeq ($(call am.vars.is-undef,DEJATOOL),yes)
DEJATOOL = $(PACKAGE)
+endif
-## Default flags to pass to dejagnu. The user can override this.
+# Default flags to pass to dejagnu. The user can override this.
+ifeq ($(call am.vars.is-undef,$(RUNTESTDEFAULTFLAGS)),yes)
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+endif
-EXPECT = expect
-RUNTEST = runtest
-
+# FIXME: is a good idea to let this being overridden from the
+# environment?
+EXPECT ?= expect
+RUNTEST ?= runtest
.PHONY: check-DEJAGNU
check-DEJAGNU: site.exp
-## Life is easiest with an absolute srcdir, so do that.
srcdir='$(srcdir)'; export srcdir; \
EXPECT=$(EXPECT); export EXPECT; \
## If runtest can't be found, print a warning but don't die. It is
@@ -41,13 +45,9 @@ check-DEJAGNU: site.exp
exit $$exit_status
-## ------------------- ##
-## Building site.exp. ##
-## ------------------- ##
-
-## Note that in the rule we don't directly generate site.exp to avoid
-## the possibility of a corrupted site.exp if make is interrupted.
-## Jim Meyering has some useful text on this topic.
+# Note that in the rule we don't directly generate site.exp to avoid
+# the possibility of a corrupted site.exp if make is interrupted.
+# Jim Meyering has some useful text on this topic.
site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
@echo 'Making a new site.exp file ...'
@echo '## these variables are automatically generated by make ##' >site.tmp
@@ -55,14 +55,20 @@ site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
@echo '# edit the last section' >>site.tmp
@echo 'set srcdir "$(srcdir)"' >>site.tmp
@echo "set objdir `pwd`" >>site.tmp
-## Quote the *_alias variables because they might be empty.
-?BUILD? @echo 'set build_alias "$(build_alias)"' >>site.tmp
-?BUILD? @echo 'set build_triplet $(build_triplet)' >>site.tmp
-?HOST? @echo 'set host_alias "$(host_alias)"' >>site.tmp
-?HOST? @echo 'set host_triplet $(host_triplet)' >>site.tmp
-?TARGET? @echo 'set target_alias "$(target_alias)"' >>site.tmp
-?TARGET? @echo 'set target_triplet $(target_triplet)' >>site.tmp
-## Allow the package author to extend site.exp.
+ @# Quote the *_alias variables because they might be empty.
+ifdef am.conf.build-triplet
+ @echo 'set build_triplet $(build)' >>site.tmp
+ @echo 'set build_alias "$(build_alias)"' >>site.tmp
+endif
+ifdef am.conf.host-triplet
+ @echo 'set host_triplet $(host)' >>site.tmp
+ @echo 'set host_alias "$(host_alias)"' >>site.tmp
+endif
+ifdef am.conf.target-triplet
+ @echo 'set target_triplet $(target)' >>site.tmp
+ @echo 'set target_alias "$(target_alias)"' >>site.tmp
+endif
+ @# Allow the package author to extend site.exp.
@list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \
echo "## Begin content included from file $$f. Do not modify. ##" \
&& cat `test -f "$$f" || echo '$(srcdir)/'`$$f \
@@ -73,21 +79,15 @@ site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
@if test -f site.exp; then \
sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \
fi
- @-rm -f site.bak
+ @rm -f site.bak
@test ! -f site.exp || mv site.exp site.bak
@mv site.tmp site.exp
-## ---------- ##
-## Cleaning. ##
-## ---------- ##
-
-.PHONY distclean-am: distclean-DEJAGNU
-
-distclean-DEJAGNU:
-## Any other cleaning must be done by the user or by the test suite
-## itself. We can't predict what dejagnu or the test suite might
-## generate.
- -rm -f site.exp site.bak
- -l='$(DEJATOOL)'; for tool in $$l; do \
- rm -f $$tool.sum $$tool.log; \
- done
+# Any other cleaning must be done by the user or by the test suite itself.
+# We can't predict what dejagnu or the test suite might generate.
+## FIXME: we clean these on "make distclean" only for better compatibility
+## FIXME: with mainline Automake, but wouldn't be more correct to clean
+## FIXME: them on "make clean" instead?
+am.clean.dist.f += site.exp site.bak
+am.clean.dist.f += $(addsuffix .sum,$(DEJATOOL))
+am.clean.dist.f += $(addsuffix .log,$(DEJATOOL))
diff --git a/lib/am/depend2.am b/lib/am/depend2.am
index 87f62a80d..4a16e8eb1 100644
--- a/lib/am/depend2.am
+++ b/lib/am/depend2.am
@@ -29,56 +29,56 @@
##
## We do likewise for %FASTDEP%; this expands to an ordinary configure-time
## conditional. %FASTDEP% is used to speed up the common case of building
-## a package with gcc 3.x or later. In this case we can skip the use of
-## depcomp and easily inline the dependency tracking.
+## a package with gcc >= 3.x. In this case we can skip the use of depcomp
+## and easily inline the dependency tracking.
if %?FIRST%
-## TODO: rewrite this to avoid extra forks once we can assume a POSIX shell.
-am__set_depbase = depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.[^.]*$$||'`
+am__depdir = $(dir $@)/$(DEPDIR)
+## FIXME: more precise in the removal of the suffix?
+am__depbase = $(am__depdir)/$(basename $(notdir $@))
+## Avoid useless forks when possible.
+am__ensure_depdir = $(call am.cmd.ensure-dir-exists,$(am__depdir))
+am__o_src = $(if $(filter .obj,$(suffix $@)),`$(CYGPATH_W) $<`,$<)
+## To facilitate use of "libtool --dry-run".
+am__mv = mv -f
endif %?FIRST%
if %?NONLIBTOOL%
-?GENERIC?%EXT%.o:
-?!GENERIC?%OBJ%: %SOURCE%
+?GENERIC?%.$(OBJEXT): %%EXT%
+?!GENERIC?%BASE%.$(OBJEXT): %SOURCE%
if %FASTDEP%
- %VERBOSE%$(am__set_depbase) && \
- %COMPILE% -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ %SOURCEFLAG% %XSOURCE% && \
- $(am__mv) $$depbase.Tpo $$depbase.Po
+ %SILENT%$(am__ensure_depdir)
+ %VERBOSE%%COMPILE% -MT $@ -MD -MP -MF $(am__depbase).Tpo \
+ -c -o $@ %SOURCEFLAG% $(am__o_src)
+ %SILENT%$(am__mv) $(am__depbase).Tpo $(am__depbase).Po
else !%FASTDEP%
-if %AMDEP%
- %VERBOSE%source='%SOURCE%' object='$@' libtool=no @AMDEPBACKSLASH@
+if !%AMDEP%
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
+else %AMDEP%
+ %SILENT%$(am__ensure_depdir)
+ %VERBOSE%object=$@ libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif %AMDEP%
- %VERBOSE-NODEP%%COMPILE% -c -o $@ %SOURCEFLAG% %XSOURCE%
-endif !%FASTDEP%
-
-?GENERIC?%EXT%.obj:
-?!GENERIC?%OBJOBJ%: %SOURCE%
-if %FASTDEP%
- %VERBOSE%$(am__set_depbase) && \
- %COMPILE% -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ %SOURCEFLAG% $$($(CYGPATH_W) %XSOURCE%) && \
- $(am__mv) $$depbase.Tpo $$depbase.Po
-else !%FASTDEP%
-if %AMDEP%
- %VERBOSE%source='%SOURCE%' object='$@' libtool=no @AMDEPBACKSLASH@
- DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
-endif %AMDEP%
- %VERBOSE-NODEP%%COMPILE% -c -o $@ %SOURCEFLAG% $$($(CYGPATH_W) %XSOURCE%)
+ %VERBOSE-NODEP%%COMPILE% -c -o $@ %SOURCEFLAG% $(am__o_src)
endif !%FASTDEP%
endif %?NONLIBTOOL%
if %?LIBTOOL%
-?GENERIC?%EXT%.lo:
+?GENERIC?%.lo: %%EXT%
?!GENERIC?%LTOBJ%: %SOURCE%
if %FASTDEP%
- %VERBOSE%$(am__set_depbase) && \
- %LTCOMPILE% -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ %SOURCEFLAG% %XSOURCE% && \
- $(am__mv) $$depbase.Tpo $$depbase.Plo
+ %SILENT%$(am__ensure_depdir)
+ %VERBOSE%%LTCOMPILE% -MT $@ -MD -MP -MF $(am__depbase).Tpo \
+ -c -o $@ %SOURCEFLAG% $<
+ %SILENT%$(am__mv) $(am__depbase).Tpo $(am__depbase).Plo
else !%FASTDEP%
-if %AMDEP%
- %VERBOSE%source='%SOURCE%' object='$@' libtool=yes @AMDEPBACKSLASH@
+if !%AMDEP%
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
+else %AMDEP%
+ %SILENT%$(am__ensure_depdir)
+ %VERBOSE%object=$@ libtool=yes @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif %AMDEP%
- %VERBOSE-NODEP%%LTCOMPILE% -c -o $@ %SOURCEFLAG% %XSOURCE%
+ %VERBOSE-NODEP%%LTCOMPILE% -c -o $@ %SOURCEFLAG% $<
endif !%FASTDEP%
endif %?LIBTOOL%
diff --git a/lib/am/distcheck.mk b/lib/am/distcheck.mk
new file mode 100644
index 000000000..9d43471f5
--- /dev/null
+++ b/lib/am/distcheck.mk
@@ -0,0 +1,252 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001-2014 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.
+
+
+# ---------------------------------------- #
+# Building various distribution flavors. #
+# ---------------------------------------- #
+
+# ----------------------------------------------------------------------
+# FIXME: how and where are these old comments still relevant?
+# ----------------------------------------------------------------------
+# Note that we don't use GNU tar's '-z' option. One reason (but
+# not the only reason) is that some versions of tar (e.g., OSF1)
+# interpret '-z' differently.
+#
+# The -o option of GNU tar used to exclude empty directories. This
+# behavior was fixed in tar 1.12 (released on 1997-04-25). But older
+# versions of tar are still used (for instance NetBSD 1.6.1 ships
+# with tar 1.11.2). We do not do anything specific w.r.t. this
+# incompatibility since packages where empty directories need to be
+# present in the archive are really unusual.
+# ----------------------------------------------------------------------
+
+# TODO: this definition-oriented interface is almost good enough to offer
+# as a public API allowing the user to define and use new archive formats.
+# However, we must think carefully about possible problems before setting
+# the API in stone. So, for the moment, we keep this internal and
+# private; there will be time to make it public, once (and if) there's
+# any request from the user base.
+
+am.dist.all-formats =
+
+am.dist.all-formats += gzip
+am.dist.ext.gzip = tar.gz
+am.dist.compress-cmd.gzip = GZIP=$(GZIP_ENV) gzip -c
+am.dist.uncompress-cmd.gzip = GZIP=$(GZIP_ENV) gzip -dc
+
+am.dist.all-formats += bzip2
+am.dist.ext.bzip2 = tar.bz2
+am.dist.compress-cmd.bzip2 = BZIP2=$${BZIP2--9} bzip2 -c
+am.dist.uncompress-cmd.bzip2 = bzip2 -dc
+
+am.dist.all-formats += lzip
+am.dist.ext.lzip = tar.lz
+am.dist.compress-cmd.lzip = lzip -c $${LZIP_OPT--9}
+am.dist.uncompress-cmd.lzip = lzip -dc
+
+am.dist.all-formats += xz
+am.dist.ext.xz = tar.xz
+am.dist.compress-cmd.xz = XZ_OPT=$${XZ_OPT--e} xz -c
+am.dist.uncompress-cmd.xz = xz -dc
+
+am.dist.all-formats += zip
+am.dist.ext.zip = zip
+am.dist.create-cmd.zip = \
+ rm -f $(distdir).zip && zip -rq $(distdir).zip $(distdir)
+am.dist.extract-cmd.zip = \
+ unzip $(distdir).zip
+
+# This is namespace-safe, so it's OK to accept values from
+# the environment.
+AM_DIST_FORMATS ?= gzip
+
+am.dist.bad-targets := \
+ $(filter-out $(am.dist.all-formats),$(AM_DIST_FORMATS))
+ifdef am.dist.bad-targets
+ $(call am.fatal,Invalid distribution formats: $(am.dist.bad-targets))
+endif
+
+am.dist.all-targets = $(patsubst %,.am/dist-%,$(am.dist.all-formats))
+am.dist.default-targets = $(patsubst %,.am/dist-%,$(AM_DIST_FORMATS))
+
+am.dist.default-archives = \
+ $(foreach x,$(AM_DIST_FORMATS),$(distdir).$(am.dist.ext.$x))
+
+define am.dist.create-archive-for-format.aux
+$(or $(am.dist.create-cmd.$1), \
+ tardir=$(distdir) && $(am__tar) \
+ | $(am.dist.compress-cmd.$1) >$(distdir).$(am.dist.ext.$1))
+endef
+am.dist.create-archive-for-format = $(call $0.aux,$(strip $1))
+
+define am.dist.extract-archive-for-format.aux
+$(or $(am.dist.extract-cmd.$1), \
+ $(am.dist.uncompress-cmd.$1) $(distdir).$(am.dist.ext.$1) \
+ | $(am__untar))
+endef
+am.dist.extract-archive-for-format = $(call $0.aux,$(strip $1))
+
+# The use of this option to pass arguments to the 'gzip' invocation is
+# not only documented in the manual and useful for better compatibility
+# with mainline Automake, but also actively employed by some important
+# makefile fragments (e.g., Gnulib's 'top/maint.mk', at least up to
+# commit v0.0-7569-gec58403). So keep it.
+GZIP_ENV = --best
+
+.PHONY: $(am.dist.all-targets)
+$(am.dist.all-targets): .am/dist-%: distdir
+ $(call am.dist.create-archive-for-format,$*)
+
+ifdef SUBDIRS
+AM_RECURSIVE_TARGETS += dist dist-all
+endif
+
+.PHONY: dist dist-all
+dist dist-all: $(am.dist.default-targets)
+ $(am.dist.post-remove-distdir)
+
+
+# ---------------------------- #
+# Checking the distribution. #
+# ---------------------------- #
+
+ifdef SUBDIRS
+AM_RECURSIVE_TARGETS += distcheck
+endif
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+.PHONY: distcheck
+distcheck: dist
+ $(call am.dist.extract-archive-for-format, \
+ $(firstword $(AM_DIST_FORMATS)))
+## Make the new source tree read-only. Distributions ought to work in
+## this case. However, make the top-level directory writable so we
+## can make our new subdirs.
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+## Undo the write access.
+ chmod a-w $(distdir)
+## With GNU make, the following command will be executed even with "make -n",
+## due to the presence of '$(MAKE)'. That is normally all well (and '$(MAKE)'
+## is necessary for things like parallel distcheck), but here we don't want
+## execution. To avoid MAKEFLAGS parsing hassles, use a witness file that a
+## non-'-n' run would have just created.
+ test -d $(distdir)/_build || exit 0; \
+## Compute the absolute path of '_inst'. Strip any leading DOS drive
+## to allow DESTDIR installations. Otherwise "$(DESTDIR)$(prefix)" would
+## expand to "c:/temp/am-dc-5668/c:/src/package/package-1.0/_inst".
+ dc_install_base=`cd $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+## We will attempt a DESTDIR install in $dc_destdir. We don't
+## create this directory under $dc_install_base, because it would
+## create very long directory names.
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ $(if $(am.dist.handle-distcheck-hook),&& $(MAKE) distcheck-hook) \
+## If we merely used '$(distdir)/_build' here, "make distcheck" could
+## sometimes fail to detect missing files in the distribution tarball,
+## especially in those cases where both the generated files and their
+## dependencies are explicitly in $(srcdir). See automake bug#18286.
+ && cd $(distdir)/_build/sub \
+ && ../../configure \
+ $(if $(am.dist.handle-gettext),--with-included-gettext) \
+## Additional flags for configure.
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) $(DISTCHECK_CONFIGURE_FLAGS) \
+## At the moment, the code doesn't actually support changes in these --srcdir
+## and --prefix values, so don't allow them to be overridden by the user or
+## the developer. That used to be allowed, and caused issues in practice
+## (in corner-case usages); see automake bug#14991.
+ --srcdir=../.. --prefix="$$dc_install_base" \
+ && $(MAKE) \
+ && $(MAKE) dvi \
+ && $(MAKE) check \
+ && $(MAKE) install \
+ && $(MAKE) installcheck \
+ && $(MAKE) uninstall \
+ && $(MAKE) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+## Make sure the package has proper DESTDIR support (we could not test this
+## in the previous install/installcheck/uninstall test, because it's reasonable
+## for installcheck to fail in a DESTDIR install).
+## We make the '$dc_install_base' read-only because this is where files
+## with missing DESTDIR support are likely to be installed.
+ && chmod -R a-w "$$dc_install_base" \
+## The logic here is quite convoluted because we must clean $dc_destdir
+## whatever happens (it won't be erased by the next run of distcheck like
+## $(distdir) is).
+ && ({ \
+## Build the directory, so we can cd into it even if "make install"
+## didn't create it. Use mkdir, not $(MKDIR_P) because we want to
+## fail if the directory already exists (PR/413).
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) dist \
+## Make sure to remove the dists we created in the test build directory.
+ && rm -f $(am.dist.default-archives) \
+ && $(MAKE) distcleancheck
+ $(am.dist.post-remove-distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(am.dist.default-archives)'; \
+ for i in $$list; do echo $$i; done; \
+ ) | sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+
+# Define distuninstallcheck_listfiles and distuninstallcheck separately
+# from distcheck, so that they can be overridden by the user.
+.PHONY: distuninstallcheck
+distuninstallcheck_listfiles = find . -type f -print
+# The 'dir' file (created by install-info) might still exist after
+# uninstall, so we must be prepared to account for it. The following
+# check is not 100% strict, but is definitely good enough, and even
+# accounts for overridden $(infodir).
+am.dist.uninstallcheck-listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ cd '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am.dist.uninstallcheck-listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+
+# Define '$(distcleancheck_listfiles)' and 'distcleancheck' separately
+# from distcheck, so that they can be overridden by the user.
+ifeq ($(call am.vars.is-undef,distcleancheck_listfiles),yes)
+ distcleancheck_listfiles := find . -type f -print
+endif
+.PHONY: distcleancheck
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
deleted file mode 100644
index 98f4c9c11..000000000
--- a/lib/am/distdir.am
+++ /dev/null
@@ -1,527 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 2001-2015 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/>.
-
-DIST_COMMON += $(am__DIST_COMMON)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-if %?TOPDIR_P%
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-am__remove_distdir = \
- if test -d "$(distdir)"; then \
- find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -rf "$(distdir)" \
-## On MSYS (1.0.17) it is not possible to remove a directory that is in
-## use; so, if the first rm fails, we sleep some seconds and retry, to
-## give pending processes some time to exit and "release" the directory
-## before we remove it. The value of "some seconds" is 5 for the moment,
-## which is mostly an arbitrary value, but seems high enough in practice.
-## See automake bug#10470.
- || { sleep 5 && rm -rf "$(distdir)"; }; \
- else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
-endif %?TOPDIR_P%
-
-if %?SUBDIRS%
-## computes a relative pathname RELDIR such that DIR1/RELDIR = DIR2.
-## Input:
-## - DIR1 relative pathname, relative to the current directory
-## - DIR2 relative pathname, relative to the current directory
-## Output:
-## - reldir relative pathname of DIR2, relative to DIR1
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-endif %?SUBDIRS%
-
-.PHONY: distdir
-if %?SUBDIRS%
-AM_RECURSIVE_TARGETS += distdir
-endif %?SUBDIRS%
-
-distdir: $(DISTFILES)
-##
-## For Gnits users, this is pretty handy. Look at 15 lines
-## in case some explanatory text is desirable.
-##
-if %?TOPDIR_P%
-if %?CK-NEWS%
- @case `sed 15q $(srcdir)/NEWS` in \
- *"$(VERSION)"*) : ;; \
- *) \
- echo "NEWS not updated; not releasing" 1>&2; \
- exit 1;; \
- esac
-endif %?CK-NEWS%
-endif %?TOPDIR_P%
-##
-## Only for the top dir.
-##
-if %?TOPDIR_P%
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
-endif %?TOPDIR_P%
-##
-##
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-##
-## Yet another hack to support SUN make.
-##
-## Let's assume 'foo' appears in DISTFILES and is not a built file.
-## When building with VPATH=$(srcdir), SUN make and OSF1/Tru64 will
-## rewrite 'foo' as '$(srcdir)/foo'. An attempt to install the file
-## with
-## cp $file $(distdir)/$file
-## will thus install $(srcdir)/foo as $(distdir)/$(srcdir)/foo
-## instead of $(distdir)/foo.
-##
-## So let's strip this leading $(srcdir)/ when it exists. (As far we
-## know, only SUN make and OSF1/Tru64 make add it.) Searching whether
-## the file is to be found in the source or build directory will be
-## done later.
-##
-## In case we are _not_ using SUN or OSF1/Tru64 make, how can we be sure
-## we are not stripping a legitimate filename that starts with the
-## same pattern as $(srcdir)?
-## Well, it can't happen without the Makefile author distributing
-## something out of the distribution (which is bad). As an example,
-## consider "EXTRA_DIST = ../bar". This is an issue if $srcdir is
-## '..', however getting this value for srcdir is impossible:
-## "EXTRA_DIST = ../bar" implies we are in a subdirectory (so '../bar'
-## is within the package), hence '$srcdir' is something like
-## '../../subdir'.
-##
-## There is more to say about files which are above the current directory,
-## like '../bar' in the previous example. The OSF1/Tru64 make
-## implementation can simplify filenames resulting from a VPATH lookup.
-## For instance if "VPATH = ../../subdir" and '../bar' is found in that
-## VPATH directory, then occurrences of '../bar' will be replaced by
-## '../../bar' (instead of '../../subdir/../bar'). This obviously defeats
-## any attempt to strip a leading $srcdir. Presently we have no workaround
-## for this. We avoid this issue by writing "EXTRA_DIST = $(srcdir)/../bar"
-## instead of "EXTRA_DIST = ../bar". This prefixing is needed only for files
-## above the current directory. Fortunately, apart from auxdir files which
-## can be located in .. or ../.., this situation hardly occurs in practice.
-##
-## Also rewrite $(top_srcdir) (which sometimes appears in DISTFILES, and can
-## be absolute) by $(top_builddir) (which is always relative). $(srcdir) will
-## be prepended later.
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-## (The second 't' command clears the flag for the next round.)
-##
-## Make the subdirectories for the files.
-##
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
-##
-##
- for file in $$dist_files; do \
-##
-## Always look for the file in the build directory first. That way
-## for something like yacc output we will correctly pick up the latest
-## version. Also check for directories in the build directory first,
-## so one can ship generated directories.
-##
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-##
-## Use cp, not ln. There are situations in which "ln" can fail. For
-## instance a file to distribute could actually be a cross-filesystem
-## symlink -- this can easily happen if "gettextize" was run on the
-## distribution.
-##
- if test -d $$d/$$file; then \
-## Don't mention $$file in the destination argument, since this fails if
-## the destination directory already exists. Also, use '-R' and not '-r'.
-## '-r' is almost always incorrect.
-##
-## If a directory exists both in '.' and $(srcdir), then we copy the
-## files from $(srcdir) first and then install those from '.'. This
-## can help people who distribute directories made of source files
-## *and* generated files. It is also important when the directory
-## exists only in $(srcdir), because some vendor Make (such as Tru64)
-## will magically create an empty directory in '.'.
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-## If the destination directory already exists, it may contain read-only
-## files, e.g., during "make distcheck".
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
-## Test for file existence because sometimes a file gets included in
-## DISTFILES twice. For example this happens when a single source
-## file is used in building more than one program.
-## See also test 'dist-repeated.sh'.
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-##
-## Test for directory existence here because previous automake
-## invocation might have created some directories. Note that we
-## explicitly set distdir for the subdir make; that lets us mix-n-match
-## many automake-using packages into one large package, and have "dist"
-## at the top level do the right thing. If we're in the topmost
-## directory, then we use 'distdir' instead of 'top_distdir'; this lets
-## us work correctly with an enclosing package.
-if %?SUBDIRS%
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
-## Disable am__remove_distdir so that sub-packages do not clear a
-## directory we have already cleared and might even have populated
-## (e.g. shared AUX dir in the sub-package).
- am__remove_distdir=: \
-## Disable filename length check:
- am__skip_length_check=: \
-## No need to fix modes more than once:
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-endif %?SUBDIRS%
-##
-## We might have to perform some last second updates, such as updating
-## info files.
-## We must explicitly set distdir and top_distdir for these sub-makes.
-##
-if %?DIST-TARGETS%
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- %DIST-TARGETS%
-endif %?DIST-TARGETS%
-##
-## This complex find command will try to avoid changing the modes of
-## links into the source tree, in case they're hard-linked.
-##
-## Ignore return result from chmod, because it might give an error
-## if we chmod a symlink.
-##
-## Another nastiness: if the file is unreadable by us, we make it
-## readable regardless of the number of links to it. This only
-## happens in perverse cases.
-##
-## We use $(install_sh) because that is a known-portable way to modify
-## the file in place in the source tree.
-##
-## If we are being invoked recursively, then there is no need to walk
-## the whole subtree again. This is a complexity reduction for a deep
-## hierarchy of subpackages.
-##
-if %?TOPDIR_P%
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-if %?FILENAME_FILTER%
- @if test -z "$(am__skip_length_check)" && find "$(distdir)" -type f -print | \
- grep '^%FILENAME_FILTER%' 1>&2; then \
- echo 'error: the above filenames are too long' 1>&2; \
- exit 1; \
- else :; fi
-endif %?FILENAME_FILTER%
-endif %?TOPDIR_P%
-
-
-
-## --------------------------------------- ##
-## Building various distribution flavors. ##
-## --------------------------------------- ##
-
-## Note that we don't use GNU tar's '-z' option. One reason (but not
-## the only reason) is that some versions of tar (e.g., OSF1)
-## interpret '-z' differently.
-##
-## The -o option of GNU tar used to exclude empty directories. This
-## behavior was fixed in tar 1.12 (released on 1997-04-25). But older
-## versions of tar are still used (for instance NetBSD 1.6.1 ships
-## with tar 1.11.2). We do not do anything specific w.r.t. this
-## incompatibility since packages where empty directories need to be
-## present in the archive are really unusual.
-##
-## We order DIST_TARGETS by expected duration of the compressors,
-## slowest first, for better parallelism in "make dist". Do not
-## reorder DIST_ARCHIVES, users may expect gzip to be first.
-
-if %?TOPDIR_P%
-
-?GZIP?DIST_ARCHIVES += $(distdir).tar.gz
-GZIP_ENV = --best
-.PHONY: dist-gzip
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__post_remove_distdir)
-
-?BZIP2?DIST_ARCHIVES += $(distdir).tar.bz2
-.PHONY: dist-bzip2
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__post_remove_distdir)
-
-?LZIP?DIST_ARCHIVES += $(distdir).tar.lz
-.PHONY: dist-lzip
-dist-lzip: distdir
- tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
- $(am__post_remove_distdir)
-
-?XZ?DIST_ARCHIVES += $(distdir).tar.xz
-.PHONY: dist-xz
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__post_remove_distdir)
-
-?ZIP?DIST_ARCHIVES += $(distdir).zip
-.PHONY: dist-zip
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__post_remove_distdir)
-
-?LZIP?DIST_TARGETS += dist-lzip
-?XZ?DIST_TARGETS += dist-xz
-?BZIP2?DIST_TARGETS += dist-bzip2
-?GZIP?DIST_TARGETS += dist-gzip
-?ZIP?DIST_TARGETS += dist-zip
-
-endif %?TOPDIR_P%
-
-
-
-## ------------------------------------------------- ##
-## Building all the requested distribution flavors. ##
-## ------------------------------------------------- ##
-
-## Currently we cannot use if/endif inside a rule. The file_contents
-## parser needs work.
-
-if %?TOPDIR_P%
-
-.PHONY: dist dist-all
-if %?SUBDIRS%
-AM_RECURSIVE_TARGETS += dist dist-all
-endif %?SUBDIRS%
-
-dist dist-all:
- $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
- $(am__post_remove_distdir)
-
-endif %?TOPDIR_P%
-
-
-## ------------------------- ##
-## Checking a distribution. ##
-## ------------------------- ##
-
-
-if %?TOPDIR_P%
-if %?SUBDIRS%
-AM_RECURSIVE_TARGETS += distcheck
-endif %?SUBDIRS%
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-.PHONY: distcheck
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lz*) \
- lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
-## Make the new source tree read-only. Distributions ought to work in
-## this case. However, make the top-level directory writable so we
-## can make our new subdirs.
- chmod -R a-w $(distdir)
- chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
-## Undo the write access.
- chmod a-w $(distdir)
-## With GNU make, the following command will be executed even with "make -n",
-## due to the presence of '$(MAKE)'. That is normally all well (and '$(MAKE)'
-## is necessary for things like parallel distcheck), but here we don't want
-## execution. To avoid MAKEFLAGS parsing hassles, use a witness file that a
-## non-'-n' run would have just created.
- test -d $(distdir)/_build || exit 0; \
-## Compute the absolute path of '_inst'. Strip any leading DOS drive
-## to allow DESTDIR installations. Otherwise "$(DESTDIR)$(prefix)" would
-## expand to "c:/temp/am-dc-5668/c:/src/package/package-1.0/_inst".
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-## We will attempt a DESTDIR install in $dc_destdir. We don't
-## create this directory under $dc_install_base, because it would
-## create very long directory names.
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-?DISTCHECK-HOOK? && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
-## Parallel BSD make may not start a new shell for each command in a recipe,
-## so be sure to 'cd' back to the original directory after this.
- && am__cwd=`pwd` \
-## If we merely used '$(distdir)/_build' here, "make distcheck" could
-## sometimes fail to detect missing files in the distribution tarball,
-## especially in those cases where both the generated files and their
-## dependencies are explicitly in $(srcdir). See automake bug#18286.
- && $(am__cd) $(distdir)/_build/sub \
- && ../../configure \
-?GETTEXT? --with-included-gettext \
-## Additional flags for configure.
- $(AM_DISTCHECK_CONFIGURE_FLAGS) \
- $(DISTCHECK_CONFIGURE_FLAGS) \
-## At the moment, the code doesn't actually support changes in these --srcdir
-## and --prefix values, so don't allow them to be overridden by the user or
-## the developer. That used to be allowed, and caused issues in practice
-## (in corner-case usages); see automake bug#14991.
- --srcdir=../.. --prefix="$$dc_install_base" \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
-## Make sure the package has proper DESTDIR support (we could not test this
-## in the previous install/installcheck/uninstall test, because it's reasonable
-## for installcheck to fail in a DESTDIR install).
-## We make the '$dc_install_base' read-only because this is where files
-## with missing DESTDIR support are likely to be installed.
- && chmod -R a-w "$$dc_install_base" \
-## The logic here is quite convoluted because we must clean $dc_destdir
-## whatever happens (it won't be erased by the next run of distcheck like
-## $(distdir) is).
- && ({ \
-## Build the directory, so we can cd into it even if "make install"
-## didn't create it. Use mkdir, not $(MKDIR_P) because we want to
-## fail if the directory already exists (PR/413).
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
-## Make sure to remove the dists we created in the test build directory.
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-## Cater to parallel BSD make (see above).
- && cd "$$am__cwd" \
- || exit 1
- $(am__post_remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-
-## Define distuninstallcheck_listfiles and distuninstallcheck separately
-## from distcheck, so that they can be overridden by the user.
-.PHONY: distuninstallcheck
-distuninstallcheck_listfiles = find . -type f -print
-## The 'dir' file (created by install-info) might still exist after
-## uninstall, so we must be prepared to account for it. The following
-## check is not 100% strict, but is definitely good enough, and even
-## accounts for overridden $(infodir).
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
- | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distuninstallcheck:
- @test -n '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: trying to run $@ with an empty' \
- '$$(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- $(am__cd) '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-
-## Define distcleancheck_listfiles and distcleancheck separately
-## from distcheck, so that they can be overridden by the user.
-.PHONY: distcleancheck
-distcleancheck_listfiles = find . -type f -print
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-endif %?TOPDIR_P%
diff --git a/lib/am/distdir.mk b/lib/am/distdir.mk
new file mode 100644
index 000000000..165fcebc1
--- /dev/null
+++ b/lib/am/distdir.mk
@@ -0,0 +1,301 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001-2014 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/>.
+
+# Files added by the automake script.
+am.dist.common-files += $(am.dist.common-files.internal)
+
+# Makefile fragments used internally by automake-generated Makefiles.
+am.dist.mk-files = $(wildcard $(am.conf.aux-dir)/am-ng/*)
+
+# Use 'sort', not 'am.util.uniq', for performance reasons. Luckily, we
+# don't care in which order the distributed files are.
+am.dist.all-files = $(call am.memoize,am.dist.all-files,$(strip $(sort \
+ $(am.dist.common-files) $(am.dist.sources) $(am.dist.mk-files) \
+ $(TEXINFOS) $(EXTRA_DIST))))
+
+# Try to avoid repeated slashes in the entries, to make the filtering
+# in the 'am.dist.files-tmp2' definition below more reliable.
+# This idiom should compress up to four consecutive '/' characters
+# in each $(am.dist.all-files) entry.
+am.dist.files-tmp1 = $(call am.memoize,am.dist.files-tmp1, \
+ $(subst //,/,$(subst //,/,$(am.dist.all-files))))
+
+# Files filtered out here require an ad-hoc "munging".
+#
+# 1. In the first $(patsubst), we strip leading $(srcdir) (which might
+# appears in EXTRA_DIST, especially if one want to use the $(wildcard)
+# built-in in there), so that in our 'distdir' recipe below we can loop
+# on the list of distributed files and copy them in the distribution
+# directory with a simple "cp $file $(distdir)/$file" -- which would
+# break if $file contained a leading $(srcdir) component. However,
+# it should be noted that this filtering has the quite undesirable
+# side effect of triggering a VPATH search also for files specified
+# *explicitly* with a $(srcdir) prefix; but this limitation is also
+# present in mainline Automake, and concerns only such corner-case
+# situations that it's probably not worth worrying about.
+#
+# 2. In the second $(patsubst), we also rewrite $(top_srcdir) -- which
+# can sometimes appear in $(am.dist.common-files), and can be an
+# absolute path -- by $(top_builddir) (which is always relative).
+# If needed, $(srcdir) will be prepended later by our VPATH-aware
+# rules. The same caveats reported above apply.
+#
+am.dist.files-tmp2 = $(call am.memoize,am.dist.files-tmp2, \
+ $(filter-out $(srcdir)/% $(top_srcdir)/%, $(am.dist.files-tmp1)) \
+ $(patsubst $(srcdir)/%, %, \
+ $(filter $(srcdir)/%, $(am.dist.files-tmp1))) \
+ $(patsubst $(top_srcdir)/%, $(top_builddir)/%, \
+ $(filter $(top_srcdir)/%, $(am.dist.files-tmp1))))
+
+# Strip extra whitespaces, for more safety.
+am.dist.files-cooked = \
+ $(call am.memoize,am.dist.files-cooked,$(strip $(am.dist.files-tmp2)))
+
+# Given the pre-processing done above to the list of distributed files,
+# this definition ensures that we won't try to create the wrong
+# directories when $(top_srcdir) or $(srcdir) appears in some entry of
+# the list of all distributed files.
+# For example, with EXTRA_DIST containing "$(srcdir)/subdir/file", this
+# will allow our rules to correctly create "$(distdir)/subdir", and not
+# "$(distdir)/$(srcdir)/subdir" -- which, in a VPATH build where
+# "$(subdir) = ..", would be the build directory!
+am.dist.parent-dirs = \
+ $(call am.memoize,am.dist.parent-dirs,$(strip $(sort \
+ $(filter-out ., $(patsubst ./%,%,$(dir $(am.dist.files-cooked)))))))
+
+# These two variables are used in the 'distdir' rule below to avoid
+# potential problems with overly long command lines (the infamous
+# "Argument list too long" error).
+am.dist.xmkdir = \
+ @$(MKDIR_P) $(patsubst %,"$(distdir)"/%,$1)$(am.chars.newline)
+am.dist.write-filelist = \
+ @lst='$1'; for x in $$lst; do echo $$x; done \
+ >> $(am.dir)/$@-list$(am.chars.newline)
+
+ifdef am.conf.is-topdir
+
+# This is user-overridable.
+ifeq ($(call am.vars.is-undef,distdir),yes)
+distdir = $(PACKAGE)-$(VERSION)
+endif
+
+# This is not, but must be public to be avaialable in the "dist-hook"
+# rules (this is also documented in the Automake manual).
+top_distdir = $(distdir)
+
+# A failed "make distcheck" might leave some parts of the $(distdir)
+# readonly, so we need these hoops to ensure it is removed correctly.
+# On MSYS (1.0.17, at least) it is not possible to remove a directory
+# that is in use; so, if the first rm fails, we sleep some seconds and
+# retry, to give pending processes some time to exit and "release" the
+# directory before we remove it. The value of "some seconds" is 5 for
+# the moment, which is mostly an arbitrary value, but seems high enough
+# in practice. See automake bug#10470.
+am.dist.remove-distdir = \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }
+
+# Define this separately, so that if can be overridden by the recursive
+# make invocation in 'dist-all'. That is needed to support concurrent
+# creation of different tarball formats.
+am.dist.post-remove-distdir = \
+ test ! -d "$(distdir)" || { $(am.dist.remove-distdir); }
+
+endif # am.conf.is-topdir
+
+ifdef DIST_SUBDIRS
+# Computes a relative pathname RELDIR such that DIR1/RELDIR = DIR2.
+# Input:
+# - dir1 relative pathname, relative to the current directory.
+# - dir2 relative pathname, relative to the current directory.
+# Output:
+# - reldir relative pathname of dir2, relative to dir1.
+am.dist.relativize-path = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+endif # DIST_SUBDIRS
+
+.PHONY: distdir
+ifdef DIST_SUBDIRS
+AM_RECURSIVE_TARGETS += distdir
+endif
+
+distdir: $(am.dist.all-files) | $(am.dir)
+##
+## For Gnits users, this is pretty handy. Look at 15 lines
+## in case some explanatory text is desirable.
+##
+ifdef am.conf.is-topdir
+ifdef am.conf.check-news
+ @case `sed 15q $(srcdir)/NEWS` in \
+ *'$(VERSION)'*) : ;; \
+ *) echo "NEWS not updated; not releasing" 1>&2; exit 1;; \
+ esac
+endif # am.conf.is-topdir
+## Avoid this command if there is no directory to clean.
+ $(if $(wildcard $(distdir)/),$(am.dist.remove-distdir))
+ test -d "$(distdir)" || mkdir "$(distdir)"
+endif # am.conf.check-news
+## Make the subdirectories for the files, avoiding to exceed command
+## line length limitations.
+ $(call am.xargs-map,am.dist.xmkdir,$(am.dist.parent-dirs))
+## Install the files and directories, applying a "VPATH rewrite"
+## by hand where needed.
+## To get the files in the distribution directory, use 'cp', not 'ln'.
+## There are situations in which 'ln' can fail. For instance a file to
+## distribute could actually be a cross-filesystem symlink -- this can
+## easily happen if "gettextize" was run on the distribution.
+ @rm -f $(am.dir)/$@-list
+ $(call am.xargs-map,am.dist.write-filelist, \
+ $(am.dist.files-cooked))
+ @while read file; do \
+## Always look for the file or directory to distribute in the build
+## directory first, in VPATH spirit.
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+## Don't mention $$file in the destination argument, since this fails if
+## the destination directory already exists. Also, use '-R' and not '-r'.
+## '-r' is almost always incorrect.
+## If a directory exists both in '.' and $(srcdir), then we copy the
+## files from $(srcdir) first and then install those from '.'. This
+## can help people who distribute directories made of source files
+## *and* generated files.
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+## If the destination directory already exists, it may contain read-only
+## files, e.g., during "make distcheck".
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+## Test for file existence because sometimes a single auxiliary file
+## is distributed from several Makefiles at once (see automake bug#9546
+## and bug#9651, and the follow-up commits 'v1.11-1219-g326ecba',
+## 'v1.11-1220-g851b1ae' and 'v1.11-1221-gdccae6a'). See also test
+## 'dist-repeated.sh'.
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done < $(am.dir)/$@-list
+##
+## Test for directory existence here because previous automake
+## invocation might have created some directories. Note that we
+## explicitly set distdir for the subdir make; that lets us mix-n-match
+## many automake-using packages into one large package, and have "dist"
+## at the top level do the right thing. If we're in the topmost
+## directory, then we use 'distdir' instead of 'top_distdir'; this lets
+## us work correctly with an enclosing package.
+ifdef DIST_SUBDIRS
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am.make.dry-run) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am.dist.relativize-path); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am.dist.relativize-path); \
+ new_top_distdir=$$reldir; \
+ echo " $(MAKE) -C $$subdir distdir top_distdir=$$new_top_distdir distdir=$$new_distdir"; \
+ $(MAKE) -C $$subdir distdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+## Disable am.dist.remove-distdir so that sub-packages do not clear a
+## directory we have already cleared and might even have populated
+## (e.g. shared AUX dir in the sub-package).
+ am.dist.remove-distdir='' \
+## Disable filename length check:
+ am.dist.filename-filter='' \
+## No need to fix modes more than once:
+ am.dist.skip-mode-fix=yes \
+ || exit 1; \
+ fi; \
+ done
+endif # DIST_SUBDIRS
+##
+## We might have to perform some last second updates, such as updating
+## info files.
+## We must explicitly set distdir and top_distdir for these sub-makes.
+##
+ifdef am.dist.extra-targets
+ $(MAKE) $(am.dist.extra-targets) $(if $(am.conf.is-topdir),, \
+ top_distdir="$(top_distdir)" distdir="$(distdir)")
+endif
+##
+## This complex find command will try to avoid changing the modes of
+## links into the source tree, in case they're hard-linked.
+##
+## Ignore return result from chmod, because it might give an error
+## if we chmod a symlink.
+##
+## Another nastiness: if the file is unreadable by us, we make it
+## readable regardless of the number of links to it. This only
+## happens in perverse cases.
+##
+## We use $(install_sh) because that is a known-portable way to modify
+## the file in place in the source tree.
+##
+## If we are being invoked recursively, then there is no need to walk
+## the whole subtree again. This is a complexity reduction for a deep
+## hierarchy of subpackages.
+##
+ifdef am.conf.is-topdir
+ifndef am.dist.skip-mode-fix
+ find "$(distdir)" \
+ -type d ! -perm -755 -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+endif # !am.dist.skip-mode-fix
+ifdef am.dist.filename-filter
+ @if find "$(distdir)" -type f -print \
+ | grep '^$(am.dist.filename-filter)' 1>&2; then \
+ echo '$@: error: the above filenames are too long' 1>&2; \
+ exit 1; \
+ else :; fi
+endif # am.dist.filename-filter
+endif # am.conf.is-topdir
diff --git a/lib/am/footer.am b/lib/am/footer.am
index 45a91493b..bd277997a 100644
--- a/lib/am/footer.am
+++ b/lib/am/footer.am
@@ -14,6 +14,9 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
+# For better compatibility with mainline Automake.
+$(if $(SUFFIXES),$(eval .SUFFIXES: $$(SUFFIXES)))
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
deleted file mode 100644
index e8f2a94ab..000000000
--- a/lib/am/header-vars.am
+++ /dev/null
@@ -1,168 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 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/>.
-
-VPATH = @srcdir@
-
-@SET_MAKE@
-
-## We used to define this. However, we don't because vendor makes
-## (e.g., Solaris, Irix) won't correctly propagate variables that are
-## defined in Makefile. This particular variable can't be correctly
-## defined by configure (at least, not the current configure), so we
-## simply avoid defining it to allow the user to use this feature with
-## a vendor make.
-## DESTDIR =
-
-## Shell code that determines whether we are running under GNU make.
-##
-## Why the this needs to be so convoluted?
-##
-## (1) We can't unconditionally use make functions or special variables
-## starting with a dot, as those cause non-GNU implmentations to
-## crash hard.
-##
-## (2) We can't use $(MAKE_VERSION) here, as it is also defined in some
-## non-GNU make implementations (e.g., FreeBSD make). But at least
-## BSD make does *not* define the $(CURDIR) variable -- it uses
-## $(.CURDIR) instead.
-##
-## (3) We can't use $(MAKEFILE_LIST) here, as in some situations it
-## might cause the shell to die with "Arg list too long" (see
-## automake bug#18744).
-##
-## (4) We can't use $(MAKE_HOST) unconditionally, as it is only
-## defined in GNU make 4.0 or later.
-##
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-
-## Shell code that determines whether the current make instance is
-## running with a given one-letter option (e.g., -k, -n) that takes
-## no argument.
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
-## The format of $(MAKEFLAGS) is quite tricky with GNU make; the
-## variable $(MFLAGS) behaves much better in that regard. So use it.
- sane_makeflags=$$MFLAGS; \
- else \
-## Non-GNU make: we must rely on $(MAKEFLAGS). This is tricker and more
-## brittle, but is the best we can do.
- case $$MAKEFLAGS in \
-## If we run "make TESTS='snooze nap'", FreeBSD make will export MAKEFLAGS
-## to " TESTS=foo\ nap", so that the simpler loop below (on word-split
-## $$MAKEFLAGS) would see a "make flag" equal to "nap", and would wrongly
-## misinterpret that as and indication that make is running in dry mode.
-## This has already happened in practice. So we need this hack.
- *\\[\ \ ]*) \
-## Extra indirection with ${bs} required by FreeBSD 8.x make.
-## Not sure why (so sorry for the cargo-cult programming here).
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
-##
-## GNU make 4.0 has changed the format of $MFLAGS, and removed the space
-## between an option and its argument (e.g., from "-I dir" to "-Idir").
-## So we need to handle both formats, at least for options valid in GNU
-## make. OTOH, BSD make formats $(MAKEFLAGS) by separating all options,
-## and separating any option from its argument, so things are easier
-## there.
-##
-## For GNU make and BSD make.
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
-## For GNU make >= 4.0.
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
-## For GNU make (possibly overkill, this one).
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
-## For BSD make.
- -[dEDm]) skip_next=yes;; \
-## For NetBSD make.
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-
-## Shell code that determines whether make is running in "dry mode"
-## ("make -n") or not. Useful in rules that invoke make recursively,
-## and are thus executed also with "make -n" -- either because they
-## are declared as dependencies to '.MAKE' (NetBSD make), or because
-## their recipes contain the "$(MAKE)" string (GNU and Solaris make).
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-
-## Shell code that determines whether make is running in "keep-going mode"
-## ("make -k") or not. Useful in rules that must recursively descend into
-## subdirectories, and decide whether to stop at the first error or not.
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-
-## Some derived variables that have been found to be useful.
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-
-## These are defined because otherwise make on NetBSD V1.1 will print
-## (eg): $(NORMAL_INSTALL) expands to empty string.
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-
-## dejagnu.am uses these variables. Some users might rely on them too.
-?BUILD?build_triplet = @build@
-?HOST?host_triplet = @host@
-?TARGET?target_triplet = @target@
diff --git a/lib/am/header-vars.mk b/lib/am/header-vars.mk
new file mode 100644
index 000000000..4361f4ef5
--- /dev/null
+++ b/lib/am/header-vars.mk
@@ -0,0 +1,441 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994-2014 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/>.
+
+# Makefiles generated by Automake-NG require GNU make >= 3.81.
+# The .FEATURES special variable has been introduced in that make
+# version, so use it as a witness to determine whether the current
+# make is good enough.
+ifndef .FEATURES
+ $(error Automake-NG based builds require GNU make 3.81 or later)
+endif
+
+VPATH = $(srcdir)
+
+# Enhance performance by removing GNU make builtin rules that would be
+# rather irrelevant (e.g., rules to automatically check out files from
+# from RCS or SCCS repositories), or overridden by Automake (e.g., rules
+# to compile C or C++ files). For larger packages (like GNU coreutils),
+# this can greatly speed up null or almost-null builds, up to even 50%!
+MAKEFLAGS += --no-builtin-rules
+
+# For when we need a do-nothing target. Add an actual rule to it to avoid
+# the annoying message "make[1]: Nothing to be done for .am/nil" from make.
+.PHONY: .am/nil
+.am/nil:
+ @:
+
+# Declare an error, without immediately terminating the execution (proper
+# code will take care of that later). This will allow us to diagnose more
+# issues at once, rather than stopping at the first one.
+am.error.seen :=
+define am.error
+$(warning $1)$(eval am.error.seen := yes)
+endef
+
+# Declare an error, and immediately terminate execution.
+define am.fatal
+$(if $1,$(call am.error,$1))$(error Some Automake-NG error occurred)
+endef
+
+#
+# Sometimes, in our makefiles, we want to assign a default value to a
+# variable that might not have been assigned yet. One might think that
+# using the GNU make assignment '?=' is enough:
+#
+# VAR ?= DEFAULT-VALUE
+#
+# But alas, such a usage allows interferences from the environment; i.e.,
+# if an environment variable named 'VAR' is defined to, say, BAD-VALUE,
+# the construct above will result in the $(VAR) make variable being
+# defined to BAD-VALUE, not to DEFAULT-VALUE.
+#
+# Use the 'am.vars.is-undef' function to avoid this situation. It tells
+# whether the given make variable is not "safely" defined, i.e., either
+# undefined, or defined to a value that is inherited from the environment.
+#
+# With such a tool, we can safely declare default values for variables
+# that avoids environmental interferences, as follow:
+#
+# ifeq ($(call am.vars.is-undef,VAR),yes)
+# VAR = DEFAULT-VALUE
+# endif
+#
+define am.vars.is-undef
+$(if $(filter undefined environment,$(origin $(strip $1))),yes)
+endef
+
+# Some problematic characters (especially when used in arguments
+# to make functions, or for syntax highlighting).
+am.chars.bslash := \\
+am.chars.comma := ,
+am.chars.dollar := $$
+am.chars.hash := \#
+am.chars.lparen := (
+am.chars.rparen := )
+am.chars.bquote := `
+am.chars.dquote := "
+am.chars.squote := '
+# "` # Fix font-lock.
+
+# An empty string. It can be very useful to "fool" the make parser w.r.t.
+# whitespace handling, and allow us to obtain tricky semantics. See the
+# definition of $(am.chars.newline) just below for a significant example.
+am.chars.empty :=
+
+# A single whitespace.
+am.chars.space := $(am.chars.empty) $(am.chars.empty)
+
+# A single tabulation character.
+am.chars.tab := $(am.chars.empty) $(am.chars.empty)
+
+# A literal newline character, that does not get stripped if used
+# at the end of the expansion of another macro.
+define am.chars.newline
+
+$(am.chars.empty)
+endef
+
+# Neutralize unwarranted environment settings that might interfere with
+# our Makefiles.
+ifeq ($(call am.vars.is-undef,SUBDIRS),yes)
+ SUBDIRS :=
+endif
+ifeq ($(call am.vars.is-undef,EXEEXT),yes)
+ EXEEXT :=
+endif
+
+# CDPATH is only useful in interactive usage, and should never be exported
+# in the environment; doing so could cause our recipes and scripts to chdir
+# to unexpected places, causing all sort of hard to reproduce mayhem.
+# Still, but some people nonetheless export CDPATH (or did so in the past),
+# so to be extra safe we have to neutralize it.
+unexport CDPATH
+
+# Be verbose by default. Yes, we really want $(V) to be overridable
+# from the environment, both for simplicity and for consistency with
+# mainline Automake.
+# FIXME: maybe normalize/sanitize $(V)?
+V ?= 0
+
+# In a recipe, ensure the given directory exists, creating it if
+# necessary; but tries to do so avoiding useless forks, stats, and
+# extra recipe text (the latter is useful when doing "make V=1").
+# If the target has no directory component, or if the parent
+# directory of the target already exists, we have nothing to do, so
+# try to optimize for those cases -- especially because, for our
+# usage patterns, one of them should always be true in non-VPATH
+# builds.
+am.cmd.ensure-dir-exists = \
+ $(if $(filter .,$1),:,$(if $(wildcard $1/),:,$(MKDIR_P) $1))
+
+# Ensure the directory containing the target of the current recipe
+# exists, by creating it if necessary.
+am.cmd.ensure-target-dir-exists = $(call am.cmd.ensure-dir-exists,$(@D))
+
+# The 'all' target must be the default one, independently from the
+# position it is declared in the output Makefile.
+.DEFAULT_GOAL := all
+
+# Emulate VPATH rewrites. This uses only GNU make primitives, which
+# allows us to avoid extra forks.
+am.vpath.rewrite = \
+ $(firstword $(wildcard $(strip $(1))) $(srcdir)/$(strip $(1)))
+
+# Leave this overridable from the environment, for better compatibility
+# with mainline Automake.
+DESTDIR ?=
+
+# Determine whether the current make instance is running with a given
+# single-character option (e.g., -k, -n) that takes no argument.
+# It is either 'true' or 'false', so that it can be easily used in
+# shell code as well as in GNU make conditionals.
+# Use $(MFLAGS), not $(MAKEFLAGS), since the former doesn't contain
+# the command line variable definitions, and it always begins with
+# a hyphen unless it is empty, assumptions that allow a simpler
+# implementation. It is worthwhile to note that, when expanded
+# from the top-level make, $(MFLAGS) doesn't contain references to
+# options that take an argument, either mandatory (e.g., '-I') or
+# optional (e.g., '-O'). This *vastly* simplifies the implementation
+# of this macro.
+am.make.is-running-with-option = \
+ $(if $(findstring $(strip $1),$(filter-out --%,$(MFLAGS))),true,false)
+
+# Tell whether make is running in dry mode ("make -n") or not.
+am.make.dry-run := $(call am.make.is-running-with-option, n)
+
+# Tell whether make is running in "keep-going mode" ("make -k") or not.
+# Useful in rules that must recursively descend into subdirectories,
+# and decide whether to stop at the first error or not.
+am.make.keep-going := $(call am.make.is-running-with-option, k)
+
+am.util.strip-first-word = $(wordlist 2,$(words $(1)),$(1))
+am.util.strip-last-word = $(wordlist 2,$(words $(1)),dummy $(1))
+
+# Remove repeated elements from the given list (without reordering),
+# and return the reduced list.
+am.util.uniq = $(strip \
+## If the list is empty, we have nothing to do. Otherwise, go on.
+ $(if $(strip $(1)), \
+## Call the function recursively on the list of all the elements
+## but the last one.
+ $(call $0, \
+ $(call am.util.strip-last-word, $(1))) \
+## And append the last element, unless it was already present.
+ $(if $(filter $(lastword $(1)), \
+ $(call am.util.strip-last-word, $(1))), \
+ $(am.chars.empty), \
+ $(lastword $(1)))))
+
+## These definitions have been generated by the following Bash 4 script:
+##
+## #!/bin/bash
+## toupper='$1' tolower='$1'
+## for c in {a..z}; do
+## C=${c^^}
+## toupper="\$(subst $c,$C,$toupper)"
+## tolower="\$(subst $C,$c,$tolower)"
+## done
+## echo "am.util.tolower = $tolower"
+## echo "am.util.toupper = $toupper"
+
+am.util.tolower = $(subst Z,z,$(subst Y,y,$(subst X,x,$(subst W,w,$(subst V,v,$(subst U,u,$(subst T,t,$(subst S,s,$(subst R,r,$(subst Q,q,$(subst P,p,$(subst O,o,$(subst N,n,$(subst M,m,$(subst L,l,$(subst K,k,$(subst J,j,$(subst I,i,$(subst H,h,$(subst G,g,$(subst F,f,$(subst E,e,$(subst D,d,$(subst C,c,$(subst B,b,$(subst A,a,$1))))))))))))))))))))))))))
+
+am.util.toupper = $(subst z,Z,$(subst y,Y,$(subst x,X,$(subst w,W,$(subst v,V,$(subst u,U,$(subst t,T,$(subst s,S,$(subst r,R,$(subst q,Q,$(subst p,P,$(subst o,O,$(subst n,N,$(subst m,M,$(subst l,L,$(subst k,K,$(subst j,J,$(subst i,I,$(subst h,H,$(subst g,G,$(subst f,F,$(subst e,E,$(subst d,D,$(subst c,C,$(subst b,B,$(subst a,A,$1))))))))))))))))))))))))))
+
+# Canonicalize the given filename. See also the &canonicalize function
+# in the automake script.
+
+am.util.canon = $(strip \
+ $(subst ~,_,\
+ $(subst },_,\
+ $(subst |,_,\
+ $(subst {,_,\
+ $(subst $(am.chars.bquote),_,\
+ $(subst ^,_,\
+ $(subst $(am.chars.bslash),_,\
+ $(subst [,_,\
+ $(subst ],_,\
+ $(subst ?,_,\
+ $(subst >,_,\
+ $(subst =,_,\
+ $(subst <,_,\
+ $(subst ;,_,\
+ $(subst :,_,\
+ $(subst /,_,\
+ $(subst .,_,\
+ $(subst -,_,\
+ $(subst $(am.chars.comma),_,\
+ $(subst +,_,\
+ $(subst *,_,\
+ $(subst $(am.chars.lparen),_,\
+ $(subst $(am.chars.rparen),_,\
+ $(subst $(am.chars.squote),_,\
+ $(subst &,_,\
+ $(subst %,_,\
+ $(subst $(am.chars.dollar),_,\
+ $(subst $(am.chars.hash),_,\
+ $(subst $(am.chars.dquote),_,\
+ $(subst !,_,$1)))))))))))))))))))))))))))))))
+
+
+# Simple memoization for recursive make variables. It is useful for
+# situations where immediate variables can't be used (due, say, to
+# ordering issues with the assignments of the referenced variables),
+# but where the value of the lazy variable is costly to calculate
+# (e.g., a $(shell ...) call with a non-trivial command line), so that
+# we can't afford to re-calculate it over and over every time the
+# variable gets expanded. Example of usage:
+#
+# var1 = $(am.memoize,var1,$(shell EXPENSIVE-COMMAND-LINE))
+# var2 = $(am.memoize,var2,$(sort VERY-LONG-LIST))
+#
+# This API and implementation seems to work around a bug in GNU make
+# (present up to and including version 3.82) which caused our first
+# implementation attempts to fail:
+#
+# <http://lists.gnu.org/archive/html/bug-make/2012-05/msg00013.html>
+# <https://savannah.gnu.org/patch/?7534>
+#
+# So please don't change this without a very good reason.
+#
+am.memoize = $(or $(am.memoize.value/$1),$(strip \
+ $(eval am.memoize.value/$1 := $$2))$(am.memoize.value/$1))
+
+# $(call am.util.strip-suffixes, SUFFIXES, LIST)
+# ----------------------------------------------
+# Strip any of the SUFFIXES from each of the entries of LIST. Even if an
+# entry of LIST terminates with several suffixes, only one is stripped:
+# the first one that matches.
+am.hack.private-suffix = .,;&!@
+am.util.strip-suffixes = $(strip \
+ $(if \
+ $(strip $1), \
+ $(patsubst %$(am.hack.private-suffix),%, \
+ $(call $0, \
+ $(call am.util.strip-first-word,$1), \
+ $(patsubst %$(firstword $1),%$(am.hack.private-suffix),$2))), \
+ $2))
+
+# Now, some helper functions and variables to help in recipes that could
+# exceed the command line length limit.
+
+# And in the Information Age, we somehow managed to revert to abacus-like
+# counting. Yay for us :-)
+am.max-cmdline-args := xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+# FIXME! The above accounts for max forty arguments; this is basically
+# arbitrary. In the long term, defining that after a configure-time test
+# on the command-line length limits, or at least on a system-by-system
+# basis, might be better. But don't make the new limit too big (even if
+# the system would allow it), or our implementation will likely suffer in
+# performance and in memory consumption.
+
+# $(call am.xargs-map,FUNCTION,LIST,[EXTRA-ARGS..])
+# -------------------------------------------------
+# Map the function $1 on the whitespace-separated list $2, ensuring that
+# each call of $1 has at most 40 entries from that list at once. If
+# further arguments are given (up to $9), they are passed to each $1
+# invocation.
+# This implementation is hacky, but the more elegant or "naive" ones
+# (based on recursion) proved to be ludicrously memory-hungry with
+# huge lists.
+# A drawback of this implementation is that am.xargs-map cannot be
+# recursively invoked, but that shouldn't matter for our use cases.
+# The extra $(strip) calls are only to allow clearer formatting.
+define am.xargs-map
+$(if $2,$(strip \
+ )$(eval $0.partial-args :=)$(strip \
+ )$(eval $0.counter :=)$(strip \
+ )$(foreach i,$2,$(strip \
+ )$(eval $0.counter := $$($0.counter)x)$(strip \
+ )$(eval $0.partial-args += $$i)$(strip \
+ )$(if $(filter $(am.max-cmdline-args),$($0.counter)),$(strip \
+ )$(call $1,$(strip $($0.partial-args)),$3,$4,$5,$6,$7,$8,$9)$(strip \
+ )$(eval $0.partial-args :=)$(strip \
+ )$(eval $0.counter :=)))$(strip \
+ )$(if $($0.counter),$(call $1,$(strip \
+ $($0.partial-args)),$3,$4,$5,$6,$7,$8,$9)))
+endef
+
+# Used only by the 'am.clean-cmd.*' functions below. Do not use in
+# other places.
+am.hack.rm-f = $(if $(strip $1),rm -f $(strip $1)$(am.chars.newline))
+am.hack.rm-rf = $(if $(strip $1),rm -rf $(strip $1)$(am.chars.newline))
+
+# Needed to ensure the invocations of "rm -f" and "rm -rf" in our cleaning
+# rules are not given too many arguments, which might cause command line
+# length limits to be exceeded. These are only meant to be used in a
+# "sub-recipe" by their own; e.g.,
+#
+# # This is ok.
+# clean-x:
+# @echo "Cleaning X Files"
+# @$(call am.clean-cmd.f,$(X_FILES))
+#
+# # This is *wrong*.
+# clean-x:
+# @echo "Cleaning X Files" \
+# && $(call am.clean-cmd.f,$(X_FILES))
+#
+am.clean-cmd.f = $(call am.xargs-map,am.hack.rm-f,$1)
+am.clean-cmd.d = $(call am.xargs-map,am.hack.rm-rf,$1)
+
+# Some derived variables that have been found to be useful.
+# These have since long been documented in the Automake manual and used
+# by many real-world packages, so they are now an established feature
+# and should not be changed.
+pkgdatadir = $(datadir)/$(PACKAGE)
+pkgincludedir = $(includedir)/$(PACKAGE)
+pkglibdir = $(libdir)/$(PACKAGE)
+pkglibexecdir = $(libexecdir)/$(PACKAGE)
+
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+
+# These are defined like this to avoid introducing gratuitous
+# incompatibilities with mainline Automake.
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+
+# Number of files to install concurrently.
+am__install_max = 40
+# Take a "$list" of nobase files, collect them, indexed by their
+# srcdir-stripped dirnames. For up to am__install_max files, output
+# a line containing the dirname and the files, space-separated.
+# The arbitrary limit helps avoid the quadratic scaling exhibited by
+# string concatenation in most shells, and should avoid line length
+# limitations, while still offering only negligible performance impact
+# through spawning more install commands than absolutely needed.
+am__nobase_list = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+# Collect up to 40 files per line from stdin.
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+
+# New function, backslash-escape whitespace in the given string.
+define am.util.whitespace-escape
+$(subst $(am.chars.space),\$(am.chars.space),$(subst $(am.chars.tab),\$(am.chars.tab),$1))
+endef
+
+# Determine whether the given file exists. Since this function is
+# expected to be used on paths referencing $(DESTDIR), it must be
+# ready to cope with whitespaces and shell metacharacters.
+# FIXME: here we assume that the shell found by Autoconf-generated
+# configure supports "test -e"; that is not completely correct ATM, but
+# future versions of Autoconf will reject non-POSIX shells, so we should
+# be safe in the long term.
+define am.util.file-exists
+$(strip \
+ $(if $(strip $(findstring *,$1) $(findstring ?,$1) \
+ $(findstring [,$1) $(findstring ],$1)), \
+ $(shell test -e '$(subst $(am.chars.squote),'\'',$1)' && echo yes), \
+ $(if $(wildcard $(call am.util.whitespace-escape,$1)),yes)))
+endef
+
+# $(call am.uninst.cmd,DIR,FILES,[RM-OPTS])
+# -----------------------------------------
+# Uninstall the given files from the given directory, avoiding to hit
+# command line length limits, and honoring $(DESTDIR). If the given DIR
+# is actually an empty name, or it it refers to a non-existing file, it
+# is assumed nothing is to be removed. The RM-OPTS (if present) are
+# passed to the rm invocation removing the files (this ca be useful in
+# case such files are actually directories (as happens with the HTML
+# documentation), in which case rm should be passed the '-r' option.
+# Similarly to the 'am.clean-cmd.f' above, this function is only meant
+# to be used in a "sub-recipe" by its own.
+
+define am.uninst.cmd.aux
+$(if $(and $2,$1),$(if $(call am.util.file-exists,$(DESTDIR)$2),$(strip \
+)cd '$(DESTDIR)$2' && rm -f$(if $3, $3) $1$(am.chars.newline)))
+endef
+
+define am.uninst.cmd
+$(call am.xargs-map,$0.aux,$(strip $2),$(strip $1),$(strip $3))
+endef
diff --git a/lib/am/inst-vars.am b/lib/am/inst-vars.am
deleted file mode 100644
index 3b673d3d0..000000000
--- a/lib/am/inst-vars.am
+++ /dev/null
@@ -1,73 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 2004-2015 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/>.
-
-if %?FIRST%
-
-## These variables help stripping any $(VPATH) that some
-## Make implementations prepend before VPATH-found files.
-## The issue is discussed at length in distdir.am.
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-## Strip all directories.
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-## Number of files to install concurrently.
-am__install_max = 40
-## Take a $list of nobase files, strip $(srcdir) from them.
-## Split apart in setup variable and an action that can be used
-## in backticks or in a pipe.
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-## Take a $list of nobase files, collect them, indexed by their
-## srcdir-stripped dirnames. For up to am__install_max files, output
-## a line containing the dirname and the files, space-separated.
-## The arbitrary limit helps avoid the quadratic scaling exhibited by
-## string concatenation in most shells, and should avoid line length
-## limitations, while still offering only negligible performance impact
-## through spawning more install commands than absolutely needed.
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-## Collect up to 40 files per line from stdin.
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-
-## A shell code fragment to uninstall files from a given directory.
-## It expects the $dir and $files shell variables to be defined respectively
-## to the directory where the files to be removed are, and to the list of
-## such files.
-am__uninstall_files_from_dir = { \
-## Some rm implementations complain if 'rm -f' is used without arguments.
- test -z "$$files" \
-## At least Solaris /bin/sh still lacks 'test -e', so we use the multiple
-## tests below instead. We expect $dir to be either non-existent or a
-## directory, so the failure we'll experience if it is a regular file
-## is indeed desired and welcome (better to fail loudly thasn silently).
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-
-endif %?FIRST%
diff --git a/lib/am/install.am b/lib/am/install.am
deleted file mode 100644
index 5c99cc3f0..000000000
--- a/lib/am/install.am
+++ /dev/null
@@ -1,105 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 2001-2015 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/>.
-
-## ----------------------------------------- ##
-## installdirs -- Creating the installdirs. ##
-## ----------------------------------------- ##
-
-## The reason we loop over %am__installdirs% (instead of simply running
-## $(MKDIR_P) %am__installdirs%) is that directories variable such as
-## "$(DESTDIR)$(mydir)" can potentially expand to "" if $(mydir) is
-## conditionally defined. BTW, those directories are quoted in order
-## to support installation paths with spaces.
-
-if %?SUBDIRS%
-.PHONY: installdirs installdirs-am
-RECURSIVE_TARGETS += installdirs-recursive
-installdirs: installdirs-recursive
-installdirs-am:%installdirs-local%
-?am__installdirs? for dir in %am__installdirs%; do \
-?am__installdirs? test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-?am__installdirs? done
-else !%?SUBDIRS%
-.PHONY: installdirs
-installdirs:%installdirs-local%
-?am__installdirs? for dir in %am__installdirs%; do \
-?am__installdirs? test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-?am__installdirs? done
-endif !%?SUBDIRS%
-
-
-## ----------------- ##
-## Install targets. ##
-## ----------------- ##
-
-.PHONY: install install-exec install-data uninstall
-.PHONY: install-exec-am install-data-am uninstall-am
-
-if %?SUBDIRS%
-RECURSIVE_TARGETS += install-data-recursive install-exec-recursive \
- install-recursive uninstall-recursive
-install:%maybe_BUILT_SOURCES% install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-else !%?SUBDIRS%
-install:%maybe_BUILT_SOURCES% install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-endif !%?SUBDIRS%
-
-if %?maybe_BUILT_SOURCES%
-.MAKE: install
-endif %?maybe_BUILT_SOURCES%
-
-.MAKE .PHONY: install-am
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-
-.PHONY: installcheck
-?SUBDIRS?installcheck: installcheck-recursive
-?!SUBDIRS?installcheck: installcheck-am
-?!SUBDIRS?.PHONY: installcheck-am
-?!SUBDIRS?installcheck-am:
-
-## If you ever modify this, keep in mind that INSTALL_PROGRAM is used
-## in subdirectories, so never set it to a value relative to the top
-## directory.
-.MAKE .PHONY: install-strip
-install-strip:
-## Beware that there are two variables used to install programs:
-## INSTALL_PROGRAM is used for ordinary *_PROGRAMS
-## install_sh_PROGRAM is used for nobase_*_PROGRAMS (because install-sh
-## creates directories)
-## It's OK to override both with INSTALL_STRIP_PROGRAM, because
-## INSTALL_STRIP_PROGRAM uses install-sh (see m4/strip.m4 for a rationale).
-##
-## Use double quotes for the *_PROGRAM settings because we might need to
-## interpolate some backquotes at runtime.
-##
-## The case for empty $(STRIP) is separate so that it is quoted correctly for
-## multiple words, but does not expand to an empty words if STRIP is empty.
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
diff --git a/lib/am/java.am b/lib/am/java.am
index f31707bfa..727bc8dc5 100644
--- a/lib/am/java.am
+++ b/lib/am/java.am
@@ -78,9 +78,11 @@ endif %?INSTALL%
## Cleaning. ##
## ---------- ##
-.PHONY clean-am: clean-%NDIR%JAVA
-clean-%NDIR%JAVA:
- -rm -f *.class class%NDIR%.stamp
+## Do not repeat the *.class wildcard over and over.
+if %?FIRST%
+am.clean.normal.f += *.class
+endif
+am.clean.normal.f += class%NDIR%.stamp
## -------------- ##
@@ -88,5 +90,5 @@ clean-%NDIR%JAVA:
## -------------- ##
if %?DIST%
-DIST_COMMON += %DISTVAR%
+am.dist.common-files += %DISTVAR%
endif %?DIST%
diff --git a/lib/am/lang-compile.am b/lib/am/lang-compile.am
index 01e843bca..20d80ce8b 100644
--- a/lib/am/lang-compile.am
+++ b/lib/am/lang-compile.am
@@ -22,18 +22,16 @@
## We also handle the case of preprocessing '.F' files into '.f' files.
if %?PPF77%
-.F.f:
+%.f: %.F
$(F77COMPILE) -F $<
endif %?PPF77%
-
-
## -------- ##
## Ratfor. ##
## -------- ##
-## We also handle the case of preprocessing `.r' files into `.f' files.
+## We also handle the case of preprocessing '.r' files into '.f' files.
if %?RATFOR%
-.r.f:
+%.f: %.r
$(RCOMPILE) -F $<
endif %?RATFOR%
diff --git a/lib/am/lex.am b/lib/am/lex.am
index d7ddc7728..9bf3fcaff 100644
--- a/lib/am/lex.am
+++ b/lib/am/lex.am
@@ -14,17 +14,8 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-## See the comment about am__skipyacc in yacc.am.
-if %?MAINTAINER-MODE%
-if %?FIRST%
-@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
-endif %?FIRST%
-endif %?MAINTAINER-MODE%
-
-?GENERIC?%EXT%%DERIVED-EXT%:
+?GENERIC?%%DERIVED-EXT%: %%EXT%
?!GENERIC?%OBJ%: %SOURCE%
-?GENERIC? %VERBOSE%$(am__skiplex) $(SHELL) $(YLWRAP) %SOURCE% $(LEX_OUTPUT_ROOT).c %OBJ% -- %COMPILE%
-?!GENERIC? %VERBOSE% \
-?!GENERIC??DIST_SOURCE? $(am__skiplex) \
-## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
-?!GENERIC? $(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% $(LEX_OUTPUT_ROOT).c %OBJ% -- %COMPILE%
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
+ %VERBOSE%$(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c %OBJ% \
+ -- %COMPILE%
diff --git a/lib/am/library.am b/lib/am/library.am
index 09d8ab6d8..99e4e01ca 100644
--- a/lib/am/library.am
+++ b/lib/am/library.am
@@ -14,7 +14,9 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-%LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES) $(EXTRA_%XLIBRARY%_DEPENDENCIES) %DIRSTAMP%
- %SILENT%-rm -f %LIBRARY%
- %VERBOSE%$(%XLIBRARY%_AR) %LIBRARY% $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_LIBADD)
- %SILENT%$(RANLIB) %LIBRARY%
+%LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES) \
+ $(EXTRA_%XLIBRARY%_DEPENDENCIES)
+ %SILENT%rm -f $@
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
+ %VERBOSE%$(%XLIBRARY%_AR) $@ $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_LIBADD)
+ %SILENT%$(RANLIB) $@
diff --git a/lib/am/libs.am b/lib/am/libs.am
index b6d5caaf4..fbf9a8912 100644
--- a/lib/am/libs.am
+++ b/lib/am/libs.am
@@ -14,10 +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/>.
-if %?INSTALL%
-include inst-vars.am
-endif %?INSTALL%
-
## ------------ ##
## Installing. ##
## ------------ ##
@@ -67,11 +63,11 @@ endif !%?BASE%
## useless; sh never actually executes this command. Read the GNU
## Standards for a little enlightenment on this.
@$(POST_INSTALL)
- @list='$(%DIR%_LIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \
- for p in $$list; do \
- if test -f $$p; then \
-?BASE? $(am__strip_dir) \
-?!BASE? f=$$p; \
+?BASE? @list='$(notdir $(%DIR%_LIBRARIES))'; \
+?!BASE? @list='$(%DIR%_LIBRARIES)'; \
+ test -n "$(%NDIR%dir)" || list=; \
+ for f in $$list; do \
+ if test -f $$f; then \
## Must ranlib after installing because mod time changes.
## cd to target directory because AIX ranlib messes up with whitespace
## in the argument.
@@ -90,10 +86,10 @@ if %?INSTALL%
.PHONY uninstall-am: uninstall-%DIR%LIBRARIES
uninstall-%DIR%LIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(%DIR%_LIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \
-?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
- dir='$(DESTDIR)$(%NDIR%dir)'; $(am__uninstall_files_from_dir)
+ $(call am.uninst.cmd,$(%NDIR%dir), \
+?BASE? $(notdir $(%DIR%_LIBRARIES)) \
+?!BASE? $(patsubst $(srcdir)/%,%,$(%DIR%_LIBRARIES)) \
+ )
endif %?INSTALL%
@@ -101,6 +97,4 @@ endif %?INSTALL%
## Cleaning. ##
## ---------- ##
-.PHONY clean-am: clean-%DIR%LIBRARIES
-clean-%DIR%LIBRARIES:
- -test -z "$(%DIR%_LIBRARIES)" || rm -f $(%DIR%_LIBRARIES)
+am.clean.normal.f += $(%DIR%_LIBRARIES)
diff --git a/lib/am/libtool.am b/lib/am/libtool.am
deleted file mode 100644
index f91e0ffdc..000000000
--- a/lib/am/libtool.am
+++ /dev/null
@@ -1,28 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 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/>.
-
-.PHONY: mostlyclean-libtool clean-libtool distclean-libtool
-mostlyclean-am: mostlyclean-libtool
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-am: clean-libtool
-clean-libtool:
-?LTRMS?%LTRMS%
-
-?TOPDIR_P?distclean-am: distclean-libtool
-?TOPDIR_P?distclean-libtool:
-?TOPDIR_P? -rm -f libtool config.lt
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index dfb66c7db..bffae5a72 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -14,15 +14,15 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-if %?INSTALL%
-include inst-vars.am
-endif %?INSTALL%
-
## ---------- ##
## Building. ##
## ---------- ##
-.el.elc:
+if %?FIRST%
+am.elisp.includes = -L $1 $(if $(filter-out .,$(srcdir)), -L $(srcdir)/$1)
+endif
+
+%.elc: %.el
## 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
@@ -31,16 +31,12 @@ endif %?INSTALL%
## input (which would erronously put it in $(srcdir) in VPATH builds),
## so we override that, too.
if test "$(EMACS)" != "no"; then \
- am__dir=. 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; \
+ $(call am.cmd.ensure-dir-exists,$(@D)); \
$(EMACS) --batch \
$(AM_ELCFLAGS) $(ELCFLAGS) \
- $$am__subdir_includes -L $(builddir) -L $(srcdir) \
+ $(if $(filter-out .,$(@D)),$(call am.elisp.includes,$(@D))) \
+ $(call am.elisp.includes,.) \
--eval "(defun byte-compile-dest-file (f) \"$@\")" \
--eval "(unless (byte-compile-file \"$<\") (kill-emacs 1))"; \
else :; fi
@@ -63,28 +59,23 @@ install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES)
@$(NORMAL_INSTALL)
## Do not install anything if EMACS was not found.
@if test "$(EMACS)" != no && test -n "$(%NDIR%dir)"; then \
-?!BASE? $(am__vpath_adj_setup) \
## Funny invocation because Makefile variable can be empty, leading to
## a syntax error in sh.
- list='$(%DIR%_LISP)'; \
- if test -n "$$list"; then \
+ $(if $(%DIR%_LISP), \
echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
- fi; \
- 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) \
-?!BASE? $(am__vpath_adj) \
- echo " $(%DIR%LISP_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
- $(%DIR%LISP_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
+ $(foreach i, $(%DIR%_LISP), \
+ p=$(call am.vpath.rewrite,$i); \
+?BASE? f=$(notdir $i); \
+?!BASE? f=$i; \
+ echo " $(%DIR%LISP_INSTALL) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+ $(%DIR%LISP_INSTALL) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
## Only install .elc file if it exists.
- if test -f $${p}c; then \
- echo " $(%DIR%LISP_INSTALL) '$${p}c' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \
- $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c" || exit $$?; \
- else : ; fi; \
- done; \
- else : ; fi
+ if test -f $${p}c; then \
+ echo " $(%DIR%LISP_INSTALL) '$${p}c' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \
+ $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c" || exit $$?; \
+ else : ; fi;)) \
+ :; else :; fi;
endif %?INSTALL%
@@ -97,12 +88,13 @@ if %?INSTALL%
uninstall-%DIR%LISP:
@$(NORMAL_UNINSTALL)
## Do not uninstall anything if EMACS was not found.
- @test "$(EMACS)" != no && test -n "$(%NDIR%dir)" || exit 0; \
- list='$(%DIR%_LISP)'; \
-?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
- files="$$files "`echo "$$files" | sed 's|$$|c|'`; \
- dir='$(DESTDIR)$(%NDIR%dir)'; $(am__uninstall_files_from_dir)
+## FIXME: we should actually check more strictly for $(EMACS) = "no".
+ $(call am.uninst.cmd,$(if $(filter no,$(EMACS)),,$(%NDIR%dir)), \
+ $(foreach i,\
+?BASE? $(notdir $(%DIR%_LISP)), \
+?!BASE? $(patsubst $(srcdir)/%,%,$(%DIR%_LISP)), \
+## Also remove the '.elc' byte-compiled versions, if any.
+ $(i) $(i)c))
endif %?INSTALL%
@@ -110,15 +102,12 @@ endif %?INSTALL%
## Cleaning. ##
## ---------- ##
-.PHONY clean-am: clean-lisp
-clean-lisp:
- -rm -f $(ELCFILES)
-
+am.clean.normal.f += $(ELCFILES)
## -------------- ##
## Distributing. ##
## -------------- ##
if %?DIST%
-DIST_COMMON += %DISTVAR%
+am.dist.common-files += %DISTVAR%
endif %?DIST%
diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am
index 91bcdf15b..ba433b486 100644
--- a/lib/am/ltlib.am
+++ b/lib/am/ltlib.am
@@ -14,10 +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/>.
-if %?INSTALL%
-include inst-vars.am
-endif %?INSTALL%
-
## ------------ ##
## Installing. ##
## ------------ ##
@@ -91,10 +87,10 @@ if %?INSTALL%
.PHONY uninstall-am: uninstall-%DIR%LTLIBRARIES
uninstall-%DIR%LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(%DIR%_LTLIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \
- for p in $$list; do \
-?BASE? $(am__strip_dir) \
-?!BASE? f=$$p; \
+?BASE? @list='$(notdir $(%DIR%_LTLIBRARIES))'; \
+?!BASE? @list='$(%DIR%_LTLIBRARIES)'; \
+ test -n "$(%NDIR%dir)" || list=; \
+ for f in $$list; do \
?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'"; \
@@ -107,17 +103,8 @@ endif %?INSTALL%
## Cleaning. ##
## ---------- ##
-.PHONY clean-am: clean-%DIR%LTLIBRARIES
-clean-%DIR%LTLIBRARIES:
- -test -z "$(%DIR%_LTLIBRARIES)" || rm -f $(%DIR%_LTLIBRARIES)
+am.clean.normal.f += $(%DIR%_LTLIBRARIES)
## 'so_locations' files are created by some linkers (IRIX, OSF) when
## building a shared object. Libtool places these files in the
## directory where the shared object is created.
- @list='$(%DIR%_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
+am.clean.normal.f += $(wildcard $(addsuffix so_locations,$(sort $(dir $(%DIR%_LTLIBRARIES)))))
diff --git a/lib/am/ltlibrary.am b/lib/am/ltlibrary.am
index d11b52832..7729cd062 100644
--- a/lib/am/ltlibrary.am
+++ b/lib/am/ltlibrary.am
@@ -14,5 +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/>.
-%LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES) $(EXTRA_%XLTLIBRARY%_DEPENDENCIES) %DIRSTAMP%
+%LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES) \
+ $(EXTRA_%XLTLIBRARY%_DEPENDENCIES)
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
%VERBOSE%$(%XLINK%) %RPATH% $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_LIBADD) $(LIBS)
diff --git a/lib/am/mans.am b/lib/am/mans.am
index 69a2df9ba..2944b6edc 100644
--- a/lib/am/mans.am
+++ b/lib/am/mans.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/>.
-include inst-vars.am
man%SECTION%dir = $(mandir)/man%SECTION%
## ------------ ##
@@ -126,21 +125,22 @@ uninstall-man%SECTION%:
@$(NORMAL_UNINSTALL)
if %?NOTRANS_MANS%
## Handle MANS with notrans_ prefix
- @list='%NOTRANS_SECT_LIST%'; test -n "$(man%SECTION%dir)" || exit 0; \
- files=`{ for i in $$list; do echo "$$i"; done; \
+ $(call am.uninst.cmd,$(man%SECTION%dir),$(shell \
+ { list='%NOTRANS_SECT_LIST%'; \
+ for i in $$list; do echo "$$i"; done; \
## Extract all items from notrans_man_MANS that should go in this section.
## This must be done dynamically to support conditionals.
?HAVE_NOTRANS? l2='%NOTRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \
## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'.
?HAVE_NOTRANS? sed -n '/\.%SECTION%[a-z]*$$/p'; \
## Extract basename of manpage, change the extension if needed.
- } | sed 's,.*/,,;s,\.[^%SECTION%][0-9a-z]*$$,.%SECTION%,'`; \
- dir='$(DESTDIR)$(man%SECTION%dir)'; $(am__uninstall_files_from_dir)
+ } | sed -e 's,.*/,,;s,\.[^%SECTION%][0-9a-z]*$$,.%SECTION%,'))
endif %?NOTRANS_MANS%
if %?TRANS_MANS%
## Handle MANS without notrans_ prefix
- @list='%TRANS_SECT_LIST%'; test -n "$(man%SECTION%dir)" || exit 0; \
- files=`{ for i in $$list; do echo "$$i"; done; \
+ $(call am.uninst.cmd,$(man%SECTION%dir),$(shell \
+ { list='%TRANS_SECT_LIST%'; \
+ for i in $$list; do echo "$$i"; done; \
## Extract all items from man_MANS that should go in this section.
## This must be done dynamically to support conditionals.
?HAVE_TRANS? l2='%TRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \
@@ -149,6 +149,5 @@ if %?TRANS_MANS%
## Extract basename of manpage, run it through the program rename
## transform, and change the extension if needed.
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^%SECTION%][0-9a-z]*$$,%SECTION%,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
- dir='$(DESTDIR)$(man%SECTION%dir)'; $(am__uninstall_files_from_dir)
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'))
endif %?TRANS_MANS%
diff --git a/lib/am/parallel-tests.mk b/lib/am/parallel-tests.mk
new file mode 100644
index 000000000..c1fb69f16
--- /dev/null
+++ b/lib/am/parallel-tests.mk
@@ -0,0 +1,468 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001-2014 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/>.
+
+## New parallel test driver.
+##
+## The first version of the code here was adapted from check.mk, which was
+## originally written at EPITA/LRDE, further developed at Gostai, then made
+## its way from GNU coreutils to end up, largely rewritten, in Automake.
+## The current version is an heavy rewrite of that, to allow for support
+## of more test metadata, and the use of custom test drivers and protocols
+## (among them, TAP).
+
+## Used by (at least) 'check-typos.am'.
+am.conf.using-parallel-tests := yes
+
+am.test-suite.is-xfail = \
+ $(if $(filter-out $(am.test-suite.xfail-test-bases), \
+ $(patsubst $(srcdir)/%,%,$(1))),no,yes)
+
+am.test-suite.runtest = \
+ $(am.test-suite.tty-colors); \
+ if test '$(TEST_SUITE_LOG)' = '$*.log'; then \
+ echo "fatal: $*.log: depends on itself (check TESTS content)" >&2; \
+ exit 1; \
+ fi; \
+ srcdir=$(srcdir); export srcdir; \
+## Creates the directory for the log file if needed. Avoid extra forks.
+ test x$(@D) = x. || test -d $(@D) || $(MKDIR_P) $(@D) || exit $$?; \
+## We need to invoke the test in way that won't cause a PATH search.
+## Quotes around '$<' are required to avoid extra errors when a circular
+## dependency is detected (e.g., because $(TEST_SUITE_LOG) is in
+## $(am.test-suite.test-logs)), because in that case '$<' expands to empty and an
+## unquote usage of it could cause syntax errors in the shell.
+ case '$<' in */*) tst='$<';; *) tst=./'$<';; esac; \
+## Executes the developer-defined and user-defined test
+## setups (if any), in that order.
+ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) \
+ $($(1)LOG_DRIVER) \
+ --test-name '$(patsubst $(srcdir)/%,%,$<)' \
+ --log-file $*.log \
+ --trs-file $*.trs \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors $(if $(DISABLE_HARD_ERRORS),no,yes) \
+ --expect-failure $(call am.test-suite.is-xfail,$*) \
+ $(AM_$(1)LOG_DRIVER_FLAGS) \
+ $($(1)LOG_DRIVER_FLAGS) \
+ -- \
+ $($(1)LOG_COMPILER) \
+ $(AM_$(1)LOG_FLAGS) \
+ $($(1)LOG_FLAGS) \
+ "$$tst" \
+ $(AM_TESTS_FD_REDIRECT)
+
+define am.test-suite.handle-suffix.helper
+ifeq ($$(call am.vars.is-undef,$(2)LOG_DRIVER),yes)
+$(2)LOG_DRIVER = $(SHELL) $(am.conf.aux-dir)/test-driver
+endif
+%.log %.trs: %$1 $$($(2)LOG_DEPENDENCIES)
+ @$$(call am.test-suite.runtest,$2)
+ifdef EXEEXT
+%.log %.trs: %$1$(EXEEXT) $$($(2)LOG_DEPENDENCIES)
+ @$$(call am.test-suite.runtest,$2)
+endif
+endef
+
+define am.test-suite.handle-suffix
+$(call $0.helper,$1,$(if $1,$(call am.util.toupper,$(patsubst .%,%_,$1))))
+endef
+
+ifeq ($(call am.vars.is-undef,TEST_EXTENSIONS),yes)
+ TEST_EXTENSIONS := .test
+endif
+
+$(foreach e,$(filter-out .%,$(TEST_EXTENSIONS)),\
+ $(call am.error,invalid test extension: '$e'))
+$(foreach e,$(TEST_EXTENSIONS), \
+ $(eval $(call am.test-suite.handle-suffix,$e)))
+# It is *imperative* that the "empty" suffix goes last. Otherwise, a
+# declaration like "TESTS = all.test" would cause GNU make to mistakenly
+# try to build the 'all.log' and 'all.trs' files from a non-existent
+# 'all' program (because the Makefile contains an explicit 'all' target,
+# albeit .PHONY), rather than from the 'all.test' script, thus causing
+# all sort of mishaps and confusion.
+$(eval $(call am.test-suite.handle-suffix))
+
+# The names of the given tests scripts with any possible registered
+# test extension removed, as well as any leading '$(srcdir)' component
+# (if any) stripped.
+# The stripping of $(srcdir) is required to support explicit use of
+# $(srcdir) in TESTS entries. That might actually be very useful in
+# practice, for example in usages like this:
+# TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh)
+# where removing the $(srcdir) from the $(wildcard) invocation would
+# cause the idiom to break in VPATH builds.
+define am.test-suite.get-test-bases
+$(patsubst $(srcdir)/%,%,$(strip \
+ $(call am.util.strip-suffixes, $(TEST_EXTENSIONS), \
+ $(if $(EXEEXT),$(patsubst %$(EXEEXT),%,$1),$1))))
+endef
+
+am.test-suite.rx.recheck = ^[ ]*:recheck:[ ]*
+am.test-suite.rx.global-result = ^[ ]*:global-test-result:[ ]*
+am.test-suite.rx.result = ^[ ]*:test-result:[ ]*
+am.test-suite.rx.copy-in-global-log = ^[ ]*:copy-in-global-log:[ ]*
+
+# Some awk code fragments used by one another and eventually by the
+# 'check' and 'recheck' recipes.
+# Note that in those scripts we are careful to close all the '.trs' and
+# '.log' files once we are done with them. This is done to avoid leaking
+# open file descriptors, which could cause serious problems when there
+# are many tests and thus lots of '.log' and '.trs' files to open (yes,
+# there would be problems even on Linux).
+
+am.test-suite.awk-functions = \
+ function error(msg) \
+ { \
+ print msg | "cat >&2"; \
+ exit_status = 1; \
+ } \
+ function input_error(file) \
+ { \
+ error("awk" ": cannot read \"" file "\""); \
+## Never leak file descriptors, not even on errors.
+ close ($$0 ".trs"); close ($$0 ".log"); \
+ }
+
+# Loop on the lines in the current '.trs' or '.log' file,
+# punting on I/O errors.
+am.test-suite.awk-io-loop/BEGIN = \
+ while ((rc = (getline line < ($$0 ".$1"))) != 0) { \
+ if (rc < 0) { input_error($$0 ".$1"); next; }
+am.test-suite.awk-io-loop/END = \
+ }; close ($$0 ".$1");
+
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am.test-suite.list-tests-to-recheck = $(AWK) '{ \
+## By default, we assume the test is to be re-run.
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+##
+## If we have encountered an I/O error here, there are three possibilities:
+##
+## [1] The '.log' file exists, but the '.trs' does not; in this case,
+## we "gracefully" recover by assuming the corresponding test is
+## to be re-run (which will re-create the missing '.trs' file).
+##
+## [2] Both the '.log' and '.trs' files are missing; this means that
+## the corresponding test has not been run, and is thus *not* to
+## be re-run.
+##
+## [3] We have encountered some corner-case problem (e.g., a '.log' or
+## '.trs' files somehow made unreadable, or issues with a bad NFS
+## connection, or whatever); we do not handle such corner cases.
+##
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am.test-suite.rx.recheck)[nN][Oo]/) \
+## A directive explicitly specifying the test is *not* to be re-run.
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am.test-suite.rx.recheck)[yY][eE][sS]/) \
+ { \
+## A directive explicitly specifying the test *is* to be re-run.
+ break; \
+ } \
+## else continue with the next iteration.
+ }; \
+ if (recheck) \
+ print $$0; \
+## Never leak file descriptors.
+ close ($$0 ".trs"); close ($$0 ".log"); \
+}'
+
+# A command that, given a newline-separated list of test names on the
+# standard input, output a shell code snippet setting variables that
+# count occurrences of each test result (PASS, FAIL, etc) declared in
+# the '.trs' files of that given tests. For example, the count of
+# PASSes will be saved in the '$am_PASS' variable, the count of SKIPs
+# in the '$am_SKIP' variable, and so on.
+am.test-suite.count-results = $(AWK) ' \
+$(am.test-suite.awk-functions) \
+BEGIN { exit_status = 0; } \
+{ \
+ $(call am.test-suite.awk-io-loop/BEGIN,trs) \
+ if (line ~ /$(am.test-suite.rx.result)/) \
+ { \
+ sub("$(am.test-suite.rx.result)", "", line); \
+ sub("[: ].*$$", "", line); \
+ counts[line]++;\
+ } \
+ $(call am.test-suite.awk-io-loop/END,trs) \
+} \
+END { \
+ if (exit_status != 0) \
+ error("fatal: making $@: I/O error reading test results"); \
+ else \
+ { \
+ global_count = 0; \
+ for (k in counts) \
+ { \
+ print "am_" k "=" counts[k]; \
+ global_count += counts[k]; \
+ } \
+ } \
+ print "am_ALL=" global_count; \
+ exit(exit_status); \
+}'
+
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am.test-suite.create-global-log = $(AWK) ' \
+$(am.test-suite.awk-functions) \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+BEGIN { exit_status = 0; } \
+{ \
+## By default, we assume the test log is to be copied in the global log,
+## and that its result is simply "RUN" (i.e., we still do not know what
+## it outcome was, but we know that at least it has run).
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ $(call am.test-suite.awk-io-loop/BEGIN,trs) \
+ if (line ~ /$(am.test-suite.rx.global-result)/) \
+ { \
+ sub("$(am.test-suite.rx.global-result)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am.test-suite.rx.copy-in-global-log)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ $(call am.test-suite.awk-io-loop/END,trs) \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ $(call am.test-suite.awk-io-loop/BEGIN,log) \
+ print line; \
+ $(call am.test-suite.awk-io-loop/END,log) \
+ printf "\n"; \
+ }; \
+} \
+END { \
+ if (exit_status != 0) \
+ error("fatal: making $@: I/O error reading test results"); \
+ exit(exit_status); \
+}'
+
+# Restructured Text title.
+am.test-suite.rst-title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+
+# These support runtime overriding of $(TESTS) and $(XFAIL_TESTS).
+# The first one must be left overridable (hence the definition with '?=',
+# because the 'recheck' target need to override it (and in a tricky way).
+am.test-suite.test-bases ?= \
+ $(call am.memoize,am.test-suite.test-bases,$(call am.test-suite.get-test-bases,$(TESTS)))
+am.test-suite.xfail-test-bases = \
+ $(call am.memoize,am.test-suite.xfail-test-bases,$(call am.test-suite.get-test-bases,$(XFAIL_TESTS)))
+
+# The $(strip) is to work around the GNU make 3.80 bug where trailing
+# whitespace in "TESTS = foo.test $(empty)" causes $(TESTS_LOGS) to
+# erroneously expand to "foo.log .log".
+am.test-suite.test-results = \
+ $(call am.memoize,am.test-suite.test-results,$(addsuffix .trs,$(strip $(am.test-suite.test-bases))))
+am.test-suite.test-logs = \
+ $(call am.memoize,am.test-suite.test-logs,$(addsuffix .log,$(strip $(am.test-suite.test-bases))))
+
+am.clean.mostly.f += $(am.test-suite.test-results) $(am.test-suite.test-logs)
+
+# $(TEST_LOGS) is a published interface.
+TEST_LOGS = $(am.test-suite.test-logs)
+
+am.test-suite.workdir = $(am.dir)/test-harness
+
+am.test-suite.append-to-list-of-bases = \
+ @lst='$1'; for x in $$lst; do echo $$x; done \
+ >> $(am.test-suite.workdir)/bases$(am.chars.newline)
+
+define am.setup-test-harness-workdir
+ @rm -rf $(am.test-suite.workdir)
+ @$(MKDIR_P) $(am.test-suite.workdir)
+ @touch $(am.test-suite.workdir)/bases
+ $(call am.xargs-map,am.test-suite.append-to-list-of-bases, \
+ $(am.test-suite.test-bases))
+ @workdir='$(am.test-suite.workdir)' \
+ && sed 's/$$/.log/' $$workdir/bases > $$workdir/logs \
+ && sed 's/$$/.trs/' $$workdir/bases > $$workdir/trs
+endef
+
+ifeq ($(call am.vars.is-undef,TEST_SUITE_LOG),yes)
+ TEST_SUITE_LOG = test-suite.log
+endif
+
+$(TEST_SUITE_LOG): $(am.test-suite.test-logs) $(am.test-suite.test-results)
+ $(am.setup-test-harness-workdir)
+ @set +e; $(am.test-suite.tty-colors); \
+ fatal () { echo "fatal: making $@: $$*" >&2; exit 1; }; \
+ workdir='$(am.test-suite.workdir)'; \
+## Prepare data for the test suite summary. These do not take into account
+## unreadable test results, but they'll be appropriately updated later if
+## needed.
+ am_PASS=0 am_FAIL=0 am_SKIP=0 am_XPASS=0 am_XFAIL=0 am_ERROR=0; \
+ count_test_results_command=`\
+ $(am.test-suite.count-results) <$$workdir/bases` \
+ && eval "$$count_test_results_command" \
+ || fatal "unknown error reading test results"; \
+## Whether the testsuite was successful or not.
+ if test `expr $$am_FAIL + $$am_XPASS + $$am_ERROR` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+## Make $br a line of exactly 76 '=' characters, that will be used to
+## enclose the testsuite summary report when displayed on the console.
+ br='==================='; br=$$br$$br$$br$$br; \
+## When writing the test summary to the console, we want to color a line
+## reporting the count of some result *only* if at least one test
+## experienced such a result. This function is handy in this regard.
+ display_result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'display_result_count' usage" >&2; \
+ exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+## A shell function that creates the testsuite summary. We need it
+## because we have to create *two* summaries, one for test-suite.log,
+## and a possibly-colorized one for console output.
+ create_testsuite_report () \
+ { \
+ opts=$$*; \
+ display_result_count $$opts "TOTAL:" $$am_ALL "$$brg"; \
+ display_result_count $$opts "PASS: " $$am_PASS "$$grn"; \
+ display_result_count $$opts "SKIP: " $$am_SKIP "$$blu"; \
+ display_result_count $$opts "XFAIL:" $$am_XFAIL "$$lgn"; \
+ display_result_count $$opts "FAIL: " $$am_FAIL "$$red"; \
+ display_result_count $$opts "XPASS:" $$am_XPASS "$$red"; \
+ display_result_count $$opts "ERROR:" $$am_ERROR "$$mgn"; \
+ }; \
+## Write "global" testsuite log.
+ if { \
+ st=0; \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am.test-suite.rst-title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ $(am.test-suite.create-global-log) <$$workdir/bases; \
+ } >$(TEST_SUITE_LOG).tmp; then \
+ mv -f $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ else \
+## The awk program in $(am.test-suite.create-global-log) should have already
+## emitted a proper error message about I/O error, no need to repeat it.
+ rm -f $(TEST_SUITE_LOG).tmp; exit 1; \
+ fi; \
+## Emit the test summary on the console.
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+## Multi line coloring is problematic with "less -R", so we really need
+## to color each line individually.
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+## This is expected to go to the console, so it might have to be colorized.
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+am.clean.mostly.f += $(TEST_SUITE_LOG)
+
+## ------------------------------------------ ##
+## Running all tests, or rechecking failures. ##
+## ------------------------------------------ ##
+
+check-TESTS:
+ifneq ($(AM_LAZY_CHECK),yes)
+ @$(call am.clean-cmd.f, \
+ $(am.test-suite.test-results) $(am.test-suite.test-logs))
+endif
+## We always have to remove TEST_SUITE_LOG, to ensure its rule is run
+## in any case even in lazy mode: otherwise, if no test needs rerunning,
+## or a prior run plus reruns all happen within the same timestamp (can
+## happen with a prior "make TESTS=<subset>"), then we get no log output.
+## OTOH, this means that, in the rule for '$(TEST_SUITE_LOG)', we
+## cannot use '$?' to compute the set of lazily rerun tests, lest
+## we rely on .PHONY to work portably.
+ @rm -f $(TEST_SUITE_LOG)
+ $(MAKE) $(TEST_SUITE_LOG)
+.PHONY: check-TESTS
+
+# Recheck must depend on $(check_SCRIPTS), $(check_PROGRAMS), etc.
+# It must also depend on the 'all' target. See automake bug#11252.
+recheck: all $(am.test-suite.deps)
+ +$(am.setup-test-harness-workdir)
+## See comments above in the check-TESTS recipe for why remove
+## $(TEST_SUITE_LOG) here.
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @bases=`$(am.test-suite.list-tests-to-recheck) \
+ <$(am.test-suite.workdir)/bases` || exit 1; \
+## Remove newlines and normalize whitespace.
+ bases=`echo $$bases`; \
+## Re-run the relevant tests, without hitting command-line length limits.
+ echo am.test-suite.test-bases="$$bases" | \
+ $(MAKE) -f- -f$(firstword $(MAKEFILE_LIST)) \
+ $(TEST_SUITE_LOG) .am/doing-recheck=yes
+.PHONY: recheck
+
+# One tricky requirement of the "recheck" target is that, in case (say)
+# the test is a compiled program whose compilation fails, we must ensure
+# that any '.log' and '.trs' file referring to such test are preserved,
+# so that future "make recheck" invocations will still try to re-compile
+# and re-run it (automake bug#11791). This indirection is aimed at
+# satisfying such a requirement.
+ifeq ($(.am/doing-recheck),yes)
+$(am.test-suite.test-logs) $(am.test-suite.test-results): .am/nil
+endif
+
+AM_RECURSIVE_TARGETS += check recheck
diff --git a/lib/am/program.am b/lib/am/program.am
index 7fa2aa25a..be79eaf52 100644
--- a/lib/am/program.am
+++ b/lib/am/program.am
@@ -14,11 +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/>.
-%PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES) $(EXTRA_%XPROGRAM%_DEPENDENCIES) %DIRSTAMP%
+%PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES) \
+ $(EXTRA_%XPROGRAM%_DEPENDENCIES)
## Remove program before linking. Otherwise the link will fail if the
## program is running somewhere. FIXME: this could be a loss if
## you're using an incremental linker. Maybe we should think twice?
## Or maybe not... sadly, incremental linkers are rarer than losing
## systems.
- @rm -f %PROGRAM%%EXEEXT%
+ %SILENT%rm -f $@
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
%VERBOSE%$(%XLINK%) $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_LDADD) $(LIBS)
diff --git a/lib/am/progs.am b/lib/am/progs.am
index 3dcb55e5e..9fb5cd961 100644
--- a/lib/am/progs.am
+++ b/lib/am/progs.am
@@ -84,18 +84,17 @@ if %?INSTALL%
.PHONY uninstall-am: uninstall-%DIR%PROGRAMS
uninstall-%DIR%PROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(%DIR%_PROGRAMS)'; test -n "$(%NDIR%dir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
-## Remove any leading directory before applying $(transform),
-## 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,,' \
- `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files
+## The need to apply $(transform) is quite tricky, and forces us to
+## go though a $(shell) invocation.
+ $(call am.uninst.cmd,$(%NDIR%dir),$(shell \
+ list='$(%DIR%_PROGRAMS)'; for p in $$list; do echo "$$p"; done | \
+## Remove any leading directory before applying $(transform), 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,,' \
+ ))
endif %?INSTALL%
@@ -103,9 +102,7 @@ endif %?INSTALL%
## Cleaning. ##
## ---------- ##
-.PHONY clean-am: clean-%DIR%PROGRAMS
-clean-%DIR%PROGRAMS:
-?!LIBTOOL? -test -z "$(%DIR%_PROGRAMS)" || rm -f $(%DIR%_PROGRAMS)
+am.clean.normal.f += $(%DIR%_PROGRAMS)
## Under Cygwin, we build 'program$(EXEEXT)'. However, if this
## program uses a Libtool library, Libtool will move it in
## '_libs/program$(EXEEXT)' and create a 'program' wrapper (without
@@ -114,14 +111,7 @@ clean-%DIR%PROGRAMS:
## Cleaning the '_libs/' or '.libs/' directory is done from clean-libtool.
## FIXME: In the future (i.e., when it works) it would be nice to delegate
## this task to "libtool --mode=clean".
-?LIBTOOL? @list='$(%DIR%_PROGRAMS)'; test -n "$$list" || exit 0; \
-?LIBTOOL? echo " rm -f" $$list; \
-?LIBTOOL? rm -f $$list || exit $$?; \
-?LIBTOOL? test -n "$(EXEEXT)" || exit 0; \
-?LIBTOOL? list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-?LIBTOOL? echo " rm -f" $$list; \
-?LIBTOOL? rm -f $$list
-
+?LIBTOOL?am.clean.normal.f += $(if $(EXEEXT),$(patsubst %$(EXEEXT),%,$(%DIR%_PROGRAMS)))
## ---------- ##
## Checking. ##
diff --git a/lib/am/python.am b/lib/am/python.am
index 5c48ac7ef..736f82048 100644
--- a/lib/am/python.am
+++ b/lib/am/python.am
@@ -14,10 +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/>.
-if %?INSTALL%
-include inst-vars.am
-endif %?INSTALL%
-
?FIRST?am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
## ------------ ##
@@ -30,24 +26,12 @@ am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
?!EXEC?.PHONY install-data-am: install-%DIR%PYTHON
install-%DIR%PYTHON: $(%DIR%_PYTHON)
@$(NORMAL_INSTALL)
+ @$(if $(and $(%NDIR%dir),$(%DIR%_PYTHON)),$(strip \
+ )$(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)")
if %?BASE%
- @list='$(%DIR%_PYTHON)'; dlist=; list2=; test -n "$(%NDIR%dir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
- fi; \
- for p in $$list; do \
-## A file can be in the source directory or the build directory.
- if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
- if test -f $$b$$p; then \
-## Compute basename of source file. Unless this is a nobase_ target, we
-## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.py',
-## not '$(DESTDIR)$(%NDIR%dir)/python/foo.py'.
- $(am__strip_dir) \
- dlist="$$dlist $$f"; \
- list2="$$list2 $$b$$p"; \
- else :; fi; \
- done; \
+ @test -n "$(%NDIR%dir)" && test -n "$(%DIR%_PYTHON)" || exit 0; \
+ dlist='$(notdir $(%DIR%_PYTHON))'; \
+ list2='$(foreach i,$(%DIR%_PYTHON),$(call am.vpath.rewrite,$i))'; \
for file in $$list2; do echo $$file; done | $(am__base_list) | \
while read files; do \
## Don't perform translation, since script name is important.
@@ -62,10 +46,6 @@ if %?BASE%
else :; fi
else !%?BASE%
@list='$(%DIR%_PYTHON)'; test -n "$(%NDIR%dir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
- fi; \
$(am__nobase_list) | { while read dir files; do \
xfiles=; for p in $$files; do \
## A file can be in the source directory or the build directory.
@@ -95,40 +75,19 @@ endif %?INSTALL%
## -------------- ##
if %?INSTALL%
-
-?FIRST?am__pep3147_tweak = \
-?FIRST? sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|'
-
.PHONY uninstall-am: uninstall-%DIR%PYTHON
uninstall-%DIR%PYTHON:
@$(NORMAL_UNINSTALL)
- @list='$(%DIR%_PYTHON)'; test -n "$(%NDIR%dir)" || list=; \
-?BASE? py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-?!BASE? $(am__nobase_strip_setup); py_files=`$(am__nobase_strip)`; \
- test -n "$$py_files" || exit 0; \
- dir='$(DESTDIR)$(%NDIR%dir)'; \
-## Also remove the .pyc and .pyo byte compiled versions.
-## This is somewhat tricky, because for newer pythons we have to take
-## PEP-3147 into account.
- pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \
- pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \
- py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \
- echo "$$py_files_pep3147";\
- pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \
- pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \
- st=0; \
- for files in \
- "$$py_files" \
- "$$pyc_files" \
- "$$pyo_files" \
-## Installation of '.py' files is not influenced by PEP-3147, so it
-## is correct *not* to have $pyfiles_pep3147 here.
- "$$pyc_files_pep3147" \
- "$$pyo_files_pep3147" \
- ; do \
- $(am__uninstall_files_from_dir) || st=$$?; \
- done; \
- exit $$st
+ $(call am.uninst.cmd,$(%NDIR%dir), \
+ $(strip $(foreach i, $(patsubst %.py,%, \
+?BASE? $(notdir $(%DIR%_PYTHON))), \
+?!BASE? $(patsubst $(srcdir)/%,%,$(%DIR%_PYTHON))), \
+ $i.py \
+## Also remove the '.pyc' and '.pyo' byte-compiled versions, catering
+## to PEP-3147. Note that installation of '.py' files is *not*
+## influenced by that PEP.
+ $(foreach e, pyc pyo, \
+ $i.$e $(dir $i)__pycache__/$(notdir $i).*.$e))))
endif %?INSTALL%
@@ -144,5 +103,5 @@ endif %?INSTALL%
## -------------- ##
if %?DIST%
-DIST_COMMON += %DISTVAR%
+am.dist.common-files += %DISTVAR%
endif %?DIST%
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index b5194dd32..60b56bba6 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -15,22 +15,21 @@
## along with this program. If not, see <http://www.gnu.org/licenses/>.
%CONFIG_H%: %STAMP%
-## Recover from removal of CONFIG_HEADER.
- @test -f $@ || rm -f %STAMP%
- @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %STAMP%
-
+## Recover from removal of config headers. This is duplicated with the
+## '%STAMP%' rule below, but allow us to avoid a (potentially costly)
+## make recursion.
+ $(if $(wildcard $@),,@rm -f %STAMP%)
+ $(if $(wildcard $@),,cd $(top_builddir) && $(SHELL) ./config.status %CONFIG_H_PATH%)
%STAMP%: %CONFIG_H_DEPS% $(top_builddir)/config.status
@rm -f %STAMP%
cd $(top_builddir) && $(SHELL) ./config.status %CONFIG_H_PATH%
-
## Only the first file of AC_CONFIG_HEADERS is assumed to be generated
## by autoheader.
if %?FIRST-HDR%
-%CONFIG_HIN%: %MAINTAINER-MODE% $(am__configure_deps) %FILES%
-## Cater to parallel BSD make.
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+%CONFIG_HIN%: $(am.remake.configure-deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
## Whenever $(AUTOHEADER) has run, we must make sure that
## ./config.status will rebuild config.h. The dependency from %STAMP%
## on %CONFIG_H_DEPS% (which contains config.hin) is not enough to
diff --git a/lib/am/scripts.am b/lib/am/scripts.am
index 4b3bcced5..a94fd5572 100644
--- a/lib/am/scripts.am
+++ b/lib/am/scripts.am
@@ -14,10 +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/>.
-if %?INSTALL%
-include inst-vars.am
-endif %?INSTALL%
-
## ------------ ##
## Installing. ##
## ------------ ##
@@ -29,46 +25,27 @@ am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
?!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
-## a syntax error in sh.
- @list='$(%DIR%_SCRIPTS)'; test -n "$(%NDIR%dir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
- fi; \
-?!BASE? $(am__nobase_strip_setup); \
- for p in $$list; do \
-## A file can be in the source directory or the build directory.
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-## A script may or may not exist.
- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
- done | \
-## We now have a list of "sourcefile newline (nobase-)target" pairs.
-## 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' \
-?BASE? -e 'h;s|.*|.|' \
-?!BASE? -e "s|$$srcdirstrip/||" -e 'h;s|[^/]*$$||; s|^$$|.|' \
- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
- if (++n[d] == $(am__install_max)) { \
- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
- else { print "f", d "/" $$4, $$1 } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
-?!BASE? case $$type in \
-?!BASE? d) echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)/$$dir'"; \
-?!BASE? $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)/$$dir" || exit $$?;; \
-?!BASE? f) \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(%NDIR%dir)$$dir'"; \
- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(%NDIR%dir)$$dir" || exit $$?; \
- } \
-?!BASE? ;; esac \
- ; done
+ @test -n '$(and $(%DIR%_SCRIPTS),$(%NDIR%dir))' || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
+## Ending a recipe with a backslash cause some shells to choke,
+## so add a dummy ':' command to make sure the rest of the command
+## is not empty.
+ :; $(foreach i,$(%DIR%_SCRIPTS), \
+ p=$(call am.vpath.rewrite,$i); \
+## If the _SCRIPTS variable has an entry like foo/bar, install it as
+## $(destdir)/bar, not $(destdir)/foo/bar. The user can make a new dir
+## variable or use a nobase_ target for the latter case. However in
+## all cases $(transform) applies only to the basename, so we have to
+## strip the directory part.
+ f='$(notdir $i)'; \
+## FIXME: optimize away if $(transform) is a no-op?
+ f=`echo "$$f" | sed '$(transform)'`; \
+## Prepend the directory part if 'nobase_' is used.
+?!BASE? f='$(patsubst ./%,%,$(dir $i))'/$$f; \
+ echo " $(INSTALL_SCRIPT) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+ $(INSTALL_SCRIPT) -D "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" \
+ || exit $$?;)
endif %?INSTALL%
@@ -80,13 +57,15 @@ if %?INSTALL%
.PHONY uninstall-am: uninstall-%DIR%SCRIPTS
uninstall-%DIR%SCRIPTS:
@$(NORMAL_UNINSTALL)
- @list='$(%DIR%_SCRIPTS)'; test -n "$(%NDIR%dir)" || exit 0; \
-?BASE? files=`for p in $$list; do echo "$$p"; done | \
-?BASE? sed -e 's,.*/,,;$(transform)'`; \
-?!BASE? $(am__nobase_strip_setup); \
-?!BASE? files=`$(am__nobase_strip) \
-?!BASE? -e 'h;s,.*/,,;$(transform);x;s|[^/]*$$||;G;s,\n,,'`; \
- dir='$(DESTDIR)$(%NDIR%dir)'; $(am__uninstall_files_from_dir)
+## The need to apply $(transform) is quite tricky, and forces us to
+## go though a $(shell) invocation.
+ $(call am.uninst.cmd,$(%NDIR%dir),$(shell \
+?BASE? files='$(notdir $(%DIR%_SCRIPTS))' && \
+?!BASE? files='$(patsubst $(srcdir)/%,%,$(%DIR%_SCRIPTS))' && \
+ for f in $$files; do echo "$$f"; done | sed -e \
+?BASE? '$(transform)' \
+?!BASE? 'h;s,.*/,,;$(transform);x;s|[^/]*$$||;G;s,\n,,' \
+ ))
endif %?INSTALL%
@@ -95,7 +74,7 @@ endif %?INSTALL%
## -------------- ##
if %?DIST%
-DIST_COMMON += %DISTVAR%
+am.dist.common-files += %DISTVAR%
endif %?DIST%
diff --git a/lib/am/serial-tests.mk b/lib/am/serial-tests.mk
new file mode 100644
index 000000000..d6b9c6663
--- /dev/null
+++ b/lib/am/serial-tests.mk
@@ -0,0 +1,141 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001-2014 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/>.
+
+## Obsolescent serial testsuite driver.
+
+ifdef EXEEXT
+## This is suboptimal, but we need to preserve the order of $(TESTS).
+am.test-suite.cook-with-exeext.helper = \
+ $(if $(filter $(am.all-progs), $1), $1$(EXEEXT), $1)
+am.test-suite.cook-with-exeext = \
+ $(strip $(foreach t, $1, $(call $0.helper, $t)))
+else
+am.test-suite.cook-with-exeext = $(strip $1)
+endif
+
+# TESTS can contain compiled programs, in which case we might have
+# to account for $(EXEEXT) appending. For matching purposes, we
+# need to adjust XFAIL_TESTS as well.
+am__cooked_tests = \
+ $(call am.test-suite.cook-with-exeext, $(TESTS))
+am__cooked_xfail_tests = \
+ $(call am.test-suite.cook-with-exeext, $(XFAIL_TESTS))
+
+.PHONY: check-TESTS
+check-TESTS: $(am__cooked_tests)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list='$(am__cooked_tests)'; \
+ $(am.test-suite.tty-colors); \
+ is_xfail_test () { \
+ case " $(strip $(am__cooked_xfail_tests)) " in \
+ *" $$tst "*) return 0;; \
+ *) return 1;; \
+ esac; \
+ }; \
+ test -n "$$list" || exit 0; \
+## Run the tests one by one in series, collecting their results.
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+## For VPATH support.
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
+## Success.
+ all=`expr $$all + 1`; \
+ if is_xfail_test; then \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ else \
+ col=$$grn; res=PASS; \
+ fi; \
+ elif test $$? -ne 77; then \
+## Failure. Expected or unexpected?
+ all=`expr $$all + 1`; \
+ if is_xfail_test; then \
+## Expected failure (XFAIL).
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ else \
+## Unexpected failure (FAIL).
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ fi; \
+ else \
+## Test skipped.
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+## Report this single result on stdout.
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+## Done running the tests. Will now have to display the global
+## outcome, with proper formatting.
+## Let's start preparing the banner.
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+## DASHES should contain the largest line of the banner.
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ fi; \
+## Multi line coloring is problematic with "less -R", so we really need
+## to color each line individually.
+ echo "$${col}$$dashes$${std}"; \
+ echo "$${col}$$banner$${std}"; \
+ test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+ test -z "$$report" || echo "$${col}$$report$${std}"; \
+ echo "$${col}$$dashes$${std}"; \
+ test "$$failed" -eq 0 || exit 1
diff --git a/lib/am/subdirs.am b/lib/am/subdirs.mk
index cc00d5876..b1bab3024 100644
--- a/lib/am/subdirs.am
+++ b/lib/am/subdirs.mk
@@ -14,20 +14,24 @@
## 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_TARGETS += all-recursive check-recursive installcheck-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
+RECURSIVE_TARGETS += \
+ all-recursive \
+ check-recursive \
+ installcheck-recursive \
+ mostlyclean-recursive \
+ clean-recursive \
+ distclean-recursive \
+ maintainer-clean-recursive
-am__recursive_targets = \
+am.recurs.all-targets = \
$(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
+ $(am.recurs.extra-targets)
-## All documented targets which invoke 'make' recursively, or depend
-## on targets that do so. GNUmakefile from gnulib depends on this.
-AM_RECURSIVE_TARGETS += $(am__recursive_targets:-recursive=)
+# All documented targets which invoke 'make' recursively, or depend
+# on targets that do so. GNUmakefile from gnulib depends on this.
+AM_RECURSIVE_TARGETS += $(am.recurs.all-targets:-recursive=)
-.PHONY .MAKE: $(am__recursive_targets)
+.PHONY: $(am.recurs.all-targets)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
@@ -36,17 +40,16 @@ AM_RECURSIVE_TARGETS += $(am__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.
-$(am__recursive_targets):
+$(am.recurs.all-targets): %-recursive:
## Using $failcom allows "-k" to keep its natural meaning when running a
## recursive rule.
@fail=; \
- if $(am__make_keepgoing); then \
+ if $(am.make.keep-going); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
## For distclean and maintainer-clean we make sure to use the full
## list of subdirectories. We do this so that 'configure; make
## distclean' really is a no-op, even if SUBDIRS is conditional.
@@ -55,22 +58,20 @@ $(am__recursive_targets):
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
+ echo "Making $* in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
- local_target="$$target-am"; \
+ local_target=$*-am; \
else \
- local_target="$$target"; \
+ local_target=$*; \
fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
+ $(MAKE) -C "$$subdir" $$local_target || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ $(MAKE) $*-am || exit 1; \
fi; test -z "$$fail"
mostlyclean: mostlyclean-recursive
clean: clean-recursive
distclean: distclean-recursive
maintainer-clean: maintainer-clean-recursive
-
diff --git a/lib/am/tags.am b/lib/am/tags.am
deleted file mode 100644
index 15cd4cfe7..000000000
--- a/lib/am/tags.am
+++ /dev/null
@@ -1,182 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 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/>.
-
-# 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: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-
-
-## ------ ##
-## TAGS. ##
-## ------ ##
-
-ETAGS = etags
-.PHONY: TAGS tags
-if %?SUBDIRS%
-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; \
- here=`pwd`; \
-## Exuberant Ctags wants --etags-include,
-## GNU Etags --include
-## Furthermore Exuberant Ctags 5.5.4 fails to create TAGS files
-## when no files are supplied, despite any --etags-include option.
-## A workaround is to pass '.' as a file. This is what $empty_fix is for.
-?SUBDIRS? if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-?SUBDIRS? include_option=--etags-include; \
-?SUBDIRS? empty_fix=.; \
-?SUBDIRS? else \
-?SUBDIRS? include_option=--include; \
-?SUBDIRS? empty_fix=; \
-?SUBDIRS? fi; \
-?SUBDIRS? list='$(SUBDIRS)'; for subdir in $$list; do \
-## Do nothing if we're trying to look in '.'.
-?SUBDIRS? if test "$$subdir" = .; then :; else \
-?SUBDIRS? test ! -f $$subdir/TAGS || \
-## Note that the = is mandatory for --etags-include.
-?SUBDIRS? set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-?SUBDIRS? fi; \
-?SUBDIRS? done; \
- $(am__define_uniq_tagged_files); \
-## Remove the 'x' we added first:
- shift; \
-## Make sure we have something to run etags on.
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-
-
-## --------------- ##
-## vi-style tags. ##
-## --------------- ##
-
-CTAGS = ctags
-.PHONY: CTAGS ctags
-if %?SUBDIRS%
-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) \
- $$unique
-
-
-## --------------- ##
-## "Global tags". ##
-## --------------- ##
-
-.PHONY: GTAGS
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-
-## ------- ##
-## cscope ##
-## ------- ##
-
-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 cscopelist
-endif %?TOPDIR_P%
-
-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) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-
-## ---------- ##
-## Cleaning. ##
-## ---------- ##
-
-.PHONY distclean-am: distclean-tags
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-if %?TOPDIR_P%
- -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-endif %?TOPDIR_P%
diff --git a/lib/am/tags.mk b/lib/am/tags.mk
new file mode 100644
index 000000000..81adf876c
--- /dev/null
+++ b/lib/am/tags.mk
@@ -0,0 +1,157 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994-2014 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/>.
+
+# 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. Ditto for ctags and cscope.
+.PHONY: tags TAGS ctags CTAGS cscope cscopelist
+
+am.tags.files = \
+ $(call am.memoize,am.tags.files,$(strip \
+ $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) $(am.config-hdr.local.in)))
+
+# Let's see if we have to actually deal with tags creation.
+ifneq ($(or $(am.tags.files),$(ETAGS_ARGS),$(SUBDIRS)),)
+
+# ---------------------------------- #
+# Tags-related internal variables. #
+# ---------------------------------- #
+
+# Use $(sort) rather than $(am.util.uniq) here, because the former is
+# faster on long lists, and we don't care about the order of the list
+# anyway.
+am.tags.files.unique = \
+ $(call am.memoize,am.tags.files.unique,$(sort \
+ $(foreach f,$(am.tags.files),$(call am.vpath.rewrite,$f))))
+
+# Option to include other TAGS files in an etags-generated file.
+# Exuberant Ctags wants '--etags-include', GNU Etags wants '--include'.
+am.tags.include-option = \
+ $(call am.memoize,am.tags.include-option,$(strip $(shell \
+ if { $(ETAGS) --etags-include --version; } >/dev/null 2>&1; then \
+ printf '%s\n' --etags-include; \
+ else \
+ printf '%s\n' --include; \
+ fi)))
+
+# TAGS files in $(SUBDIRS) entries (if any) that must be included in
+# the top-level TAGS file.
+am.tags.subfiles = \
+ $(call am.memoize,am.tags.subfiles,$(strip \
+ $(foreach d,$(filter-out .,$(SUBDIRS)),$(wildcard $d/TAGS))))
+
+
+# ---------------------------------- #
+# ID database (from GNU id-utils). #
+# ---------------------------------- #
+
+ID: $(am.tags.files)
+ mkid -fID $(am.tags.files.unique)
+am.clean.dist.f += ID
+
+
+# -------------------------------- #
+# GNU Etags and Exuberant ctags. #
+# -------------------------------- #
+
+CTAGS = ctags
+ETAGS = etags
+
+ifdef SUBDIRS
+AM_RECURSIVE_TARGETS += TAGS CTAGS
+RECURSIVE_TARGETS += tags-recursive ctags-recursive
+ctags: ctags-recursive
+tags: tags-recursive
+else
+tags: tags-am
+ctags: ctags-am
+endif
+
+TAGS: tags
+CTAGS: ctags
+.PHONY: TAGS tags CTAGS ctags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am.tags.files)
+ifneq ($(or $(ETAGS_ARGS),$(am.tags.subfiles),$(am.tags.files.unique)),)
+ $(ETAGS) \
+ $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $(foreach f,$(am.tags.subfiles),'$(am.tags.include-option)=$(CURDIR)/$f') \
+## Some shells choke when a recipe ends with a backslash. So make sure the
+## next line is not an empty string.
+ $(or $(am.tags.files.unique),;)
+endif
+
+ctags-am: $(TAGS_DEPENDENCIES) $(am.tags.files)
+ifneq ($(or $(CTAGS_ARGS),$(am.tags.files.unique)),)
+ $(CTAGS) \
+ $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+## Some shells choke when a recipe ends with a backslash. So make sure the
+## next line is not an empty string.
+ $(or $(am.tags.files.unique),;)
+endif
+
+am.clean.dist.f += TAGS tags
+
+
+# -------------------- #
+# GNU "Global tags". #
+# -------------------- #
+
+.PHONY: GTAGS
+GTAGS:
+ cd $(top_srcdir) && gtags -i $(GTAGS_ARGS) '$(abs_top_builddir)'
+am.clean.dist.f += GTAGS GRTAGS GSYMS
+
+
+# --------- #
+# Cscope. #
+# --------- #
+
+ifdef am.conf.is-topdir
+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 cscopelist
+am.clean.dist.f += cscope.out cscope.in.out cscope.po.out cscope.files
+endif
+
+ifdef SUBDIRS
+RECURSIVE_TARGETS += cscopelist-recursive
+cscopelist: cscopelist-recursive
+else
+cscopelist: cscopelist-am
+endif
+
+cscopelist-am: $(am.tags.files)
+ list='$(am.tags.files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+endif # Dealing with tags.
diff --git a/lib/am/depend.am b/lib/am/texi-spec.am
index 54ea220fe..15fafefd4 100644
--- a/lib/am/depend.am
+++ b/lib/am/texi-spec.am
@@ -1,5 +1,5 @@
## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 Free Software Foundation, Inc.
+## Copyright (C) 2012-2014 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,14 +14,15 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-am__mv = mv -f
+if %?INSRC%
+INFO_DEPS += $(srcdir)/%DEST_PREFIX%.info
+$(srcdir)/%DEST_PREFIX%.info: %SOURCE_REAL% %DEPS%
+$(srcdir)/%DEST_PREFIX%.info: am.texi.info-in-srcdir=yes
+else !%?INSRC%
+INFO_DEPS += %DEST_PREFIX%.info
+%DEST_PREFIX%.info: %SOURCE_REAL% %DEPS%
+endif !%?INSRC%
-## This Makefile depends on Depdirs' files, so we should never
-## erase them in -am or -recursive rules; that would prevent any other
-## rules from being recursive (for instance multilib clean rules are
-## recursive).
-distclean:
- -rm -rf %DEPDIRS%
-
-maintainer-clean:
- -rm -rf %DEPDIRS%
+%DEST_PREFIX%.dvi: %SOURCE_REAL% %DEPS%
+%DEST_PREFIX%.pdf: %SOURCE_REAL% %DEPS%
+%DEST_PREFIX%.html: %SOURCE_REAL% %DEPS%
diff --git a/lib/am/texi-vers.am b/lib/am/texi-vers.am
index eab6bd6ca..17fa5e55f 100644
--- a/lib/am/texi-vers.am
+++ b/lib/am/texi-vers.am
@@ -14,45 +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/>.
-DIST_COMMON += %VTEXI% %STAMPVTI%
+am.dist.common-files += %VTEXI% %STAMPVTI%
## Don't give this rule a command (even '@:').
## %STAMPVTI% is always newer than %VTEXI%, so this rule is always
## triggered. If you equip this rule with a command, GNU make will
## assume %VTEXI% has been rebuild in the current directory and
## discard any %VTEXI% file found in a VPATH search.
-%VTEXI%: %MAINTAINER-MODE% %STAMPVTI%
+%VTEXI%: %STAMPVTI%
## Depend on configure so that version number updates cause a rebuild.
## (Not configure.ac, because not all setups define the version number
## in this file.)
%STAMPVTI%: %TEXI% $(top_srcdir)/configure
-## It is wrong to have %STAMPVTI% dependent on %DIRSTAMP%, because
-## %STAMPVTI% is distributed and %DIRSTAMP% isn't: a distributed file
-## should never be dependent upon a non-distributed built file.
-## Therefore we ensure that %DIRSTAMP% exists in the rule.
-## Use cp + mv so that the update of %VTEXI% is atomic even if
-## the source directory is on a different file system.
-?DIRSTAMP? @test -f %DIRSTAMP% || $(MAKE) $(AM_MAKEFLAGS) %DIRSTAMP%
- @(dir=.; test -f ./%TEXI% || dir=$(srcdir); \
- set `$(SHELL) %MDDIR%mdate-sh $$dir/%TEXI%`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > %VTI%.tmp$$$$ && \
- (cmp -s %VTI%.tmp$$$$ %VTEXI% \
- || (echo "Updating %VTEXI%" && \
- cp %VTI%.tmp$$$$ %VTEXI%.tmp$$$$ && \
- mv %VTEXI%.tmp$$$$ %VTEXI%)) && \
- rm -f %VTI%.tmp$$$$ %VTEXI%.$$$$
+ @$(am.cmd.ensure-target-dir-exists)
+ @(set `$(SHELL) $(am.conf.aux-dir)/mdate-sh $<` \
+ && echo "@set UPDATED $$1 $$2 $$3" \
+ && echo "@set UPDATED-MONTH $$2 $$3" \
+ && echo "@set EDITION $(VERSION)" \
+ && echo "@set VERSION $(VERSION)") > %VTI%.$$$$.tmp || exit; \
+ if cmp -s %VTI%.$$$$.tmp %VTEXI%; then \
+ rm -f %VTI%.$$$$.tmp; \
+ else \
+ echo "Updating %VTEXI%" && mv -f %VTI%.$$$$.tmp %VTEXI%; \
+ fi
@cp %VTEXI% $@
-mostlyclean-am: mostlyclean-%VTI%
-mostlyclean-%VTI%:
- -rm -f %VTI%.tmp* %VTEXI%.tmp*
-
-maintainer-clean-am: maintainer-clean-%VTI%
-maintainer-clean-%VTI%:
-%MAINTAINER-MODE% -rm -f %STAMPVTI% %VTEXI%
-
-.PHONY: mostlyclean-%VTI% maintainer-clean-%VTI%
+am.clean.mostly.f += %VTI%.[0-9]*.tmp
+am.clean.maint.f += %STAMPVTI% %VTEXI%
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
deleted file mode 100644
index 2c258dfd2..000000000
--- a/lib/am/texibuild.am
+++ /dev/null
@@ -1,102 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2015 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/>.
-
-
-?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%:
-?!GENERIC_INFO?%DEST_INFO_PREFIX%%DEST_SUFFIX%: %SOURCE_INFO% %DEPS%
-## It is wrong to have 'info' files dependent on %DIRSTAMP%, because
-## 'info' files are distributed and %DIRSTAMP% isn't: a distributed file
-## should never be dependent upon a non-distributed built file.
-## Therefore we ensure that %DIRSTAMP% exists in the rule.
-?!INSRC??DIRSTAMP? @test -f %DIRSTAMP% || $(MAKE) $(AM_MAKEFLAGS) %DIRSTAMP%
-## If the texinfo file has some minor mistakes which cause makeinfo
-## to fail, the info files are not removed.
- $(AM_V_MAKEINFO)$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
- %MAKEINFOFLAGS% --no-split -o $@-t \
-?!INSRC? `test -f '%SOURCE_INFO%' || echo '$(srcdir)/'`%SOURCE_INFO%
-?INSRC??!GENERIC_INFO? $(srcdir)/%SOURCE_INFO%
-?INSRC??GENERIC_INFO? $<
- $(AM_V_at)mv -f $@-t $@
-
-INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
-
-?GENERIC?%SOURCE_SUFFIX%.dvi:
-?!GENERIC?%DEST_PREFIX%.dvi: %SOURCE% %DEPS% %DIRSTAMP%
- %AM_V_TEXI2DVI%TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-## 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%' \
-## texi2dvi doesn't silence everything with -q, redirect to /dev/null instead.
-## We still want -q (%TEXIQUIET%) because it turns on batch mode.
-## 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%
- %AM_V_TEXI2PDF%TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-## 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%' \
-## texi2pdf doesn't silence everything with -q, redirect to /dev/null instead.
-## We still want -q (%TEXIQUIET%) because it turns on batch mode.
-## 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%
-## When --split (the default) is used, makeinfo will output a
-## directory. However it will not update the time stamp of a
-## previously existing directory, and when the names of the nodes
-## in the manual change, it may leave unused pages. Our fix
-## is to build under a temporary name, and replace the target on
-## success.
- %AM_V_MAKEINFO%rm -rf $(@:.html=.htp)
- %SILENT%if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS% \
-?GENERIC? -o $(@:.html=.htp) %SOURCE%; \
-?!GENERIC? -o $(@:.html=.htp) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%; \
- then \
- rm -rf $@ && mv $(@:.html=.htp) $@; \
- else \
- rm -rf $(@:.html=.htp); exit 1; \
- fi
-
-## If we are using the generic rules, we need separate dependencies.
-## (Don't wonder about %DIRSTAMP% here, this is used only by non-generic
-## rules.)
-if %?GENERIC_INFO%
-%DEST_INFO_PREFIX%%DEST_SUFFIX%: %SOURCE_REAL% %DEPS%
-endif %?GENERIC_INFO%
-if %?GENERIC%
-%DEST_PREFIX%.dvi: %SOURCE_REAL% %DEPS%
-%DEST_PREFIX%.pdf: %SOURCE_REAL% %DEPS%
-%DEST_PREFIX%.html: %SOURCE_REAL% %DEPS%
-endif %?GENERIC%
diff --git a/lib/am/texibuild.mk b/lib/am/texibuild.mk
new file mode 100644
index 000000000..25e040e4c
--- /dev/null
+++ b/lib/am/texibuild.mk
@@ -0,0 +1,86 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994-2014 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/>.
+
+TEXI2DVI = texi2dvi
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+DVIPS = dvips
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS ?= $(AM_MAKEINFOFLAGS)
+
+define am.texi.build.dvi-or-pdf
+ $1$(am.cmd.ensure-target-dir-exists) && \
+ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+## Must set MAKEINFO like this so that version.texi will be found even
+## if it is in srcdir.
+ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
+ -I $(@D) -I $(srcdir)/$(@D)' \
+## texi2dvi and texi2pdf don't silence everything with -q, redirect
+## to /dev/null instead. We still want -q ($(AM_V_TEXI_QUIETOPTS))
+## because it turns on batch mode.
+## 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 (as well as distinct build-dirs for PDF and DVI files) to
+## avoid hitting a Texinfo bug that could cause a low-probability racy
+## failure when doing parallel builds; see:
+## http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html
+ $2 $(AM_V_TEXI_QUIETOPTS) --build-dir=$3 \
+ -o $@ $< $(AM_V_TEXI_DEVNULL_REDIRECT)
+endef
+
+define am.texi.build.info
+ $(if $1,,$(AM_V_at)$(am.cmd.ensure-target-dir-exists))
+## If the texinfo file has some minor mistakes which cause makeinfo
+## to fail, the info files are not removed.
+ $(AM_V_MAKEINFO)$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
+ --no-split -I $(@D) -I $(srcdir)/$(@D) -o $@-t $<
+ $(AM_V_at)mv -f $@-t $@
+endef
+
+define am.texi.build.html
+ $(AM_V_MAKEINFO)$(am.cmd.ensure-target-dir-exists) \
+## When --split (the default) is used, makeinfo will output a
+## directory. However it will not update the time stamp of a
+## previously existing directory, and when the names of the nodes
+## in the manual change, it may leave unused pages. Our fix
+## is to build under a temporary name, and replace the target on
+## success.
+ && { test ! -d $(@:.html=.htp) || rm -rf $(@:.html=.htp); } \
+ || exit 1; \
+ if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \
+ -I $(@D) -I $(srcdir)/$(@D) \
+ -o $(@:.html=.htp) $<; \
+ then \
+ rm -rf $@ && mv $(@:.html=.htp) $@; \
+ else \
+## on failure, remove the temporary directory before exiting.
+ rm -rf $(@:.html=.htp) $@; exit 1; \
+ fi
+endef
+
+%.info: %.texi
+ $(call am.texi.build.info,$(am.texi.info-in-srcdir))
+%.dvi: %.texi
+ $(call am.texi.build.dvi-or-pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI),$(@:.dvi=.t2d))
+%.pdf: %.texi
+ $(call am.texi.build.dvi-or-pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF),$(@:.pdf=.t2p))
+%.html: %.texi
+ $(call am.texi.build.html)
+
+## The way to make PostScript, for those who want it.
+%.ps: %.dvi
+ $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(DVIPS) $(AM_V_TEXI_QUIETOPTS) -o $@ $<
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
deleted file mode 100644
index 92f9e98fb..000000000
--- a/lib/am/texinfos.am
+++ /dev/null
@@ -1,390 +0,0 @@
-## automake - create Makefile.in from Makefile.am
-
-## Copyright (C) 1994-2015 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/>.
-
-## ----------- ##
-## Variables. ##
-## ----------- ##
-
-if %?LOCAL-TEXIS%
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-endif %?LOCAL-TEXIS%
-
-
-## ---------- ##
-## Building. ##
-## ---------- ##
-
-## The way to make PostScript, for those who want it.
-if %?LOCAL-TEXIS%
-DVIPS = dvips
-.dvi.ps:
- %AM_V_DVIPS%TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) %TEXIQUIET% -o $@ $<
-endif %?LOCAL-TEXIS%
-
-.PHONY: dvi dvi-am html html-am info info-am pdf pdf-am ps ps-am
-if %?SUBDIRS%
-RECURSIVE_TARGETS += dvi-recursive html-recursive info-recursive
-RECURSIVE_TARGETS += pdf-recursive ps-recursive
-dvi: dvi-recursive
-html: html-recursive
-info: info-recursive
-pdf: pdf-recursive
-ps: ps-recursive
-else !%?SUBDIRS%
-dvi: dvi-am
-html: html-am
-info: info-am
-pdf: pdf-am
-ps: ps-am
-endif !%?SUBDIRS%
-
-if %?LOCAL-TEXIS%
-dvi-am: $(DVIS)
-html-am: $(HTMLS)
-info-am: $(INFO_DEPS)
-pdf-am: $(PDFS)
-ps-am: $(PSS)
-else ! %?LOCAL-TEXIS%
-dvi-am:
-html-am:
-info-am:
-pdf-am:
-ps-am:
-endif ! %?LOCAL-TEXIS%
-
-
-## ------------ ##
-## Installing. ##
-## ------------ ##
-
-## Some code should be run only if install-info actually exists, and
-## if the user doesn't request it not to be run (through the
-## 'AM_UPDATE_INFO_DIR' environment variable). See automake bug#9773
-## and Debian Bug#543992.
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-
-## Look in both . and srcdir because the info pages might have been
-## rebuilt in the build directory. Can't cd to srcdir; that might
-## break a possible install-sh reference.
-##
-## Funny name due to --cygnus influence; we want to reserve
-## 'install-info' for the user.
-##
-## TEXINFOS primary are always installed in infodir, hence install-data
-## is hard coded.
-if %?INSTALL-INFO%
-if %?LOCAL-TEXIS%
-am__installdirs += "$(DESTDIR)$(infodir)"
-install-data-am: install-info-am
-endif %?LOCAL-TEXIS%
-endif %?INSTALL-INFO%
-.PHONY: \
- install-dvi install-dvi-am \
- install-html install-html-am \
- install-info install-info-am \
- install-pdf install-pdf-am \
- install-ps install-ps-am
-
-if %?SUBDIRS%
-RECURSIVE_TARGETS += \
- install-dvi-recursive \
- install-html-recursive \
- install-info-recursive \
- install-pdf-recursive \
- install-ps-recursive
-install-dvi: install-dvi-recursive
-install-html: install-html-recursive
-install-info: install-info-recursive
-install-pdf: install-pdf-recursive
-install-ps: install-ps-recursive
-else !%?SUBDIRS%
-install-dvi: install-dvi-am
-install-html: install-html-am
-install-info: install-info-am
-install-pdf: install-pdf-am
-install-ps: install-ps-am
-endif !%?SUBDIRS%
-
-if %?LOCAL-TEXIS%
-
-include inst-vars.am
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
- done
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- $(am__strip_dir) \
-## This indirection is required to work around a bug of the Solaris 10
-## shell /usr/xpg4/bin/sh. The description of the bug can be found at
-## <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
-## and the report of the original failure can be found at automake
-## bug#10026 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
- d2=$$d$$p; \
- if test -d "$$d2"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
- else \
- list2="$$list2 $$d2"; \
- fi; \
- done; \
- test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
- done; }
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
- fi; \
- for file in $$list; do \
-## Strip possible $(srcdir) prefix.
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then \
- echo ./$$file; \
- else \
- echo $(srcdir)/$$file; \
- fi; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
- @$(POST_INSTALL)
- @if $(am__can_run_installinfo); then \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
-## Strip directory
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
-## Run ":" after install-info in case install-info fails. We really
-## don't care about failures here, because they can be spurious. For
-## instance if you don't have a dir file, install-info will fail. I
-## think instead it should create a new dir file for you. This bug
-## causes the "make distcheck" target to fail reliably.
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-## Use "|| :" here because Sun make passes -e to sh; if install-info
-## fails then we'd fail if we used ";".
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-
-else ! %?LOCAL-TEXIS%
-install-dvi-am:
-install-html-am:
-install-info-am:
-install-pdf-am:
-install-ps-am:
-endif ! %?LOCAL-TEXIS%
-
-
-## -------------- ##
-## Uninstalling. ##
-## -------------- ##
-
-if %?LOCAL-TEXIS%
-.PHONY uninstall-am: \
- uninstall-dvi-am \
- uninstall-html-am \
- uninstall-info-am \
- uninstall-ps-am \
- uninstall-pdf-am
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
-## $f can be a directory, hence the -r.
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
-## Run two loops here so that we can handle PRE_UNINSTALL and
-## NORMAL_UNINSTALL correctly.
- @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
-## install-info needs the actual info file. We use the installed one,
-## rather than relying on one still being in srcdir or builddir.
-## However, "make uninstall && make uninstall" should not fail,
-## so we ignore failure if the file did not exist.
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile"; \
- rm -f $$relfile; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-endif %?LOCAL-TEXIS%
-
-if %?LOCAL-TEXIS%
-.PHONY: dist-info
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
-## Strip possible $(srcdir) prefix.
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then \
- file=./$$base; \
- else \
- file=$(srcdir)/$$base; \
- fi; \
- if test -f $$file && test ! -f "$(distdir)/$$base"; then \
- cp -p $$file "$(distdir)/$$base"; \
- fi; \
- done
-endif %?LOCAL-TEXIS%
-
-
-## ---------- ##
-## Cleaning. ##
-## ---------- ##
-
-## The funny name is due to --cygnus influence; in Cygnus mode,
-## 'clean-info' is a target that users can use.
-
-if %?LOCAL-TEXIS%
-.PHONY mostlyclean-am: mostlyclean-aminfo
-.PHONY: mostlyclean-aminfo
-mostlyclean-aminfo:
-## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
-## 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'; see comments in 'mostlyclean-aminfo'
-## above for details.
-?TEXICLEAN? -test -z "%TEXICLEAN%" \
-?TEXICLEAN? || rm -rf %TEXICLEAN%
-
-.PHONY maintainer-clean-am: maintainer-clean-aminfo
-maintainer-clean-aminfo:
- -test -z "$(INFO_DEPS)" || rm -f $(INFO_DEPS)
-## Use '-rf', not just '-f'; see comments in 'mostlyclean-aminfo'
-## above for details.
-?MAINTCLEAN? -test -z "%MAINTCLEAN%" \
-?MAINTCLEAN? || rm -rf %MAINTCLEAN%
-
-endif %?LOCAL-TEXIS%
diff --git a/lib/am/texinfos.mk b/lib/am/texinfos.mk
new file mode 100644
index 000000000..90f1eabc5
--- /dev/null
+++ b/lib/am/texinfos.mk
@@ -0,0 +1,275 @@
+## automake - create Makefile.in from Makefile.am
+
+## Copyright (C) 1994-2014 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/>.
+
+# FIXME: this should probably be generalized and moved to header-vars.mk
+am.texi.create-installdir = $(if $(and $1,$^),$(MKDIR_P) '$(DESTDIR)$1',@:)
+
+# Avoid interferences from the environment.
+ifeq ($(call am.vars.is-undef,info_TEXINFOS),yes)
+ info_TEXINFOS :=
+endif
+
+## ---------- ##
+## Building. ##
+## ---------- ##
+
+.PHONY: dvi dvi-am html html-am info info-am pdf pdf-am ps ps-am
+ifdef SUBDIRS
+RECURSIVE_TARGETS += dvi-recursive html-recursive info-recursive
+RECURSIVE_TARGETS += pdf-recursive ps-recursive
+dvi: dvi-recursive
+html: html-recursive
+info: info-recursive
+pdf: pdf-recursive
+ps: ps-recursive
+else
+dvi: dvi-am
+html: html-am
+info: info-am
+pdf: pdf-am
+ps: ps-am
+endif
+
+ifdef info_TEXINFOS
+dvi-am: $(DVIS)
+html-am: $(HTMLS)
+info-am: $(INFO_DEPS)
+pdf-am: $(PDFS)
+ps-am: $(PSS)
+else
+dvi-am:
+html-am:
+info-am:
+pdf-am:
+ps-am:
+endif
+
+
+## ------------ ##
+## Installing. ##
+## ------------ ##
+
+## Some code should be run only if install-info actually exists, and
+## if the user doesn't request it not to be run (through the
+## 'AM_UPDATE_INFO_DIR' environment variable). See automake bug#9773
+## and Debian Bug#543992.
+am.texi.can-run-installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+
+## Look in both . and srcdir because the info pages might have been
+## rebuilt in the build directory. Can't cd to srcdir; that might
+## break a possible install-sh reference.
+##
+## Funny name due to --cygnus influence; we want to reserve
+## 'install-info' for the user.
+##
+## TEXINFOS primary are always installed in infodir, hence install-data
+## is hard coded.
+ifndef am.conf.install-info
+ifdef info_TEXINFOS
+am__installdirs += "$(DESTDIR)$(infodir)"
+install-data-am: install-info-am
+endif
+endif
+.PHONY: \
+ install-dvi install-dvi-am \
+ install-html install-html-am \
+ install-info install-info-am \
+ install-pdf install-pdf-am \
+ install-ps install-ps-am
+
+ifdef SUBDIRS
+RECURSIVE_TARGETS += \
+ install-dvi-recursive \
+ install-html-recursive \
+ install-info-recursive \
+ install-pdf-recursive \
+ install-ps-recursive
+install-dvi: install-dvi-recursive
+install-html: install-html-recursive
+install-info: install-info-recursive
+install-pdf: install-pdf-recursive
+install-ps: install-ps-recursive
+else
+install-dvi: install-dvi-am
+install-html: install-html-am
+install-info: install-info-am
+install-pdf: install-pdf-am
+install-ps: install-ps-am
+endif
+
+ifdef info_TEXINFOS
+
+# In GNU make, '$^' used in a recipe contains every dependency for the
+# target, even those not declared when the recipe is read; for example,
+# on:
+# all: foo1; @echo $^
+# all: foo2
+# "make all" would output "foo1 foo2". In our usage, a dependency like
+# "install-pdf-am: install-pdf-local" (that is automatically output by
+# Automake-NG if the 'install-pdf-local' target is declared) would make
+# '$^' unusable as a pure list of PDF target files in the recipe of
+# 'install-pdf-am'. So we need the following indirections.
+
+install-dvi-am: .am/install-dvi
+install-ps-am: .am/install-ps
+install-pdf-am: .am/install-pdf
+install-info-am: .am/install-info
+install-html-am: .am/install-html
+
+.am/install-html: $(HTMLS)
+ @$(NORMAL_INSTALL)
+ $(call am.texi.create-installdir,$(htmldir))
+ @list=''; \
+ $(if $(and $(HTMLS),$(htmldir)),$(foreach i,$(HTMLS), \
+ p=$(call am.vpath.rewrite,$i); \
+ f=$(notdir $i); \
+ if test -d "$$p"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
+ echo " $(INSTALL_DATA) '$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+ else \
+ list="$$list $$p"; \
+ fi;)) \
+ test -z "$$list" || { echo "$$list" | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+ done; }
+
+.am/install-info: $(INFO_DEPS)
+ @$(NORMAL_INSTALL)
+ $(call am.texi.create-installdir,$(infodir))
+ @list='$(and $(infodir),$^)'; test -n "$$list" || exit 0; \
+ for p in $$list; do echo "$$p"; done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; \
+ done
+ @$(POST_INSTALL)
+ @$(am.texi.can-run-installinfo) || exit 0; \
+ rellist='$(notdir $(and $(infodir),$^))'; \
+ test -n "$$rellist" || exit 0; \
+ for relfile in $$rellist; do \
+ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'"; \
+## Run ":" after install-info in case install-info fails. We really
+## don't care about failures here, because they can be spurious. For
+## instance if you don't have a dir file, install-info will fail. I
+## think instead it should create a new dir file for you. This bug
+## causes the "make distcheck" target to fail reliably.
+ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :; \
+ done
+
+.am/install-dvi: $(DVIS)
+ @$(NORMAL_INSTALL)
+ $(call am.texi.create-installdir,$(dvidir))
+ @list='$(and $(dvidir),$^)'; test -n "$$list" || exit 0; \
+ for p in $$list; do echo "$$p"; done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
+ done
+
+.am/install-pdf: $(PDFS)
+ @$(NORMAL_INSTALL)
+ $(call am.texi.create-installdir,$(pdfdir))
+ @list='$(and $(pdfdir),$^)'; test -n "$$list" || exit 0; \
+ for p in $$list; do echo "$$p"; done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; \
+ done
+
+.am/install-ps: $(PSS)
+ @$(NORMAL_INSTALL)
+ $(call am.texi.create-installdir,$(psdir))
+ @list='$(and $(psdir),$^)'; test -n "$$list" || exit 0; \
+ for p in $$list; do echo "$$p"; done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; \
+ done
+
+else # !info_TEXINFOS
+install-dvi-am:
+install-html-am:
+install-info-am:
+install-pdf-am:
+install-ps-am:
+endif # !info_TEXINFOS
+
+
+## --------------------------- ##
+## Uninstalling and cleaning. ##
+## --------------------------- ##
+
+ifdef info_TEXINFOS
+
+.PHONY uninstall-am: \
+ uninstall-dvi-am \
+ uninstall-html-am \
+ uninstall-info-am \
+ uninstall-ps-am \
+ uninstall-pdf-am
+
+uninstall-dvi-am:
+ @$(NORMAL_UNINSTALL)
+ $(call am.uninst.cmd,$(dvidir),$(notdir $(DVIS)))
+
+uninstall-pdf-am:
+ @$(NORMAL_UNINSTALL)
+ $(call am.uninst.cmd,$(pdfdir),$(notdir $(PDFS)))
+
+uninstall-ps-am:
+ @$(NORMAL_UNINSTALL)
+ $(call am.uninst.cmd,$(psdir),$(notdir $(PSS)))
+
+uninstall-html-am:
+ @$(NORMAL_UNINSTALL)
+## The HTML 'files' can be directories actually, hence the '-r'.
+ $(call am.uninst.cmd,$(htmldir),$(notdir $(HTMLS)),-r)
+
+uninstall-info-am:
+ @$(PRE_UNINSTALL)
+## Run two loops here so that we can handle PRE_UNINSTALL and
+## NORMAL_UNINSTALL correctly.
+ @if test -d '$(DESTDIR)$(infodir)' && $(am.texi.can-run-installinfo); then \
+ list='$(notdir $(INFO_DEPS))'; for relfile in $$list; do \
+## install-info needs the actual info file. We use the installed one,
+## rather than relying on one still being in srcdir or builddir.
+## However, "make uninstall && make uninstall" should not fail,
+## so we ignore failure if the file did not exist.
+ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
+ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
+ done; \
+ else :; fi
+ @$(NORMAL_UNINSTALL)
+ $(call am.uninst.cmd,$(infodir),$(notdir $(INFO_DEPS)))
+
+
+.PHONY: dist-info
+dist-info: $(INFO_DEPS)
+ @$(foreach f,$^,cp -p $f $(distdir)/$(patsubst $(srcdir)/%,%,$f);)
+
+am.clean.maint.f += $(INFO_DEPS)
+
+endif # !info_TEXINFOS
diff --git a/lib/am/yacc.am b/lib/am/yacc.am
index 2b3f92aac..80c48d9d1 100644
--- a/lib/am/yacc.am
+++ b/lib/am/yacc.am
@@ -14,37 +14,15 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-## We want to disable the Yacc rebuild rule when
-## 1. AM_MAINTAINER_MODE is used, and
-## 2. --enable-maintainer-mode is not specified, and
-## 3. parser.c already exist, and
-## 4. parser.y and parser.c are distributed.
-## Point #3 is because "make maintainer-clean" erases parser.c, yet
-## the GNU Coding Standards require that ./configure; make works even
-## after that.
-## Point #4 is because parsers listed in nodist_*_SOURCES are always
-## built on the user's side, so it makes no sense to disable them.
-##
-## Points #1, #2, #3 are solved by unconditionally prefixing the rule
-## with $(am__skipyacc) defined below only when needed.
-##
-## Point #4 requires a condition on whether parser.y/parser.c are
-## distributed or not. We cannot have a generic rule that works in
-## both cases, so we ensure in automake that nodist_ parsers always
-## use non-generic rules.
if %?FIRST%
-if %?MAINTAINER-MODE%
-@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
-endif %?MAINTAINER-MODE%
-## The 's/c$/h/' substitution *must* be the last one.
-am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \
- -e s/c++$$/h++/ -e s/c$$/h/
+am.yacc.c2h = $(basename $1)$(subst c,h,$(suffix $1))
endif %?FIRST%
-?GENERIC?%EXT%%DERIVED-EXT%:
+?GENERIC?%%DERIVED-EXT%: %%EXT%
?!GENERIC?%OBJ%: %SOURCE%
-?GENERIC? %VERBOSE%$(am__skipyacc) $(SHELL) $(YLWRAP) %SOURCE% y.tab.c %OBJ% y.tab.h `echo %OBJ% | $(am__yacc_c2h)` y.output %BASE%.output -- %COMPILE%
-?!GENERIC? %VERBOSE% \
-?!GENERIC??DIST_SOURCE? $(am__skipyacc) \
-## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
-?!GENERIC? $(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% y.tab.c %OBJ% y.tab.h `echo %OBJ% | $(am__yacc_c2h)` y.output %BASE%.output -- %COMPILE%
+ %SILENT%$(am.cmd.ensure-target-dir-exists)
+ %VERBOSE%$(SHELL) $(YLWRAP) $< \
+ y.tab.c $@ \
+ y.tab.h $(call am.yacc.c2h,$@) \
+ y.output $(basename $@).output \
+ -- %COMPILE%
diff --git a/lib/ar-lib b/lib/ar-lib
index 1700c5ed0..42df29018 100755
--- a/lib/ar-lib
+++ b/lib/ar-lib
@@ -25,9 +25,9 @@ scriptversion=2012-03-01.08; # UTC
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
# func_error message
diff --git a/lib/compile b/lib/compile
index 69fad9c95..2d025cac4 100755
--- a/lib/compile
+++ b/lib/compile
@@ -24,9 +24,9 @@ scriptversion=2012-10-14.11; # UTC
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
nl='
'
diff --git a/lib/depcomp b/lib/depcomp
index fda2463f3..2a3def00c 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -39,7 +39,6 @@ as side-effects.
Environment variables:
depmode Dependency tracking mode.
- source Source file read by 'PROGRAMS ARGS'.
object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
@@ -116,8 +115,8 @@ lower=abcdefghijklmnopqrstuvwxyz
digits=0123456789
alpha=${upper}${lower}
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
+if test -z "$depmode" || test -z "$object"; then
+ echo "depcomp: Variables object and depmode must be set" 1>&2
exit 1
fi
diff --git a/lib/mdate-sh b/lib/mdate-sh
index b793600a1..73be5d93b 100755
--- a/lib/mdate-sh
+++ b/lib/mdate-sh
@@ -24,9 +24,9 @@ scriptversion=2010-08-21.06; # UTC
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
diff --git a/lib/missing b/lib/missing
index 3af282891..741ec426e 100755
--- a/lib/missing
+++ b/lib/missing
@@ -1,7 +1,7 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2014-12-20.00; # UTC
# Copyright (C) 1996-2015 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@@ -109,8 +109,9 @@ program_details ()
{
case $1 in
aclocal|automake)
- echo "The '$1' program is part of the GNU Automake package:"
- echo "<$gnu_software_URL/automake>"
+ echo "The '$1' program is part of the GNU Automake-NG package:"
+ # FIXME: maybe it's time for Automake-NG to have a page of its own?
+ echo "<https://lists.gnu.org/mailman/listinfo/automake-ng>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
@@ -144,7 +145,7 @@ give_advice ()
program_details 'autoconf'
;;
autoheader*)
- echo "You should only need it if you modified 'acconfig.h' or"
+ echo "You should only need it if you modified either"
echo "$configure_deps."
program_details 'autoheader'
;;
@@ -184,10 +185,6 @@ give_advice ()
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"
diff --git a/lib/mkinstalldirs b/lib/mkinstalldirs
deleted file mode 100755
index 55d537f87..000000000
--- a/lib/mkinstalldirs
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2009-04-28.21; # UTC
-
-# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-nl='
-'
-IFS=" "" $nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <bug-automake@gnu.org>."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage"
- exit $?
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --version)
- echo "$0 $scriptversion"
- exit $?
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error. This is a problem when calling mkinstalldirs
-# from a parallel make. We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
- '')
- if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- echo "mkdir -p -- $*"
- exec mkdir -p -- "$@"
- else
- # On NextStep and OpenStep, the 'mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because '.' already
- # exists.
- test -d ./-p && rmdir ./-p
- test -d ./--version && rmdir ./--version
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
- test ! -d ./--version; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- else
- # Clean up after NextStep and OpenStep mkdir.
- for d in ./-m ./-p ./--version "./$dirmode";
- do
- test -d $d && rmdir $d
- done
- fi
- ;;
-esac
-
-for file
-do
- case $file in
- /*) pathcomp=/ ;;
- *) pathcomp= ;;
- esac
- oIFS=$IFS
- IFS=/
- set fnord $file
- shift
- IFS=$oIFS
-
- for d
- do
- test "x$d" = x && continue
-
- pathcomp=$pathcomp$d
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp=$pathcomp/
- done
-done
-
-exit $errstatus
-
-# 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/py-compile b/lib/py-compile
index 382e08359..92089af12 100755
--- a/lib/py-compile
+++ b/lib/py-compile
@@ -23,9 +23,9 @@ scriptversion=2011-06-08.12; # UTC
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
if [ -z "$PYTHON" ]; then
PYTHON=python
diff --git a/lib/tap-driver.sh b/lib/tap-driver.sh
index b3583b8bf..2aa87a346 100755
--- a/lib/tap-driver.sh
+++ b/lib/tap-driver.sh
@@ -19,9 +19,9 @@
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
scriptversion=2013-12-23.17; # UTC
diff --git a/lib/test-driver b/lib/test-driver
index 102ff4456..e8a78dda6 100755
--- a/lib/test-driver
+++ b/lib/test-driver
@@ -23,9 +23,9 @@ scriptversion=2013-07-13.22; # UTC
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
@@ -86,7 +86,7 @@ if test $# -eq 0; then
fi
if test $color_tests = yes; then
- # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ # Keep in sync with 'lib/am/color-tests.am:$(am.test-suite.tty-colors)'.
red='' # Red.
grn='' # Green.
lgn='' # Light green.
diff --git a/lib/ylwrap b/lib/ylwrap
index 49716bbe4..d9714f7ae 100755
--- a/lib/ylwrap
+++ b/lib/ylwrap
@@ -25,9 +25,9 @@ scriptversion=2013-01-12.17; # UTC
# 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
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
get_dirname ()
{
diff --git a/m4/Makefile.inc b/m4/Makefile.inc
index 05a29ce32..64f79350d 100644
--- a/m4/Makefile.inc
+++ b/m4/Makefile.inc
@@ -30,7 +30,6 @@ dist_automake_ac_DATA = \
%D%/cond.m4 \
%D%/cond-if.m4 \
%D%/depend.m4 \
- %D%/depout.m4 \
%D%/dmalloc.m4 \
%D%/extra-recurs.m4 \
%D%/gcj.m4 \
@@ -38,8 +37,6 @@ dist_automake_ac_DATA = \
%D%/install-sh.m4 \
%D%/lex.m4 \
%D%/lispdir.m4 \
- %D%/maintainer.m4 \
- %D%/make.m4 \
%D%/missing.m4 \
%D%/obsolete.m4 \
%D%/options.m4 \
@@ -64,13 +61,10 @@ dist_automake_internal_ac_DATA = %D%/internal/ac-config-macro-dirs.m4
# dependencies change and amversion.m4 happens to be a configure
# dependency. configure and amversion.m4 would be rebuilt in
# loop otherwise.
-# Use '$(top_srcdir)' for the benefit of non-GNU makes: this is
-# how amversion.m4 appears in our dependencies.
-$(top_srcdir)/%D%/amversion.m4: $(srcdir)/configure.ac \
- $(srcdir)/%D%/amversion.in
+$(srcdir)/%D%/amversion.m4: $(srcdir)/%D%/amversion.in \
+ $(srcdir)/configure.ac
$(AM_V_at)rm -f $@-t $@
- $(AM_V_GEN)in=amversion.in \
- && $(do_subst) <$(srcdir)/%D%/amversion.in >$@-t
+ $(AM_V_GEN)$(do_subst)
$(generated_file_finalize)
EXTRA_DIST += %D%/amversion.in
diff --git a/m4/depend.m4 b/m4/depend.m4
index cc96730c5..9ed708a73 100644
--- a/m4/depend.m4
+++ b/m4/depend.m4
@@ -25,8 +25,6 @@
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
@@ -88,7 +86,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
# Solaris 10 /bin/sh.
echo '/* dummy */' > sub/conftst$i.h
done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ echo "include sub/conftest.Po" > confmf
# We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
diff --git a/m4/depout.m4 b/m4/depout.m4
deleted file mode 100644
index 0032e8ed4..000000000
--- a/m4/depout.m4
+++ /dev/null
@@ -1,75 +0,0 @@
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999-2015 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_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # 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
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "$am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
diff --git a/m4/init.m4 b/m4/init.m4
index 723f6005c..79a6d4a73 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -1,4 +1,4 @@
-# Do all the work for Automake. -*- Autoconf -*-
+# Do all the work for Automake-NG. -*- Autoconf -*-
# Copyright (C) 1996-2015 Free Software Foundation, Inc.
#
@@ -36,10 +36,6 @@ m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
if test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
@@ -76,7 +72,7 @@ _AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-# Some tools Automake needs.
+# Some tools Automake-NG needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
@@ -90,7 +86,6 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])])
@@ -113,12 +108,6 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
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
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
@@ -166,12 +155,6 @@ dnl backward compatibility and to allow trailing 'dnl'-style comments
dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
diff --git a/m4/maintainer.m4 b/m4/maintainer.m4
deleted file mode 100644
index f1b13e992..000000000
--- a/m4/maintainer.m4
+++ /dev/null
@@ -1,35 +0,0 @@
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2015 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_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
diff --git a/m4/make.m4 b/m4/make.m4
deleted file mode 100644
index 704e32fdd..000000000
--- a/m4/make.m4
+++ /dev/null
@@ -1,49 +0,0 @@
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2015 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_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
diff --git a/m4/silent.m4 b/m4/silent.m4
index 1b7ad70bc..795797d25 100644
--- a/m4/silent.m4
+++ b/m4/silent.m4
@@ -19,42 +19,8 @@ AS_HELP_STRING(
[verbose build output (undo: "make V=0")])dnl
])
case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+ yes) V=0;;
+ no) V=1;;
+ *) V=m4_if([$1], [yes], [0], [1]);;
esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
+AC_SUBST([V])])
diff --git a/m4/strip.m4 b/m4/strip.m4
index 6c32a34ef..1300877ee 100644
--- a/m4/strip.m4
+++ b/m4/strip.m4
@@ -18,7 +18,7 @@ AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
+# tool to use in cross-compilation environments, therefore Automake-NG
# will honor the 'STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
diff --git a/m4/substnot.m4 b/m4/substnot.m4
index e98cc5104..dc504fe68 100644
--- a/m4/substnot.m4
+++ b/m4/substnot.m4
@@ -7,8 +7,8 @@
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
+# Prevent Automake-NG from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake-NG.
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
diff --git a/maintainer/maint.mk b/maintainer/maint.mk
index 0212fd972..50ad46fa3 100644
--- a/maintainer/maint.mk
+++ b/maintainer/maint.mk
@@ -471,9 +471,6 @@ files_without_copyright = \
lib/INSTALL \
lib/COPYING
-# This script is in the public domain.
-files_without_copyright += lib/mkinstalldirs
-
# This script has an MIT-style license
files_without_copyright += lib/install-sh
diff --git a/maintainer/syntax-checks.mk b/maintainer/syntax-checks.mk
index d5fff4825..d8abb4670 100644
--- a/maintainer/syntax-checks.mk
+++ b/maintainer/syntax-checks.mk
@@ -1,4 +1,4 @@
-# Maintainer checks for Automake. Requires GNU make.
+# Maintainer checks for Automake-NG.
# Copyright (C) 2012-2015 Free Software Foundation, Inc.
#
@@ -36,7 +36,8 @@ xdefs = \
$(srcdir)/t/ax/test-lib.sh \
$(srcdir)/t/ax/test-defs.in
-ams := $(shell find $(srcdir) -name '*.dir' -prune -o -name '*.am' -print)
+ams := $(shell find $(srcdir) -name '*.dir' -prune -o -name '?*.am' -a -print)
+pms := $(dist_perllib_DATA)
# Some simple checks, and then ordinary check. These are only really
# guaranteed to work on my machine.
@@ -51,12 +52,22 @@ sc_mkinstalldirs \
sc_pre_normal_post_install_uninstall \
sc_perl_no_undef \
sc_perl_no_split_regex_space \
-sc_cd_in_backquotes \
-sc_cd_relative_dir \
+sc_no_am_cd \
sc_perl_at_uscore_in_scalar_context \
sc_perl_local \
sc_AMDEP_TRUE_in_automake_in \
-sc_make_without_am_makeflags \
+sc_tests_no_gmake_requirement \
+sc_tests_no_gmake_checking \
+sc_tests_make_can_chain_suffix_rules \
+sc_tests_make_dont_do_useless_vpath_rebuilds \
+sc_no_dotmake_target \
+sc_no_am_makeflags \
+$(sc_renamed_variables_rules) \
+sc_no_RECHECK_LOGS \
+sc_tests_no_make_e \
+sc_docs_no_make_e \
+sc_make_simple_include \
+sc_tests_make_simple_include \
sc_tests_no_source_defs \
sc_tests_obsolete_variables \
sc_tests_here_document_format \
@@ -64,15 +75,11 @@ sc_tests_command_subst \
sc_tests_no_run_make_redirect \
sc_tests_exit_not_Exit \
sc_tests_automake_fails \
-sc_tests_overriding_macros_on_cmdline \
-sc_tests_no_make_e \
sc_tests_plain_sleep \
sc_tests_ls_t \
sc_m4_am_plain_egrep_fgrep \
-sc_tests_no_configure_in \
sc_tests_PATH_SEPARATOR \
sc_tests_logs_duplicate_prefixes \
-sc_tests_makefile_variable_order \
sc_perl_at_substs \
sc_unquoted_DESTDIR \
sc_tabs_in_texi \
@@ -82,10 +89,6 @@ $(syntax_check_rules): bin/automake bin/aclocal
maintainer-check: $(syntax_check_rules)
.PHONY: maintainer-check $(syntax_check_rules)
-# Check that the list of tests given in the Makefile is equal to the
-# list of all test scripts in the Automake testsuite.
-maintainer-check: maintainer-check-list-of-tests
-
# I'm a lazy typist.
lint: maintainer-check
.PHONY: lint
@@ -147,21 +150,30 @@ sc_rm_minus_f:
else :; fi
# Never use something like "for file in $(FILES)", this doesn't work
-# if FILES is empty or if it contains shell meta characters (e.g. $ is
-# commonly used in Java filenames).
+# if FILES is empty or if it contains shell meta characters (e.g. '$'
+# is commonly used in Java filenames). Make an exception for
+# $(am__installdirs), which is already defined as properly quoted.
sc_no_for_variable_in_macro:
- @if grep 'for .* in \$$(' $(ams) | grep -v '/Makefile\.am:'; then \
+ @LC_ALL=C; export LC_ALL; \
+ if grep 'for .* in \$$(' $(ams) | grep -v '/Makefile\.am:' \
+ | grep -Ev '\bfor [a-zA-Z0-9_]+ in \$$\(am__installdirs\)'; \
+ then \
echo 'Use "list=$$(mumble); for var in $$$$list".' 1>&2 ; \
exit 1; \
else :; fi
-# Make sure all invocations of mkinstalldirs are correct.
+# The script and variable 'mkinstalldirs' are obsolete.
sc_mkinstalldirs:
- @if grep -n 'mkinstalldirs' $(ams) \
- | grep -F -v '$$(mkinstalldirs)' \
- | grep -v '^\./Makefile.am:[0-9][0-9]*: *lib/mkinstalldirs \\$$'; \
- then \
- echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(automake_in) \
+ $(srcdir)/doc/*.texi \
+ $(srcdir)/maintainer/maint.mk \
+ "; \
+ if grep 'mkinstalldirs' $$files; then \
+ echo "Found use of mkinstalldirs; that is obsolete" 1>&2; \
exit 1; \
else :; fi
@@ -188,27 +200,19 @@ sc_perl_no_split_regex_space:
exit 1; \
fi
-# Look for cd within backquotes
-sc_cd_in_backquotes:
- @if grep -n '^[^#]*` *cd ' $(automake_in) $(ams); then \
- echo "Consider using \$$(am__cd) in the lines above." 1>&2; \
- exit 1; \
- fi
-
-# Look for cd to a relative directory (may be influenced by CDPATH).
-# Skip some known directories that are OK.
-sc_cd_relative_dir:
- @if grep -n '^[^#]*cd ' $(automake_in) $(ams) | \
- grep -v 'echo.*cd ' | \
- grep -v 'am__cd =' | \
- grep -v '^[^#]*cd [./]' | \
- grep -v '^[^#]*cd \$$(top_builddir)' | \
- grep -v '^[^#]*cd "\$$\$$am__cwd' | \
- grep -v '^[^#]*cd \$$(abs' | \
- grep -v '^[^#]*cd "\$$(DESTDIR)'; then \
- echo "Consider using \$$(am__cd) in the lines above." 1>&2; \
+sc_no_am_cd:
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(automake_in) \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep -F 'am__cd' $$files; then \
+ echo "Found uses of 'am__cd', which is obsolete" 1>&2; \
+ echo "Using a simple 'cd' should be enough" 1>&2; \
exit 1; \
- fi
+ else :; fi
# Using @_ in a scalar context is most probably a programming error.
sc_perl_at_uscore_in_scalar_context:
@@ -218,7 +222,7 @@ sc_perl_at_uscore_in_scalar_context:
exit 1; \
fi
-## Allow only few variables to be localized in automake and aclocal.
+# Allow only few variables to be localized in automake and aclocal.
sc_perl_local:
@if egrep -v '^[ \t]*local \$$[_~]( *=|;)' \
$(automake_in) $(aclocal_in) | \
@@ -234,13 +238,151 @@ sc_AMDEP_TRUE_in_automake_in:
exit 1; \
fi
-# Recursive make invocations should always pass $(AM_MAKEFLAGS)
-# to $(MAKE), for portability to non-GNU make.
-sc_tests_make_without_am_makeflags:
- @if grep '^[^#].*(MAKE) ' $(ams) $(automake_in) \
- | grep -Fv '$$(AM_MAKEFLAGS)'; \
+# Tests should never require GNU make explicitly: automake-ng assumes
+# it unconditionally.
+sc_tests_no_gmake_requirement:
+ @if grep -iE '^ *required=.*\b(g|gnu)make\b' $(xtests) $(xdefs); \
+ then \
+ echo 'Tests should never require GNU make explicitly.' 1>&2; \
+ exit 1; \
+ fi
+
+# Tests should never check explicitly whether the make program being
+# used in the test suite is indeed GNU make: automake-ng assumes it
+# unconditionally.
+sc_tests_no_gmake_checking:
+ @if grep -E '\b(is|using)_g(nu)?make\b' $(xtests) $(xdefs); \
then \
- echo 'Use $$(MAKE) $$(AM_MAKEFLAGS).' 1>&2; \
+ echo 'Tests should never explicitly check whether $$MAKE' \
+ 'is GNU make.' 1>&2; \
+ exit 1; \
+ fi
+
+# GNU make can obviously chain suffix rules, so don't try to check
+# whether this is the case.
+sc_tests_make_can_chain_suffix_rules:
+ @if grep 'chain_suffix_rule' $(xtests); then \
+ echo 'GNU make can implicitly chain suffix rules; tests' \
+ 'should just assume that without checking.' 1>&2; \
+ exit 1; \
+ fi
+
+# Automake bug#7884 affects only FreeBSD make, so that we don't
+# need to work around in any of our tests anymore.
+sc_tests_make_dont_do_useless_vpath_rebuilds:
+ @if grep -E 'useless_vpath_rebuild|yl_distcheck' $(xtests); then \
+ echo 'No need to work around automake bug#7884 anymore;' \
+ 'it only affects FreeBSD make.' 1>&2; \
+ exit 1; \
+ fi
+
+# GNU make supports POSIX-style runtime include directives.
+sc_grep_for_bad_make_include = \
+ if grep -E 'AM_MAKE_INCLUDE|am__(include|quote)' $$files; then \
+ echo 'GNU make supports runtime "include" directive.' 1>&2; \
+ echo 'Neither am__{include,quote} nor AM_MAKE_INCLUDE' \
+ 'should be used anymore.' 1>&2; \
+ exit 1; \
+ fi
+sc_tests_make_simple_include: sc_ensure_testsuite_has_run
+ @files='t/*.log'; $(sc_grep_for_bad_make_include)
+sc_make_simple_include:
+ @files=" \
+ $(xtests) \
+ $(ams) \
+ $(srcdir)/m4/*.m4 \
+ $(automake_in) \
+ $(srcdir)/doc/*.texi \
+ aclocal.m4 \
+ configure \
+ "; \
+ $(sc_grep_for_bad_make_include)
+
+# The '.MAKE' special target is NetBSD-make specific, and not supported
+# by GNU make. No point in using it.
+sc_no_dotmake_target:
+ @files="\
+ $(ams) \
+ $(automake_in) \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep '\.MAKE' $$files; then \
+ echo "Special target '.MAKE' not supported by GNU make." 1>&2; \
+ echo "Use the '+' recipe modifier instead, or put the" \
+ "'\$$(MAKE)' string somewhere in the recipe text." 1>&2; \
+ exit 1; \
+ fi
+
+# $(AM_MAKEFLAGS) is obsolete now that we assume GNU make, since it
+# is smart enough to correctly pass the values of macros redefined on
+# the command line to sub-make invocations.
+sc_no_am_makeflags:
+ @files="\
+ $(xtests) \
+ $(ams) \
+ $(automake_in) \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep '\bAM_MAKEFLAGS\b' $$files; then \
+ echo "\$$(AM_MAKEFLAGS) is obsolete, don't use it." 1>&2; \
+ exit 1; \
+ fi
+
+# Modern names for internal variables that had a bad name once.
+modern.DISTFILES = am.dist.all-files
+modern.DIST_COMMON = am.dist.common-files
+modern.DIST_SOURCES = am.dist.sources
+modern.am__TEST_BASES = am.test-suite.test-bases
+modern.am__TEST_LOGS = am.test-suite.test-logs
+modern.am__TEST_RESULTS = am.test-suite.test-results
+modern.CONFIG_HEADER = AM_CONFIG_HEADERS
+modern.DEFAULT_INCLUDES = AM_DEFAULT_INCLUDES
+
+sc_renamed_variables_rules = \
+ $(patsubst modern.%,sc_no_%,$(filter modern.%,$(.VARIABLES)))
+
+$(sc_renamed_variables_rules): sc_no_% :
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(automake_in) \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep -E '\b$*\b' $$files; then \
+ echo "'\$$($*)' is obsolete and no more used." >&2; \
+ echo "You should use '$(modern.$*)' instead." >&2; \
+ exit 1; \
+ fi
+
+sc_no_RECHECK_LOGS:
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(srcdir)/doc/*.texi \
+ $(automake_in) \
+ README t/README \
+ "; \
+ if grep -F 'RECHECK_LOGS' $$files; then \
+ echo "'RECHECK_LOGS' is obsolete and no more used." >&2; \
+ echo "You should use 'AM_LAZY_CHECK' instead." >&2; \
+ exit 1; \
+ fi
+
+# "make -e" is brittle and unsafe, since it let *all* the environment
+# win over the macro definitions in the Makefiles. We needed it when
+# we couldn't assume GNU make, but now that the tide has turned, it's
+# better to prohibit it altogether.
+sc_tests_no_make_e:
+ @if grep -E '\$$MAKE\b.* -[a-zA-Z0-9]*e' $(xtests); then \
+ echo "\"make -e\" is brittle, don't use it." 1>&2; \
+ exit 1; \
+ fi
+sc_docs_no_make_e:
+ @if grep '\bmake\b.* -[a-zA-Z0-9]*e' README t/README; then \
+ echo "Don't advocate the use of \"make -e\" in the manual or" \
+ " in the README files." 1>&2; \
exit 1; \
fi
@@ -373,49 +515,6 @@ sc_tests_automake_fails:
exit 1; \
fi
-# "make -e" is brittle and unsafe, since it let *all* the environment
-# win over the macro definitions in the Makefiles. Since we offer
-# AM_MAKEFLAGS to allow the user to portably override macro definitions
-# from the command line in a safe way, we should encourage users to use
-# it.
-sc_tests_no_make_e:
- @if grep -E '\$$MAKE\b.* -[a-zA-Z0-9]*e' $(xtests); then \
- echo '"make -e" is brittle, use "run_make" instead.' 1>&2; \
- exit 1; \
- fi
-
-# Overriding a Makefile macro on the command line is not portable when
-# recursive targets are used. Better use an envvar. SHELL is an
-# exception, POSIX says it can't come from the environment. V, DESTDIR,
-# DISTCHECK_CONFIGURE_FLAGS and DISABLE_HARD_ERRORS are exceptions, too,
-# as package authors are urged not to initialize them anywhere.
-# Finally, 'exp' is used by some ad-hoc checks, where we ensure it's
-# ok to override it from the command line.
-sc_tests_overriding_macros_on_cmdline:
-# The first s/// tries to account for usages like "$MAKE || st=$?".
-# 'DISTCHECK_CONFIGURE_FLAGS' and 'exp' are allowed to contain whitespace in
-# their definitions, hence the more complex last three substitutions below.
- @if sed -e 's/ || .*//' -e 's/ && .*//' \
- -e 's/ DESTDIR=[^ ]*/ /' -e 's/ SHELL=[^ ]*/ /' \
- -e 's/ V=[^ ]*/ /' -e 's/ DISABLE_HARD_ERRORS=[^ ]*/ /' \
- -e "s/ DISTCHECK_CONFIGURE_FLAGS='[^']*'/ /" \
- -e 's/ DISTCHECK_CONFIGURE_FLAGS="[^"]*"/ /' \
- -e 's/ DISTCHECK_CONFIGURE_FLAGS=[^ ]/ /' \
- -e "s/ exp='[^']*'/ /" \
- -e 's/ exp="[^"]*"/ /' \
- -e 's/ exp=[^ ]/ /' \
- $(filter-out %/am-test-lib.sh,$(xtests)) \
- | grep '\$$MAKE .*='; then \
- echo 'Rewrite "$$MAKE foo=bar" as "run_make foo=bar" in the lines above,'; \
- echo 'it is more portable.'; \
- exit 1; \
- fi >&2
- @if grep 'SHELL=.*\$$MAKE' $(xtests); then \
- echo '$$MAKE ignores the SHELL envvar, use "run_make SHELL=$$SHELL"'; \
- echo 'in the above lines.'; \
- exit 1; \
- fi >&2
-
# Prefer use of our 'is_newest' auxiliary script over the more hacky
# idiom "test $(ls -1t new old | sed 1q) = new", which is both more
# cumbersome and more fragile.
@@ -456,7 +555,7 @@ sc_tests_no_configure_in:
# Rule to ensure that the testsuite has been run before. We don't depend
# on 'check' here, because that would be very wasteful in the common case.
-# We could run "make check RECHECK_LOGS=" and avoid toplevel races with
+# We could run "make check AM_LAZY_CHECK=yes" and avoid toplevel races with
# AM_RECURSIVE_TARGETS. Suggest keeping test directories around for
# greppability of the Makefile.in files.
sc_ensure_testsuite_has_run:
@@ -475,28 +574,6 @@ sc_tests_logs_duplicate_prefixes: sc_ensure_testsuite_has_run
exit 1; \
fi
-# Ensure variables are listed before rules in Makefile.in files we generate.
-sc_tests_makefile_variable_order: sc_ensure_testsuite_has_run
- @st=0; \
- for file in `find t -name Makefile.in -print`; do \
- latevars=`sed -n \
- -e :x -e 's/#.*//' \
- -e '/\\\\$$/{' -e N -e 'b x' -e '}' \
- -e '# Literal TAB.' \
- -e '1,/^ /d' \
- -e '# Allow @ so we match conditionals.' \
- -e '/^ *[a-zA-Z_@]\{1,\} *=/p' $$file`; \
- if test -n "$$latevars"; then \
- echo "Variables are expanded too late in $$file:" >&2; \
- echo "$$latevars" | sed 's/^/ /' >&2; \
- st=1; \
- fi; \
- done; \
- test $$st -eq 0 || { \
- echo 'Ensure variables are expanded before rules' >&2; \
- exit 1; \
- }
-
# Using ':' as a PATH separator is not portable.
sc_tests_PATH_SEPARATOR:
@if grep -E '\bPATH=.*:.*' $(xtests) ; then \
@@ -524,13 +601,13 @@ sc_unquoted_DESTDIR:
fi
sc_tabs_in_texi:
- @if grep ' ' $(srcdir)/doc/automake.texi; then \
+ @if grep ' ' $(srcdir)/doc/*.texi; then \
echo 'Do not use tabs in the manual.' 1>&2; \
exit 1; \
fi
sc_at_in_texi:
- @if grep -E '([^@]|^)@([ ][^@]|$$)' $(srcdir)/doc/automake.texi; \
+ @if grep -E '([^@]|^)@([ ][^@]|$$)' $(srcdir)/doc/*.texi; \
then \
echo 'Unescaped @.' 1>&2; \
exit 1; \
diff --git a/old/ChangeLog-tests b/old/ChangeLog-tests
deleted file mode 100644
index 26f79c267..000000000
--- a/old/ChangeLog-tests
+++ /dev/null
@@ -1,1448 +0,0 @@
-2001-02-07 Tom Tromey <tromey@redhat.com>
-
- * Makefile.am (XFAIL_TESTS): Removed remake3.test,
- distcommon.test.
-
- * Makefile.am (XFAIL_TESTS): Added new files.
-
- * remake3.test: New file.
- * Makefile.am (TESTS): Added new file.
-
- * distcommon.test: New file.
- * Makefile.am (TESTS): Added new file.
-
-2001-02-04 Tom Tromey <tromey@redhat.com>
-
- * exsource.test: Updated for new include code.
-
-2001-02-03 Tom Tromey <tromey@redhat.com>
-
- * Makefile.am (XFAIL_TESTS): Removed colon7.test.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * check.test: New.
-
-2001-01-28 Tom Tromey <tromey@redhat.com>
-
- * listval.test: New file.
- * Makefile.am (TESTS): Added listval.test.
-
-2001-01-26 Tom Tromey <tromey@redhat.com>
-
- * makevars.test: Fail if automake fails.
-
-2001-01-26 Pavel Roskin <proski@gnu.org>
-
- * Makefile.am (XFAIL_TESTS): Added colon7.test.
-
-2001-01-26 Akim Demaille <akim@epita.fr>
-
- * vtexi.test (info_TEXINFOS): Check that the path to mdate-sh is
- already correct.
-
- * defs (AUTOCONF, has_autoconf, needs_autoconf): New.
- * ansi3.test, cond9.test, depacl2.test, install2.test, pr19.test,
- * pr87.test, pr9.test, subobj3.test, target-cflags.test: Use them.
-
-2001-01-25 Pavel Roskin <proski@gnu.org>
-
- * makevars.test: Disable shell tracing.
-
-2001-01-25 Akim Demaille <akim@epita.fr>
-
- * makevars.test: New.
-
-2001-01-24 Akim Demaille <akim@epita.fr>
-
- * vtexi.test (info_TEXINFOS): Escape a $ in egrep pattern.
-
-2001-01-23 Akim Demaille <akim@epita.fr>
-
- * vtexi.test: Also check that stamp-vti properly depends upon
- configure.in and the Texinfo source file.
-
-2001-01-21 Kevin Ryde <user42@zip.com.au>
-
- * colon7.test: Grep for a couple of AC_OUTPUT problems.
-
-2001-01-15 Tom Tromey <tromey@redhat.com>
-
- * subdir3.test: Allow any number of dependencies.
-
- * subobj4.test: Fixed test case.
-
- * amassign.test: New file.
- * Makefile.am (TESTS): Added new file.
-
-2001-01-12 Tom Tromey <tromey@redhat.com>
-
- * subobj4.test: New file.
- * Makefile.am (TESTS): Added subobj4.test.
-
- * cxxansi.test: New file.
- * Makefile.am (TESTS): Added cxxansi.test.
-
-2000-12-21 Tom Tromey <tromey@redhat.com>
-
- * vtexi.test: Fixed to reflect new rules.
-
-2000-12-17 Tom Tromey <tromey@redhat.com>
-
- * Makefile.am (XFAIL_TESTS): Don't mention ldflags.test.
-
-2000-11-25 Tom Tromey <tromey@cygnus.com>
-
- * space.test: New file.
- * Makefile.am (TESTS): Added space.test.
-
-2000-11-23 Pavel Roskin <proski@gnu.org>
-
- * pr87.test: Prevent automake from looking into .. and ../..
- by using AC_CONFIG_AUX_DIR(.) in configure.in.
-
-2000-11-23 Tom Tromey <tromey@cygnus.com>
-
- * pr87.test: New file. From PR automake/87.
- * Makefile.am (TESTS): Added pr87.test.
-
-2000-10-17 Pavel Roskin <proski@gnu.org>
-
- * Makefile.am (TESTS): Added aclocali1.test.
- * aclocali1.test: New file.
-
-2000-08-30 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (XFAIL_TESTS): Removed pr72.test.
-
- For PR automake/72:
- * Makefile.am (TESTS): Added pr72.test.
- (XFAIL_TESTS): Likewise.
- * pr72.test: New file.
-
-2000-08-28 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (XFAIL_TESTS): Added ldflags.test.
-
-2000-08-27 Tom Tromey <tromey@cygnus.com>
-
- For PR automake/75:
- * Makefile.am (TESTS): Added fortdep.test.
- * fortdep.test: New file.
-
- For PR automake/68:
- * Makefile.am (TESTS): Added header.test.
- * header.test: New file.
-
-2000-08-26 Tom Tromey <tromey@cygnus.com>
-
- For PR automake/73:
- * Makefile.am (TESTS): Added instman2.test.
- * instman2.test: New file.
-
- For PR automake/77:
- * Makefile.am (TESTS): Added ldflags.test.
- * ldflags.test: New file.
-
-2000-08-06 Jim Meyering <meyering@lucent.com>
-
- * Makefile.am (TESTS): Add subdir4.test.
- * subdir4.test: New test for the just-fixed depcomp failure.
-
-2000-08-02 Akim Demaille <akim@epita.fr>
-
- * depacl.test: Weaken the regexp looking for AM_PROG_CC_C_STDC in
- aclocal.m4.
-
-2000-05-01 Pavel Roskin <pavel_roskin@geocities.com>
-
- * install2.test: Prevent automake from looking into .. and ../..
- by using AC_CONFIG_AUX_DIR(.) in configure.in
- * pr19.test: Likewise
- * subobj3.test: Likewise
-
-2000-03-19 Tom Tromey <tromey@cygnus.com>
-
- * libobj2.test: Put depcomp into subdir.
- * confsub.test: Put depcomp into subdir.
- * defs: Always copy `depcomp'.
-
- * defs: Correctly create `depcomp'.
- * nodepcomp.test: Remove depcomp.
-
- More for PR automake/38:
- * symlink3.test: New file.
- * Makefile.am (TESTS): Added symlink3.test.
-
- For PR automake/38:
- * symlink2.test: New file.
- * Makefile.am (TESTS): Added symlink2.test.
-
- For PR automake/45:
- * defs, acoutnoq.test, texinfo8.test, tagsub.test, subdir2.test,
- subdir.test, scripts.test, remake2.test, remake.test, pr2.test,
- parse.test, output4.test, output3.test, output2.test, output.test,
- libobj10.test, libobj9.test, libobj8.test, libobj7.test,
- libobj6.test, libobj2.test, libobj.test, fpinstall.test,
- fpinst2.test, depend3.test, confsub.test, config.test,
- confh4.test, confh3.test, confh2.test, confh.test, conf2.test,
- colon7.test, colon6.test, colon5.test, colon4.test, colon3.test,
- colon2.test, colon.test, acouttbs.test, acoutqnl.test,
- acoutput.test: Put AM_INIT_AUTOMAKE into configure.in.
-
- * install2.test: Expect a `dist' failure.
-
-2000-03-19 Tom Tromey <tromey@cygnus.com>
-
- * nodepcomp.test: New file.
- * Makefile.am (TESTS): Added nodepcomp.test.
-
-2000-02-02 Assar Westerlund <assar@sics.se>
-
- * target-cflags.test: new test case to target-specific CFLAGS
-
-2000-01-08 Tom Tromey <tromey@cygnus.com>
-
- * ansi.test, texinfo.test, empty.test, insh2.test, texinfo8.test:
- Remove @SET_MAKE@ before using Makefile.
- * backsl2.test: Don't add AC_PROG_MAKE_SET in configure.in;
- already done.
- * defs: Put AC_PROG_MAKE_SET in configure.in.
- * acoutnoq.test, acoutput.test, acoutqnl.test, acouttbs.test,
- acouttbs2.test, colon.test, colon2.test, colon3.test, colon4.test,
- colon5.test, colon6.test, colon7.test, conf2.test, confh.test,
- confh2.test, confh3.test, confh4.test, config.test, depend3.test,
- discover.test, fpinst2.test, gnits.test, ldadd.test, libobj.test,
- libobj10.test, libobj2.test, libobj6.test, libobj7.test,
- libobj8.test, libobj9.test, output.test, output2.test,
- output3.test, output4.test, output5.test, package.test,
- parse.test, pr2.test, remake.test, remake2.test, scripts.test,
- stamph.test, texinfo8.test: Likewise.
-
-1999-12-26 Tom Tromey <tromey@cygnus.com>
-
- * subobj3.test: Remove depcomp.
- * pr9.test: Remove depcomp.
- Remove opportunistic check.
- * pr19.test: Remove depcomp.
-
-1999-12-25 Tom Tromey <tromey@cygnus.com>
-
- * suffix2.test: Create config.guess and config.sub so user doesn't
- need libtoolize. From Klaus Reichl.
-
-1999-12-19 Tom Tromey <tromey@cygnus.com>
-
- Test for PR automake/9:
- * pr9.test: New file.
- * Makefile.am (TESTS): Added pr9.test.
-
- * pr19.test: Fail gracefully if gzip missing.
- * install2.test: Fail gracefully if gzip missing.
-
-1999-12-19 Pavel Roskin <pavel_roskin@geocities.com>
-
- * tests/defs: add all permissions to testSubDir before
- removing it.
-
-1999-12-19 Tom Tromey <tromey@cygnus.com>
-
- * pr2.test: Use egrep, not grep.
-
- Test for PR automake/2:
- * pr2.test: New file.
- * Makefile.am (TESTS): Added pr2.test.
-
-1999-12-15 Tom Tromey <tromey@cygnus.com>
-
- * dup3.test: New file.
- * Makefile.am (TESTS): Added dup3.test.
-
-1999-12-13 Tom Tromey <tromey@cygnus.com>
-
- * pr19.test: New file. For PR automake/19.
- * Makefile.am (TESTS): Added pr19.test.
-
- * lex4.test: New file. For PR automake/6.
- * Makefile.am (TESTS): Added lex4.test.
-
- * suffix3.test: New file.
- * Makefile.am (TESTS): Added suffix3.test.
-
- * suffix2.test: Added `no-dependencies' to options in
- Makefile.am. Removed trailing `exit 1'.
-
- * nostdinc.test: New file.
- * Makefile.am (TESTS): Added nostdinc.test.
-
- * condincl2.test: New file.
- * condincl.test: New file.
- * Makefile.am (TESTS): Added condincl.test, condincl2.test.
-
- * suffix2.test: New file.
- * Makefile.am (TESTS): Added suffix2.test.
-
- * subobj.test: Remove final test.
-
-1999-12-12 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (XFAIL_TESTS): Removed subobj3.test.
-
-1999-12-10 Tom Tromey <tromey@cygnus.com>
-
- * install2.test: New file.
- * Makefile.am (TESTS): Added install2.test.
-
- * specflags5.test: New file.
- * Makefile.am (TESTS): Added specflags5.test.
-
-1999-12-06 Tom Tromey <tromey@cygnus.com>
-
- * confh4.test: Corrected final test.
-
- * confh4.test: New file. PR automake/34.
- * Makefile.am (TESTS): Mention confh4.test.
-
-1999-11-22 Tom Tromey <tromey@cygnus.com>
-
- * defs: Never hard link `depcomp'. From Pavel Roskin
-
- * exsource.test: Don't use configure substitution in _SOURCES.
- * depend.test: Don't use configure substitution in _SOURCES.
- * cygwin32.test: Don't use configure substitution in _SOURCES.
-
- * subobj.test: Check for another bug.
-
- * Makefile.am (XFAIL_TESTS): Removed sourcesub.test,
- ltlibobjs.test.
-
-1999-11-21 Tom Tromey <tromey@cygnus.com>
-
- * specflags3.test: Updated test for new dependency
- implementation.
-
-1999-10-02 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * defs: Set CDPATH to avoid verbose cd.
-
-1999-09-14 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * defs: Avoid printing the full pathname of testSubDir.
-
- * exsource.test: Update.
-
-1999-06-01 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * exsource.test: sed @AMDEP@ away from `include' line.
-
- * compile_f_c_cxx.test: depcomp is no longer in the same line.
-
-1999-04-25 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * compile_f_c_cxx.test: Look for $(depcomp) for C and C++.
- * suffix.test: We no longer emit % rules.
-
-1999-04-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * defs: Create link or copy of depcomp.
- * depend2.test: Removed, no more disted dependencies.
- * Makefile.am (TESTS): Likewise.
- * exsource.test: Adjust dependency filenames.
- * mdate3.test: Adjust for depcomp.
-
-1999-11-07 Tom Tromey <tromey@cygnus.com>
-
- * dash.test: New file.
- * Makefile.am (TESTS): Added dash.test.
-
-1999-08-26 Tom Tromey <tromey@cygnus.com>
-
- * texinfo8.test: Use directory named `sub'.
-
- * symlink.test: Use directory named `sub' (just in case; for
- Windows).
-
-1999-08-15 Tom Tromey <tromey@cygnus.com>
-
- * ansi4.test: New file.
- * Makefile.am (TESTS): Added ansi4.test.
-
-1999-07-30 Tom Tromey <tromey@cygnus.com>
-
- * double.test (bin_PROGRAMS): New file.
- * Makefile.am (TESTS): Added double.test.
-
-1999-07-27 Tom Tromey <tromey@cygnus.com>
-
- * empty4.test: New file.
- * Makefile.am (TESTS): Added empty4.test.
-
-1999-07-13 Tom Tromey <tromey@cygnus.com>
-
- * empty3.test: New file.
- * Makefile.am (TESTS): Added empty3.test.
-
- * empty2.test: Also look for `pavel.o'.
-
- * empty2.test: New file.
- * Makefile.am (TESTS): Added empty2.test.
-
-1999-05-27 Tom Tromey <tromey@cygnus.com>
-
- * subobj3.test: New file.
- * Makefile.am (TESTS): Added subobj3.test.
- (XFAIL_TESTS): Likewise.
-
- * ltlibobjs.test: New file.
- * Makefile.am (TESTS): Added ltlibobjs.test.
- (XFAIL_TESTS): Added ltlibobjs.test.
-
- * Makefile.am (XFAIL_TESTS): Added sourcesub.test.
-
-1999-05-19 Tom Tromey <tromey@cygnus.com>
-
- * specflags4.test: Typo fix.
-
- * specflags4.test: New file. From Pavel Roskin.
- * Makefile.am (TESTS): Added specflags4.test.
-
- * specflags.test: Added regression test for missing space.
-
-1999-05-13 Tom Tromey <tromey@cygnus.com>
-
- * sourcesub.test: New file.
- * Makefile.am (TESTS): Added sourcesub.test.
-
-1999-05-01 Tom Tromey <tromey@cygnus.com>
-
- * libobj2.test: Reverted previous change; it is incorrect.
-
- * libobj2.test: Error if libtu.a.P is mentioned.
-
-1999-04-27 Tom Tromey <tromey@cygnus.com>
-
- * cond9.test: New file. From Raja R Harinath.
- * Makefile.am (TESTS): Added cond9.test.
-
- * pluseq8.test: New file.
- * Makefile.am (TESTS): Added pluseq8.test.
-
- * canon5.test: Updated to reflect change to MACRO_PATTERN.
-
- * specflags3.test: New file.
- * Makefile.am (TESTS): Added specflags3.test.
- (TESTS): Now lists one file per line, for simpler maintenance.
-
- * specflags2.test: New file.
- * specflags.test: New file.
- * Makefile.am (TESTS): Added specflags.test, specflags2.test.
-
-1999-04-27 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * canon5.test (bin_PROGRAMS): New file.
- * Makefile.am (TESTS): Added canon5.test.
-
-1999-04-20 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * libobj10.test: New file.
- * Makefile.am (TESTS): Added libobj10.test.
-
-1999-04-11 Tom Tromey <tromey@cygnus.com>
-
- * subobj2.test: New file.
- * Makefile.am (TESTS): Added subobj2.test.
-
- * subobj.test: New file.
- * Makefile.am (TESTS): Added subobj.test.
-
- * confh.test: Use `sed' to extract full definition of
- DIST_COMMON. Look for stamp-h.in rule in include/Makefile.in.
- * Makefile.am (XFAIL_TESTS): Removed confh.test.
-
-1999-04-10 Tom Tromey <tromey@cygnus.com>
-
- * defs: Ensure srcdir is always absolute.
-
- * Makefile.am (XFAIL_TESTS): Removed cond8.test.
-
- * gcj2.test: New file.
- * Makefile.am (TESTS): Added gcj2.test.
-
-1999-04-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * suffix.test: New file.
- * Makefile.am: Added suffix.test.
-
- * Makefile.am (XFAIL_TESTS): Added cond8.test.
-
- * cond3.test: Refer to am_targ_OBJECTS.
-
- * yacc2.test, yacc3.test: New files.
- * Makefile.am (TESTS): Added yacc2.test and yacc3.test.
-
-1999-04-09 Tom Tromey <tromey@cygnus.com>
-
- * nodist.test: New file.
- * Makefile.am (TESTS): Added nodist.test.
-
- * gcj.test: New file.
- * Makefile.am (TESTS): Added gcj.test.
-
-1999-04-08 Tom Tromey <tromey@cygnus.com>
-
- * cond8.test: New file.
- * Makefile.am (TESTS): Added cond8.test.
-
-1999-04-07 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * backsl2.test: New file.
- * Makefile.am (TESTS): Added backsl2.test.
-
- * texinfo8.test: texinfo.tex is only disted by aux/Makefile.
-
- * texinfo8.test: New file.
- * Makefile.am (TESTS): Added texinfo8.test.
-
-1999-03-31 Tom Tromey <tromey@cygnus.com>
-
- * pluseq2.test, pluseq3.test: Updated for recent \-preservation
- change.
-
-1999-03-31 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * Makefile.am (XFAIL_TESTS): add confh.test
-
-1999-03-30 Tom Tromey <tromey@cygnus.com>
-
- * mclean.test: Fixed typo.
-
- * mclean.test: New file.
- * Makefile.am (TESTS): Added mclean.test.
-
-1999-03-30 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * confh.test: if include/Makefile.am is created, the test fails
-
-1999-03-27 Tom Tromey <tromey@cygnus.com>
-
- * extra4.test: Allow EXTRA_DATA to be specified.
-
-1999-03-22 Tom Tromey <tromey@cygnus.com>
-
- * ldadd.test: Use AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL.
-
- * pluseq7.test: New file.
- * Makefile.am (TESTS): Added pluseq7.test.
- * pluseq6.test: New file.
- * Makefile.am (TESTS): Added pluseq6.test.
-
-1999-03-21 Tom Tromey <tromey@cygnus.com>
-
- * nodep.test: New file.
- * Makefile.am (TESTS): Added nodep.test.
-
- * subdir3.test: Correctly mention _SOURCES in Makefile.am.
-
- * subdir3.test: New file.
- * Makefile.am (TESTS): Added subdir3.test.
- * xsource.test: Changed to check whether multiple source files
- with same object name cause failure.
-
-1999-03-11 Tom Tromey <tromey@cygnus.com>
-
- * libobj9.test: New file.
- * Makefile.am (TESTS): Added libobj9.test.
-
- * insthook.test: Don't require GNU grep. From John Pierce.
-
- * lex3.test: New file.
- * Makefile.am (TESTS): Added lex3.test.
-
-1999-03-01 Tom Tromey <tromey@cygnus.com>
-
- * ansi3.test: Use no-dependencies option to avoid GNU make
- requirement. From Jerome Lovy.
-
-1999-02-27 Tom Tromey <tromey@cygnus.com>
-
- * ext.test (foo_SOURCES): New file.
- * Makefile.am (TESTS): Added ext.test.
-
-1999-02-11 Tom Tromey <tromey@cygnus.com>
-
- * cygwin32.test: Use AC_EXEEXT, not AM_EXEEXT.
-
- * obsolete2.test: New file.
- * Makefile.am (TESTS): Added obsolete2.test.
-
-1999-02-01 Tom Tromey <tromey@cygnus.com>
-
- * installsh.test (AUTOMAKE): Use $PERL. From Pavel Roskin.
-
- * cond5.test: Sleep 15 seconds, not 5. Some people still run the
- test on slow machines.
-
-1999-01-22 Tom Tromey <tromey@cygnus.com>
-
- * copy.test: New file.
- * Makefile.am (TESTS): Added copy.test.
-
- * ppf77.test: New file.
- * Makefile.am (TESTS): Added ppf77.test.
-
-1999-01-14 Tom Tromey <tromey@cygnus.com>
-
- * confh3.test: New file.
- * Makefile.am (TESTS): Added confh3.test.
-
- * confh2.test: New file.
- * Makefile.am (TESTS): Added confh2.test.
-
- * confh.test: Run automake differently the second time.
-
- * mdate3.test: New file.
- * Makefile.am (TESTS): Added mdate3.test.
-
-1999-01-11 Tom Tromey <tromey@cygnus.com>
-
- * confh.test: New file.
- * Makefile.am (TESTS): Added confh.test.
-
-1999-01-10 Tom Tromey <tromey@cygnus.com>
-
- * objc.test: Updated to account for new ObjC support.
-
- * pluseq5.test: New file.
- * Makefile.am (TESTS): Added pluseq5.test.
-
- * all.test: Test all *-local targets, not just all-local.
-
- * all.test: New file.
- * Makefile.am (TESTS): Added all.test.
-
-1999-01-07 Tom Tromey <tromey@cygnus.com>
-
- * include.test: New file.
- * Makefile.am (TESTS): Added include.test.
-
-1998-12-21 Tom Tromey <tromey@cygnus.com>
-
- * insthook.test: Updated to fail when it should.
-
-1998-12-11 Tom Tromey <tromey@cygnus.com>
-
- * insthook.test: New file.
- * Makefile.am (TESTS): Added insthook.test.
-
-1998-11-27 Tom Tromey <tromey@cygnus.com>
-
- * cond7.test: New file. From Pavel Roskin.
- * Makefile.am (TESTS): New file.
-
-1998-11-10 Tom Tromey <tromey@cygnus.com>
-
- * pluseq4.test: New file.
- * Makefile.am (TESTS): Added pluseq4.test.
-
-1998-11-09 Tom Tromey <tromey@cygnus.com>
-
- * pluseq3.test: New file.
- * Makefile.am (TESTS): Added pluseq3.test.
-
- * pluseq2.test: New file.
- * Makefile.am (TESTS): Added pluseq2.test.
-
-1998-10-30 Tom Tromey <tromey@cygnus.com>
-
- * pluseq.test: New file.
- * Makefile.am (TESTS): Added pluseq.test.
-
-1998-10-28 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (distclean-local): Typo fix.
-
-1998-10-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (TESTS): Sorted tests. From Jeff Garzik.
-
-1998-10-13 Tom Tromey <tromey@cygnus.com>
-
- * libobj7.test: Updated to reflect minor change in automake (test
- wasn't resilient enough).
- * instman.test: Updated to reflect fact that mkinstalldirs will be
- in distribution.
-
- * cxxonly.test: Removed.
-
-Mon Aug 31 09:46:59 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * Makefile.am (TESTS): Added compile_f_c_cxx.test.
- * compile_f_c_cxx.test: New file.
-
-Sat Aug 29 18:17:58 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * Makefile.am (TESTS): Added flink.test link_c_cxx.test
- link_f_c.test link_f_c_cxx.test link_f_cxx.test link_f_only.test.
- Removed flink.test.
- * flibs.test: New File.
- * link_c_cxx.test: New file.
- * link_f_c.test: New file.
- * link_f_c_cxx.test: New file.
- * link_f_cxx.test: New file.
- * link_f_only.test: New file.
-
-Tue Aug 11 10:46:36 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * Makefile.am (TESTS): Add cxxonly.test, fonly.test, flink.test,
- fnoc.test and fo.test.
- * cxxonly.test: New file.
- * fonly.test: New file.
- * flink.test: New file.
- * fnoc.test: New file.
- * fo.test: New file.
-
-1998-10-08 Tom Tromey <tromey@cygnus.com>
-
- * confdist.test: New file.
- * Makefile.am (TESTS): Added confdist.test.
-
-1998-10-07 Tom Tromey <tromey@cygnus.com>
-
- * extra4.test: New file.
- * extra3.test: New file.
- * Makefile.am (TESTS): Added extra3.test, extra4.test.
-
-Mon Oct 5 12:47:32 1998 Tom Tromey <tromey@cygnus.com>
-
- * badline.test: New file.
- * Makefile.am (TESTS): Added badline.test.
-
-Thu Oct 1 00:03:39 1998 Tom Tromey <tromey@cygnus.com>
-
- * seenc.test: Updated test to account for removed line numbers.
-
- * xsource.test: Correctly fail if source in subdir.
-
-Wed Sep 30 12:17:34 1998 Tom Tromey <tromey@cygnus.com>
-
- * colon7.test: New file.
- * Makefile.am (TESTS): Added colon7.test.
-
-Tue Sep 29 02:09:11 1998 Tom Tromey <tromey@cygnus.com>
-
- * config.test: New file.
- * Makefile.am (TESTS): Added config.test.
-
- * Makefile.am (TESTS): Reference clean.test, not clean.am.
-
-Mon Sep 28 01:46:34 1998 Tom Tromey <tromey@cygnus.com>
-
- * recurs2.test: New file, from Jim Meyering.
- * Makefile.am (TESTS): Added recurs2.test.
-
- * Makefile.am (TESTS): Added clean.am.
- * clean.test: New file.
- * ansi2.test: Updated test for new SUBDIRS change.
- * noinst.test: Updated test for new SUBDIRS change.
- * checkall.test: Added check to make sure check-local is handled.
- Updated test for new SUBDIRS change.
- * java.test: Updated test for new SUBDIRS change.
-
-Sun Sep 27 20:01:20 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (TESTS): Added else.test.
- * else.test: New file.
-
- * Makefile.am (TESTS): Added parse.test.
- * parse.test: New file.
-
-Sat Sep 26 19:17:43 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.test: Put AM_INIT_AUTOMAKE into configure.in.
- * library.test: Use AC_EXEEXT.
- * texinfo5.test: Use AC_EXEEXT.
- * Many files: use AC_PROG_INSTALL, not AM_PROG_INSTALL.
-
- Test suite updates for the @SHELL@ change:
- * exsource.test: Set SHELL on `make' command line.
- * ansi.test: Set SHELL on `make' command line.
- * texinfo.test: Set SHELL on `make' command line.
- * insh2.test: Set SHELL on `make' command line.
- * empty.test: Rewrite @SHELL@ to /bin/sh.
-
-Tue Sep 22 01:20:00 1998 Tom Tromey <tromey@cygnus.com>
-
- * ansi3.test: Use gcc and not gcc -traditional.
-
-Tue Sep 15 22:19:48 1998 Tom Tromey <tromey@cygnus.com>
-
- * texinfo7.test: New file.
-
-Sun Aug 16 23:17:38 1998 Tom Tromey <tromey@cygnus.com>
-
- * colon6.test: New file.
-
-Fri Aug 14 11:09:03 1998 Tom Tromey <tromey@cygnus.com>
-
- * cond6.test: New file.
-
-Mon Aug 10 21:05:15 1998 Tom Tromey <tromey@cygnus.com>
-
- * ansi3.test: New file.
-
-Sat Jul 18 00:27:26 1998 Tom Tromey <tromey@cygnus.com>
-
- * recurs.test: New file.
-
- * cond3.test: Changed to match recent fixes.
-
-Fri Jul 17 23:44:49 1998 Tom Tromey <tromey@cygnus.com>
-
- * cond4.test, cond5.test: New files.
-
-Tue May 26 01:44:37 1998 Tom Tromey <tromey@cygnus.com>
-
- * syntax.test: New file.
-
-Sun Apr 5 15:26:42 1998 Tom Tromey <tromey@cygnus.com>
-
- * version3.test: Increased version number to ensure failure for a
- long time to come.
-
- * library.test: New file.
-
- * lex2.test: Updated since lex error changed to warning.
-
-Fri Apr 3 13:04:50 1998 Tom Tromey <tromey@cygnus.com>
-
- * colon5.test: New file.
-
- * exdir2.test: New file.
- * instdata.test: New file.
-
-Wed Mar 25 15:30:39 1998 Tom Tromey <tromey@cygnus.com>
-
- * badopt.test: new file.
- * version3.test: New file.
-
-Mon Mar 23 10:52:36 1998 Tom Tromey <tromey@cygnus.com>
-
- * libobj8.test: New file.
-
-Fri Mar 20 00:32:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * lex2.test: New file.
-
- * aclocalii.test: New file.
-
- * javasubst.test: New file.
-
-Thu Mar 19 14:11:45 1998 Tom Tromey <tromey@cygnus.com>
-
- * javaprim.test: New file.
-
- * sinclude.test: New file.
-
-Wed Mar 18 17:15:22 1998 Tom Tromey <tromey@cygnus.com>
-
- * java.test: New file.
-
-Sun Mar 8 15:35:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * colon4.test: New file.
-
-Fri Mar 6 21:17:10 1998 Tom Tromey <tromey@cygnus.com>
-
- * colon3.test: Refined tests.
-
-Tue Feb 24 12:29:05 1998 Tom Tromey <tromey@cygnus.com>
-
- * man.test: Removed.
-
- * condman2.test: New file.
-
-Mon Feb 23 16:20:49 1998 Tom Tromey <tromey@cygnus.com>
-
- * texinfo6.test: New file.
-
-Mon Feb 16 00:08:58 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocali.test: New file.
-
-Fri Feb 13 00:36:38 1998 Tom Tromey <tromey@cygnus.com>
-
- * texinfo5.test (info_TEXINFOS): New file.
-
- * condman.test: New file.
-
- * Makefile.am (distclean-local): Ignore rm return value.
-
-Thu Feb 12 21:00:34 1998 Tom Tromey <tromey@cygnus.com>
-
- * unused.test: New file.
-
- * whoami.test: New file.
-
- * alpha.test: New file.
-
-Wed Feb 11 17:28:30 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.test: New file.
-
-Thu Feb 5 13:22:17 1998 Tom Tromey <tromey@cygnus.com>
-
- * cxxcpp.test: New file.
-
-Mon Dec 1 15:48:16 1997 Tom Tromey <tromey@cygnus.com>
-
- * cond3.test: New file.
-
-Sat Nov 29 22:09:27 1997 Tom Tromey <tromey@cygnus.com>
-
- * objc.test: New file.
-
-Sat Oct 25 00:04:04 1997 Tom Tromey <tromey@cygnus.com>
-
- * libobj7.test: New file.
-
-Tue Oct 21 00:46:24 1997 Tom Tromey <tromey@cygnus.com>
-
- * lex2.test: Removed; @LEXLIB@ no longer required.
-
- * depacl2.test: Use -I, not --acdir.
-
- * install.test: New file.
- * ammissing.test: New file.
-
-Sun Sep 28 17:19:52 1997 Tom Tromey <tromey@cygnus.com>
-
- * cxxnoc.test: Changed to reflect MKDEP change.
-
-Wed Sep 24 16:01:59 1997 Tom Tromey <tromey@cygnus.com>
-
- * output5.test: New file.
-
- * depend3.test: New file.
-
-Mon Aug 25 17:24:42 1997 Tom Tromey <tromey@cygnus.com>
-
- * cygwin32.test: Use AM_EXEEXT, not AM_CYGWIN32.
-
-Tue Aug 5 20:33:33 1997 Tom Tromey <tromey@cygnus.com>
-
- * libobj6.test: New file.
-
-Mon May 26 22:47:36 1997 Tom Tromey <tromey@cygnus.com>
-
- * depend.test: Fixed test.
-
-Sat May 10 18:28:14 1997 Tom Tromey <tromey@cygnus.com>
-
- * depend2.test: Fixed test; added another check.
-
-Sun May 4 15:47:24 1997 Tom Tromey <tromey@cygnus.com>
-
- * xsource.test: New file.
-
-Tue Apr 29 19:08:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * cond.test, cond2.test: New files from Ian Taylor.
-
-Sun Apr 27 21:07:49 1997 Tom Tromey <tromey@cygnus.com>
-
- * confsub.test: Fixed bug.
-
-Fri Apr 25 12:30:22 1997 Tom Tromey <tromey@cygnus.com>
-
- * conf2.test: New file.
-
-Tue Apr 8 19:26:07 1997 Tom Tromey <tromey@cygnus.com>
-
- * ansi.test, empty.test, exsource.test, insh2.test, man.test,
- mkinst2.test, texinfo.test, texinfo2.test: Use $MAKE.
-
- * defs (MAKE): Define.
-
-Mon Apr 7 17:35:49 1997 Tom Tromey <tromey@cygnus.com>
-
- * version2.test: New file.
-
-Wed Apr 2 00:12:26 1997 Tom Tromey <tromey@cygnus.com>
-
- * ldadd.test: New file.
-
-Fri Mar 28 23:36:04 1997 Tom Tromey <tromey@cygnus.com>
-
- * stamph.test: New file.
-
-Thu Mar 27 18:10:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * lisp.test: New file.
-
-Sat Mar 22 01:14:03 1997 Tom Tromey <tromey@cygnus.com>
-
- * cygwin32.test: New file.
-
-Thu Mar 20 00:34:33 1997 Tom Tromey <tromey@cygnus.com>
-
- * exsource.test: Exit if not using GNU make.
-
-Tue Mar 18 22:36:34 1997 Tom Tromey <tromey@cygnus.com>
-
- * remake2.test: Changed for `missing' support.
-
-Sun Mar 16 14:29:45 1997 Tom Tromey <tromey@cygnus.com>
-
- * seenc.test: New file.
-
- * checkall.test, noinst.test: Don't use bogus construct when
- checking.
-
- * libobj3.test, canon.test, target.test, spell2.test,
- primary2.test, discover.test, lex2.test: Fixed to test what it
- claims to test.
-
-Mon Mar 10 23:21:03 1997 Tom Tromey <tromey@cygnus.com>
-
- * libobj.test, libobj2.test: Use AC_PROG_CC.
-
- * confsub.test: Modified for definition of CONFIG_HEADER_FULL.
-
- * cxxlibobj.test: New file.
-
-Wed Feb 26 13:05:42 1997 Tom Tromey <tromey@cygnus.com>
-
- * tagsub.test: New file.
-
-Sun Feb 23 11:58:00 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfo.test, texinfo2.test, texinfo3.test, info.test,
- mdate.test, vtexi.test, canon2.test, mdate2.test, vtexi2.test:
- Updated for new texinfo handling.
-
- * texinfo4.test: New file.
- * texinfo3.test: New file.
-
-Sat Feb 22 09:48:44 1997 Tom Tromey <tromey@cygnus.com>
-
- * yaccpp.test: New file.
-
-Tue Feb 11 09:51:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfo2.test: Fixed quoting bug. From Michael Brantley.
-
-Tue Feb 4 18:41:32 1997 Tom Tromey <tromey@cygnus.com>
-
- * confsub.test: Check subdir/Makefile.in to make sure dependency
- is correct.
-
- * ansi2.test: ANSI2KNR dependency of all.
-
-Tue Dec 10 00:43:14 1996 Tom Tromey <tromey@cygnus.com>
-
- * defun2.test: New file.
- * subst.test: New file.
-
-Sun Dec 8 12:25:22 1996 Tom Tromey <tromey@cygnus.com>
-
- * colneq2.test: New file.
-
-Sat Dec 7 12:52:45 1996 Tom Tromey <tromey@cygnus.com>
-
- * output4.test: New file.
- * output3.test: New file.
- * remake2.test: New file.
- * output2.test: New file.
-
-Fri Dec 6 19:00:31 1996 Tom Tromey <tromey@cygnus.com>
-
- * output.test: New file.
-
-Thu Dec 5 18:23:17 1996 Tom Tromey <tromey@cygnus.com>
-
- * remake.test: New file.
- * colon3.test: New file.
- * colon2.test: New file.
- * cxxo.test: New file.
-
-Wed Dec 4 00:41:44 1996 Tom Tromey <tromey@cygnus.com>
-
- * defs: Allow user to set interpreter via PERL environment
- variable.
-
- * Makefile.am (distclean-local): New target.
-
-Tue Dec 3 11:55:18 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * dup.test, dup2.test: Modified, now that aclocal allows
- acinclude.m4 to override any installed macro file.
-
-Mon Dec 2 22:44:16 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * alllib.test: Removed from distribution, since LIBFILES are no
- longer computed.
-
-Sun Nov 24 14:36:00 1996 Tom Tromey <tromey@cygnus.com>
-
- * extra2.test: New file.
-
-Fri Nov 22 00:10:04 1996 Tom Tromey <tromey@cygnus.com>
-
- * stdlib.test: New file.
-
-Thu Nov 21 22:51:35 1996 Tom Tromey <tromey@cygnus.com>
-
- * confsub.test: Use AM_CONFIG_HEADER.
-
-Tue Nov 19 23:37:32 1996 Tom Tromey <tromey@cygnus.com>
-
- * confvar2.test: New file.
-
-Fri Nov 15 00:09:18 1996 Tom Tromey <tromey@cygnus.com>
-
- * ansi2.test: New file.
-
- * libfiles.test: Removed (obsolete).
-
- * libobj.test, canon4.test, libobj2.test, alllib.test,
- ranlib.test: Fixed for Gord's changes to library handling.
-
- * Many files: Use AC_PROG_CC to avoid error.
-
-Thu Oct 24 15:22:53 1996 Tom Tromey <tromey@cygnus.com>
-
- * confvar.test: New file.
- * ranlib.test: New file.
-
-Mon Oct 21 22:57:51 1996 Tom Tromey <tromey@cygnus.com>
-
- * version.test: New file.
-
-Fri Oct 11 00:51:04 1996 Tom Tromey <tromey@cygnus.com>
-
- * libobj5.test: New file.
- * libobj4.test: New file.
- * distdir.test: New file.
- * lex2.test: New file.
-
-Sun Oct 6 11:00:44 1996 Tom Tromey <tromey@cygnus.com>
-
- * acsilent.test: New file.
- * req.test: New file.
- * acinclude.test: New file.
-
-Sat Oct 5 11:31:38 1996 Tom Tromey <tromey@cygnus.com>
-
- * discover.test: New file.
-
- * mkinst2.test: Renamed from mkinstall2.test.
-
- * symlink.test: New file.
-
-Thu Oct 3 19:55:23 1996 Tom Tromey <tromey@cygnus.com>
-
- * vpath.test: New file.
-
-Mon Sep 30 08:34:07 1996 Tom Tromey <tromey@cygnus.com>
-
- * comment2.test: New file.
-
-Mon Sep 23 00:23:34 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * spell3.test: New file.
-
-Sun Sep 22 14:42:09 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * depend2.test: New file.
-
-Sat Sep 21 14:01:10 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * primary2.test: New file.
- * primary.test: New file.
-
-Fri Sep 20 09:39:27 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * confsub.test: New file.
-
-Mon Sep 16 00:05:52 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * spell2.test: New file.
-
- * spell.test: New file.
-
-Thu Sep 12 14:57:49 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * implicit.test: New file.
-
-Wed Sep 11 13:57:10 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * colneq.test: New file.
-
- * interp2.test: New file.
-
-Sun Sep 8 10:47:07 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * gnits.test: New file.
-
-Thu Sep 5 22:54:26 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * libobj3.test: New file.
-
-Tue Sep 3 20:57:38 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * block.test: New file.
-
-Mon Aug 26 23:04:01 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * alllib.test: New file.
-
- * interp.test: New file.
-
-Mon Aug 12 13:58:55 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * libobj2.test: New file.
-
- * order.test: New file.
-
-Sun Aug 11 00:10:42 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * cxxnoc.test: New file.
-
- * cxxlink.test: Use AC_PROG_CXX.
-
- * lex.test: Use AC_PROG_LEX, AC_DECL_YYTEXT.
-
- * yacc.test: Use AC_PROG_YACC in configure.in.
-
- * cxxlink.test: New file.
-
- * yacc.test: Fixed test for new yacc code.
-
-Sat Aug 10 10:09:45 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * defun.test: New file.
-
- * dup.test: New file.
-
-Fri Aug 9 09:18:07 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * canon4.test: New file.
-
-Thu Aug 8 10:47:45 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * exsource.test: New file.
-
- * subdir2.test: New file.
-
- * scripts.test: New file.
-
-Tue Aug 6 12:30:41 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * lex.test: New file.
-
-Mon Aug 5 01:03:03 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * obsolete.test: New file.
-
- * Many files: Use AM_ macros, not fp_ macros.
-
- * info.test: New file.
-
-Sun Aug 4 12:47:34 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * man.test: New file.
-
- * acouttbs2.test: New file.
-
- * libfiles.test: New file.
-
- * comment.test: New file.
-
- * tags.test: New file.
-
- * vtexi2.test: New file.
-
- * colon.test: New file.
-
-Sun Jul 28 11:43:00 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * defs (ACLOCAL): Added definition.
-
- * depacl.test, depacl2.test, error.test: New tests for aclocal.
-
-Fri Jul 19 10:09:56 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * ansi.test: New file.
-
-Sun Jun 9 23:20:03 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfo2.test: New file.
-
-Sat Jun 8 10:00:42 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * mkinstall2.test: New file.
-
-Fri Jun 7 18:17:11 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * yacc.test: New file.
-
-Sun Jun 2 09:04:52 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * dejagnu.test: New file.
-
- * texinfo.test: New file.
-
-Thu May 23 09:58:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * fpinst2.test: New file.
-
- * fpinstall.test: New file.
-
-Wed May 22 09:45:52 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * outdir.test: New file.
-
-Sat May 18 10:51:37 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * insh2.test: New file.
-
-Fri May 17 17:32:35 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * number.test: New file.
-
- * defs, many .test files: Define PACKAGE and VERSION in
- configure.in.
-
- * package.test: New file.
-
- * backsl.test: New file.
-
-Thu May 16 09:15:57 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * subdir.test: New file.
-
-Tue May 14 10:17:17 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * mdate2.test: New file, from report by Jim Meyering.
-
- * canon3.test: New file.
-
- * auxdir.test: New file.
-
- * mkinstall.test: New file.
-
- * extra.test: Reversed sense of test.
-
-Fri Apr 26 15:15:01 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * instman.test: New file.
-
-Thu Apr 25 17:12:30 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * noinst.test: New file
-
- * exdir.test: Quoting change from Gord Matzigkeit.
-
- * extra.test (EXTRA_PROGRAMS): New file.
-
-Tue Apr 9 22:55:07 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * target.test: New file.
-
-Wed Apr 3 15:10:54 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * canon2.test: New file
-
- * insh.test: New file.
-
-Wed Mar 27 23:31:51 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * rulepat.test: New file.
-
-Sat Mar 16 08:37:36 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * empty.test: New file.
-
-Fri Mar 15 17:55:13 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * installsh.test: New file.
-
-Tue Mar 5 16:22:46 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * badprog.test: Rewrote.
-
- * canon.test: New file.
-
-Mon Mar 4 21:08:37 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * exdir.test: New file.
-
-Fri Mar 1 17:23:53 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * depend.test: New file.
-
- * badprog.test: New file.
-
- * defs (AUTOMAKE): Pass --foreign.
-
-Thu Feb 29 20:23:42 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- More tests:
- * prefix.test: New file.
- * spelling.test: New file
- * confincl.test: New file.
- * Makefile.am (TESTS): Updated.
-
-Wed Feb 28 11:57:02 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * acoutqnl.test: New file.
- * Makefile.am (TESTS): Include it.
-
-Tue Feb 27 10:52:58 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * Makefile.am (DIST_OTHER): Include "defs".
-
- * defs (AUTOMAKE): Never relative to $srcdir.
-
-Mon Feb 26 23:14:08 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * libobj.test: Put AC_PROG_RANLIB in configure.in
-
-Mon Feb 19 08:22:22 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * proginst.test: New file.
-
-Tue Feb 13 18:54:39 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * libobj.test: New file.
-
-Mon Feb 12 17:05:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * acouttbs.test: New file.
-
- * Makefile.am (DIST_OTHER): New variable.
-
- * acoutnoq.test: New file.
-
-Sun Feb 11 16:39:14 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * checkall.test: Delay a little.
-
- * Makefile.am (check-local): Print name of failing test.
-
-Sat Feb 10 17:08:39 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * checkall.test: New file.
-
- * instexec.test: New file.
-
- * mdate.test, vtexi.test, acoutput.test: New files.
-
- * Started.
-
------
-
-Copyright 2012-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/ChangeLog.00 b/old/ChangeLog.00
deleted file mode 100644
index dd8caa8fb..000000000
--- a/old/ChangeLog.00
+++ /dev/null
@@ -1,2211 +0,0 @@
-2000-12-29 Derek Price <derek.price@openavenue.com>
-
- * automake.in (handle_dependencies): Switched the DEP_FILES
- definition to be conditional on @AMDEP@.
-
-2001-02-03 Ville Laurikari <vlaurika@hutcs.cs.hut.fi>
-
- * depcomp (aix): New side-effect dependency tracking mode, for
- the C for AIX compiler.
- * m4/depend.m4 (AM_DEPENDENCIES): Recreate `conftest.c' and
- `conftest.h' for each test.
-
-2001-02-03 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Dist): Updated to mention caveat of putting
- directory in EXTRA_DIST and also providing a nice example of
- removing the CVS dir.
- From Ganesan Rajagopal.
-
- * m4/depend.m4 (depcpp): Run tests in a subdir. Fixes report from
- Bob Proulx.
-
- * automake.in (scan_one_autoconf_file): Disable warning about
- AM_PROG_LIBTOOL.
-
- * automake.in (handle_configure): Don't modify variable which
- aliases list element. Don't push @inputs onto the dist list.
- Fixes colon7.test.
- (initialize_per_input) [dist_dirs]: New variable.
- (handle_dist_worker): Use global dist_dirs.
- (handle_configure): Set dist_dirs entries at toplevel.
-
-2001-02-02 Gordon Sadler <gbsadler1@lcisp.com>
-
- * automake.texi (Java Support): Added index, @section.
-
-2001-02-02 Pavel Roskin <proski@gnu.org>
-
- * automake.in (scan_autoconf_traces): Restore trace messages.
-
- * automake.in (handle_aclocal_m4): Fix stripping of the initial
- "./" from the dependencies of aclocal.m4.
- Reported by Ralf Corsepius.
-
-2001-02-01 Pavel Roskin <proski@gnu.org>
-
- * aclocal.in: Rename "verbosity" to "verbose". Always prepend
- "aclocal: " to the verbose output.
-
- * automake.in: Remove all debugging messages.
-
-2001-01-31 Akim Demaille <akim@epita.fr>
-
- * automake.in (add_depend2): Quote properly $obj and $source.
-
-2001-01-31 Akim Demaille <akim@epita.fr>
-
- * depend2.am: Instead of replacing @PFX@ in $(@PFX@COMPILE), and
- then replacing `$(@PFX@COMPILE)' for the files that need some
- special flags, use only @COMPILE@. Similarly for @LTCOMPILE@.
- Try to document this file.
- * automake.in (add_depend2): Adjust to these changes.
-
-2001-01-31 Akim Demaille <akim@epita.fr>
-
- * automake.in (%factored_dependencies): New.
- (file_contents): Use it.
- (handle_phony): Rename as...
- (handle_factored_dependencies): this.
- * subdirs.am: No need for convolved syntax to declare .PHONY.
-
-2001-01-31 Akim Demaille <akim@epita.fr>
-
- * automake.in: maintainer-check fixes.
-
-2001-01-31 Akim Demaille <akim@epita.fr>
-
- * automake.in (file_contents): Rewrite: instead of trying to parse
- it line by line, first swallow it completely into $CONTENTS,
- *then*, parse it *paragraph* by paragraph.
-
-2001-01-30 Akim Demaille <akim@epita.fr>
-
- * automake.in (file_contents): Remove.
- (file_contents_with_transform): Swap the order of the arguments,
- and rename as...
- (file_contents): this.
- Adjust all uses.
-
-2001-01-30 Tom Tromey <tromey@redhat.com>
-
- * automake.in (scan_one_autoconf_file): Don't mention
- omit_dependencies.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_autoconf_config_files): Extract from
- &scan_one_autoconf_file.
- (&scan_one_autoconf_file): Use it.
- (&scan_autoconf_traces): New.
- ($scan_autoconf_files): Use it.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * texinfos.am, tags.am, subdirs.am, multilib.am, mans.am: Add a
- .PHONY target.
- * automake.in (handle_texinfo, handle_man_pages, handle_multilib)
- (handle_etags, handle_subdirs): Don't push into @phony.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (scan_one_autoconf_file): Correctly recognize
- configure.ac.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_tests_dejagnu): New, extracted from...
- (handle_tests): here. Use `.PHONY:'.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_phony): Sort.
- (file_contents_with_transform): Catch `.PHONY:'.
- (handle_tests): Instead dumping the hard coded target check-TESTS
- and registering its .PHONYsm, get them from...
- * check.am: here, new file.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (add_depend2): Use &transform.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_tags): Use &transform.
- (am_error, am_line_error, am_conf_error, read_am_file): Use
- directly arrays in strings, no need for &join.
- Require Perl 5.
- * Makefile.am (maintainer-check): Use grep -w when looking for
- words.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (prog_error): New.
- Spread its use.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_single_transform_list): if (@list) { foreach
- (@list) ...} can be written as a simple `foreach' loop.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (define_standard_variables): Use &transform instead
- of build_rx.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_texinfo): Use the new $texinfodir instead of
- the removed $texinfo_tex.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_libraries, handle_ltlibraries): Use
- &transform.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_programs) <xexe>: Remove, replaced by
- `exeext'.
- Use it, and &transform.
-
-2001-01-29 Akim Demaille <akim@epita.fr>
-
- * automake.in (get_object_extension) <$default_includes>: New.
- Use it and &transform.
-
-2001-01-28 Tom Tromey <tromey@redhat.com>
-
- * automake.in (variable_value_as_list_worker): Handle entries in
- %am_var_defs. Fixes listval.test.
-
-2001-01-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_texinfo): Don't use $conf_pat, just
- $conf_dir to transform MDDIR since now &transform handles the
- escaping of RE special characters by itself.
-
-2001-01-24 Akim Demaille <akim@epita.fr>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Don't leave `AC_PROG_CC' etc. in
- clear.
- * m4/init.m4: Likewise.
- * m4/sanity.m4: s/conftestfile/conftest.file/.
-
-2001-01-24 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_libraries): Use $configure_ac; typo fix.
-
- * automake.in (transform): Quote substitution.
-
-2001-01-21 Alexandre Duret-Lutz <duret_g@epita.fr>
- Tom Tromey <tromey@redhat.com>
-
- * automake.in (obsolete_rx): Match whole macro names, not
- substrings.
- * aclocal.in (obsolete_rx): Likewise.
-
-2001-01-21 Tom Tromey <tromey@redhat.com>
-
- * automake.texi: Changed dir category.
-
-2001-01-18 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_texinfo): Use &transform, and transform
- CONFIGURE_AC.
- Reported by Lars Hecking, and diagnosed by Raja R Harinath.
-
-2001-01-16 Akim Demaille <akim@epita.fr>
-
- Let Automake support `configure.ac'.
-
- * automake.in: In the comments, prefer `configure.ac' to
- `configure.in'.
- When using &am_conf_error, don't repeat `in configure.in', since
- the function already reports it.
- When referring to `configure.in' use `$configure_ac' instead.
- (configure_ac): New global variable.
- (scan_configure, scan_one_configure_file): Rename as...
- (scan_autoconf_files, scan_one_autoconf_file): this.
- (scan_autoconf_files): Compute $configure_ac.
- (transform): New function.
- (handle_configure): Use it to transform CONFIGURE_AC in
- `remake.am' and in `remake-hdr.am'.
- (common_files): Also consider `configure.ac'.
- Use consistently single quotes.
- * aclocal.in (configure_ac): New variable.
- Use it.
- * texi-vers.am: Depend on CONFIGURE_AC not configure.in.
- * remake.am: Likewise.
- * remake-hdr.am: Likewise.
-
-2001-01-16 Akim Demaille <akim@epita.fr>
-
- * m4/multi.m4: Remove the hairy useless quotation of `$'.
- Simplify `ifelse([$2],,,[$2])' into... `$2'!
- * m4/minuso.m4: Don't use changequote!
- * m4/cond.m4: Fix quotation.
- * m4/sanity.m4: Follow the Autoconf coding style.
- * m4/missing.m4 (AM_MISSING_INSTALL_SH): Use a for loop.
- * m4/depend.m4 (AM_DEPENDENCIES): Fix quotation issues.
- Use AC_CACHE_CHECK.
-
-2001-01-15 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_single_transform_list): Don't print rule
- here when source is in subdir and object is not. Fixes
- subobj4.test.
-
- * automake.in (handle_single_transform_list): Correctly compute
- $nonansi_obj. Fixes cxxansi.test.
-
- * automake.texi (Man pages): Updated to account for man1_MANS,
- etc.
-
-2001-01-13 Steve Robbins <smr@debian.org>
- Tom Tromey <tromey@redhat.com>
-
- * aclocal.in (scan_configure): Don't recognize macro assignments
- or AC_SUBSTs.
- (add_file): Likewise.
-
-2001-01-13 Kevin Ryde <user42@zip.com.au>
-
- * automake.in (handle_ltlibraries): Omit -rpath from
- check_LTLIBRARIES, as per noinst_LTLIBRARIES.
-
-2001-01-11 Tom Tromey <tromey@redhat.com>
-
- * depcomp (case gcc3): Use -MD, not -M.
-
-2001-01-10 Tom Tromey <tromey@redhat.com>
-
- * depcomp: Handle gcc 3.
-
-2000-12-23 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Updated to 1.4c for cvs.
-
- * configure.in: Updated to 1.4b and released.
-
- * config.guess, config.sub, texinfo.tex: New versions.
-
- * automake.in (handle_dist_worker): Always define DIST_SUBDIRS.
- Re-fixes pr87.test.
-
- * subdirs.am (maintainer-clean-recursive): Use DIST_SUBDIRS for
- distclean and maintainer-clean.
- * automake.texi (Top level): Document use of DIST_SUBDIRS.
-
- From Rusty Ballinger:
- * automake.in (handle_java): Don't skip `noinst' prefix.
-
- * automake.texi (Invoking aclocal): Mention ## comments.
-
-2000-12-22 Tom Tromey <tromey@redhat.com>
-
- From Raja R Harinath:
- * automake.in (libtoolize_sometimes): New global.
- (initialize_global_constants): Added libtoolize_sometimes to
- common_files.
-
- * m4/depend.m4 (AM_SET_DEPDIR): Ignore errors when running rmdir.
-
- * m4/depend.m4 (AM_SET_DEPDIR): Remove .deps directory when done.
-
-2000-12-21 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Tags): Document GTAGS target.
- * tags.am (GTAGS): New target.
-
- * automake.in (libtoolize_files): Removed ltconfig.
- (initialize_global_constants): Added ltconfig to common_files.
-
-2000-12-21 Kevin Ryde <user42@zip.com.au>
-
- * automake.in (handle_footer): Generate .SUFFIXES target when user
- defines suffixes but automake does not.
-
-2000-12-20 Marc Espie <espie@openbsd.org>
-
- * automake.in (handle_texinfo): Make path of $vtexi explicit in
- dependency.
- * texi-vers.am: Likewise.
-
-2000-12-20 Tom Tromey <tromey@redhat.com>
-
- From Kevin Ryde:
- * automake.in (handle_footer): Always push user suffixes at the
- start of .SUFFIXES:.
- * automake.texi (Suffixes): Updated to reflect new suffix
- handling.
-
-2000-12-18 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_built_sources): Removed.
- (handle_merge_targets): Handle BUILT_SOURCES.
- * automake.texi (Sources): Updated documentation of
- BUILT_SOURCES.
-
-2000-12-17 Tom Tromey <tromey@redhat.com>
-
- * m4/protos.m4: Always do header checks.
-
- * automake.in (handle_ltlibraries): Check for LDFLAGS variables
- before using values.
-
- * automake.in (handle_ltlibraries): Allow _LDFLAGS to be
- conditionally defined. Fixes PR automake/77 and ldflags.test.
-
-2000-11-25 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (file_contents_with_transform): Added file name and
- line number to error report.
- (MACRO_PATTERN, BOGUS_MACRO_PATTERN): Leading spaces are ok.
-
-2000-11-23 Pavel Roskin <proski@gnu.org>
-
- * m4/regex.m4 (AM_WITH_REGEX): This macro was broken because
- of M4 underquoting.
- * m4/ccstdc.m4 (AC_PROG_CC_STDC): Added some M4 quotes.
- * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
- * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
- * m4/multi.m4 (AM_WITH_DMALLOC): Likewise.
- * m4/python.m4 (AM_PATH_PYTHON): Likewise.
- * m4/strtod.m4 (AM_FUNC_STRTOD): Likewise.
-
-2000-11-23 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (require_file_internal): Pass $file as second
- argument to maybe_push_required_file. Fixes PR automake/87.
-
-2000-11-18 Tom Tromey <tromey@cygnus.com>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Redirect `$am_depcomp' stdout to
- /dev/null. From Paul Martinolich.
-
-2000-11-16 Morten Eriksen <mortene@sim.no>
-
- * aclocal.in (write_aclocal): Set ``binmode'' after file has been
- opened, otherwise it has no effect.
-
-2000-10-23 Morten Eriksen <mortene@sim.no>
-
- * aclocal.in (write_aclocal): Don't write aclocal.m4 with
- CRLFs. This circumvents a bug in Cygwin bash.
-
- * automake.in (generate_makefile): Don't write Makefile.in
- files with CRLFs, as it causes problems for the dependency-file
- extraction in AM_OUTPUT_DEPENDENCY_COMMANDS.
-
-2000-10-19 Alex Hornby <alex@anvil.co.uk>
-
- * automake.in (handle_merge_targets): Allow parallel install
- with forced relink.
-
-2000-10-19 Akim Demaille <akim@epita.fr>
-
- * subdir4.test (depcomp): Don't create it, defs does.
-
-2000-10-17 Pavel Roskin <proski@gnu.org>
-
- * automake.in (handle_aclocal_m4): exclude aclocal.m4 and
- acinclude.m4 from the dependencies of aclocal.m4 to avoid
- circular and duplicated dependencies. Strip "./" from the
- dependencies.
-
-2000-10-17 Lars J. Aas <larsa@sim.no>
-
- * aclocal.in (write_aclocal): Set up aclocal.m4 header with
- normal comments (#) instead of m4 dnl-type comments.
-
-2000-10-17 Alex Hornby <alex@anvil.com>
-
- * depcomp: Altered sed clause to strip of inclusion depth
- numbers generated by cpp. Also output in gcc style.
-
-2000-10-16 Morten Eriksen <mortene@sim.no>
-
- * depcomp (msvisualcpp): New dependency tracking mode, for
- Microsoft Visual C++.
-
-2000-10-16 Morten Eriksen <mortene@sim.no>
-
- * depcomp: Fix a bug in SGI dependency tracking mode with source
- files which do not dependend on any other source files.
-
-2000-10-16 Rodney Brown <RodneyBrown@mynd.com>
-
- * aclocal.in, aclocal.m4: Standardize FSF Copyright statements.
- * automake.in, automake.texi: Likewise.
- * clean-kr.am, clean.am: Likewise.
- * comp-vars.am: Likewise.
- * compile, compile.am: Likewise.
- * data-clean.am: Likewise.
- * data.am: Likewise.
- * dejagnu.am: Likewise.
- * depcomp: Likewise.
- * depend.am, depend2.am: Likewise.
- * dist-vars.am, dist.am: Likewise.
- * elisp-comp: Likewise.
- * footer.am: Likewise.
- * header-vars.am, header.am: Likewise.
- * java-clean.am java.am: Likewise.
- * kr-extra.am: Likewise.
- * library.am: Likewise.
- * libs-clean.am, libs.am: Likewise.
- * libtool.am: Likewise.
- * lisp-clean.am lisp.am: Likewise.
- * ltlib-clean.am ltlib.am: Likewise.
- * ltlibrary.am: Likewise.
- * m4/Makefile.in: Likewise.
- * m4/strtod.m4: Likewise.
- * mans-vars.am, mans.am: Likewise.
- * mdate-sh: Likewise.
- * missing: Likewise.
- * multilib.am: Likewise.
- * program.am: Likewise.
- * progs-clean.am, progs.am: Likewise.
- * python-clean.am, python.am: Likewise.
- * remake-hdr.am, remake.am: Likewise.
- * scripts.am: Likewise.
- * subdirs.am: Likewise.
- * tags-clean.am, tags.am: Likewise.
- * texi-vers.am: Likewise.
- * texinfos.am: Likewise.
- * ylwrap: Likewise.
-
-2000-10-09 Pavel Roskin <proski@gnu.org>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Don't rely on variable
- assignments changing $? - it's broken in ash-0.2.
- * m4/missing.m4 (AM_MISSING_HAS_RUN): Likewise.
-
- * automake.in (handle_aclocal_m4): If ACLOCAL_M4_SOURCES is
- defined use it as the list of M4 files aclocal.m4 depends on.
-
-2000-10-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in (add_file): Strip comments while scanning for
- macro dependencies.
-
-2000-09-15 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (initialize_global_constants): End the
- result of dist-bzip2 with tar.bz2, not bz2.
-
-2000-08-30 Tom Tromey <tromey@cygnus.com>
-
- Fix for PR automake/72:
- * automake.in (initialize_per_input): Define `need_link'.
- (finish_languages): Use need_link.
- (handle_source_transform): Set need_link if required.
-
-2000-08-28 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (yacc, yaccxx, lex, lexxx): Set `derived-autodep'
- key.
- (register_language): Default the `derived-autodep' option.
- (handle_single_transform_list): Add to %dep_files if language has
- `derived-autodep' set. Re-fixes lex4.test.
-
-2000-08-27 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_single_transform_list): Only add to
- %dep_files if language is found and supports automatic dependency
- tracking. Fixes PR automake/75.
-
- * automake.in (am_primary_prefixes): Don't set `valid' for
- configure variables that don't satisfy the other constraints.
- Fixes PR automake/68.
-
-2000-04-14 Victor V. Vengerov <vvv@oktet.ru>
-
- Fix for PR automake/67.
- * automake.in (handle_multilib): remove .am suffix in fragment
- name passed to file_contents.
- * m4/multi.m4: Add missing ')' in AC_ARG_ENABLE invocation.
- Remove external quotes in first arg of AC_OUTPUT_COMMANDS.
- Remove unnecessary "rel-to-top-srcdir" before config-ml.in.
-
-2000-08-26 Tom Tromey <tromey@cygnus.com>
-
- * subdirs.am (maintainer-clean-recursive): Always run clean rules
- in `.' after all subdirs. Fixes PR automake/3 and PR automake/24.
-
- * automake.in (handle_man_pages): Generate install targets for man
- even if man_MANS not defined. From `danpb'. Fixes PR automake/73.
-
- * m4/depend.m4 (depcpp): Use `-o conftest.o'.
- Fix for PR automake/74. From js pendry.
-
-2000-08-20 Eli Zaretskii <eliz@is.elta.co.il>
-
- * depcomp (gcc): Support DOS-style absolute file names with drive
- letters.
-
-2000-08-06 Jim Meyering <meyering@lucent.com>
-
- * automake.in (handle_dependencies): Set $require_file_found{'depcomp'}
- if the depcomp file exists, before calling require_config_file on
- `depcomp'. This makes require_file_internal skip its buggy existence
- test that would make automake fail (with `required file `lib/depcomp'
- not found') when AC_CONFIG_AUX_DIR is not set.
-
- This change change does not fix the existing bug where, if `depcomp'
- is not present in the build directory (at the top level), automake
- still gives the inaccurate diagnostic about *lib*/depcomp rather
- than ./depcomp.
-
-2000-08-05 Jim Meyering <meyering@lucent.com>
-
- * m4/header.m4 (AM_CONFIG_HEADER): Fix typo in last change:
- add missing closing bracket and closing parenthesis.
- Don't quote the first argument to AC_OUTPUT_COMMANDS.
- Backslash-escape the backquotes and `$' in `am_indx'-incrementing stmt.
-
-2000-08-04 Tom Tromey <tromey@cygnus.com>
-
- Idea from Nicolas Thiery:
- * automake.texi (Tests): Document DEJATOOL as a list.
- * dejagnu.am (RUNTESTDEFAULTFLAGS): Use $$tool, not $(DEJATOOL).
- (check-DEJAGNU): Run runtest in a loop.
-
-2000-08-02 Akim Demaille <akim@epita.fr>
-
- * m4: Quote properly the name of the macros being defined.
- Use `#' instead of `dnl' where appropriate.
- * m4/header.m4 (AM_CONFIG_HEADER): Get rid of changequote, just
- quote.
- Don't quote passive characters.
- Pull the AC_PREREQ outside the macro.
- * m4/init.m4: Pull the AC_PREREQ outside the macro.
-
-2000-07-28 Tom Tromey <tromey@cygnus.com>
-
- * lisp.am (uninstall-@DIR@LISP): Prefix file with $(DESTDIR).
- From Bruno Haible.
-
-2000-07-13 Kevin Ryde <user42@zip.com.au>
-
- * automake.in (am_install_var): Apply the $(EXEEXT) hack to
- EXTRA_PROGRAMS as well as other _PROGRAMS.
-
-2000-07-02 Jim Meyering <meyering@lucent.com>
-
- * automake.in (scan_one_configure_file): Recognize AC_LIBOBJ.
-
-2000-06-19 Paolo Bonzini <bonzini@gnu.org>
-
- * texi-vers.am: define UPDATED-MONTH variable (for an example, see
- GNU make's manual)
-
-2000-06-02 Morten Eriksen <mortene@sim.no>
-
- * depcomp: workaround for problem with SGI IRIX sed (it can only
- handle lines of up to 8192 characters, the rest of the line will
- be mangled).
-
-2000-05-31 Morten Eriksen <mortene@sim.no>
-
- * depcomp: tell SGI MIPSpro compilers to generate dependencies
- through the pre-processor (only CVS libtool has the -Wc option
- yet).
-
-2000-05-15 Brendan O'Dea <bod@compusol.com.au>
-
- * missing: Add support for `help2man'.
-
-2000-05-11 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_tests): Work correctly if TESTS is empty;
- print nothing if it is. From Kevin Ryde.
-
-2000-05-08 Tom Tromey <tromey@cygnus.com>
-
- * automake.texi (Texinfo): Mention vers*.texi.
-
-2000-05-04 Akim Demaille <akim@epita.fr>
-
- AM_INIT_AUTOMAKE is no longer optional, so don't look for
- `VERSION=' and `PACKAGE='.
- * automake.in (seen_package, seen_version): Remove initializations of
- unnecessary variables.
- (scan_one_configure_file): Don't set them.
- (scan_configure): Don't use them.
-
-2000-05-01 Akim Demaille <akim@epita.fr>
-
- * m4/init.m4 (AC_PROVIDE_IFELSE): If it is not defined, do it.
- (AM_INIT_AUTOMAKE): Update the writing conventions.
- Quote the arguments properly.
- Add a few missing `dnl'.
- Use AC_PROVIDE_IFELSE.
-
-2000-04-26 Jim Meyering <meyering@lucent.com>
-
- * automake.in (scan_one_configure_file): Handle the AC_CONFIG_FILES
- macro. Based on a patch from Harlan Stenn.
-
-2000-04-13 Akim Demaille <akim@epita.fr>
-
- * compile: Remove unnecessary double quotes in assignments.
-
-2000-04-13 Akim Demaille <demaille@epita.fr>
-
- * automake.in (scan_one_configure_file): Also recognize
- AC_CONFIG_HEADERS.
- Remove trailing blanks.
-
-2000-04-05 Tom Tromey <tromey@cygnus.com>
-
- * header-vars.am (DESTDIR): Commented out definition.
-
- * automake.in (require_file_internal): Pass --copy to libtoolize
- if automake was run with `--copy'.
-
-2000-03-22 Tom Tromey <tromey@cygnus.com>
-
- * automake.texi (Uniform): Fix definition of pkglibdir.
- From thi <ttn@revel.glug.org>.
-
-2000-03-19 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (parse_arguments): Copyright 2000.
- (write_aclocal): Likewise.
- * automake.in (parse_arguments): Copyright 2000.
- (initialize_global_constants): Likewise.
-
- * automake.in (generate_makefile): Call handle_dist after
- handle_dependencies and handle_tests. Fixes subobj3.test and
- pr19.test regressions.
-
-2000-03-19 Gordon Matzigkeit <gord@fig.org>
-
- * depend2.am (@EXT@.o): Look for the source file in srcdir as well
- as the current directory.
- (@EXT@.lo): Likewise.
-
-2000-03-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
-
- * automake.in (handle_data): Pass -candist instead of
- -defaultdist, for the compatibility.
-
-2000-03-19 Tom Tromey <tromey@cygnus.com>
-
- Fix for test nodepcomp.test:
- * automake.in (require_file_internal): Use readlink on symlinks.
- Only unlink file if we are going to try to add it again.
- (handle_dependencies): Require `depcomp' here.
- (scan_configure): Don't require `depcomp'.
-
-2000-03-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
-
- * automake.in (handle_configure): Remove $(BUILT_SOURCES) from
- the rule to remake Makefile, whether $use_dependencies is true
- or not. This was a historical one and doesn't make sense any
- longer.
-
-2000-03-19 Tom Tromey <tromey@cygnus.com>
-
- More for PR automake/38:
- * automake.texi (Invoking Automake): Document --force-missing.
- * automake.in (force_missing): New global.
- (parse_arguments): Recognize --force-missing.
- (initialize_global_constants): Document --force-missing.
- (require_file_internal): Handle --force-missing.
-
- Fix for PR automake/38:
- * automake.in (require_file_internal): Check for and handle
- dangling symlinks. Fixes symlink2.test.
-
- Fix for PR automake/45:
- * automake.texi (configure): Mention requirement to run
- AM_INIT_AUTOMAKE.
- (Requirements): Removed most text.
- * automake.in (seen_init_automake): New global.
- (scan_configure): Error if AM_INIT_AUTOMAKE not seen.
- (scan_one_configure_file): Don't support AM_INIT_GUILE_MODULE.
- Set seen_init_automake if needed.
-
- Fix for PR automake/41:
- * automake.in (require_file_found): New global.
- (require_file_internal): Set require_file_found entry.
- (handle_texinfo): Require file any number of times.
-
- * automake.in (handle_dist_worker): Exit if `cp' fails. Fixes
- install2.test.
-
- * tags.am: Don't reference $$here. Report from Sven Verdoolaege.
-
-2000-03-13 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * m4/missing.m4: Print the backtick in a way that won't cause
- autoconf CVS to emit any warnings.
-
-2000-03-01 Jim Meyering <meyering@lucent.com>
-
- * automake.in (handle_dist_worker) [generating rules for distdir]:
- Don't use `ln' (which was just a space optimization anyway) to
- populate $(distdir). Otherwise, the dist rules that change
- permissions would end up affecting the master sources.
- * texinfos.am (dist-info): Likewise.
-
-2000-02-13 Jim Meyering <meyering@lucent.com>
-
- * automake.in (generate_makefile): Detect write/close failure.
-
-2000-02-02 Assar Westerlund <assar@sics.se>
-
- * automake.in (handle_single_transform_list): do not use $< which
- is not handled by all non-GNU makes. Instead do explicit sh code
- testing for the file in this directory and srcdir. Based on a
- suggestion by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
-2000-01-12 Tom Tromey <tromey@cygnus.com>
-
- * m4/lispdir.m4: Added --with-lispdir argument processing.
- From Kevin Dalley.
-
-2000-01-06 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Don't check for
- AC_PROG_MAKE_SET.
- (scan_configure): Check for AC_PROG_MAKE_SET.
-
- * header-vars.am (@SET_MAKE@): Added.
- * subdirs.am (@SET_MAKE@): Removed. Report from Motoyuki
- Kasahara.
-
-1999-12-19 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Expand DIST_COMMON under all
- conditions.
- (require_file_internal): Corrected arguments to second invocation
- of maybe_push_required_file.
-
- Fix for PR automake/9:
- * automake.in (make_dirs, make_dirs_set): New globals.
- (is_make_dir): New function.
- (handle_configure): Use it.
- (require_file_internal): Push file if there is no Makefile in its
- directory.
- (initialize_per_input): Initialize handle_dist_run.
- (push_dist_common): Inspect handle_dist_run.
- (handle_dist): Set handle_dist_run. Push items from
- configure_dist_common onto dist_common if appropriate.
- (configure_dist_common): New global.
- (scan_configure): Set it.
- (maybe_push_required_file): New function.
- (require_file_internal): Use it.
-
- * automake.in (handle_dist_worker): Scan DIST_COMMON to see if
- more subdirs are defined. From Axel Belinfante. Fixes
- PR automake/2.
-
-1999-12-18 Tom Tromey <tromey@cygnus.com>
-
- Partial fix for PR automake/40:
- * lisp.am (install-@DIR@LISP): Handle nobase_ case.
- (uninstall-@DIR@LISP): Likewise.
- * header.am (install-@DIR@HEADERS): Handle nobase_ case.
- (uninstall-@DIR@HEADERS): Likewise.
- * data.am (install-@DIR@DATA): Handle nobase_ case.
- (uninstall-@DIR@DATA): Likewise.
- * automake.in (am_primary_prefixes): Recognize `nobase_' prefix.
- (am_install_var): Recognize and handle `nobase_' prefix.
-
-1999-12-17 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (get_object_extension): Added space before `-I.'.
- Report from Ralf Corsepius.
-
-1999-12-15 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in: Don't pass $acdir to scan_m4_files.
- (parse_arguments): Push $acdir on end of dirlist.
- (scan_file): Don't warn if duplicate macro seen.
-
-1999-12-13 Tom Tromey <tromey@cygnus.com>
-
- Fix for PR automake/30 and PR automake/23. Fixes test
- suffix3.test.
- * automake.in (initialize_per_input): Initialize
- source_suffix_pattern.
- (derive_suffix): New function.
- (handle_single_transform_list): Call it.
-
- * automake.in (add_depend2): Handle the no-dependency-tracking
- case. Fixes test suffix2.test.
-
- * depcomp (tmpdepfile): [case sgi] Added missing `fi'.
-
- * automake.in (get_object_extension): Fixed quoting on
- -I$(srcdir).
-
- * depend2.am: Removed erroneous comment.
-
- * automake.texi (Program variables): Document nostdinc.
- (Options): Likewise.
- * automake.in (get_object_extension): Respect nostdinc option.
- (handle_options): Recognize nostdinc.
- * comp-vars.am (DEFS): Use @DEFAULT_INCLUDES@ as sole
- substitution.
-
- * automake.in (read_am_file): Allow conditional includes. Fixes
- test condincl.test.
-
- * depcomp: Handle case on SGI when libtool is `yes'.
- * depend2.am (@EXT@.o): Set libtool.
- (@EXT@.lo): Likewise.
- (@EXT@.obj): Likewise.
-
- * depcomp: Unify dashmstdout and dashXmstdout cases. Move hp case
- after gcc case.
-
-1999-12-13 Pavel Roskin <pavel_roskin@geocities.com>
-
- * automake.in (add_depend2): substitute $rule in the rules
- for individual files. Fixes test specflags5.test.
-
-1999-12-12 Tom Tromey <tromey@cygnus.com>
-
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Run mkinstalldirs
- to create directories. Fixes test subobj3.test.
-
-1999-12-10 Tom Tromey <tromey@cygnus.com>
-
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Don't print
- message when creating .deps files.
-
- * automake.in (initialize_global_constants): If unreadable by
- owner, make it readable by owner regardless of number of links.
- Fixes more of install2.test.
-
- * missing: Try to see if gnutar or gtar exist before invoking
- them.
-
- * m4/missing.m4 (AM_MISSING_INSTALL_SH): Remove ${SHELL} from
- install_sh value. Look for install-sh and install.sh in a
- somewhat more sensible way. Fixes test install2.test. Partially
- from Jim Meyering.
-
-1999-12-09 Pavel Roskin <pavel_roskin@geocities.com>
-
- * m4/missing.m4: remove redundant backquote
-
-1999-11-23 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (initialize_global_constants): Use `bzip2 -9', not
- `bzip --best' Report from Jim Meyering.
-
-1999-11-22 Tom Tromey <tromey@cygnus.com>
-
- * m4/missing.m4 (AM_MISSING_INSTALL_SH): Don't take argument.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Don't pass argument to
- AM_MISSING_INSTALL_SH.
- * automake.in (scan_one_configure_file): Reverted previous
- change.
-
- * automake.in (scan_one_configure_file): Define `install_sh'
- configure variable when AM_INIT_AUTOMAKE seen. Report from Jim
- Meyering.
-
- * automake.in (handle_single_transform_list): Generate explicit
- rule for subdir objects. Fixes new addition to subobj.test.
-
- * automake.in (handle_lib_objects_cond): Allow LIBOBJS to be
- defined by AC_SUBST. Fixes ltlibobjs.test.
-
- Fix for sourcesub.test:
- * automake.in (handle_single_transform_list): Added `var'
- argument. If config sub found, give error.
- (handle_source_transform): Updated for new
- handle_source_transform.
-
- * py-compile: New file.
- * m4/Makefile.am (m4data_DATA): Added python.m4.
- * m4/python.m4: New file.
- * automake.texi (Uniform): Mention PYTHON.
- (Python): New node.
- * Makefile.am (amfiles): Added python.am, python-clean.am.
- (dist_script_DATA): Added py-compile.
- * python.am: New file.
- * python-clean.am: New file.
- * automake.in (seen_pythondir): New global.
- (generate_makefile): Call handle_python.
- (handle_python): New function.
- (scan_one_configure_file): Set seen_pythondir if AM_PATH_PYTHON
- seen.
- (am_install_var): Special-case PYTHON like JAVA.
- (scan_configure): Check for py-compile.
- (initialize_global_constants): Added py-compile to @common_files.
-
- * ltlib.am (install-@DIR@LTLIBRARIES): Added missing space.
-
-1999-11-21 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (finish_languages): Only generate suffix rule when
- not doing dependency tracking.
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use AM_MISSING_INSTALL_SH.
- * m4/missing.m4 (AM_MISSING_INSTALL_SH): New macro.
-
- * depend2.am: Use @SOURCE@, @OBJ@, @LTOBJ@, @OBJOBJ@, and @BASE@.
- Always use `-o'.
-
-1999-11-19 Tom Tromey <tromey@cygnus.com>
-
- * dist.am: Set `CDPATH=:' to avoid problems. Merged from
- Alexandre's change on branch.
-
-1999-10-02 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * Makefile.am (maintainer-check): Look for occurrences of ``cd'
- without `CDPATH'.
- * dejagnu.am: Set CDPATH before cd.
- * Makefile.in: Rebuilt.
-
- * automake.in (handle_single_transform_list): Change `\1' for `$1'
- in `s///' replacement.
-
- * automake.in (handle_dist): Set CDPATH before cd.
- * dejagnu.am (check-DEJAGNU): Likewise.
- * texinfos.am (install-info-am, dist-info): Likewise.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Likewise.
- * m4/missing.m4 (AM_MISSING_HAS_RUN): Likewise.
- * aclocal.m4, configure, Makefile.in: Rebuilt.
-
- * AUTHORS: Added myself.
-
-1999-09-14 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * m4/missing.m4: Support relative srcdir and ac_aux_dir.
- Reported by Tim Wilkinson <tim@transvirtual.com>
- * aclocal.m4, configure: Rebuilt.
-
-1999-08-17 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * m4/lex.m4 (AM_PROG_LEX): Require AM_MISSING_HAS_RUN and, if no
- LEX program is found, use `${am_missing_run}flex'.
-
-1999-08-16 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_single_transform_list): Replace `$(OBJEXT)'
- with `o' in depfile.
-
- * automake.in (handle_lib_objects_cond): Remove second dot from
- dependency file names.
-
- * depend2.am (OBJEXT@EXT@.obj): Dependency file should be .Po,
- regardless of OBJEXT.
-
- * automake.in (handle_dependencies): Add blank line after depend2.
- (handle_dependencies): Start DEP_FILES with `@AMDEP@'. Output
- blank line before `include's, not after them.
- (scan_one_configure_file): Do not special-case `DEP_' any more.
-
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Run for loop only
- if AMDEP is empty.
- * aclocal.m4, configure: Rebuilt.
-
- * m4/depend.m4 (AMDEPBACKSLASH): Define.
- * depend2.am (@EXT@.o, @EXT@.lo, @EXT@.obj): Use AMDEPBACKSLASH.
-
- * automake.in (handle_dependencies): Generate `include's for
- dependency files after `@AMDEP@'.
-
- * m4/missing.m4: Use eval, instead of a sub-shell, to test for
- --run support in the missing script, since SHELL is not exported.
- Reported by job bogan <job@piquin.uchicago.edu>
- * aclocal.m4, configure: Rebuilt.
-
-1999-08-15 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * aclocal.m4, configure: Rebuilt with itself.
- * Makefile.in, m4/Makefile.in, tests/Makefile.in: Likewise.
-
- * m4/missing.m4 (AM_MISSING_PROG): Remove DIRECTORY argument.
- Require AM_MISSING_HAS_RUN. Use am_missing_run, defined by...
- (AM_MISSING_HAS_RUN): New macro.
- * m4/init.m4: Remove missing_dir from calls to AM_MISSING_PROG.
- * automake.texi (Requirements): Likewise.
- * version.texi, stamp-vti: Rebuilt.
-
-1999-07-28 Tom Tromey <tromey@cygnus.com>
-
- * depcomp: Handle the `hp' mode.
-
-1999-07-06 Tom Tromey <tromey@cygnus.com>
-
- * depcomp: Work around HP-UX 10.20 sed bug.
-
-1999-07-05 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dependencies): Generate a separate include
- for each dep file. Report from Alexandre Oliva.
- * depend.am: Don't include DEP_FILES.
-
-1999-06-01 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * depend.am: Add @AMDEP@ before `include', so that dependency
- tracking can be disabled.
- * depend2.am: Ditto, before all lines related with dependency
- tracking.
- * m4/depend.m4 (AM_DEP_TRACK): New macro, that documents
- --enable/disable-dependency-tracking and sets AMDEP accordingly.
- It is implicitly disabled if depcomp is missing.
- (AM_DEPENDENCIES): Disable dependency tracking unless it can be
- generated by side-effect.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_DEP_TRACK.
- * automake.in (handle_dependencies): Add @AMDEP@ before the value
- of DEP_FILES.
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Handle DEP_FILES
- starting with `#'.
-
- * depcomp: Support -xM for dependency generation, for Sun CC.
- Reported by Alex Hornby <alex@anvil.co.uk>
- * m4/depend.m4: Extract the list of supported dependency-tracking
- mechanisms from the depcomp script and use it to test each one.
- * THANKS: Added Alex Hornby.
-
- * depend2.am: Move $(depcomp) to the line of $(...DEPMODE), so as
- to leave $(...COMPILE) in a line by itself.
-
- * THANKS: Added Miles Bader.
-
-1999-06-01 Miles Bader <miles@ccs.mt.nec.co.jp>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Add check for `makedepend'.
- Fix `dashmstdout' to ignore non-dependency-generating uses of the
- -M flag.
- * depcomp (makedepend): New dependency-generating method.
-
-1999-06-01 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * missing: If given `--run' as first argument, try to run the
- given program before falling back to the ``emulated'' behavior.
- Add support for `tar'.
- * automake.in: Use new `tar' support for `dist'.
- * m4/missing.m4 (AM_MISSING_PROG): Instead of checking for the
- program, prepend `missing --run' to the given program name.
- * m4/init.m4: Remove AMTAR-related stuff.
- * NEWS: Updated.
-
- * m4/depout.m4: Instead of `find'ing Makefiles, just iterate on
- CONFIG_FILES. Do not use temporary variable for list of
- dependency files, it breaks Cygwin.
-
-1999-04-27 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * depcomp (gcc): Imported comments removed from depend2.am, so
- that we don't lose them.
-
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Avoid sed s/$U//
- when not using ansi2knr.
-
-1999-04-26 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Test for depcc -E support.
- * depcomp (cpp): Extract dependencies from `# nnn "..."' lines.
-
-1999-04-25 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Add a definition to conftest.h,
- so as not to compile an empty source; some compilers fail on this.
- Redirect stderr of depcc to /dev/null. Test for -M with -o,
- because some compilers will output the rules to the output file.
- * depcomp (dashmstdout): Add --silent before --mode=compile, so
- that we don't get libtool output mixed up with make rules.
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_SET_DEPDIR.
- * depend2.am: Set tmpdepfile too, to speed up depcomp. Always use
- -o for libtool, otherwise it may try to deduce the object name
- from the dependency-generation flag.
- * depcomp: Assume depdir exists. Preserve depfile on unsuccessful
- compilations.
-
- * libtool.am: Do not emit .c.lo here...
- * depend2.am: ... emit .*.lo here, only when using libtool.
- * automake.in (get_object_extension): No more @MINUSO@ here.
- (handle_single_transform_list): Set $depfile from $object.
- (handle_dependencies): Emit depend2.am for all used languages,
- regardless of $use_dependencies; the setting of depcomp makes the
- difference.
- (lang_cxx_finish): Do not emit compilation rules.
- (lang_objc_finish): Likewise.
- (lang_java_finish): Likewise.
-
-1999-04-21 Tom Tromey <tromey@cygnus.com>
-
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Correctly
- interpolate DEPDIR in DEP_FILES expansion.
-
-1999-04-20 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Fix up test for SGI-style
- dependency updating.
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Fix sed script to
- handle multi-line dependency lists.
-
-1999-11-12 Tom Tromey <tromey@cygnus.com>
-
- Fix for PR automake/14:
- * aclocal.in: Added `ud_GNU_GETTEXT'. Updated to mention
- AC_CYGWIN.
- * automake.in: Mention AC_CYGWIN, not AC_CYGWIN32.
-
- * m4/multi.m4: Added missing `]'. From Akim Demaille.
-
- * Makefile.am (path-check): Make sure distdir is writeable before
- removing it.
- * automake.in (handle_texinfo): Added `cm' and `ov' extensions.
- (handle_dist_worker): Make sure distdir is writeable before
- removing it.
- (initialize_global_constants [$dist_trailer]): Make sure distdir
- is writeable before removing it.
- * dist.am (distcheck): Make the new source tree read-only before
- compiling. Idea from Karl Berry.
-
- * automake.texi (Gnits): Allow COPYING.LIB again.
- * automake.in (check_gnits_standards): Allow COPYING.LIB again.
-
-1999-11-11 Jim Meyering <meyering@ascend.com>
-
- * dist.am (distcheck): Remove $(distdir).tar.gz before counting
- files.
-
-1999-11-09 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist): Typo fix. From Jim Meyering.
-
-1999-11-09 Jim Meyering <meyering@ascend.com>
-
- * automake.in (handle_dist): Remove the DISTHOOK and GETTEXT
- markers, no matter what.
-
-1999-11-08 Tom Tromey <tromey@cygnus.com>
-
- * dist.am (distcheck): Put `&&' at the start of the distcheck-hook
- line.
-
- * automake.in (handle_dist_worker): Use `cp -R', not `cp -r'.
- From Jim Meyering. Also, don't mention file name in `cp'
- destination. From Olly Betts.
-
-1999-10-27 Miodrag Vallat <miodrag@ifrance.com>
-
- * texinfos.am (uninstall-info): Use installed info file, not one
- from srcdir or builddir.
-
-1999-11-07 Tom Tromey <tromey@cygnus.com>
-
- * clean.am (maintainer-clean-generic): Remove Makefile.in. From
- Jeff Bailey
-
- Fix for PR automake/18:
- * automake.in (handle_dist): Add contents of dist.am to the output
- rules.
- * Makefile.am (amfiles): Added dist.am.
- * dist.am: New file.
- (distcheck): Added uninstall and distclean checks.
-
- * automake.in (PATH_PATTERN): Added `-' as allowable character.
- Fixes PR automake/20. From Matthew D. Langston.
-
- * automake.in (SUFFIX_RULE_PATTERN): Add `0-9' as characters
- allowed in suffixes. Fixes PR 22. From Matthias Clasen.
-
-1999-10-03 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * m4/lispdir.m4: -batch must come before -q.
- * elisp-comp: Likewise.
- Reported by Lars Hecking <lhecking@nmrc.ucc.ie>
- * THANKS: Added Lars.
-
-1999-08-15 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (get_object_extension): Fixed quoting bug. Fixes
- ansi4.test.
-
-1999-07-27 Tom Tromey <tromey@cygnus.com>
-
- * config.guess, config.sub: New versions from autoconf.
-
-1999-07-13 Tom Tromey <tromey@cygnus.com>
-
- Work around losing `awk'. Report from Harlan Stenn.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require AC_PROG_AWK.
- * tags.am (ID, TAGS): Use $(AWK), not `awk'.
-
- * automake.in (handle_source_transform): Mark prefix as seen if
- corresponding _SOURCES variable exists. Fixes empty2.test.
-
-1999-06-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
-
- * configure.in (ACLOCAL): Do not prepend the variable SRCDIR to
- m4.
- (AUTOMAKE): Set --amdir to current directory.
-
-1999-06-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (TAGS_FILES): New macro.
- (ETAGS_ARGS): Moved files into TAGS_FILES.
- (TAGS_DEPENDENCIES): Likewise.
- (ETAGS_ARGS): Removed.
- (TAGS_DEPENDENCIES): Removed duplicate definition.
-
- * tags.am (ID): Handle VPATH correctly. Use TAGS_FILES. Report
- from Ganesan Rajagopal.
- (TAGS): Likewise.
-
-1999-06-18 Thomas Tanner <tanner@ffii.org>
-
- * automake.in (handle_ltlibraries): Check for -module in LDFLAGS,
- too.
-
-1999-06-20 Mark Elbrecht <snowball3@bigfoot.com>
-
- * ylwrap: Handle filenames output by the DOS version of Bison.
-
-1999-06-20 Tom Tromey <tromey@cygnus.com>
-
- * ylwrap: Be less strict when recognizing DOS paths. From Mark
- Elbrecht.
-
-1999-06-19 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Remove redundant entries from
- DIST_SUBDIRS.
-
- * automake.in (handle_lib_objects_cond): Better error message when
- unrecognized option passed in LDADD.
-
-1999-06-08 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * configure.in (ACLOCAL, AUTOMAKE): Use our own scripts, with
- appropriate --acdir and --amdir arguments.
-
-1999-06-07 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (dist_header): Avoid changing permissions of files
- in the source tree, trying a complex `find/chmod' command before
- falling back to plain chmod.
- (handle_dist_worker): Do not create directories with mode 777, the
- find above will take care of that.
- * m4/init.m4: Set install_sh for find/chmod above.
-
- * THANKS: Added Shuhei Amakawa.
-
-1999-06-07 Shuhei Amakawa <sa264@cam.ac.uk>
-
- * mans.am: Strip dirname from given filename.
-
-1999-06-07 Jim Meyering <meyering@ascend.com>
-
- * automake.in (handle_dist): Change emitted rules so that a failure
- in `$(MAKE) distcheck-hook' propagates to the outer make.
-
-1999-05-27 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_single_transform_list): Replace AM_FLAG and
- not FLAG in compilation rule.
- (add_depend2): Likewise.
-
- * ltlib.am (install-@DIR@LTLIBRARIES): Pass INSTALL_STRIP_FLAG to
- libtool.
-
- * m4/dmalloc.m4: Updated dmalloc site information.
-
-1999-05-19 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_single_transform_list): Push object name
- without extension onto lang_specific_files. Fixes
- specflags4.test.
-
- * automake.in (handle_single_transform_list): Added missing
- space. Fixes specflags.test.
-
-1999-05-05 Tom Tromey <tromey@cygnus.com>
-
- * automake.in: Disabled dependency tracking for Java.
-
-1999-05-04 Tom Tromey <tromey@cygnus.com>
-
- * library.am (@LIBRARY@): Use $(@XLIBRARY@_AR).
- * automake.in (handle_libraries): Recognize _AR variable.
-
-1999-04-30 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (finish_languages): Always use `-o $@' with
- libtool. Define ltcompile and ltlink at outermost scope in
- function.
- * libtool.am (.c.lo): Removed.
-
- * automake.in (finish_languages): Put `.' before extension in
- suffix list, `.obj' rule, and `.lo' rule. Look at `-flags', not
- `-flag'. From Pavel Roskin.
-
-1999-04-28 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (finish_languages): Fixed scoping of ltcompile and
- ltlink. From Pavel Roskin.
-
-1999-04-27 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (read_main_am_file): Don't start macro definition
- with backslash-newline. Instead, append newline at the end if
- required.
-
- * automake.in (read_am_file): Insert a backslash before a trailing
- newline. Fixes pluseq8.test.
-
- * automake.in (MACRO_PATTERN): Allow digits and `_' to start a
- macro name.
- (check_canonical_spelling): Don't insert `AM' before macro name
- (reverts Alexandre's 1999-04-27 patch).
- * automake.texi: Reverted documentation change for `AM' patch.
-
- * automake.in (handle_lib_objects_cond): Prefer `$1' over `\1'.
- Minor rewrite for clarity.
- (check_canonical_spelling): Prefer `$1' over `\1'.
-
- * depend2.am (@OBJ@): Renamed. Use @SOURCE@, @COMPILE@. Always
- use `-o $@'.
- (@LTOBJ@): Likewise.
- * automake.in (handle_single_transform_list): Don't print rule if
- doing dependency tracking and the file's language supports it.
- (initialize_per_input): Initialize lang_specific_files.
- (add_depend2): New function.
- (handle_dependencies): Use it.
-
- * automake.in (lang_ppf77_finish): Use lang_f77_finish.
- ratfor compiler name is `RCOMPILE'. ppf77 compiler name changed
- to `PPF77COMPILE' to allow use of f77 and ppf77 in the same
- directory.
- (lang_ratfor_finish): Use lang_f77_finish.
-
- * compile.am (NOTDEPEND.c.o): Removed.
- (OBJEXT.c.obj): Likewise.
- * automake.in: Added `flags' attribute to all relevant languages.
- (handle_single_transform_list): Handle per-derived-object flags.
- Changed interface and all callers.
- (handle_built_sources): Don't call handle_single_transform_list.
- Added `compile' and `compiler-name' attribute to all relevant
- languages.
- (finish_languages): Define compiler variables here.
- (lang_cxx_finish): Don't call define_compiler_variable. Don't
- define flag variable or .o rules. Don't add to @suffixes.
- (lang_f77_finish): Likewise.
- (lang_ppf77_finish): Likewise.
- (lang_objc_finish): Likewise.
- (lang_java_finish): Likewise.
- (finish_languages): Define flag variable here.
- Added `output-arg' attribute to all relevant languages.
- (finish_languages): Define `.o' rules here.
- (finish_languages): Put extension on @suffixes.
- (get_object_extension): Don't transform NOTDEPEND or MINUSO.
-
-1999-04-27 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (initialize_global_constants): Invoke gzip for
- dist-shar just like in plain dist, i.e., pass it GZIP_ENV and -c.
-
- * automake.in (initialize_global_constants): Remove zip file
- before re-creating it.
- Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-
- * texinfos.am (uninstall-info): Look for info file in srcdir, just
- like in install-info-am.
- Reported by Tudor Hulubei <tudor@cs.unh.edu>
-
- * automake.in (handle_lib_objects_cond): \Q doesn't work either.
- Let's use the good ol' substitution, then.
- Reported by Russ Allbery <rra@stanford.edu>
-
- * automake.in (check_canonical_spelling): Insert AM before names
- starting with non-letters.
-
- * automake.texi: Document it.
-
-1999-04-26 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_lib_objects_cond): Do not use quotemeta, it
- doesn't work on perl4. Maybe \Q and \E do.
-
-1999-04-24 Tom Tromey <tromey@cygnus.com>
-
- * automake.in: Treat `.zip' and `.jar' files as Java.
-
- * automake.in (generate_makefile): Define `subdir' after reading
- .am file.
- (read_main_am_file): Give programming error if variable defined
- before invocation.
-
-1999-04-22 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (generate_makefile): Define `subdir' variable.
- (handle_dist): Don't define `subdir'.
-
- * automake.in (handle_texinfo): Change numbering scheme for
- stamp-vti files, to avoid problems with DOS.
- From Michel de Ruiter.
-
- * automake.texi: Don't mention AM_FUNC_MKTIME.
- * aclocal.in (obsolete_macros): Mention AM_FUNC_MKTIME.
- * automake.in (scan_one_configure_file): Recognize
- AC_FUNC_MKTIME, not AM_FUNC_MKTIME.
- (obsolete_macros): Mention AM_FUNC_MKTIME.
- * m4/Makefile.am (m4data_DATA): Removed mktime.m4.
- * m4/mktime.m4: Removed.
-
-1999-04-20 Tom Tromey <tromey@cygnus.com>
-
- * automake.texi (Top level): Don't recommend substing SUBDIRS.
-
-1999-04-20 Brian Ford <ford@vss.fsi.com>
-
- * scripts.am: Change else if's to elif.
-
-1999-04-20 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_lib_objects_cond): Only require the source
- of a LIBOBJ if it's not in BUILT_SOURCES.
- Reported by Erez Zadok.
-
-1999-04-19 Tom Tromey <tromey@cygnus.com>
-
- * automake.in: Treat `.class' files as Java source.
- (lang_java_finish): Handle `.class' files.
-
-1999-04-18 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * m4/lispdir.m4: Match only `/(share|lib)/x?emacs/site-lisp/*$'.
-
- * m4/lispdir.m4: Do not override lispdir if it's already defined.
- Run some emacs-lisp to find out the site-lisp directory, but
- relocate it into prefix.
-
-1999-04-17 Paul Eggert <eggert@twinsun.com>
-
- * m4/mktime.m4 (bigtime_test, main): Move alarm from
- bigtime_test to main, since Solaris 7 (64-bit) mktime loops
- even outside of bigtime_test. Use a time limit of 60 seconds
- for the whole test, not 10 seconds per iteration.
-
-1999-04-17 Erez Zadok <ezk@cs.columbia.edu>
-
- * automake.in: Create stamps for headers in appropriate
- directories, even if the input file lives in a different place.
- * remake-hdr.am: Likewise.
-
-1999-04-16 Tom Tromey <tromey@cygnus.com>
-
- From Brian Ford:
- * progs.am (install-@DIR@PROGRAMS, uninstall-@DIR@PROGRAMS):
- Invoke `sed' only once per program.
- * scripts.am (install-@DIR@SCRIPTS, uninstall-@DIR@SCRIPTS):
- Invoke `sed' only once per program.
-
-1999-04-13 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_subdirs): Make `install-recursive' phony.
- From Michel de Ruiter.
-
- * automake.in (handle_ltlibraries): Added missing `check'.
-
-1999-04-12 Tom Tromey <tromey@cygnus.com>
-
- * ansi2knr.c: New version from Pavel Roskin (via ansi2knr.c
- maintainer).
-
-1999-04-11 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist): Use AMTAR.
- (initialize_global_constants): Likewise.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use AMTAR, not TAR.
-
- * automake.in (lang_sub_obj): New function.
- (lang_cxx_rewrite): Use it.
- (lang_asm_rewrite): Likewise.
- (lang_objc_rewrite): Likewise.
- (lang_cxx_finish): Add `-o $@' to all C++ rules.
- (lang_asm_finish): Add `-o' to suffix rules when appropriate.
- (lang_objc_finish): Add `-o $@' to all ObjC rules.
- (lang_java_finish): Likewise.
-
- * automake.in: Only register `asm' once.
- (lang_asm_finish): Put assembly suffixes on @suffixes.
-
- * libtool.am (.s.lo): Removed.
- (.S.lo): Likewise.
- * automake.in (lang_asm_finish): Handle libtool.
-
- * libtool.am (.c.o): Always pass -c to libtool.
-
- * automake.in (lang_yacc_rewrite): Handle sources in subdirs.
- (lang_yaccxx_rewrite): Likewise.
- (lang_lex_rewrite): Likewise.
- (lang_lexxx_rewrite): Likewise.
-
- Assembly code no longer included by default:
- * compile.am (.s.o): Removed.
- (.S.o): Likewise.
- * automake.in: Register `asm' language.
- (lang_asm_finish): Generate suffix rules for assembly.
- (get_object_extension): Don't add `.s' or `.S' to suffix list.
-
- * automake.in (get_object_extension): Substitute @MINUSO@ when
- including compile.am.
- * compile.am (.c.o): Added @MINUSO@.
- (.c.obj): Likewise.
-
- First cut at allowing objects in subdirectories:
- * m4/Makefile.am (m4data_DATA): Added minuso.m4.
- * Makefile.am (dist_script_DATA): Added compile.
- * m4/minuso.m4: New file.
- * automake.in (initialize_global_constants): Added compile to
- common_files.
- (seen_cc_c_o): New global.
- (scan_one_configure_file): Set it when AM_PROG_CC_C_O seen.
- (handle_options): Recognize `subdir-objects' option.
- (lang_c_rewrite): Added directory argument.
- (lang_yacc_rewrite): Likewise.
- (lang_yaccxx_rewrite): Likewise.
- (lang_lex_rewrite): Likewise.
- (lang_lexxx_rewrite): Likewise.
- (handle_single_transform_list): Pass directory to _rewrite
- function. Generate dependencies for dirstamp files for each .o;
- it is just the rules we want to create once.
- (lang_c_rewrite): Handle `subdir-objects' option.
- (lang_c_rewrite): Require `compile' program.
- * compile: New file.
-
- * automake.in (initialize_per_input): Initialize %directory_map.
- (handle_single_transform_list): Only create .dirstamp rules once
- per directory.
-
- * m4/gcj.m4 (AM_PROG_GCJ): Use AC_CHECK_PROGS, not AC_CHECK_PROG.
-
- Fix for confh.test:
- * automake.in (configure_input_files): New global.
- (scan_configure): Set it.
- (handle_configure): Use configure_input_files when determining
- which subdirs have a Makefile.am. Fixes confh.test.
- (handle_configure): Only recognize acconfig.h in top srcdir.
-
-1999-04-10 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (%.o): Use `$(*D)/$(*F)', not just `$(*F)'.
- (%.lo): Likewise.
-
- * automake.in (am_install_var): Remove redundancies from the
- result. Fixes test cond8.test.
-
- * automake.in (handle_single_transform_list): Handle dependency
- tracking when files are created in subdirs. Error if object in
- subdir has `..' component.
-
- * automake.in (initialize_global_constants): Use $(TAR), not tar.
-
- * automake.in (handle_ltlibraries): Allow check_LTLIBRARIES.
-
- * automake.in (lang_yacc_finish): Added missing `&'.
-
-1999-04-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_configure): Replace multiple occurrences of
- @STAMP@ in the same line; completes the patch for remake-hdr.am
- below.
-
- * automake.in (handle_dependencies): Fix test for `autodep'
- support.
-
- * automake.in (handle_source_transform): Add a pfx to used_pfx
- only if it's conditional or non-empty, to reduce the number of
- empty variables. Emit _OBJECS variable based on program name if
- no SOURCES were explicitly specified.
-
- * remake-hdr.am: Create the stamp file before the header file,
- and just rename it after, so that the timestamps will be correct.
- Reported by Marc Horowitz <marc@mit.edu>
-
- * automake.in (lang_yacc_finish): Generate and dist a `.h' for a
- `.y' iff YFLAGS or AM_YFLAGS contain `-d'.
- Reported by Jim Meyering <meyering@ascend.com>
-
- * automake.in (lang_yacc_finish): $hname must not contain a `.'.
-
-1999-04-10 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (EXTRA_DIST): New macro.
- * ChangeLog.1996, ChangeLog.1998: New files.
-
-1999-04-09 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_source_transform): Handle dist and nodist
- prefixes.
- (initialize_per_input): Initialize dist_sources.
- (check_libobjs_sources): Handle dist and nodist prefixes.
- (generate_makefile): Define DIST_SOURCES.
- * dist-vars.am (DISTFILES): Reference DIST_SOURCES, not SOURCES.
-
- * automake.texi (Macros): Mention AM_PROG_GCJ.
- (Java Support): New node.
- (Dist): Documented dist_ and nodist_ prefixes.
-
- * m4/gcj.m4 (AM_PROG_GCJ): Renamed from AC_PROG_GCJ.
-
- * automake.in (lang_java_finish): Generate .lo rule for `.java'
- files, not `.gcj' files.
-
- * m4/gcj.m4: New file.
- * m4/Makefile.am (m4data_DATA): Added gcj.m4.
-
- * automake.in: Register the `java' language.
- (resolve_linker): Handle GCJLINK.
- (lang_java_rewrite): New function.
- (LANG_IGNORE, LANG_PROCESS, LANG_SUBDIR): New constants.
- (lang_c_rewrite): Use new constants.
- (lang_cxx_rewrite): Likewise.
- (lang_header_rewrite): Likewise.
- (lang_yacc_rewrite): Likewise.
- (lang_yaccxx_rewrite): Likewise.
- (lang_lex_rewrite): Likewise.
- (lang_lexxx_rewrite): Likewise.
- (lang_asm_rewrite): Likewise.
- (lang_f77_rewrite): Likewise.
- (lang_ppf77_rewrite): Likewise.
- (lang_ratfor_rewrite): Likewise.
- (lang_objc_rewrite): Likewise.
- (handle_single_transform_list): Likewise. Handle LANG_SUBDIR
- return from rewrite function.
- (lang_java_finish): New function.
- (register_language): Changed interface and all calls. Added
- `autodep' settings to various languages.
- (handle_dependencies): Use `autodep' property of language when
- including dependency-tracking code.
-
-1999-04-07 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): Indentation fixes.
-
-1999-04-07 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (value_to_list): Skip *only* trailing backslashes.
-
-1999-04-07 Pavel Roskin <pavel_roskin@geocities.com>
-
- * automake.in (value_to_list): Skip trailing backslashes.
-
-1999-04-07 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_texinfo): Add texinfo.tex to config_aux_dir
- when appropriate.
- Reported by Per Cederqvist <ceder@lysator.liu.se>
- (handle_texinfo): Do not define texinfo_tex='.', use
- '$(srcdir)/texinfo.tex' instead; the directory name will be
- properly extracted.
- (require_conf_file_with_line): Fixed typo.
-
-1999-04-03 Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (handle_tests): Test `dir=./' before `dir=', so that
- we do not depend on PATH starting with `.'.
-
-1999-03-31 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (quote_cond_val): Quote \n.
- (unquote_cond_val): Unquote \n.
- (read_am_file): If line ends with `\', preserve it and add a
- newline.
- (read_main_am_file): In conditional case, put conditional text at
- beginning of each generated line.
-
-1999-03-31 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_tests): support XFAIL_TEST
- * automake.texi: document it
-
-1999-04-12 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * End of merge from trunk.
-
-1999-04-12 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (cmdline_use_dependencies): Reintroduce it.
- (--ignore-deps): Set cmdline_use_dependencies again.
- (handle_dependencies): If use_dependencies is not set, define
- depcomp as empty.
- (handle_configure): Pass --ignore-deps to generated Makefile.ins.
- (scan_configure): Do not require depcomp when ignoring
- dependencies.
- (initialize_global_constants): Reintroduce --ignore-deps.
-
-1999-04-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * depcomp: New file.
- * Makefile.am (dist_script_DATA): Added depcomp.
- * automake.in (cmdline_use_dependencies, omit_dependencies,
- dependency_macros): Removed.
- (--ignore-deps): Just ignore.
- (handle_single_transform_list, dep_files): Named dependency files
- as \$(DEPDIR)/$base.P$obj
- (handle_lib_objects_cond): Likewise.
- (generate_dependency_code): Do not check for AM_*_DEPENDENCIES.
- (scan_one_configure_file): Likewise.
- (handle_dependencies): Always enable auto-dep. Define `depcomp'.
- Ignore OMIT_DEPENDENCIES.
- (handle_configure): Do not pass --ignore-deps.
- (scan_configure): Require `depcomp'.
- (initialize_global_constants): Make `depcomp' common. Remove
- `--ignore-deps' from usage.
- (get_object_extension): No more NOTDEPEND in compile nor libtool.
- * compile.am: Remove rules for .c.o and .c.obj
- * depend.am (distclean-depend): Wipe out $(DEPDIR)
- * depend2.am (@FPFX@DEPMODE): Define from config.status.
- Use it and depcomp in suffix rules.
- * libtool.m4: Likewise.
- * m4/ccdepend.m4, m4/cxxdepend.m4: Removed.
- * m4/depvars.m4, m4/objcdepend.m4: Likewise.
- * m4/Makefile.am (dist_m4data_DATA): Likewise.
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Extract DEPDIR
- from the Makefile and subst it in deps. Report creation of deps
- files (for now). Replace $U with `_' and the empty string. Write
- a comment to each created file.
- * m4/depend.m4 (AM_SET_DEPDIR): Select a valid deps dir name.
- (AM_DEPENDENCIES): Accept CC, CXX and OBJC. Just determine the
- dependency mode and AC_SUBST [$1]DEPMODE.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Automatically call
- AM_DEPENDENCIES for CC and CXX, if the corresponding AC_PROG
- appears in configure.in, before or after AM_INIT_AUTOMAKE.
-
-1999-04-02 Raja R Harinath <harinath@cs.umn.edu>
-
- * depout.m4: Fix sed expression for extracting `dirpart'.
-
-1999-03-29 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (DEP_@FPFX@COMPILE): Use `!=' and not `-ne'.
-
- * compile.am (.c.obj): Also disabled when dependency tracking
- enabled.
- * depend2.am (@EXT@.obj): New target.
- * automake.in (get_object_extension): Added explanatory comment.
- (generate_dependency_code): Handle $seen_objext.
-
- * depend.am: Removed obsolete comment.
- * depend2.am: Minor formatting fix.
-
-1999-03-28 Tom Tromey <tromey@cygnus.com>
-
- * m4/Makefile.am (dist_m4data_DATA): Renamed, and added new
- files.
- (EXTRA_DIST): Removed.
- * automake.in (dependency_macros): New global.
- (scan_one_configure_file): Recognize new dependency tracking
- macros, and define new resulting configure variables.
- (generate_dependency_code): New sub.
- (handle_dependencies): Use it.
- * depend2.am (DEP_@FPFX@COMPILE): New macro.
- (@EXT@.o): Use it.
- (@EXT@.lo): Likewise.
- * m4/depvars.m4: New file.
- * m4/objcdepend.m4: New file.
- * m4/cxxdepend.m4: New file.
- * m4/init.m4: Moved dependency handling code into depout.m4.
- * m4/depout.m4: New file.
- * m4/ccdepend.m4: New file.
- * m4/depend.m4: New file.
-
- * depend2.am (@EXT@.o): Renamed to be old-style suffix pattern.
- (@EXT@.lo): Likewise.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Don't create `.deps/.P'; it is no
- longer needed.
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Add code to config.status which
- will create the required .P files for dependency tracking.
- * automake.in (scan_dependency_file): Removed.
- (handle_dependencies): Never call scan_dependency_file.
- (generate_deps): Removed.
- (parse_arguments): Don't recognize --generate-deps, --build-dir,
- --srcdir-name, or --include-deps. Do recognize --ignore-deps.
- (srcdir_name): Removed.
- (build_directory): Removed.
- (initialize_global_constants): Changed $USAGE to reflect argument
- parsing changes.
- (handle_dist_worker): Never run automake in `dist' rule.
- (handle_configure): Use --ignore-deps, not --include-deps.
- * depend.am (DEPS_MAGIC): Removed.
- (DEP_FILES): Unconditionally include.
-
-1999-03-27 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (saw_sources_p): Correctly count header extensions
- seen.
- (handle_headers): Fixed order of arguments to am_install_var.
-
- * automake.in (am_install_var): Don't error if EXTRA_foo is
- defined uselessly.
-
- * scripts.am (install-@DIR@SCRIPTS): Use NDIR when appropriate.
- (uninstall-@DIR@SCRIPTS): Likewise.
- * progs.am (install-@DIR@PROGRAMS): Use NDIR when appropriate.
- (uninstall-@DIR@PROGRAMS): Likewise.
- * ltlib.am (install-@DIR@LTLIBRARIES): Use NDIR when appropriate.
- (uninstall-@DIR@LTLIBRARIES): Likewise.
- * lisp.am (install-@DIR@LISP): Use NDIR when appropriate.
- (uninstall-@DIR@LISP): Likewise.
- * libs.am (install-@DIR@LIBRARIES): Use NDIR when appropriate.
- (uninstall-@DIR@LIBRARIES): Likewise.
- * java.am (install-@DIR@JAVA): Use NDIR when appropriate.
- (uninstall-@DIR@JAVA): Likewise.
- * header.am (install-@DIR@HEADERS): Use NDIR when appropriate.
- (uninstall-@DIR@HEADERS): Likewise.
- * data.am (install-@DIR@DATA): Use NDIR when appropriate.
- (uninstall-@DIR@DATA): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (dist_pkgdata_DATA): Renamed.
- (EXTRA_DIST): Removed.
- (install-data-hook): Added POST_INSTALL; print commands as they
- are run; respect DESTDIR.
- * dist-vars.am (DISTFILES): Removed $(HEADERS).
- * automake.in (am_install_var): Accept `-candist' and
- `-defaultdist' options. Handle `dist_' and `nodist_' prefixes.
- (am_primary_prefixes): Added can_dist argument. Recognize `dist_'
- and `nodist_' prefixes.
- (handle_scripts): Pass -candist to am_install_var.
- (handle_data): Pass -defaultdist to am_install_var.
- (handle_headers): Likewise.
- (handle_emacs_lisp): Pass -candist to am_install_var.
- (handle_java): Pass -candist to am_install_var.
-
-1999-03-26 Tom Tromey <tromey@cygnus.com>
-
- * m4/init.m4: Fixed typo when invoking SHELL.
-
- * automake.in (lang_yacc_finish): Always use `.h' as suffix for
- yacc header file. From Ralf Corsepius.
-
- * Makefile.in: Rebuilt.
- * Makefile.am: Updated to reflect removal of TAR subst.
- * automake.texi (Options): Document dist-bzip2.
- * automake.in (TAR): Removed global.
- (initialize_global_constants): Changed `dist' to use pipe with
- gzip; work with non-GNU tar.
- (handle_dist): Handle non-GNU tar. Don't define TAR.
- (initialize_global_constants): Added `dist-bzip2' entry.
- (handle_options): Recognize dist-bzip2 option.
- (handle_dist): Likewise.
- * configure: Rebuilt.
- * configure.in: Don't check for tar.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Check for `tar'. Substitute
- AMTARFLAGS.
-
- * automake.in (am_install_var): Removed obsolete comment.
-
- * texinfos.am (uninstall-info): Don't print loop but instead print
- commands. Simplified pre-uninstall loop.
- * scripts.am (uninstall-@DIR@SCRIPTS): Don't print loop but
- instead print commands.
- * progs.am (uninstall-@DIR@PROGRAMS): Don't print loop but instead
- print commands.
- * ltlib.am (uninstall-@DIR@LTLIBRARIES): Don't print loop but
- instead print commands.
- * lisp.am (install-@DIR@LISP): Strip subdir from file name.
- (uninstall-@DIR@LISP): Likewise. Also, don't print loop but
- instead print commands.
- * libs.am (uninstall-@DIR@LIBRARIES): Don't print loop but instead
- print commands.
- * java.am (uninstall-@DIR@JAVA): Don't print loop but instead
- print commands.
- * header.am (install-@DIR@HEADERS): Strip subdir from file name.
- (uninstall-@DIR@HEADERS): Likewise. Also, don't print loop but
- instead print commands.
- * data.am (install-@DIR@DATA): Strip subdir from file name.
- (uninstall-@DIR@DATA): Likewise. Also, don't print loop but
- instead print commands.
-
- * automake.in (handle_merge_targets): `install-strip' is a phony
- target. From Michel de Ruiter.
-
-1999-03-25 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (define_compiler_variable): Don't define variable
- with trailing `_'.
-
-1999-03-25 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (LDADD): accept -dlopen and -dlpreopen here
- * automake.texi: ditto
-
-1999-03-25 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (TESTS): make from Solaris 7/x86 loses if srcdir
- is absolute and != objdir. dir="" or "$(srcdir)/" fixes it
-
-1999-03-24 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (define_compiler_variable): New sub.
- (finish_languages): Use it.
- (lang_cxx_finish): Likewise.
- (lang_f77_finish): Likewise.
- (lang_ppf77_finish): Likewise.
- (lang_ratfor_finish): Likewise.
- (lang_objc_finish): Likewise.
-
-1999-03-23 Tom Tromey <tromey@cygnus.com>
-
- * progs.am (install-@DIR@PROGRAMS): Use `-e' instead of multiple
- sed invocations. From Elrond.
- (uninstall-@DIR@PROGRAMS): Likewise.
-
- * automake.in (lang_lex_finish): Rewrite `l', not `y', to `c'.
- From Ralf Corsepius.
-
-1999-02-01 Thomas Tanner <tanner@gmx.de>
-
- * automake.in: accept both A(C|M)_PROG_LIBTOOL, print a
- warning when AM_PROG_LIBTOOL was found
- * automake.texi: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL
-
-1999-03-22 Tom Tromey <tromey@cygnus.com>
-
- Made `+=' more robust. Fixes pluseq6.test and pluseq7.test.
- * automake.in (define_standard_variables): New sub.
- (read_main_am_file): Use two passes to scan standard variables.
- (read_am_file): Don't special-case configure variables with `+='.
- (initialize_per_input): Initialize %var_was_plus_eq.
- (read_am_file): Set var_was_plus_eq element correctly.
- (define_variable): Give error if variable assigned with `+=' is
- internally defined.
- (initialize_per_input): Initialize %am_var_defs.
- (file_contents_with_transform): Set element in %am_var_defs.
- (read_am_file): Use %am_var_defs.
-
-1999-03-21 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (initialize_per_input): Initialize %object_map.
- (handle_single_transform_list): Allow source files in
- subdirectories.
-
-1999-03-21 Jim Meyering <meyering@na-net.ornl.gov>
-
- * automake.in (handle_dist): Add missing newline after the first
- semicolon.
-
-1999-03-11 Tom Tromey <tromey@cygnus.com>
-
- * m4/error.m4, m4/mktime.m4, m4/obstack.m4, m4/regex.m4,
- m4/strtod.m4: Use $ac_objext, not `.o'. From Jim Meyering.
-
- From Jim Meyering:
- * automake.in (handle_dist): Add `;\' to end of distcheck-hook
- line.
- (scan_one_configure_file): In LIBOBJS, recognize `$ac_objext' as
- legitimate ending. Fixes libobj9.test.
-
- From Ralf Corsepius. Fixes lex3.test.
- * automake.in (lang_yacc_finish): Include `.' in name pushed onto
- maintainer-clean list.
- (lang_lex_finish): Likewise.
-
-1999-03-02 Tom Tromey <tromey@cygnus.com>
-
- * subdirs.am (maintainer-clean-recursive): Changed "&&" into "if"
- construct to work around FreeBSD make/sh problem. From Rich Wales.
-
-1999-03-01 Tom Tromey <tromey@cygnus.com>
-
- Fixes from Pavel Roskin:
- * automake.in (variable_conditions_sub): Sort list passed to
- variable_conditions_permutations.
- (variable_conditions): Sort list before returning.
-
-1999-02-27 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (lang_extensions): New sub.
- (handle_dependencies): Use it.
- (cxx_extensions): Removed.
- (lang_cxx_finish): Use lang_extensions.
- (f77_extensions): Removed.
- (lang_f77_finish): Use lang_extensions.
- (objc_extensions): Removed.
- (lang_ppf77_finish): Put `.' before extension. Fixes ext.test.
- Report from Dave Morrison.
- (lang_ratfor_finish): Likewise.
-
-1999-02-26 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (finish_languages): Added AM_LDFLAGS.
- (lang_cxx_finish): Likewise.
- (lang_f77_finish): Likewise.
- (lang_ppf77_finish): Likewise.
- (lang_ratfor_finish): Likewise.
- (lang_objc_finish): Likewise.
-
-1999-02-11 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (obsolete_macros): Copied from automake.in.
- (obsolete_rx): Use only keys of obsolete_macros.
- (scan_configure): Report replacement macro for an obsolete macro.
- * automake.in (obsolete_macros): Added ud_GNU_GETTEXT.
-
- * automake.in (obsolete_macros): Corrected typo in AM_EXEEXT
- entry. Fixes obsolete2.test.
-
- * automake.in (obsolete_macros): Use empty string to indicate no
- substitution.
- (scan_one_configure_file): Likewise.
-
-1999-02-07 Paul Eggert <eggert@twinsun.com>
-
- * m4/ccstdc.m4 (AM_PROG_CC_STDC): Prefer -Ae to -Aa
- -D_HPUX_SOURCE, since -Ae allows `long long' and this is
- needed by some programs.
-
-1999-02-10 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): Added `pgs' to list of
- extensions. From NISHIDA Keisuke.
-
-1999-02-04 Akim Demaille <demaille@inf.enst.fr>
-
- * automake.in (handle_texinfo): remove texinfo.tex from
- TEXINFODIR.
-
-1999-02-02 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_merge_targets): Use INSTALL_STRIP_FLAG.
- * progs.am (install-@DIR@PROGRAMS): Added INSTALL_STRIP_FLAG.
- * header-vars.am (INSTALL_PROGRAM): Removed
- AM_INSTALL_PROGRAM_FLAGS.
- (INSTALL_STRIP_FLAG): New macro.
-
- * automake.in: Handle `ypp' as C++ yacc source and `lpp' as C++
- lex source.
- (lang_yacc_finish): Likewise.
- (lang_lex_finish): Likewise.
-
-1999-02-01 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Correctly find find in $$d,
- not $$. From Bill Davidson.
-
- * automake.in (finish_languages): Use "&", not "do". From Pavel
- Roskin.
- (handle_single_transform_list): Likewise.
-
-1999-01-29 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Removed unused variable. From
- Pavel Roskin.
-
- * ansi2knr.c: New version from L. Peter Deutsch.
-
-1999-01-22 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (require_file_internal): Correctly examine return
- value of `system'. From Andris Pavenis. Fixes copy.test.
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require autoconf 2.13.
-
- * automake.in (lang_ppf77_rewrite): New function. From Jochen
- Kuepper. Fixes ppf77.test.
- (lang_ratfor_rewrite): New function
-
- * automake.in (handle_configure): Use `&' before sub calls (Perl 4
- fix). From Erez Zadok.
-
-1999-01-15 Tom Tromey <tromey@cygnus.com>
-
- * configure.in: Version 1.4a (oops).
-
- * configure.in: Updated version to 1.5a.
-
-1999-01-14 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Compute $header_dir based on
- $one_name, not $one_hdr. Reported by Erez Zadok. Fixes
- confh2.test.
- (handle_configure): Compute relative path to input header
- correctly in all cases.
-
- * automake.in (handle_tests): Avoid error messages from dejagnu
- test rules. From Karl Heuer.
-
- * automake.in (handle_texinfo): Add `/' to end of $conf_dir.
-
- * Makefile.am (AUTOMAKE_OPTIONS): Added `1.4'.
-
- * texi-vers.am ($(srcdir)/stamp-@VTI@): Find @TEXI@ in srcdir.
- From Alexandre Oliva and Erez Zadok.
-
- * automake.in (create): Renamed from touch.
- (handle_configure): Use create, not touch.
-
- * config.sub, config.guess: New versions from autoconf.
-
- * mkinstalldirs: New version from autoconf.
-
-1999-01-12 Tom Tromey <tromey@cygnus.com>
-
- * config.sub, config.guess, COPYING, texinfo.tex: New versions
- from FSF.
-
-1999-01-11 Marcus G. Daniels <mgd@chama.santafe.edu>
-
- * automake.in (PATH_PATTERN): New variable:
- (INCLUDE_PATTERN): Use it. Ignore all include commands using
- symbols besides $(top_srcdir) and $(srcdir).
-
-1999-01-11 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_dist_worker): avoid failure in `make dist'
- if last file is a builddir-only file
-
-1999-01-11 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * missing (autoheader): `s' was missing from sed script; grr
-
-1999-01-11 Tom Tromey <tromey@cygnus.com>
-
- * remake-hdr.am (@STAMP@): Reverted timestamp change.
- ($(srcdir)/@STAMP@.in): Likewise.
-
-1999-01-10 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (scriptdir): New macro.
- (script_DATA): Likewise.
- (install-data-hook): Use them.
- (EXTRA_DIST): Added script_DATA.
- (installcheck-local): Use script_DATA.
-
- * Makefile.am (pkgdata_DATA): Removed duplicate definition.
-
-1999-01-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * missing (autoheader): accept multiple header files
- (automake): simplify sed processing
-
-1999-01-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_configure, stamp_dir): create only one stamp
- file per header, instead of one in the top-level directory and one
- in the directory that contains the header.
-
-1999-01-10 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (lang_objc_finish): Formatting fix.
-
- * automake.in (objc_extensions): New sub.
- (handle_dependencies): Only generate dependency-tracking code for
- ObjC when ObjC source seen.
-
------
-
-Copyright 1999-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/ChangeLog.01 b/old/ChangeLog.01
deleted file mode 100644
index 832153d78..000000000
--- a/old/ChangeLog.01
+++ /dev/null
@@ -1,4937 +0,0 @@
-2001-12-31 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Extending): Document installcheck-local. Added
- installdirs-local index entry.
- (Tests): Document installcheck-local.
-
- * automake.in (handle_single_transform_list): Indentation fix.
-
-2001-12-31 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (common_files): Add COPYING.DOC.
- Suggested by Karl Berry.
-
-2001-12-30 Tom Tromey <tromey@redhat.com>
-
- * automake.in (define_configure_variable): Define a user macro,
- not an automake macro.
- * tests/Makefile.am (TESTS): Added ar.test.
- * tests/ar.test: New file.
-
- For PR automake/211:
- * automake.in (object_compilation_map): New global.
- (initialize_per_input): Initialize it.
- (COMPILE_LIBTOOL): New constant.
- (COMPILE_ORDINARY): Likewise.
- * tests/Makefile.am (TESTS): Added pr211.test.
- * tests/pr211.test: New file.
-
- For PR automake/215:
- * configure.in: Use AM_AUTOMAKE_OPTIONS.
- * Makefile.am (AUTOMAKE_OPTIONS): Removed.
- * automake.texi (Macros): Document AM_AUTOMAKE_OPTIONS.
- (Options): Mention AM_AUTOMAKE_OPTIONS.
- * automake.in (global_options): New global.
- (global_options_line): Likewise.
- (scan_autoconf_traces): Trace AM_AUTOMAKE_OPTIONS.
- (scan_one_autoconf_file): Likewise.
- (process_option_list): New function.
- (handle_options): Use it. Also, handle global options.
- * m4/Makefile.am (m4data_DATA): Added options.m4.
- * m4/options.m4: New file.
-
- * lib/am/install.am (?SUBDIRS?installdirs-am): Handle
- installdirs-local.
- (?!SUBDIRS?installdirs): Likewise.
- * automake.in (handle_installdirs): Handle installdirs-local.
- * automake.texi (Extending): Mention installdirs.
- * tests/Makefile.am (TESTS): Added installdir.test.
- * tests/installdir.test: New file.
-
-2001-12-30 Akim Demaille <akim@epita.fr>
-
- * lib/am/yacc.am: Also rename the possible y.output file.
- Remove the trailing y.tab.h.
-
-2001-12-30 Paolo Bonzini <bonzini@gnu.org>
-
- * automake.texi (Install): Remove mention of nonexistent
- uninstall-hook.
-
-2001-12-30 Alan Modra <amodra@bigpond.net.au>
-
- * automake.in (generate_makefile): Unlink output file before
- opening so that any hard links are not changed.
-
-2001-12-30 Tom Tromey <tromey@redhat.com>
-
- * tests/pr220.test: Use `required' to pick up gcc.
-
- For PR automake/243:
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Strip everything
- after `:'.
- * tests/Makefile.am (TESTS): Added pr243.test.
- * tests/pr243.test: New file.
-
- For PR automake/220:
- * tests/Makefile.am (TESTS): Added pr220.test.
- * tests/pr220.test: New file.
- * m4/cond.m4 (AM_CONDITIONAL): Cause creation of config.status to
- fail if conditional was never run.
-
- For PR automake/260:
- * lib/depcomp (tru64): Correctly handle libtool case.
- From doreille@smr.ch.
-
-2001-12-30 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/distdir.am (distcleancheck_listfiles): Unquote.
- Reported by Yann Droneaud.
-
-2001-12-29 Tom Tromey <tromey@redhat.com>
-
- For PR automake/266:
- * tests/Makefile.am (TESTS): Added pr266.test.
- * tests/pr266.test: New file.
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Handle
- non-standard name for makefile.
-
- For PR automake/279:
- * automake.in (conditional_ambiguous_p): New sub.
- (handle_lib_objects_cond): Use it.
- (check_ambiguous_conditional): Use it.
- * tests/Makefile.am (TESTS): Added pr279.test, pr279-2.test.
- * tests/pr279.test: New file.
- * tests/pr279-2.test: New file.
-
-2001-12-26 Tom Tromey <tromey@redhat.com>
-
- For PR automake/249:
- * tests/Makefile.am (TESTS): Added nodist2.test.
- * tests/nodist2.test: New file
-
-2001-12-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * m4/multi.m4: Fix quoting in AC_OUTPUT_COMMANDS.
-
-2001-12-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Test for Autoconf >= 2.52.
- * tests/defs (needs_autoconf, has_autoconf): Delete definition.
- * tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test,
- tests/cond4.test, tests/cond9.test, tests/cond16.test,
- tests/cond18.test, tests/cond19.test, tests/cond20.test,
- tests/confsub.test, tests/depcomp2.test, tests/depdist.test,
- tests/depend2.test, tests/dirname.test, tests/distname.test,
- tests/extra5.test, tests/install2.test, tests/lex3.test,
- tests/make.test, tests/nobase.test, tests/pr9.test,
- tests/pr87.test, tests/stamph2.test, tests/subdir5.test,
- tests/subdirbuiltsources.test, tests/subobj3.test,
- tests/subobj5.test, tests/subobj6.test, tests/substref.test,
- tests/target-cflags.test, tests/yacc4.test, tests/yacc7.test,
- tests/yaccvpath.test: Do not use $needs_autoconf.
-
-2001-12-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Bump version to 1.5c.
-
-2001-12-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Bump version to 1.5b.
-
- * lib/config.sub, lib/config.guess: New versions from FSF.
-
- * lib/am/lex.am, lib/am/yacc.am: Use `rm -f', not `rm'.
-
-2001-12-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (check_gnu_standards, check_gnits_standards): Pass
- "$am_file.am" as WHERE argument to require_file.
-
-2001-12-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/python.m4 (AM_PATH_PYTHON): Check all known Python interpreters
- in loop until we find one the satisfies the user supplied version.
- Add python2 to the list of known interpreters. Don't use
- changequote. Cache the calculation of PYTHON_VERSION and
- PYTHON_PLATFORM.
- (AM_PYTHON_CHECK_VERSION): New function, extracted from
- AM_PATH_PYTHON and modernized.
- * m4/runlog.m4: New file.
- * m4/Makefile.am (m4data_DATA): Add it.
-
-2001-12-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/confsub.test, tests/depdist.test, tests/extra5.test,
- tests/nobase.test, tests/stamph2.test,
- tests/subdirbuiltsources.test: Require Autoconf.
-
-2001-12-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Dist): Document $(DISTCHECK_CONFIGURE_FLAGS).
- * lib/am/distdir.am (distcheck): Honnor $(DISTCHECK_CONFIGURE_FLAGS).
- Suggested by Merijn de Jonge.
-
-2001-12-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/tags.am (ID): Search $(LISP) files in $(srcdir),
- like other ID dependencies.
- Suggested by Christian Cornelssen.
-
-2001-12-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_dist): Distribute common files which
- do not exist but are target of a Makefile rule.
- * automake.texi (Dist): Update.
- * test/builtcommon3.test: New file.
- * test/Makefile.am (TESTS): Add distcommon3.test.
-
-2001-12-04 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (macro_define): Fix misuse of chomp introduced on
- 2001-11-28.
-
-2001-11-28 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (append_comments): New. Extracted from
- read_am_file. Match '\n' with a regexp, don't use substr (the
- perlport man page says '\n' is not always one byte wide).
- (read_am_file): Use it. Always chomp $_.
- (file_contents_internal): Use append_comments.
- (macro_define): Don't treat the trailing '\n' with substr, use
- a regexp or chomp.
-
-2001-11-28 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs: Turn on shell traces when VERBOSE=x.
-
-2001-11-26 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Assembly Support): Mention .s and .S as only
- suffixes.
-
-2001-11-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/subdirbuiltsources.test: Set -e after sourcing defs, not
- before.
-
-2001-11-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/lex3.test: Require GNU Make.
-
-2001-11-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (ACLOCAL): Add -I $srcdir/../m4 before any other
- directory.
-
-2001-11-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/tags.am (TAGS): Search %CONFIG% and $(LISP) files
- in $(srcdir), like other TAGS dependencies.
- Suggested by Christian Cornelssen.
-
-2001-11-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define): Use $where when reporting an error,
- not the place where the macro was first defined since (i) if this
- is the first definition, then obviously it was not defined before,
- and (ii) anyway, the error is with the new definition, not the
- first.
-
-2001-11-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/distdir.am (distcheck): Call distcleancheck.
- (distcleancheck_listfiles, distcleancheck): New, extracted from
- distcheck.
- * automake.texi (Checking the distribution): Document
- distcleancheck_listfiles and distcleancheck.
-
-2001-11-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_one_autoconf_file): Parenthesize qw// in
- foreach invocation, otherwise Perl5.005_03 complains about a
- syntax error. Reported by Yann Droneaud.
-
-2001-11-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_texinfo_file): Suppress FIXME about strange
- map behavior.
-
-2001-11-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (aclocaldir): Check for existence of libtool.m4 and
- gettext.m4 if required.
-
-2001-11-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (define_objects_from_sources,
- handle_lib_objects_cond, value_to_list): Use quotemeta instead of
- the equivalant substitution.
-
-2001-11-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (SUFFIX_RULE_PATTERN): Add '_(){}$@' to the
- set of accepted characters in extensions.
- (rule_define): Convert '.o' and '.obj' into '$(OBJEXT)' for
- internall use.
- * tests/suffix6.test: Ensure that `.o' is handled like `.$(OBJEXT)'.
-
-2001-11-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Suffixes): Don't require SUFFIXES, but document
- its use for the "extreme" cases.
-
-2001-11-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (rule_define): Use $KNOWN_EXTENSIONS_PATTERN
- to match suffix rules for known extensions, or call
- accept_extensions on suffixe rules for unknown extensions.
- (var_SUFFIXES_trigger): New function.
- (macro_define): Call var_VAR_trigger when $VAR is updated.
- * tests/suffix6.test, tests/suffix7.test: New files.
- * tests/Makefile.am (TESTS): Add suffix6.test and suffix7.test.
-
-2001-11-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (KNOWN_EXTENSIONS_PATTERN, known_extensions_list):
- New variables.
- (handle_single_transform_list, lang_yacc_target_hook): Use
- KNOWN_EXTENSIONS_PATTERN.
- (accept_extension): New function.
- (register_language): Call it.
-
-2001-11-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- At every place where an "$extension" is used, include the leading
- dot in the extension, don't hardcode it when building the filename.
- That will make any support for a dot-less extension easier to add.
-
- * automake.in (SUFFIX_RULE_PATTERN): Include extension dots in
- backref groups.
- ("main"): Prepend a '.' to the supported extensions of all
- languages (e.g. 'c' becomes '.c').
- (handle_languages, handle_single_transform_list,
- handle_lib_objects_cond, handle_headers, derive_suffix,
- rule_define): Do not add a dot
- before extensions, and include dots in matching groups.
- * lib/am/depend2.am (.%EXT%.o, .%EXT%.obj, .%EXT%.lo): Rename as ...
- (%EXT%.o, %EXT%.obj, %EXT%.lo): ... these.
- * lib/am/lex.am (.%EXT%.%DERIVED-EXT%): Rename as ...
- (%EXT%%DERIVED-EXT%): ... this.
- * lib/am/yacc.am: Likewise.
-
-2001-11-12 Akim Demaille <akim@epita.fr>
-
- * m4/make.m4 (AM_MAKE_INCLUDE): Serial 2.
- Use `"#"' and `"\""', which
- Autoconf mode prefers over `'#'' and `'"''.
- * m4/missing.m4 (AM_MISSING_HAS_RUN): Serial 3.
- Rely on AC_MSG 2.50's quotation.
-
-2001-11-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_texinfo_file): Typo from 2001-11-05.
-
-2001-11-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/distdir.am (distdir): Also look for directory in build
- directory first. (See 2001-05-14.)
- * tests/Makefile.am (TESTS): Add extra5.test.
- * tests/extra5.test: New file.
- From Dean Povey.
-
-2001-11-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for distcommon2.test:
- * automake.in (automake_needs_to_reprocess_all_files): New
- variable.
- ("main"): Process all Makefiles a second time if
- $automake_needs_to_reprocess_all_files is set.
- (maybe_push_required_file): Return 1 or 0 whether the file is
- pushed or not.
- (require_file_internal): Set $automake_needs_to_reprocess_all_files
- if an added file can't be pushed.
-
- * test/distcommon2.test: New file.
- * test/Makefile.am (TESTS): Add distcommon2.test.
- From Pavel Roskin.
-
-2001-11-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (exec_dir_p): Remove. Replace by...
- (EXEC_DIR_PATTERN):... this.
- (am_install_var): Adjust to use EXEC_DIR_PATTERN.
-
-2001-11-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for nobase.test:
- * lib/am/header-vars.am (install_sh_DATA): New.
- * lib/am/data.am (install-%DIR%%PRIMARY%): Declare and use
- %DIR%%PRIMARY%_INSTALL, and set it to $(install_sh_DATA) instead
- of $(INSTALL_DATA) for nobase_ targets.
- * lib/am/lisp.am (install-%DIR%LISP): Likewise.
- * lib/am/python.am (install-%DIR%PYTHON): Likewise.
- * tests/nobase.test (configure.in): Append AC_OUTPUT.
- * tests/Makefile.am (XFAIL_TESTS): Remove nobase.test.
-
-2001-11-08 Akim Demaille <akim@epita.fr>
-
- * automake.texi: Remove references to stamp-h.in, which no longer
- exists.
- * tests/stamph2.test: Formatting change.
-
-2001-11-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/suffix3.test: Check for foo.$(OBJEXT) in Makefile.in.
- Don't use -Wno-error.
-
-2001-11-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/suffix4.test ($AUTOMAKE): Don't use -Wno-error.
- * tests/suffix5.test ($AUTOMAKE): Likewise.
-
-2001-11-07 Akim Demaille <akim@epita.fr>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Don't escape quotes in
- AC_MSG_ERROR.
- Reported by Jim Meyering.
-
-2001-11-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/distdir.am (am__remove_distdir): Define in topdir only.
-
-2001-11-05 Paul Eggert <eggert@twinsun.com>
-
- * lib/am/distdir.am (am__remove_distdir):
- New macro. Do not change permission of non-directories.
- Change only user permission, as there's no point to changing group
- or other permission.
- (distdir, dist, dist-bzip2, dist-tarZ, dist-shar, dist-zip, dist-all,
- distcheck): Use it.
-
-2001-11-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/python.am: Cleanup the cleaning section.
- * automake.texi (Python): Remove documentation for PYCFILES
- and PYOFILES. Update the first paragraphes.
-
-2001-11-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (FOREIGN, GNU, GNITS, AC_CANONICAL_HOST,
- AC_CANONICAL_SYSTEM, MOSTLY_CLEAN, DIST_CLEAN): Define as constants.
- Adjust usage everywhere.
-
-2001-11-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (libtool_files, libtool_sometimes, common_files,
- common_sometimes, config_aux_path): Use qw to simplify definition.
- (scan_texinfo_file) <clean_suffixes, predefined_index,
- hidden_index>: Likewise.
- (scan_autoconf_traces) <traced>: Likewise.
- (scan_one_autoconf_file, check_gnu_standards, resolve_linker):
- Likewise.
-
-2001-11-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_single_transform_list): Pass $nonansi_obj to
- derive_suffix. Don't use an hardcoded 'o' for object extensions.
- (derive_suffix): Accept $OBJ as a second argument, don't
- hardcode 'o'.
- * tests/suffix5.test: New test.
- * tests/Makefile.am (TESTS): Add suffix5.test.
- Reported by Arkadiusz Miskiewicz <misiek@pld.ORG.PL>.
-
-2001-11-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_single_transform_list): Don't call
- $lang->target_hook for undefinied langages.
- * tests/suffix4.test: New test.
- * tests/Makefile.am (TESTS): Add suffix4.test.
- Reported by Dmitry Mikhin <dmitrym@acres.com.au>.
-
-2001-11-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (@common_sometimes, &handle_configure): No longer
- use stamp-hin.
- * lib/am/remake-hdr.am: Adjust.
- * tests/confh.test: There is no stamp.hin.
-
-2001-11-01 Akim Demaille <akim@epita.fr>
-
- * lib/am/lex.am, lib/am/yacc.am: Use the output file name in
- `#line' and multiple inclusion guards.
- * lib/ylwrap: Remove debugging code.
- (input_dir, input_rx): Move where used.
- Use the output file name in `#line'.
-
-2001-10-31 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (transform): Update documentation.
-
-2001-10-31 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/gcj.m4 (AM_PROG_GCJ): Define GCJFLAGS if unset.
- Reported by Olivier Louchart-Fletcher <olivier@zipworld.com.au>.
-
-2001-10-30 Akim Demaille <akim@epita.fr>
-
- * automake.in (&create): Reinstall.
-
-2001-10-30 Akim Demaille <akim@epita.fr>
-
- * automake.in (&append_exeext): Use macro_delete.
-
-2001-10-30 Akim Demaille <akim@epita.fr>
-
- * automake.in ($verbose): Remove, inherited from
- Automake::General.
- (&variable_delete): Rename as...
- (&macro_delete): this, for consistency.
- (&variable_assert): New.
- (&variable_value_as_list, &variable_value_as_list_recursive_worker):
- Use it.
-
-2001-10-29 Akim Demaille <akim@epita.fr>
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Use AC_RUN_LOG to avoid
- cluttering configure's stdout.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in: Various formatting changes.
- (create): Remove, unused.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (&append_exeext): New.
- (&am_primary_prefixes): Use it.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (am_primary_prefixes): Now, in accordance with its
- comment, return the list of prefixes actually used, not all the
- possible prefixes for a primary.
- (&handle_libraries, &handle_ltlibraries, &handle_java)
- (&am_install_var): Adjust.
- * Makefile.am (maintainer-check): Allow `local $_;'.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in: Various formatting changes.
- (&variable_defined): Second argument is optional.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_primary_prefixes): Now returns a list, not a
- hash.
- (&handle_libraries, &handle_ltlibraries, &handle_java)
- (&am_install_var): Adjust.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (@libtoolize_files, @libtoolize_sometimes): Rename
- as...
- (@libtool_files, @libtool_sometimes): these.
- ($libtool_location): Remove, completely replaced by $seen_libtool.
- (&require_file_internal): Do not run libtoolize, that's
- autoreconf's job.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * tests/acoutnoq.test, tests/acoutput.test, tests/acoutqnl.test,
- * tests/acouttbs.test, tests/auxdir.test, tests/colon.test,
- * tests/colon2.test, tests/colon3.test, tests/colon4.test,
- * tests/colon5.test, tests/colon6.test, tests/colon7.test,
- * tests/conf2.test, tests/config.test, tests/depcomp.test,
- * tests/depcomp2.test, tests/discover.test, tests/fpinst2.test,
- * tests/fpinstall.test, tests/ldadd.test, tests/libobj7.test,
- * tests/libobj8.test, tests/output.test, tests/output2.test,
- * tests/output3.test, tests/output4.test, tests/output5.test,
- * tests/pr2.test, tests/remake.test, tests/remake2.test,
- * tests/remake3.test, tests/scripts.test, tests/stamph.test,
- * tests/subdir.test, tests/subdir2.test, tests/subdir4.test,
- * tests/tagsub.test, tests/texinfo8.test: Remove PACKAGE and VERSION
- assignments.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_autoconf_traces): Use eq for equality.
- Anchor regexps.
- Remove dead comment.
- (&initialize_per_input): Don't initialize several times the same
- vars.
-
-2001-10-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (scan_one_autoconf_file): When using %generalize, be
- sure to replace only words. AC_FUNC_OBSTACK was matching
- M4_AC_FUNC_OBSTACK.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * tests/stamph2.test: Strengthen.
- * tests/confh2.test, tests/confh3.test: Remove.
- These are bad tests: they don't check the effects, but some
- internal details in Makefile.
- And they are covered by stamph2.test.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- Now that stamp-h's are created by config.status, we don't need to
- handle them in Makefile's.
-
- * lib/am/remake-hdr.am (%STAMP%): Just run config.status.
- * m4/header.m4 (_AM_STAMP): New.
- (_AM_CONFIG_HEADER): Use it.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&generate_makefile, &handle_texinfo_helper)
- (&handle_man_pages, &handle_dist, &handle_configure, &handle_all)
- (&define_pretty_variable, &read_am_file, &file_contents_internal)
- (&am_install_var, &push_dist_common, &unquote_m4_arg): Simplify
- `join (' ', @list)' into `"@list"'.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (@config_fullnames, @config_names): Remove.
- (@config_headers): Now contains the actual spec used in
- AC_CONFIG_HEADERS.
- (&split_config_file_spec): New.
- (&handle_tags, &handle_configure, &handle_all, &scan_autoconf_traces)
- (&scan_one_autoconf_file): Adjust.
- (&scan_one_autoconf_file): Pff, don't think _AM_CONFIG_HEADER is
- AM_CONFIG_HEADER.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * m4/header.m4 (_AM_CONFIG_HEADER): New.
- (AM_CONFIG_HEADER): Use it.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_configure): Use the config.status 2.50
- invocation syntax for config files and headers.
- autoheader needs the name of the file to create, not from what it
- must be created, hence CONFIG_HEADER_FULL is $one_name, not
- $one_fullname.
- * lib/am/configure.am, lib/am/remake-hdr.am: Likewise.
- * tests/confsub.test (SUBDIRS): Adjust to the new config.status
- invocation.
- Strengthen: Use the non-default config.hin source.
- Strengthen: Make sure config.h is properly updated when config.hin
- is changed.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_configure): Seeing Automake files in
- @other_input_files is a programming error, not merely something to
- ignore.
- Factor slightly the code.
-
-2001-10-26 Akim Demaille <akim@epita.fr>
-
- * automake.in ($canonical_location): New.
- Use it.
- (&require_config_file, $line_error): Remove.
-
-2001-10-24 Akim Demaille <akim@epita.fr>
-
- * automake.in: Use &verbose.
- (&generate_makefile, &scan_texinfo_file, &scan_aclocal_m4): Use
- Automake::XFile.
-
-2001-10-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/python.am (install-%DIR%PYTHON, uninstall-%DIR%PYTHON):
- Have the basename step optional and use %NDIR% instead of %DIR% in
- filenames in order to support 'nobase_'.
-
-2001-10-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_languages, handle_single_transform_list,
- lang_c_rewrite): Use require_conf_file instead of
- require_config_file to require depcomp or compile from
- Makefile.am. (This is a part of my patch of 2001-10-15 which got
- mistakenly reverted.)
-
-2001-10-24 Akim Demaille <akim@epita.fr>
-
- * tests/confh.test: Since 2001-10-20 Kevin Ryde, stamp-h is
- stamp-h1.
-
-2001-10-24 Akim Demaille <akim@epita.fr>
-
- Since the ansi2knr patch from 2001-10-20 Kevin Ryde, `$U' can
- appear in Makefile.in in the clean rule.
-
- * tests/cxxansi.test: Adjust.
-
-2001-10-24 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_print_error, &am_file_error, &am_macro_error)
- (&am_target_error, &am_line_error, &am_conf_error, &am_file_warning):
- Rename as...
- (&print_error, &file_error, &macro_error, &target_error, &line_error)
- (&conf_error, &file_warning): these.
- (&file_warning): Fix the prototype and argument handling.
- (&am_line_warning): Remove, unused.
-
- Also, repair the misapplication of previous patches.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in ($ac_output_location): Replace with...
- ($ac_config_files_location): this.
- (&scan_autoconf_traces): We don't need $file and $line, $here is
- enough.
- (&scan_one_autoconf_file): Use `$in_ac_output' to store the macro
- name (AC_OUTPUT or AC_CONFIG_FILES) for error messages.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&require_file_with_macro): Use &require_file.
- (&read_am_file): Move the definition of $here at its proper place.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in ($libtool_line, $seen_pythondir): Replace with...
- ($libtool_location, $pythondir_location): these.
- (&require_conf_file_with_line, &require_conf_file_with_line):
- Remove, unused.
- (&require_file): Don't forget $where.
- (&require_conf_file): Ahem... Fix the name.
- (&require_config_file): Invoke &require_conf_file, not yourself.
- (&am_line_error): Fix the default am_file_error invocation.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in ($seen_lispdir): Replace with...
- ($am_lispdir_location): this.
- (&require_conf_file): New.
- (&require_config_file, &require_conf_file_with_line,
- (&require_conf_file_with_conf_line): Use it.
- (&require_conf_file_with_macro): New.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in ($config_header_line, $ac_output_line)
- ($ac_gettext_line, $package_version_line): Replace with...
- ($config_header_location, $ac_output_location)
- ($ac_gettext_location, $package_version_location): these.
- (&require_file_with_conf_line, &require_file_with_line): Remove,
- no longer used.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&require_file_internal): Instead of $file and $line,
- take $where as first argument.
- Adjust all callers.
- (&require_file_with_macro): New.
- Use it where internal black magic was used to recover the location
- of a macro definition.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_am_file): Define and use `$here'.
- Avoid using am_line_error.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_target_error): New.
- Use it where appropriate instead of...
- (&am_line_error): this.
- Using it for a target is a croak error.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_macro_error): New.
- Use it where appropriate instead of...
- (&am_line_error): this.
- Using it for a macro is a croak error.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * tests/asm.test: s/AC_PROG_AS/AM_PROG_AS/.
- AC_OUTPUT a Makefile.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (%var_line): Rename as...
- (%var_location): this.
- Use it consistently as the location where the macro is defined,
- file and line when possible, otherwise just file.
- (&read_am_file): Rules have their own location tracking, don't
- pollute %var_location.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (am_line_error): Clarify.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_print_error): Set $exit_status since all your
- users do.
- (&am_error, &am_file_error, &am_line_error, &am_conf_error):
- Don't.
- (&am_conf_line_error, &am_conf_line_warning): Remove.
- Adjust callers to use &am_file_error and...
- (&am_file_warning): new.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * m4/regex.m4: Use AC_LIBOBJ.
- Require 2.50, and use AC_LIBSOURCES freely.
- * tests/asm.tests: Formatting changes.
- Exercise AM_PROG_AS.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * tests/install.test: This test is an empty shell, do not run
- automake.
- * tests/Makefile.am (TESTS): Don't run it.
- * tests/defs (ACLOCAL): When using gettext, pass in the installed
- aclocaldir.
- * tests/subdircond.test (SUBDIRS): AM_GNU_GETTEXT needs automake
- --add--missing.
- * tests/obsolete2.test: Remove, merged into...
- * tests/obsolete.test: here.
- Both aclocal and automake should complain.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (scan_autoconf_traces): Don't recognize AC_SUBSTs
- for symbols which cannot be Make macro names.
- (scan_one_autoconf_file): `$here' is new.
- Use it consistently instead of `1' to remember a token was seen.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * tests/subdircond.test: Requires gettext.
- * tests/libobj.test, tests/libobj10.test, tests/libobj2.test,
- * tests/libobj6.test, tests/libobj9.test, tests/libtool.test,
- * tests/libtool2.test, tests/ltdeps.test, tests/ltlibobjs.test,
- * tests/nolink.test, tests/obsolete.test, tests/pr72.test,
- * tests/sinclude.test, tests/subdircond.test, tests/subobj4.test:
- Produce valid configure.in, use aclocal appropriately, declare
- when libtool is required.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * m4/lex.m4: Don't run AC_DECL_YYTEXT, Autoconf does.
- * automake.texi (Macros, Yacc and Lex): Adjust.
- * automake.in ($seen_decl_yytext): Rename as...
- ($seen_prog_lex): this.
- (&scan_autoconf_traces): Add AC_PROG_LEX support.
- (&scan_one_autoconf_file, &lang_lex_finish): Adjust.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_autoconf_traces): Add support for
- AM_PATH_LISPDIR and AM_PATH_PYTHON.
-
-2001-10-21 Akim Demaille <akim@epita.fr>
-
- * tests/defs (ACLOCAL): Point to the installed aclocaldir if
- libtool is required.
- * tests/lex.test: Run AC_INIT once.
- * tests/ldflags.test, tests/listval.test, tests/suffix2.test:
- Libtool is required.
- * tests/header.test: Build a correct configure.in.
- * tests/defun2.test (configure.in): Be a bit respectful with
- Autoconf, close the macro invocations.
- * tests/confdeps.test: Even when not using aclocal, aclocal.m4
- must be correct.
-
- * automake.in (scan_autoconf_traces): Add support for
- AC_CANONICAL_HOST, AC_CANONICAL_SYSTEM, A[CM]_PROG_LIBTOOL,
- AM_CONFIG_HEADER, AM_MAINTAINER_MODE.
- * tests/condincl.test (target): Better pattern, to avoid matching
- the definition of `target_alias' which is now properly discovered
- as an AC_SUBST by traces.
- * cond4.test: Better grep pattern: After all, why shouldn't
- TWO_FALSE be AC_SUBST properly.
- * tests/installsh.test (AUTOMAKE, ACLOCAL): Adjust.
-
-2001-10-20 Kevin Ryde <user42@zip.com.au>
-
- * lib/am/ansi2knr.am (mostlyclean-kr): Only rm *_.c when
- actually using ansi2knr.
-
- * automake.in (handle_configure): Always put a number on $stamp_name,
- to match AM_CONFIG_HEADER.
-
-2001-10-20 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added condd.test.
- (XFAIL_TESTS): Added condd.test.
- * tests/condd.test: New file.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_autoconf_traces): Add support for
- AM_C_PROTOTYPES, AM_GNU_GETTEXT, AM_PROG_CC_C_O, and
- AC_CONFIG_AUX_DIR.
- * tests/alpha.test (configure.in): Automake wants a Makefile.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * automake.in (scan_autoconf_traces): Use an unlikely to be used
- separator between trace arguments, in particular not `:' as it is
- within AC_CONFIG_FILES's $1.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * tests/alpha.test (configure.in): Create, don't append. A single
- AC_INIT is enough.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * tests/acoutnoq.test, tests/acoutput.test, tests/acoutput2.test,
- * tests/acoutqnl.test, tests/acouttbs.test, tests/all.test,
- * tests/alpha.test, tests/ansi.test, tests/asm.test,
- * tests/auxdir.test, tests/auxdir2.test, tests/backsl2.test,
- * tests/badline.test, tests/block.test, tests/canon2.test,
- * tests/check.test, tests/checkall.test, tests/clean.test,
- * tests/colneq.test, tests/colneq2.test, tests/colon.test,
- * tests/colon2.test, tests/colon3.test, tests/colon4.test,
- * tests/colon5.test, tests/colon6.test, tests/colon7.test,
- * tests/comment.test, tests/comment3.test, tests/cond.test,
- * tests/cond2.test, tests/cond6.test, tests/cond7.test,
- * tests/condincl.test, tests/condincl2.test, tests/condman.test,
- * tests/condman2.test, tests/confdist.test, tests/confh.test,
- * tests/confh2.test, tests/confh3.test, tests/confvar.test,
- * tests/confvar2.test, tests/copy.test, tests/ctarget1.test,
- * tests/cxxcpp.test, tests/dash.test, tests/dejagnu.test,
- * tests/dejagnu2.test, tests/distcommon.test, tests/distdir.test,
- * tests/else.test, tests/empty.test, tests/exdir.test,
- * tests/exdir2.test, tests/extra3.test, tests/extra4.test,
- * tests/flibs.test, tests/fnoc.test, tests/fo.test,
- * tests/fonly.test, tests/fortdep.test, tests/fpinst2.test,
- * tests/fpinstall.test, tests/gcj2.test, tests/gnits.test,
- * tests/include.test, tests/info.test, tests/insh.test,
- * tests/insh2.test, tests/install.test, tests/installsh.test,
- * tests/instdata.test, tests/instdata2.test, tests/instexec.test,
- * tests/insthook.test, tests/instman.test, tests/instman2.test,
- * tests/java.test, tests/javaprim.test, tests/javasubst.test,
- * tests/libobj3.test, tests/link_f_only.test, tests/lisp.test,
- * tests/man.test, tests/mclean.test, tests/mdate.test,
- * tests/mdate2.test, tests/mdate3.test, tests/mdate4.test,
- * tests/mkinst2.test, tests/mkinstall.test, tests/nodepcomp.test,
- * tests/noinst.test, tests/obsolete.test, tests/obsolete2.test,
- * tests/outdir.test, tests/output.test, tests/output2.test,
- * tests/output3.test, tests/output4.test, tests/output5.test,
- * tests/package.test, tests/pluseq.test, tests/pluseq2.test,
- * tests/pluseq3.test, tests/pluseq5.test, tests/pluseq6.test,
- * tests/pluseq8.test, tests/ppf77.test, tests/pr2.test,
- * tests/primary.test, tests/proginst.test, tests/python.test,
- * tests/remake.test, tests/remake2.test, tests/remake3.test,
- * tests/rulepat.test, tests/scripts.test, tests/seenc.test,
- * tests/sinclude.test, tests/spell.test, tests/spell3.test,
- * tests/spelling.test, tests/stamph.test, tests/subdir.test,
- * tests/subdir2.test, tests/subdircond.test, tests/subst.test,
- * tests/symlink.test, tests/symlink2.test, tests/symlink3.test,
- * tests/syntax.test, tests/tags.test, tests/tagsub.test,
- * tests/texinfo.test, tests/texinfo10.test, tests/texinfo2.test,
- * tests/texinfo3.test, tests/texinfo4.test, tests/texinfo5.test,
- * tests/texinfo6.test, tests/texinfo7.test, tests/texinfo8.test,
- * tests/texinfo9.test, tests/vars.test, tests/vartar.test,
- * tests/version.test, tests/version2.test, tests/version3.test,
- * tests/version4.test, tests/vpath.test, tests/vtexi.test,
- * tests/vtexi2.test, tests/werror.test: Run aclocal before automake.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * tests/acoutnoq.test, tests/acoutput.test, tests/acoutqnl.test,
- * tests/acouttbs.test, tests/asm.test, tests/colon.test,
- * tests/colon2.test, tests/colon3.test, tests/colon4.test,
- * tests/colon5.test, tests/colon6.test, tests/colon7.test,
- * tests/conf2.test, tests/confh.test, tests/confh2.test,
- * tests/confh3.test, tests/confh4.test, tests/config.test,
- * tests/confsub.test, tests/depend3.test, tests/discover.test,
- * tests/fpinst2.test, tests/fpinstall.test, tests/gnits.test,
- * tests/header.test, tests/ldadd.test, tests/ldflags.test,
- * tests/libobj.test, tests/libobj10.test, tests/libobj2.test,
- * tests/libobj6.test, tests/libobj7.test, tests/libobj8.test,
- * tests/libobj9.test, tests/mdate4.test, tests/obsolete.test,
- * tests/output.test, tests/output2.test, tests/output3.test,
- * tests/output4.test, tests/output5.test, tests/package.test,
- * tests/parse.test, tests/pr2.test, tests/remake.test,
- * tests/remake2.test, tests/remake3.test, tests/scripts.test,
- * tests/stamph.test, tests/subdir.test, tests/subdir2.test,
- * tests/subdir4.test, tests/subdirbuiltsources.test,
- * tests/subobj4.test, tests/tagsub.test, tests/texinfo8.test,
- * tests/yacc5.test, tests/yacc6.test, tests/yacc7.test: Remove
- AC_ARG_PROGRAM, AC_PROG_INSTALL and AC_PROG_MAKE_SET invocation
- since AM_INIT_AUTOMAKE requires them.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * tests/defs (configure.in): Use credible AM_INIT_AUTOMAKE
- arguments.
- Don't run AC_ARG_PROGRAM another time, it is required by
- AM_INIT_AUTOMAKE.
- * tests/aclocal.test: Work on the default configure.in
- * tests/config.test (configure.in): Don't AC_ARG_PROGRAM.
- First AM_INIT_AUTOMAKE, then AM_CONFIG_HEADER.
-
- Be realistic in testing: AC_INIT is required for Autoconf.
- Broken so called optimized tests break trace handling.
-
- * tests/aclibobj.test, tests/aclocal.test, tests/acoutnoq.test,
- * tests/acoutput.test, tests/acoutput2.test, tests/acoutqnl.test,
- * tests/acouttbs.test, tests/acsilent.test, tests/alpha.test,
- * tests/colon.test, tests/colon2.test, tests/colon3.test,
- * tests/colon4.test, tests/colon5.test, tests/colon6.test,
- * tests/colon7.test, tests/cond.test, tests/cond2.test,
- * tests/cond3.test, tests/cond5.test, tests/conf2.test,
- * tests/confh.test, tests/confh2.test, tests/confh3.test,
- * tests/confh4.test, tests/config.test, tests/confsub.test,
- * tests/ctarget1.test, tests/depcomp.test, tests/depend3.test,
- * tests/distcommon.test, tests/dup3.test, tests/fpinst2.test,
- * tests/fpinstall.test, tests/header.test, tests/ldflags.test,
- * tests/libobj.test, tests/libobj10.test, tests/libobj2.test,
- * tests/libobj6.test, tests/libobj7.test, tests/libobj8.test,
- * tests/libobj9.test, tests/output.test, tests/output2.test,
- * tests/output3.test, tests/output4.test, tests/parse.test,
- * tests/pr2.test, tests/recurs.test, tests/recurs2.test,
- * tests/remake.test, tests/remake2.test, tests/remake3.test,
- * tests/req.test, tests/scripts.test, tests/subdir.test,
- * tests/subdir2.test, tests/subdir4.test, tests/subobj4.test,
- * tests/tagsub.test, tests/texinfo8.test, tests/version.test,
- * tests/version2.test: Add AC_INIT in `configure.in'.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_autoconf_traces): Add support for
- AM_INIT_AUTOMAKE, AM_CONDITIONAL.
- Let @args have a more natural M4 correspondence: $1 is args[1], no
- args[0] etc.
- (&scan_autoconf_files): Using autoconf traces is no longer a
- complement of the previous ad hoc scheme: use either.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_one_autoconf_file): `%generalize' is new, and
- factors dedicated $libsources assignments.
-
-2001-10-20 Akim Demaille <akim@epita.fr>
-
- * m4/error.m4, m4/obstack.m4, m4/ptrdiff.m4, m4/strtod.m4:
- Remove, since Autoconf 2.52 has them.
- * automake.in, aclocal.in, automake.texi: Adjust.
-
-2001-10-19 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_main_am_file): s/generated automatically/
- generated/.
- Insert @configure_input@, since 2.50 no longer output this
- automatically for Makefiles.
-
-2001-10-19 Kevin Ryde <user42@zip.com.au>
-
- * lib/am/check.am (check-TESTS): Add an "else true" to work with
- Ultrix 4.5 /bin/sh when $(TESTS) is empty.
-
-2001-10-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Add nobase.test.
- * tests/nobase.test: New file. Based on a bug report
- from Martin Frydl <martin@idoox.com>.
-
-2001-10-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (am_install_var): Don't strip nobase_ from $X, do
- this with $nodir_name only. Use $nodir_name where appropriate.
-
-2001-10-15 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_languages, handle_single_transform_list,
- lang_c_rewrite): Use require_conf_file instead of
- require_config_file to require depcomp or compile from Makefile.am.
- (require_aux_file_with_line): New function, adapted from
- require_conf_gile_with_line.
- (require_conf_file_with_line, require_conf_file_with_conf_line):
- Simplify using require_aux_file_with_line.
- (require_config_file): Simplify using require_conf_file_with_conf_line.
- (require_conf_file): New function.
-
-2001-10-15 Akim Demaille <akim@epita.fr>
-
- * m4/depend.m4 (AM_DEP_TRACK): Use AC_SUBST([AMDEPBACKSLASH])
- normally, what is wrong is that automake outputs a variable
- definition for it, hence...
- * automake.in (scan_one_autoconf_file): don't.
-
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): New, extracted
- from...
- (AM_OUTPUT_DEPENDENCY_COMMANDS): here. Adjust.
- Use AC_CONFIG_COMMANDS.
- (_AM_OUTPUT_DEPENDENCY_COMMANDS): Use AS_DIRNAME and AS_MKDIR_P.
-
-2001-10-15 Akim Demaille <akim@epita.fr>
-
- * m4/header.m4 (AM_CONFIG_HEADER): Don't use m4_patsubst.
-
-2001-10-15 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_conditions): Be deterministic and Perl
- version independent: sort the result.
- (&variable_output, &variable_pretty_output): Sort all the @conds,
- not only when defaulted.
- * tests/cond3.test: Adjust.
-
-2001-10-15 Akim Demaille <akim@epita.fr>
-
- * automake.in: Formatting changes.
-
-2001-10-15 Akim Demaille <akim@epita.fr>
-
- * aclocal.in: Use Automake::General and Automake::XFile.
- Use find_configure_ac.
- Output the Emacs tags for Autoconf mode selection.
-
-2001-10-10 Akim Demaille <akim@epita.fr>
-
- * lib/COPYING, COPYING, lib/config.guess, lib/config.sub: Update
- from master copies.
-
-2001-10-09 Akim Demaille <akim@epita.fr>
-
- Do not use Autoconf internals.
-
- * tests/dirname.test: Don't use AC_PLAIN_SCRIPT.
- * m4/header.m4 (_AM_DIRNAME): Use regexp and patsubst, not
- m4_regexp and m4_patsubst, since the latter are reserved for ERE
- macro in GNU M4 1.5.
-
-2001-10-08 Akim Demaille <akim@epita.fr>
-
- * m4/cond.m4 (AM_CONDITIONAL): Don't use m4_match as Autoconf
- changed its name.
-
-2001-10-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (scan_autoconf_files): Use find_configure_ac from
- General.
-
-2001-10-02 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/Struct.pm: Update from Autoconf.
- * lib/Automake/General.pm, lib/Automake/XFile.pm: New, from CVS
- Autoconf.
- * automake.in: Use them.
- (&uniq, $me): Remove, as they are provided by Automake::General.
-
-2001-10-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Don't check for 'cd' calls in m4.
- * lib/am/tags.am (GTAGS): Use $(am__cd) instead of 'CDPATH=: && cd'.
- * lib/am/dejagnu.am (check-DEJAGNU): Likewise.
- * lib/am/distdir.am (distcheck): Likewise.
- * lib/am/texinfos.am (install-info-am, dist-info): Rewrite without
- using cd so we don't have to fiddle with CDPATH.
- * lib/am/header-vars.am (am__cd): Define so as to support Zsh and
- DOSish path separator.
-
-2001-10-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/python.am (install-%DIR%PYTHON,
- uninstall-%DIR%PYTHON): Strip path of source file.
- (clean-python): Comment out.
-
-2001-10-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_python): Use require_conf_file_with_conf_line
- instead of require_file_with_conf_line, so that elisp-comp and
- py-compile are installed in the aux-directory.
- (handle_emacs_lisp): Likewise. Define elisp_comp.
- * lib/am/lisp.am (.el.elc): Use elisp_comp.
-
-2001-10-01 Akim Demaille <akim@epita.fr>
-
- * lib/am/distdir.am (distcheck): Report the trailing files.
- Run `dist-gzip', not `dist', as it may leave other distribution
- flavors.
-
-2001-09-29 Paul Eggert <eggert@twinsun.com>
-
- * lib/mkinstalldirs: Use "mkdir -p" if it works, as that fixes
- bugs when making file names with unusual characters. Quote chmod
- arg "$dirmode", in case it contains white space.
-
- Incorporate the following change from autoconf mkinstalldirs:
-
- 1999-04-10 Ben Elliston <bje@cygnus.com>
-
- Add `-m' flag to specify the mode of a newly created
- directory. Add command line usage and `-h', `--help' options.
- Contributed by Jeff Garzik.
-
-2001-09-27 Akim Demaille <akim@epita.fr>
-
- * m4/cond.m4, m4/init.m4, m4/header.m4: Remove Autoconf 2.13 code.
-
-2001-09-27 Akim Demaille <akim@epita.fr>
-
- * lib/am/distdir.am (dist): Rename as...
- (dist-gzip): this.
- (dist): Additional name for dist-all.
- * automake.texi (Options, Dist): Adjust.
-
-2001-09-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in (obsolete_macros): Update AM_EXEEXT message.
- * automake.in (obsolete_macros): Likewise.
- (seen_objext): Remove (unused).
- (scan_one_autoconf_file): Don't handle AC_OBJEXT.
- * lib/am/header-vars.am (EXEEXT, OBJEXT,
- PATH_SEPARATOR): New variables.
- * tests/obsolete2.test: Use AM_FUNC_FNMATCH instead of AM_EXEEXT.
-
-2001-09-23 Tim Van Holder <tim.van.holder@pandora.be>
-
- * m4/auxdir.m4, m4/init.m4: Require autoconf 2.50 and rely on it to
- neutralize CDPATH for us.
- * m4/init.m4: Don't substitute EXEEXT or OBJEXT anymore.
- * lib/am/texibuild.am: Use $(PATH_SEPARATOR), not ':' to build
- TEXINPUTS.
-
-2001-09-22 Akim Demaille <akim@epita.fr>
-
- * configure.in, NEWS: Bump to 1.5a.
- Require 2.52.
-
-2001-09-22 Paul Eggert <eggert@twinsun.com>
-
- * ChangeLog, ChangeLog.1996, ChangeLog.1998, ChangeLog.2000,
- Makefile.am, NEWS, README, TODO, configure.in, lib/Makefile.am,
- lib/acinstall, lib/am/Makefile.am, m4/Makefile.am, m4/as.m4,
- m4/auxdir.m4, m4/ccstdc.m4, m4/cond.m4, m4/depend.m4,
- m4/depout.m4, m4/dmalloc.m4, m4/error.m4, m4/gcj.m4, m4/header.m4,
- m4/init.m4, m4/install-sh.m4, m4/lex.m4, m4/lispdir.m4,
- m4/maintainer.m4, m4/make.m4, m4/minuso.m4, m4/missing.m4,
- m4/multi.m4, m4/obstack.m4, m4/protos.m4, m4/ptrdiff.m4,
- m4/python.m4, m4/regex.m4, m4/sanity.m4, m4/strip.m4,
- m4/termios.m4, m4/winsz.m4: Add copyright notice.
-
- * INSTALL, lib/INSTALL: Upgrade to latest autoconf version,
- which has a copyright notice.
-
- * m4/strtod.m4: Correct the dates on the copyright notice.
-
-2001-09-17 Akim Demaille <akim@epita.fr>
-
- * lib/missing (autom4te): New.
- (aclocal, autoconf, automake, autoheader, help2man): Propagate
- actual failures.
-
-2001-08-27 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (A Shared Library): Clarify installation
- requirement.
- (Install): Typo. From Adrian Bunk.
-
-2001-08-27 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Macros): Typo fix.
- From Christian Cornelssen
-
-2001-08-27 Tom Tromey <tromey@redhat.com>
-
- * tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test,
- tests/cond4.test, tests/cond16.test, tests/cond18.test,
- tests/cond19.test, tests/depcomp2.test, tests/depend2.test,
- tests/lex3.test, tests/pr87.test, tests/subobj3.test,
- tests/substref.test: Clear CFLAGS.
-
- * automake.texi (Yacc and Lex): Mention lex, not yacc.
- From Alexey Mahotkin.
-
-2001-08-27 Tom Tromey <tromey@redhat.com>
-
- * tests/yacc7.test: Use test -f, not test -e.
-
-2001-08-27 Adrian Bunk <bunk@fs.tum.de>
-
- * automake.texi (etags): Typo fix.
-
-2001-08-27 Guido Draheim <guidod@gmx.de>
-
- * automake.in : restrict ansi2knr option to be a filepath
-
-2001-08-23 Richard Boulton <richard@tartarus.org>
-
- * tests/yacc7.test: Actually add this file: was accidentally omitted.
-
-2001-08-22 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Conditionals): Mention that conditionals must
- always be invoked. For PR automake/220.
-
-2001-08-22 Richard Boulton <richard@tartarus.org>
- Tom Tromey <tromey@redhat.com>
-
- * automake.in (lang_yacc_target_hook): Make header file depend on
- .c file, not .y file.
- * lib/am/yacc.am: Non-generic rule changed to depend on %OBJ% (the
- .c file) rather than %SOURCE% (the .y file) Removed `.y.h' rule.
- * tests/yacc7.test: New file.
- * tests/Makefile.am (TESTS): Added yacc7.test.
-
-2001-08-22 Tim Van Holder <tim.van.holder@pandora.be>
-
- * m4/missing.m4: Require AM_AUX_DIR_EXPAND and use $am_aux_dir.
-
-2001-08-18 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Dist): Mention dist-all.
-
-2001-08-18 Tom Tromey <tromey@redhat.com>
-
- * tests/cond3.test: Use portable sed expression.
- From Richard Boulton.
-
-2001-08-13 Richard Boulton <richard@tartarus.org>
-
- * automake.in (handle_source_transform): Call
- define_objects_from_sources() instead of calling
- variable_value_as_list(), handle_single_transform_list() and
- define_pretty_variable() directly.
- (handle_single_transform_list): Add $topparent parameter, used for
- error messages. Improved error message.
- (define_objects_from_sources): New function.
- (subobjname): New function.
- (variable_conditions_recursive): New name for variable conditions.
- (variable_value_as_list_recursive): New name for variable_value_as_list.
- (variable_value_as_list_worker): Renamed to ...
- (variable_value_as_list_recursive_worker): ... this.
- (variable_conditions_sub): Renamed to ...
- (variable_conditions_recursive_sub): ... this.
- (variable_conditions): Rewritten: now doesn't recurse subvariables.
- (variable_value_as_list): Rewritten: now doesn't recurse subvariables.
- (substfroms): New global.
- (substtos): New global.
- (substnums): New global.
- * tests/cond3.test: Update to work with new method of defining _OBJECTS.
- * tests/cond4.test: Update to work with new method of defining _OBJECTS.
- * tests/sourcesub2.test: New test.
- * tests/Makefile.am (TEST): Added sourcesub2.test.
-
-2001-08-11 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Upped to 1.4s.
-
-2001-08-09 Richard Boulton <richard@tartarus.org>
-
- * automake.in (handle_single_transform_list): Use new global,
- `%linkers_used', to store the linkers used, rather than an internal
- variable. Enables correct linker to be calculated across a group
- of calls to &handle_single_transform_list. Return only list of
- objects, since linker to be used is now externally determined.
- (handle_source_transform): adapted for new calling conventions of
- handle_single_transform_list. Calls resolve_linker() on a set of
- all the linkers used for any prefix, rather than for each prefix in
- turn.
- (linkers_used): New global.
- * tests/link_dist.test: New test.
- * tests/Makefile.am (TESTS): Added link_dist.test.
-
-2001-08-08 Raja R Harinath <harinath@cs.umn.edu>
-
- Dissociate testsuite 'make' invocations from outer 'make'.
- * tests/defs: Unset the MFLAGS, MAKEFLAGS and MAKELEVEL
- environment variables.
- * tests/cond16.test: Use '$MAKE -s', and avoid GNU make
- dependency.
- * tests/substref.test: Likewise.
-
-2001-08-08 Richard Boulton <richard@tartarus.org>
-
- * tests/cond18.test: New file.
- * tests/cond19.test: New file.
- * tests/cond20.test: New file.
- * tests/cond4.test: Updated to check the generated _OBJECTS more
- thoroughly.
- * tests/Makefile.am (TESTS): Added cond18.test, cond19.test and
- cond20.test
-
-2001-08-08 Richard Boulton <richard@tartarus.org>
-
- * automake.in (file_contents_internal): if a rule is conditionally
- defined, define the standard automake definition for it for those
- conditions which are not conditionally defined.
- (invert_conditions): New function: invert a list of conditionals.
-
- * tests/cond14.test: New file.
- * tests/cond15.test: New file.
- * tests/Makefile.am (TESTS): Added cond14.test and cond15.test.
-
-2001-08-05 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added dejagnu2.test.
- * tests/dejagnu2.test: New file.
- * lib/am/dejagnu.am (site.exp): Don't conditionalize.
- * automake.in (handle_scripts): Removed dead code.
- (handle_tests_dejagnu): Don't handle site.exp generation
- specially.
-
-2001-08-04 Richard Boulton <richard@tartarus.org>
-
- * tests/cond17.test: New file: test for being able to define an
- object to be generated in different ways according to a
- conditional.
- * tests/Makefile.am (XFAIL_TESTS): Add cond17.test.
- (TESTS): Added cond17.test.
-
-2001-08-02 Richard Boulton <richard@tartarus.org>
-
- * automake.in (variable_conditions_sub): Handle variable
- substitution refs when computing conditions based on subvariable
- conditions. Fixes substitution refs of system variables when sub
- variable is conditional.
- (SUBST_REF_PATTERN): New global.
- * tests/cond16.test: New file: regression test for variable
- substitution refs.
- * test/Makefile.am (TESTS): Added cond16.test.
-
-2001-08-03 Tom Tromey <tromey@redhat.com>
-
- * tests/substref.test: Require GNU make; backed out previous
- change.
-
- * tests/substref.test: Handle entering/leaving directory
- messages.
-
-2001-08-03 Richard Boulton <richard@tartarus.org>
-
- * automake.in (value_to_list): Check for whether $from is defined,
- rather than whether it is true, so that empty $froms are allowed in
- substitution reference patterns.
-
- * tests/substref.test: New file: test behavior of substitution
- references when the $from side of the substitution is empty.
- * tests/Makefile.am (TESTS): Added substref.test.
-
-2001-08-03 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/install-sh.m4: New file.
- * m4/Makefile.am (m4data_DATA): Add install-sh.m4.
- * m4/missing.m4 (AM_MISSING_INSTALL_SH): Move ...
- * m4/install-sh.m4 (AM_PROG_INSTALL_SH): ... here. Don't check
- for install.sh any longer, always use install-sh, don't even
- fall back to missing. Use $am_aux_dir, making $install_sh absolute.
- * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Simplify, since $install_sh
- is absolute.
- * m4/init.m4: Adjust call to AM_PROG_INSTALL_SH.
-
-2001-08-02 Tim Van Holder <tim.van.holder@pandora.be>
-
- * automake.texi (EXEEXT): Clarify.
-
-2001-08-01 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/missing.m4 (AM_MISSING_HAS_RUN): Typo.
-
- * m4/auxdir.m4: More comments.
-
-2001-07-31 Richard Boulton <richard@tartarus.org>
- Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (variable_conditions_sub): Remove @parent_conds
- argument. This was old logic - duplicate or impossible
- conditionals are removed later by &variable_conditions_reduce().
- Fixes tests/cond13.test.
- (conditionals_true_when): Removed.
- * tests/Makefile.am (XFAIL_TESTS): Removed cond13.test.
-
-2001-07-31 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added cond13.test.
- (XFAIL_TESTS): Likewise.
- * tests/cond13.test: New file.
-
- * configure.in: Upped to version 1.4k.
-
- * configure.in: Released 1.4j.
-
- * lib/config.guess: Updated from master sources.
- * lib/config.sub: Likewise.
-
-2001-07-30 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (A Program): Typo. Added subsections and more
- text about conditional compilation.
- (A Shared Library): Moved earlier.
- (Program variables): Updated LINK text. Added AM_CFLAGS.
- (C++ Support): Added AM_CXXFLAGS.
- (Fortran 77 Support): Added AM_FFLAGS and AM_RFLAGS.
- (EXEEXT): New node.
-
- * tests/Makefile.am (TESTS): Added aclibobj.test.
- * tests/aclibobj.test: New file.
- * automake.in (handle_lib_objects_cond): Avoid undefined variable
- error.
- (scan_one_autoconf_file): Handle AC_LIBSOURCE and AC_LIBSOURCES.
-
- * automake.texi (Dist): Mention other distribution types.
- (Install): Updates.
-
-2001-07-29 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Program and Library Variables): Texinfo fix.
- From Alexey Mahotkin.
-
-2001-07-28 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Strictness): Mention Cygnus mode.
- (Cygnus): Updated.
- (Uniform): Likewise.
- (Canonicalization): Likewise.
- (Install): Add `nobase_' to example; typo fix.
- (Clean): Typo.
- (Dist): Expand on putting a directory into EXTRA_DIST. Insert
- section markers.
- (Options): Texinfo fixes; some text updates.
- (Tags): Update.
-
-2001-07-27 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Invoking Automake): Document --Werror and
- --Wno-error.
-
-2001-07-26 Tom Tromey <tromey@redhat.com>
-
- * tests/nolink.test: Added no-exeext.
-
- * automake.in (check_variable_defined_unconditionally): Don't call
- macro_dump.
-
- * automake.texi (Optional): Don't mention ALL_LINGUAS.
- (gettext): Likewise.
- * automake.in (seen_linguas, all_linguas, all_linguas_line):
- Removed.
- (handle_gettext): Don't do any checking of the languages.
- (scan_one_autoconf_file): Don't look for ALL_LINGUAS.
-
- * automake.in (am_print_error): New function.
- (am_error): Use it.
- (am_file_error): Likewise.
- (am_line_error): Likewise.
- (am_conf_error): Likewise.
- (am_conf_line_error): Likewise.
-
- * automake.texi (Options): Document no-exeext.
- * automake.in (handle_options): Recognize no-exeext.
- (rule_define): Handle no-exeext.
- * tests/Makefile.am (TESTS): Added new file.
- * tests/exeext2.test: New file.
-
- * automake.in (make_input_list): Removed.
- (scan_autoconf_config_files): Don't add to make_input_list.
- (scan_one_autoconf_file): Don't use make_input_list.
- (scan_autoconf_files): Use make_list, not make_input_list.
- (scan_autoconf_files): Likewise.
-
- * automake.in (seen_exeext): Removed.
- (generate_makefile): Don't define EXEEXT or OBJEXT.
- (scan_one_autoconf_file): Don't check for AC_EXEEXT.
- (am_install_var): Don't check $seen_exeext.
- (handle_programs): Likewise.
- (rule_define): Allow x to override x$(EXEEXT), for now.
- (file_contents_internal): Only define rule if rule_define allows
- us to.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Define EXEEXT and OBJEXT.
-
-2001-07-25 Tom Tromey <tromey@redhat.com>
-
- From Nicolas Joly:
- * tests/pr9.test: Require GNU make.
- * tests/dirname.test: Don't use `-u'.
-
-2001-07-22 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added auxdir2.test.
- (XFAIL_TESTS): Likewise.
- * tests/auxdir2.test: New file.
-
- * tests/Makefile.am (XFAIL_TESTS): Removed substtarg.test.
- * automake.in (TARGET_PATTERN): Add `@' as allowable character.
-
- * tests/Makefile.am (XFAIL_TESTS): Removed exeext.test.
- * automake.in (am_install_var): Add $(EXEEXT) even if program name
- holds `.'. Don't add $(EXEEXT) if program name already has it.
- (handle_programs): Don't add $(EXEEXT) if user already did.
- (make_paragraphs): Don't compute EXEEXT.
-
- * tests/Makefile.am (TESTS): Added exeext.test.
- (XFAIL_TESTS): Likewise.
- * tests/exeext.test: New file.
-
-2001-07-22 Tom Tromey <tromey@redhat.com>
-
- * lib/am/progs.am (install-%DIR%PROGRAMS): Test for `prog', not
- `prog.exe' on Cygwin with libtool. From Robert Collins.
-
-2001-07-21 Tim Van Holder <tim.van.holder@pandora.be>
-
- * tests/dirname.test: Explicitly use $SHELL to run the
- script; this avoids failures on DJGPP.
- * tests/install2.test: Skip if 'chmod 000' doesn't make
- a file unreadable.
-
-2001-07-21 Tom Tromey <tromey@redhat.com>
-
- * tests/libtool2.test: Check for libtoolize.
-
- * tests/Makefile.am (TESTS): Added substtarg.test.
- (XFAIL_TESTS): Likewise.
- * tests/substtarg.test: New file.
-
- * automake.in (handle_dist): Handle case where aux dir doesn't
- have a Makefile. Fixes depdist.test.
- * tests/Makefile.am (XFAIL_TESTS): Removed depdist.test.
- * tests/depdist.test: Look for config/depcomp.
-
- * tests/Makefile.am (TESTS): Added depdist.test.
- (XFAIL_TESTS): Likewise.
- * tests/depdist.test: New file. From Eric Magnien.
-
- * tests/ccnoco.test: Removed `configure.2' test; in autoconf 2.50
- AC_PROG_CC_C_O does require AC_PROG_CC.
-
- From Erik Lindahl:
- * lib/depcomp (tru64): Some Tru64 compilers use `foo.d' and not
- `foo.o.d'.
- * m4/depend.m4 (_AM_DEPENDENCIES): Check to make sure compilation
- output is suitable for make.
-
- * automake.texi (Macros): Document AM_PROG_AS.
- (Assembly Support): New node.
- * m4/Makefile.am (m4data_DATA): Added as.m4.
- * m4/as.m4: New file.
-
- * automake.texi (Tags): Added uref to global tags.
-
-2001-07-21 Tim Van Holder <tim.van.holder@pandora.be>
-
- * automake.in (handle_single_transform_list): Use $(DEPDIR)
- instead of hardcoding '.deps'.
- * m4/depend.m4 (AM_SET_DEPDIR): Sync with libtool's libdir check.
-
-2001-07-20 Derek Price <dprice@collab.net>
-
- * m4/header.m4 (AM_CONFIG_HEADER): Create stamp-h files in the correct
- locations.
- * tests/dirname.test: New test.
- * tests/stamph2.test: New test.
- * tests/Makefile.am: Add new tests.
- * tests/Makefile.in: Regenerated.
-
-2001-07-19 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Tags): Document GTAGS_ARGS.
- * lib/am/tags.am (GTAGS): Added GTAGS_ARGS. From Shigio Yamaguchi.
-
-2001-07-19 Tom Tromey <tromey@redhat.com>
- Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for ccnoco.test, subobj8.test:
- * m4/Makefile.am (m4data_DATA): Added auxdir.m4.
- * tests/Makefile.am (XFAIL_TESTS): Removed ccnoco.test,
- subobj8.test.
- * m4/minuso.m4 (AM_PROG_CC_C_O): Use absolute path to compile.
- Use AM_AUX_DIR_EXPAND.
- * lib/compile: Handle case where `-o' argument is the name of an
- executable, not an object file.
- * m4/auxdir.m4: New file, from...
- * m4/missing.m4: ... here. Moved AM_AUX_DIR_EXPAND.
- * automake.in (handle_single_transform_list, lang_c_rewrite):
- Require compile using `require_config_file'.
-
-2001-07-19 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Program and Library Variables): Added X example
- for _LDADD.
-
-2001-07-19 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Distributing): Updated to reflect new license.
-
-2001-07-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (require_build_directory): New function, extracted
- from ...
- (handle_single_transform_list): ... here.
- (require_build_directory_maybe): New function.
- (handle_prograns, handle_libraries, handle_ltlibraries): Call
- require_build_directory_maybe() to ensure the subdirectory
- in which a target may lie will exist when the target is created.
- (handle_libraries, handle_ltlibraries): Use basename before
- checking library name.
- * lib/am/library.am (%LIBRARY%): Depend on %DIRSTAMP%.
- * lib/am/ltlibrary.am (%LTLIBRARY%): Likewise.
- * lib/am/program.am (%PROGRAM%): Likewise.
-
-2001-07-18 Tim Van Holder <tim.van.holder@pandora.be>
-
- * m4/missing.m4: Reword comment.
-
-2001-07-18 Pavel Roskin <proski@gnu.org>
-
- * automake.texi: Rename AM_DEPENDENCIES to _AM_DEPENDENCIES.
- * tests/gcj.test: Likewise.
- * tests/gcj2.test: Likewise.
- * tests/gcj3.test: Likewise.
-
-2001-07-18 Tom Tromey <tromey@redhat.com>
-
- * lib/compile: Change how lockdir is computed. If linking or
- compiling without `-o', just run the compiler.
-
- * tests/Makefile.am (TESTS): Added ccnoco.test.
- (XFAIL_TESTS): Likewise.
- * tests/ccnoco.test: New file.
-
-2001-07-17 Tom Tromey <tromey@redhat.com>
-
- * lib/ylwrap: Added special exception.
- * lib/py-compile: Added license.
- * lib/mdate-sh: Added special exception.
- * lib/elisp-comp: Added special exception.
- * lib/compile: Added special exception.
- * lib/depcomp: Added special exception.
-
- Report from Motoyuki Kasahara:
- * tests/make.test: Use am__include.
- * tests/exsource.test: Use am__include.
- * m4/make.m4 (AM_MAKE_INCLUDE): Use am__include and am__quote.
- * automake.in (handle_languages): Use am__include and am__quote.
-
- * m4/depend.m4 (AM_DEPENDENCIES): Renamed to _AM_DEPENDENCIES.
- * m4/init.m4: Updated callers.
-
-2001-06-10 Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
-
- * aclocal.in (parse_arguments, write_aclocal): Update Copyrights.
- * aclocal.in (scan_configure, add_file): Handle the full macro
- name even if it contains numbers, such as I18N.
-
-2001-07-16 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Dependencies): Link to dependency tracking page.
- (Data): Mention dist_.
- (Clean): Mention clean heuristics.
- (Install): Mention nobase_.
-
- * automake.texi (Program and Library Variables): Document _LINK.
-
-2001-07-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_libraries): Allow libraries to lie in
- a subdirectory by constraining only the basename to start
- with 'lib', not the whole path.
-
-2001-07-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/subobj8.test: New file.
- * tests/Makefile.am (XFAIL_TESTS, TESTS): Add subobj8.test.
-
-2001-07-16 Tom Tromey <tromey@redhat.com>
-
- Fix for PR automake/212:
- * lib/am/lisp.am (install-%DIR%LISP): Added missing `\'.
- (uninstall-%DIR%LISP): Likewise.
-
-2001-07-15 Tom Tromey <tromey@redhat.com>
-
- * automake.in (usage): Rewrote code to handle columnization.
- From Alexey Mahotkin and Maxim Sinev.
-
- Report from Ralf Corsepius:
- * automake.in (TARGET_PATTERN): Add `+' as valid character.
- (SUFFIX_RULE_PATTERN): Likewise.
- * tests/Makefile.am (TESTS): Added cxx.test.
- * tests/cxx.test: New file.
-
- * lib/am/tags.am (distclean-tags): Remove files for gtags.
- From Shigio Yamaguchi.
-
-2001-07-14 Steve M. Robbins <steve@nyongwa.montreal.qc.ca>
-
- * lib/am/distdir.am (distcheck): Emit diagnostic when files
- remain after "make uninstall".
-
-2001-07-14 Tom Tromey <tromey@redhat.com>
-
- * lib/am/tags.am (.PHONY): Depend on GTAGS. From Shigio Yamaguchi.
-
- * lib/missing (makeinfo): Redirect stdout and stderr outside
- subshell. From Alexandre Oliva.
-
-2001-07-14 Akim Demaille <akim@epita.fr>
-
- * automake.in ($obsolete_rx): No need for `\b(foo\b|\bbar)\b',
- `\b(foo|bar)\b' is what we want.
- * aclocal.in: Likewise.
-
-2001-07-14 Akim Demaille <akim@epita.fr>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Don't define `depcpp' which is
- not used.
- Do not require the corresponding AC_PROG_CC as AC_PROG_CC is
- actually modified to require AM_DEPENDENCIES.
- Rename `confdir' as `conftest.dir' so that the configure trap
- remove it.
-
-2001-07-04 Tom Tromey <tromey@redhat.com>
-
- Fix for nolink.test:
- * tests/Makefile.am (XFAIL_TESTS): Removed nolink.test.
- * lib/am/program.am (%PROGRAM%%EXEEXT%): Use %EXEEXT%.
- * automake.in (am_install_var): Only rewrite PROGRAMS if
- $seen_exeext.
- (make_paragraphs): Always define %EXEEXT%.
-
-2001-07-04 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/nolink.test: New file.
- * tests/Makefile.am (TEST, XFAIL_TESTS): Add nolink.test.
-
-2001-07-04 OKUJI Yoshinori <okuji@gnu.org>
-
- * automake.in (scan_texinfo_file): Add the second argument to
- `@syncodeindex' into @CLEAN_SUFFIXES, because the combined index
- itself may not be used directly.
-
-2001-07-04 Tom Tromey <tromey@redhat.com>
-
- * missing: Updated.
- * lib/missing (makeinfo): Use subshell, not explicit sh
- invocation.
-
- * automake.texi (Headers): Mention that we prefer uninstalled
- headers in _SOURCES.
- (ANSI): Mention cross-compilation limitation.
-
-2001-07-03 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Upped to 1.4i.
-
- * configure.in: Released 1.4h.
-
- * lib/config.guess, lib/config.sub: Updated.
-
-2001-07-02 Tom Tromey <tromey@redhat.com>
-
- Fix for libtool2.test:
- * tests/libtool2.test: Use `rm -f' to placate maintainer-check.
- * lib/am/libtool.am (distclean-libtool): Conditional on TOPDIR.
- * automake.in (generate_makefile): Call handle_libtool
- unconditionally.
- * tests/Makefile.am (XFAIL_TESTS): Removed libtool2.test.
-
- * tests/libtool2.test: Look for `.lo' files to be removed.
-
- * tests/Makefile.am (XFAIL_TESTS): Added libtool2.test.
-
- * tests/Makefile.am (TESTS): Removed dup.test.
- * tests/dup.test: Removed.
- * aclocal.in (scan_file): Don't give error for duplicate macro.
-
-2001-07-01 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Program and Library Variables): Document
- subdir-objects. Document fact that per-object flags override AM_
- flags.
- (Options): Likewise.
- (Yacc and Lex): Document YFLAGS, AM_YFLAGS, LFLAGS, AM_LFLAGS.
- (Multilibs): New node.
- (Macros): Documented missing macros.
- (Auxiliary Programs): New node.
-
- * lib/missing (makeinfo): If makeinfo exists, and we're in --run
- mode, then simply fail.
-
-2001-07-01 Tim Van Holder <tim.van.holder@pandora.be>
-
- * lib/ylwrap: Improve support for DOS paths (and paths
- containing backslashes in general).
-
-2001-07-01 Tom Tromey <tromey@redhat.com>
-
- * lib/missing: Added special exception to license.
-
- * missing: Updated.
- * lib/missing: Updated. Added comment explaining configure.ac
- oddity.
-
- * lib/depcomp: Reorder arguments to gcc3.
- From Per Oyvind Hvidsten.
-
- * tests/Makefile.am (TESTS): Added libtool2.test.
- * tests/libtool2.test: New file.
-
- * automake.texi (Program and Library Variables): Added example for
- _AR.
-
-2001-06-29 Tom Tromey <tromey@redhat.com>
-
- * tests/cond11.test: Use `=', not `=='.
- * tests/cond12.test: Look for automake in build directory, not
- source directory.
-
-2001-06-29 Richard Boulton <richard@tartarus.org>
-
- * automake.in (conditionals_true_when): Pass first parameters by
- reference, avoiding bug which put all parameters in @CONDS instead
- of @WHENS. Report by Kalle Olavi Niemitalo.
- Take a single WHEN instead of an array of WHENS.
- Remove FIXME; can't now have an empty @WHENS.
- (conditional_is_redundant): New sub.
- (variable_conditions_reduce): Check whether each condition is
- implied by any of the other conditions (other those already
- discarded), rather than checking only against those already
- considered (and kept). Also, fix sense of check: was keeping
- tautologous terms instead of discarding them. Use
- conditional_is_redundant instead of conditionals_true_when.
- * tests/Makefile.am (TESTS): Added cond11.test and cond12.test.
- * tests/cond11.test: New file.
- * tests/cond12.test: New file.
-
-2001-06-29 Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (saw_sources_p): Work even if there are more
- than one header files, and more than of one type of header.
- * tests/Makefile.am (TESTS): Added new file.
- * tests/depend4.test: New file.
-
-2001-06-28 Tom Tromey <tromey@redhat.com>
-
- * lib/am/libs.am (RANLIB): Don't define.
-
-2001-06-28 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (am_install_var): Assign 1 to $first on
- first interation.
-
-2001-06-23 Tom Tromey <tromey@redhat.com>
-
- Fix for yacc5.test:
- * lib/ylwrap: Changed usage.
- * lib/am/yacc.am: Rewrote to use new substitutions.
- * lib/am/lex.am: Likewise.
- * automake.in (handle_languages): Skip files whose language
- doesn't have a compiler. Handle `define_flag' attribute.
- Changed '$' to "\$" to aid Emacs fontification.
- (struct): Added `rule_file'. Removed `derived_autodep'. Added
- `_target_hook' and `define_flag'.
- (yacc, yaccxx, lex, lexxx): Set `rule_file', `flags', `compile',
- and `compiler' attributes. Removed `linker', `derived_autodep',
- and `ansi' attributes. Added `define_flag'.
- (yacc, yaccxx): Added `_target_hook'.
- (saw_extension): Count number of times extension seen.
- (count_files_for_language): New sub.
- (saw_sources_p): Use it.
- (handle_single_transform_list): Allow language rewrite function
- to return a new source extension. Call target_hook.
- (yacc_sources, lex_sources): Removed.
- (initialize_per_input): Don't initialize yacc_sources or
- lex_sources.
- (lang_yacc_rewrite): Rewrote.
- (lang_yaccxx_rewrite): Likewise.
- (lang_lex_rewrite): Likewise.
- (lang_lexxx_rewrite): Likewise.
- (output_yacc_build_rule): Removed.
- (output_lex_build_rule): Removed.
- (lang_yacc_finish): Removed build rule generation.
- (lang_lex_finish): Likewise.
- (DASH_D_PATTERN): New global.
- (lang_yacc_target_hook): New function.
- (_target_hook): New function.
- (register_language): Default `define_flag'.
- * tests/yacc5.test: Updated test.
- * tests/yacc4.test: Exit with status 77 if bison doesn't work.
- * tests/yacc3.test: Remove bogus `make' invocation. Added test
- for all YFLAGS variables.
-
-2001-06-20 Tom Tromey <tromey@redhat.com>
-
- * tests/yacc5.test: Check for per-executable YFLAGS.
-
-2001-06-19 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added yacc5.test.
- * tests/yacc5.test: New file.
-
-2001-06-17 Tom Tromey <tromey@redhat.com>
-
- * automake.in (require_file_internal): Check for already-required
- file after searching for it, and only if it is not found. Don't
- use `readlink' when checking for dangling symlink. Work if
- --force-missing specified.
- * tests/acoutput2.test: Also test --force-missing.
-
- Fix for libtool.test:
- * automake.in (generate_makefile): Call handle_libtool.
- (handle_libtool): New sub.
- (handle_compile): Don't read `libtool' file.
-
- * tests/acoutput2.test: New file.
- * tests/Makefile.am (TESTS): Added acoutput2.test.
-
-2001-06-15 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added libtool.test.
- * tests/libtool.test: New file.
-
-2001-06-14 Tom Tromey <tromey@redhat.com>
-
- Fix some lisp bugs reported by Bruno Haible:
- * lib/am/lisp.am (uninstall-%DIR%LISP): Added DESTDIR to the
- echo.
- (install-%DIR%LISP): Handle case where lispdir is not defined.
- (uninstall-%DIR%LISP): Likewise.
- (.el.elc): Added `else' clause.
-
- Fix for bug reported by Steve M. Robbins:
- * automake.in (handle_single_transform_list): When building a file
- from a subdirectory, continue to use `AM_' prefix.
- * tests/Makefile.am (TESTS): Added subobj7.test.
- * tests/subobj7.test: New file.
-
- * lib/am/configure.am ($(top_builddir)/config.status): Added
- $(top_builddir) prefix to work around problems with some vendor
- makes. From Nicolas Joly.
-
- * automake.in (yacc_lex_finish_helper): Find ylwrap in
- top_srcdir. From Tim Van Holder.
- * tests/Makefile.am (TESTS): Added yacc6.test.
- * tests/yacc6.test: New file.
-
-2001-06-14 Tim Van Holder <tim.van.holder@pandora.be>
-
- * tests/defs, tests/installsh.test: Properly support
- DOS-style paths.
-
-2001-06-14 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added mdate4.test.
- * tests/mdate4.test: New file.
-
- * aclocal.in (scan_m4_files): Removed unused variable.
-
-2001-06-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in (scan_m4_files): Tweak the building of &search so
- that multiple macro names can be found on the same line. Ensure
- we match whole macro name, not only substrings.
-
-2001-06-12 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (ANSI): Minor clarification.
- (Other GNU Tools): Don't mention Guile.
- (Guile): Removed.
- (Java Support): Mention file extensions.
- (Man pages): Mention dist_. Don't mention info pages.
-
-2001-06-11 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Program variables): Document AM_CPPFLAGS.
- Deprecate INCLUDES.
- (Java Support): Document AM_GCJFLAGS.
- (Support for Other Languages): Removed `fixme'; added link to
- suffix rule handling.
-
- * automake.texi (Program and Library Variables): Document _LIBADD,
- _LDADD, _LDFLAGS, _AR, and _DEPENDENCIES.
-
-2001-06-11 Kevin Dalley <kevind@rahul.net>
-
- * missing: Support configure.ac.
-
-2001-06-08 Tom Tromey <tromey@redhat.com>
-
- * tests/version4.test: New file.
- * automake.in (version_check): New sub.
- (handle_options): Use it.
- * tests/Makefile.am (AUTOMAKE_OPTIONS): Removed.
- (TESTS): Added version4.test.
- * m4/Makefile.am (AUTOMAKE_OPTIONS): Removed.
- * Makefile.am (AUTOMAKE_OPTIONS): Remove `gnits'.
-
-2001-06-04 Kevin Dalley <kevind@rahul.net>
-
- * lib/am/dejagnu.am (site.exp): Fix typo.
-
-2001-06-02 Tom Tromey <tromey@redhat.com>
-
- * automake.in (variable_conditions_sub): Move parent-only code
- from here...
- (variable_conditions): ... to here.
- (variable_conditions_sub): Include this variable's conditions in
- the resulting condition list.
- * tests/Makefile.am (XFAIL_TESTS): Removed ltdeps.test.
-
-2001-06-01 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (XFAIL_TESTS): Added ltdeps.test.
- (TESTS): Likewise.
- * tests/ltdeps.test: New file. Report from Lars J. Aas.
-
-2001-05-31 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Alternative): New node.
- (Macros): Use new name for gcc.
- (Java Support): Likewise.
- (Dependencies): Rewrote.
- (Invoking Automake): (Re-)document -i, --ignore-deps, and
- --include-deps.
-
- * automake.texi (Top level): Removed erroneous spaces. Documented
- MAKE and MAKEFLAGS.
-
-2001-05-29 Tom Tromey <tromey@redhat.com>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Allow any AM_*FLAGS variable.
-
- * automake.texi (Include): Rewrote.
- (Suffixes): Remove Java example.
- (Java): Added more explanation. Document variables.
- (Uniform): Mention JAVA as a primary.
- (Python): Updated for new Python support.
- (Sources): Added a weak example.
-
- * lib/am/java.am (class%DIR%.stamp): Use AM_JAVACFLAGS.
-
- * automake.texi (A Program): Mention `check' prefix.
- (Program and Library Variables): New node.
- (Texinfo): Document UPDATED-MONTH, MAKEINFOFLAGS, and
- AM_MAKEINFOFLAGS.
- (etags): Mention per-program flags.
- (Tests): Document AM_RUNTESTFLAGS; added sectioning; more
- updates.
-
- * lib/am/texinfos.am (.PHONY): Always list uninstall-info-am and
- install-info-am.
-
-2001-05-28 Tom Tromey <tromey@redhat.com>
-
- * m4/Makefile.am (MAINT_CHARSET): Removed.
- * Makefile.am (MAINT_CHARSET): Removed.
- * automake.in (maint_charset, dist_charset): Removed.
- (local_maint_charset): Removed.
- (initialize_per_input): Don't use maint_charset.
- (handle_dist): Don't compute maint_charset or check DIST_CHARSET.
-
- * lib/am/texibuild.am (.%SUFFIX%.info): Use MAKEINFOFLAGS and
- AM_MAKEINFOFLAGS.
- (.%SUFFIX%.dvi): Likewise.
- (.%SUFFIX%): Likewise.
-
-2001-05-27 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_multilib): Only add multilib support code at
- top level.
- * lib/am/multilib.am: Handle invocation of *-multi targets
- differently for SUBDIRS and non-SUBDIRS Makefiles.
- * m4/multi.m4 (AM_ENABLE_MULTILIB): Removed erroneous comment.
- Only add multilib code when the Makefile in question is actually
- rebuilt.
-
- * lib/am/dejagnu.am (check-DEJAGNU): Added AM_RUNTESTFLAGS.
-
-2001-05-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_single_transform_list): Skip unknown
- extensions.
-
-2001-05-25 Tom Tromey <tromey@redhat.com>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Ignore AM_RUNTESTFLAGS.
-
-2001-05-24 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_texinfo_helper): Find mdate-sh in current
- directory in some situations.
-
- * automake.in (generate_makefile): Better explanation for ansi2knr
- fix.
-
-2001-05-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_languages): Skip unknown extensions.
- (derive_suffix): Check whether $extension_map{$source_ext}
- is undefined, not empty.
-
-2001-05-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (read_am_file): Ignore trailing backslash on
- comment lines.
-
-2001-05-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (ASSIGNMENT_PATTERN): Forbid : and + in variable names.
-
-2001-05-21 Akim Demaille <akim@epita.fr>
-
- * automake.texi (Macros): Explain the ``AC_PROG_LEX invoked
- multiple times'' warning.
-
-2001-05-20 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Updated to 1.4g.
-
- * configure.in: Updated to 1.4f.
-
- * Makefile.am (EXTRA_DIST): Added ChangeLog.2000.
-
- * lib/ansi2knr.c: New version.
-
- * Makefile.am (FETCHFILES): Added ansi2knr.c.
- (fetch): Likewise.
-
-2001-05-19 Tom Tromey <tromey@redhat.com>
-
- * config.guess, config.sub: New versions from FSF.
-
- * Makefile.am (fetch): Compare against files in srcdir.
-
- For for ansi2knr report from Harlan Stenn:
- * automake.in (generate_makefile): Run handle_compile before
- handle_languages.
-
-2001-05-18 Tom Tromey <tromey@redhat.com>
-
- * automake.in: Reverted erroneous checkin.
-
-2001-05-18 Akim Demaille <akim@epita.fr>
-
- * lib/am/texinfos.am (install-info-am, uninstall-info-am): Be robust
- to missing `install-info'.
-
-2001-05-17 Tom Tromey <tromey@redhat.com>
-
- * automake.in (lang_c_finish): Use `rm -f'.
-
- * automake.in (lang_c_finish): Remove _.c file if ansi2knr fails.
- * tests/Makefile.am (TESTS): Added new file.
- * tests/ansi5.test: New file.
-
-2001-05-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/install.am (install-strip): Set INSTALL_PROGRAM_ENV if
- STRIP is not empty.
- * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM
- to install-sh unconditionally. Don't set INSTALL_STRIP_PROGRAM_ENV.
- * automake.texi (Requirements): Document the use of the STRIP
- variable in cross-compilation environments.
-
-2001-05-17 Tom Tromey <tromey@redhat.com>
-
- * m4/depend.m4 (AM_DEPENDENCIES): If depcomp doesn't exist, revert
- to no dependency tracking.
- * tests/Makefile.am (TESTS): Added depcomp2.test.
- * tests/depcomp2.test: New file. From Pavel Roskin.
-
- * lib/depcomp (aix): Bug fix and simplification from Larry Jones.
-
- * lib/depcomp (tru64): New dependency tracking mode.
-
- Fix for PR automake/159:
- * lib/depcomp (aix): Rewrote.
- (sgi): Likewise.
-
- Fix for PR automake/174:
- * tests/Makefile.am (XFAIL_TESTS): Removed comment3.test.
- * automake.in (read_am_file): Warn if `#' is at start of rule.
-
-2001-05-16 Tom Tromey <tromey@redhat.com>
-
- For PR automake/174:
- * tests/Makefile.am (TESTS): Added comment3.test.
- (XFAIL_TESTS): Likewise.
- * tests/comment3.test: New file.
-
- Fix for PR automake/175:
- * tests/Makefile.am (XFAIL_TESTS): Removed make.test.
- * m4/make.m4 (AM_MAKE_INCLUDE): Omit `Entering directory' and
- `Leaving directory' messages.
-
- For PR automake/175:
- * tests/Makefile.am (XFAIL_TESTS): Added make.test.
- * tests/make.test: Run test with `make -w'.
-
- * tests/Makefile.am (TESTS): Removed maintclean.test.
- * lib/am/clean.am (maintainer-clean-generic): Don't remove
- Makefile.in.
- * lib/am/configure.am (maintainer-clean-am): Removed.
- (maintainer-clean-conf): Removed.
- * tests/maintclean.test: Removed.
-
-2001-05-15 Tom Tromey <tromey@redhat.com>
-
- Fix for PR automake/177:
- * Makefile.am (maintainer-clean): Set perllibdir before invoking
- automake or aclocal.
-
- Fix for maintclean.test:
- * tests/Makefile.am (XFAIL_TESTS): Removed maintclean.test.
- * lib/am/clean.am (distclean-generic): Don't remove config.cache
- or config.log.
- (distclean, maintainer-clean): Moved to...
- * lib/am/configure.am: ... here.
- (distclean): Remove config.cache and config.log.
- (maintainer-clean): Removed.
- (maintainer-clean-conf): New target.
- (maintainer-clean-am): New target.
-
- * tests/Makefile.am (TESTS): Added maintclean.test.
- (XFAIL_TESTS): Likewise.
- * tests/maintclean.test: New file.
-
- Fixes PR automake/175:
- * tests/target-cflags.test: Use $needs_gnu_make.
- * tests/exsource.test: Use $needs_gnu_make.
- * tests/make.test: Require GNU make.
- * tests/defs (needs_gnu_make): Compute.
-
-2001-05-14 Tom Tromey <tromey@redhat.com>
-
- * lib/ylwrap: Fixed quoting on regular expression. Fixes
- yacc4.test.
-
- Fix for texinfo10.test.
- * tests/Makefile.am (XFAIL_TESTS): Remove texinfo10.test.
- * lib/am/texinfos.am: Use LOCAL-TEXIS liberally.
- * automake.in (handle_texinfo_helper): New sub.
- (handle_texinfo): Rewrote. Now defines LOCAL-TEXIS.
- * tests/texinfo10.test: Added more cases.
-
- Fix for yaccvpath.test:
- * tests/Makefile.am (XFAIL_TESTS): Removed yaccvpath.test.
- * lib/am/distdir.am (distdir): Always look for file in build
- directory first.
- * lib/ylwrap: Quote the `#line' regular expression.
- * lib/am/yacc.am (%YACC_SUFFIX%%C_SUFFIX%): Reverted earlier
- change; don't run sed on the generated file.
- * tests/yaccvpath.test: Create new parser in srcdir. Added test
- to make sure parser will be rebuilt at dist time.
-
-2001-05-13 Pavel Roskin <proski@gnu.org>
-
- * automake.in ($IGNORE_PATTERN): Allow spaces before comments
- beginning with `##'.
- * automake.texi (General Operation): Document it.
-
-2001-05-13 Tom Tromey <tromey@redhat.com>
-
- Reported by Rainer Orth:
- * lib/am/distdir.am (?DISTDIR?distdir): Define conditional on
- TOPDIR_P.
- * tests/Makefile.am (TESTS): Added distname.test.
- * tests/distname.test: New file.
-
- * Makefile.am (dist_pkgdata_DATA): Removed.
-
- * tests/defs: Find files to copy in lib/.
- * automake.in (perllibdir): Set to Automake directory.
- * ansi2knr.c, ansi2knr.1: Removed.
- * Makefile.am (dist_am_DATA): Removed.
- (amdir): Removed.
- (maintainer-check): Look for lib/am/*.am. Expect 28 lines of
- diffs.
- (scriptdir): Removed.
- (dist_script_DATA): Likewise.
- (install-data-hook): Likewise.
- (installcheck-local): Likewise.
- (TAGS_FILES): Removed amfiles.
- (dist_pkgdata_DATA): Removed ansi2knr.c and ansi2knr.1.
- * tests/installsh.test (AUTOMAKE): Use --libdir, not --amdir, and
- point it to the right directory.
- * ansi2knr.am, check.am, clean-hdr.am, clean.am, comp-vars.am,
- compile.am, configure.am, data.am, dejagnu.am, depend.am,
- depend2.am, distdir.am, footer.am, header-vars.am, header.am,
- install.am, java.am, lang-compile.am, lex.am, library.am, libs.am,
- libtool.am, lisp.am, ltlib.am, ltlibrary.am, mans-vars.am,
- mans.am, multilib.am, program.am, progs.am, python.am,
- remake-hdr.am, scripts.am, subdirs.am, tags.am, texi-vers.am,
- texibuild.am, texinfos.am, yacc.am: Moved to lib/am/.
- * configure.in (AC_OUTPUT): Added lib/am/Makefile.
- (AUTOMAKE): Use --libdir, not --amdir.
- Ues AC_CONFIG_AUX_DIR.
- * lib/Makefile.am (SUBDIRS): Added `am'.
- (scriptdir): New macro.
- (dist_script_DATA): Likewise.
- (dist_pkgdata_DATA): Likewise.
- (install-data-hook): New target.
- (installcheck-local): Likewise.
- * lib/am/Makefile.in: New file.
- * lib/am/Makefile.am: Removed everything except amdir and
- dist_am_DATA.
-
-2001-05-13 Akim Demaille <akim@epita.fr>
-
- * automake.in ($pkgdata_dir): Rename as...
- ($libdir): this.
- ($am_dir): Remove, replace its uses with $libdir.
- (&parse_arguments): Replace --amdir with --libdir.
- * automake.texi (Invoking Automake): Document --libdir, not
- --amdir.
- * tests/defs (AUTOMAKE): Use --libdir, not --amdir.
-
-2001-05-13 Tom Tromey <tromey@redhat.com>
-
- * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Use AMDEP_TRUE,
- not AMDEP.
- * m4/depend.m4 (AM_DEPENDENCIES): Require AM_DEP_TRACK.
- Correctly look at AMDEP_TRUE, not AMDEP.
-
- Report from Robert Boehne:
- * tests/Makefile.am (TESTS): Added depend2.test.
- * tests/depend2.test: New file.
-
-2001-05-13 James Henstridge <james@daa.com.au>
-
- * m4/python.m4 (AM_PATH_PYTHON): Added more names for python.
- Point pythondir at site-packages directory. Rename
- PYTHON_SITE_PACKAGE to pkgpythondir. Rename PYTHON_SITE_EXEC to
- pyexecdir. Removed package/module argument. Removed
- PYTHON_SITE_INSTALL. Added version checking.
-
-2001-05-14 Jim Meyering <meyering@lucent.com>
-
- * automake.in (macro_define): Change one remaining use of
- `variable_dump' to `macro_dump'.
-
-2001-05-13 Tom Tromey <tromey@redhat.com>
-
- * m4/depend.m4 (AM_DEPENDENCIES): Prefer gcc3 over gcc for objc
- and gcj.
-
-2001-05-13 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_texinfo_file, &handle_dist, &handle_gettext)
- (&handle_footer, &handle_factored_dependencies, &handle_emacs_lisp)
- (&am_primary_prefixes): Use `map' rather than `grep'.
-
-2001-05-13 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Set config_vars for yacc, yaccxx, lex,
- lexxx, asm.
- (&lang_c_finish, &lang_yacc_finish, &lang_lex_finish): Simplify.
- (&lang_asm_finish): Remove, set asm's finisher to C's one.
-
-2001-05-13 Akim Demaille <akim@epita.fr>
-
- * lang-compile.am: New file, loaded once per language.
- * depend2.am: Move definitions loaded once per language in the
- aforementioned file.
- * automake.in (&handle_languages): Load it.
- (&lang_ppf77_finish, &lang_ratfor_finish): Remove as it's now
- handled by lang-compile.am.
-
-2001-05-13 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (TESTS): Added python.test.
- * tests/python.test: New file.
- * automake.in (handle_languages): Use
- config_aux_dir_set_in_configure_in.
- (handle_python): Correctly mention AM_PATH_PYTHON. Use
- py-compile, not py_comp. Define py_compile macro.
-
-2001-05-13 Derek Price <dprice@openavenue.com>
-
- * automake.in (require_file_with_conf_line,
- require_file_with_line, require_file): Pass a @require_file_path
- of $relative_dir instead of '.' to require_file_internal so that
- all the special casing of '.' can be removed elsewhere.
- (require_config_file, require_conf_file_with_line,
- require_conf_file_with_conf_line): Remove special casing for '.'
- and make sure $config_aux_dir is maintained properly.
- (require_file_internal): Remove special casing of '.' and set
- @require_file_path when missing files are added.
- (maybe_push_required_file): Remove special casing of '.'
- (handle_dependencies): Remove a workaround for a bug now fixed
- and remove $config_aux_dir special casing.
- (handle_configure): Remove special casing for $config_aux_dir
- (handle_python): Ditto.
- (yacc_lex_finish_helper): Change $config_aux_dir switch to
- switch on the value of $config_aux_dir_set_in_configure_in.
- (handle_texinfo): Ditto.
- (scan_one_configure_file): Set $config_aux_dir and
- $config_aux_dir_set_in_configure_in properly so special casing
- on the value of $config_aux_dir can be removed elsewhere.
- * tests/depcomp.test: New file.
- * tests/confsub.test: Look for depcomp in $(top_srcdir) instead of the
- first subdir containing a C file.
- * tests/libobj2.test: Ditto.
- * tests/Makefile.am (TESTS): Added 'depcomp.test'.
-
-2001-05-12 Tom Tromey <tromey@redhat.com>
-
- * tests/gcj.test: Updated for gcj dependency tracking.
- * tests/gcj2.test: Likewise.
-
- Fixes PR automake/169.
- * m4/depend.m4 (AM_DEPENDENCIES): Handle GCJ. Don't assume gcc
- style for OBJC.
- * automake.in (java): Added autodep entry.
- * tests/Makefile.am (TESTS): Added gcj3.test.
- * tests/gcj3.test: New file.
-
-2001-05-12 Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (ASSIGNMENT_PATTERN): Make variable-name pattern
- stop at the first '='.
- * tests/Makefile.am (TESTS): Added vars.test.
- * tests/vars.test: New file.
-
-2001-05-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_single_transform_list): Simplify
- computation of $object and $this_obj_ext.
- * tests/lex3.test: Merge into...
- * tests/lex.test: here.
- * tests/pr19.test: Improve and rename as...
- * tests/lex3.test: this.
-
-2001-05-09 Tom Tromey <tromey@redhat.com>
-
- * automake.in (read_am_file): Correctly compute $saw_bk.
- (scan_autoconf_files): Ensure configure_dist_common is always
- set.
- * tests/defs (AUTOMAKE): Added --Werror.
-
-2001-05-09 Pavel Roskin <proski@gnu.org>
-
- * automake.in (define_compiler_variable): Escape $(LIBTOOL) in
- double quotes.
-
-2001-05-09 Tom Tromey <tromey@redhat.com>
-
- * tests/werror.test: Use `rm -f'.
-
-2001-05-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_line_warning): Invoke `am_line_error', not itself.
-
-2001-05-09 Akim Demaille <akim@epita.fr>
-
- * automake.in: Remove some code left from bad patches.
- (&handle_dependency): Remove, for the same reason.
-
-2001-05-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&make_paragraphs): Transform BUILD, HOST and TARGET.
- (&handle_tests_dejagnu, &define_standard_variables): Don't.
- (&define_standard_variables): Don't transform %top_builddir% since...
- * header-vars.am: Use %TOPDIR% instead.
-
-2001-05-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (@objects): Remove, unused.
- Remove all the code related to it, and to former `$(OBJECTS)'.
-
-2001-05-08 Tom Tromey <tromey@redhat.com>
-
- For PR automake/29:
- * ylwrap: Handle arguments to program. Remove old code that tried
- to avoid absolute paths and add new code to do it in all cases.
- Removed ancient logic that tried to deal with relative path.
- * tests/Makefile.am (TESTS): Added yacc4.test.
- * tests/yacc4.test: New file.
-
- Fix for PR automake/149 and werror.test:
- * automake.in (require_file_internal): Use am_line_warning or
- am_conf_line_warning when suppressing error.
- (am_line_warning): New sub.
- (am_conf_line_warning): Save and restore warning signal.
- * tests/Makefile.am (XFAIL_TESTS): Removed werror.test.
-
- Fix for PR automake/36:
- * tests/Makefile.am (TESTS): Added asm.test.
- * tests/asm.test: New file.
- * automake.in (asm): Use ASFLAGS and AS.
- (lang_asm_finish): New sub.
-
- * automake.in (read_am_file): Removed debugging code.
-
- For PR automake/149:
- * tests/Makefile.am (TESTS): Added werror.test.
- (XFAIL_TESTS): Likewise.
- * tests/werror.test: New file.
-
- * automake.in (conditional_true_when): Don't return if we see
- `TRUE'.
-
- * tests/objc.test: Removed.
- * tests/Makefile.am (XFAIL_TESTS): Removed objc.test.
- (TESTS): Likewise.
-
- * automake.in (subst): New sub.
- (handle_languages): Use it.
- (output_lex_build_rule): Likewise; also use _am_quote.
- (check_libobjs_sources): Likewise.
- (make_paragraphs): Use subst.
-
- * automake.in (check_libobjs_sources): Re-fixed AMDEP_TRUE
- problem.
-
- * automake.in (file_contents_internal): Prototype now `$$%'.
- (register_language): Prototype now `%'.
-
- Fixes test subobj6.test and PR automake/160:
- * tests/Makefile.am (XFAIL_TESTS): Removed subobj6.test.
- * compile.am (mostlyclean-compile): Added MOSTLYRMS.
- (distclean-compile): Added DISTRMS.
- * tests/subobj6.test (wish_SOURCES): Updated to reflect
- `mostlyclean' use; added test for non-subdir case.
- * automake.in (compile_clean_files): New global.
- (MOSTLY_CLEAN, DIST_CLEAN): New constants.
- (initialize_per_input): Initialize compile_clean_files.
- (handle_single_transform_list): Set compile_clean_files entries.
- (handle_compile): Handle compilation cleanups.
-
-2001-05-08 Lars J. Aas <larsa@sim.no>
-
- * automake.texi (Canonicalizing Automake macros): Document not
- canonicalizing strudels (@) anymore.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * distdir.am (dist-all): Build all the flavors using a single
- distdir.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents_internal): Apply the @cond_stack to
- the rules and assignments.
- Don't rely on `$.' as it's biased by &make_paragraphs.
- Don't remove backslashes in variable values.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in ($IGNORE_PATTERN): Improve for multi-line matches.
- ($RULE_PATTERN): Use that from `&make_paragraphs'.
- ($MACRO_PATTERN): Just catch the name of a macro.
- ($BOGUS_MACRO_PATTERN): Remove.
- ($ASSIGNMENT_PATTERN): New.
- (&file_contents_internal, &make_paragraphs): Adjust.
- (&macro_define): Catch bad macro names.
- (&cond_stack_endif): Better error message.
- (&file_contents_internal): Don't remove backslashes in variable
- values.
- (&macro_define): Do it for `+=' user variables.
- (&define_standard_variables): Use `undef' instead of a dummy
- variable.
- (&make_paragraph): Be sure not to chop the trail of hash only
- lines: adjust the `##' regexp.
- (&rule_define): Fix a bug: don't read $1 but $target.
- * tests/condincl.test: Strengthen.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attributes `Name' and `config_vars'.
- (&finish): Work properly if there is no _finish.
- (Automake): Register language Names and AC_SUBST dependencies.
- Register Fortran 77 variables upon which ratfor and ppf77 depend.
- (&handle_languages): Once per language, invoke
- `define_linker_variables', and check its config_vars.
- (&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish)
- (&lang_java_finish): Remove.
- (&lang_ppf77_finish, &lang_ratfor_finish): Adjust.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents_internal): Accept $IS_AM.
- (&handle_compile, &define_standard_variables, &file_contents): Adjust.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (am_install_var): Use `next' instead of `if' on the
- body of $X loop.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attributes `lder' and `ld'.
- (&register_language): Specify for cxx, objc, f77, gcj.
- (&define_linker_variable): New.
- (&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish)
- (&lang_java_finish): Adjust.
- (&libtool_compiler): Remove.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_lib_objects_cond): Don't take $LEX_SEEN as
- argument, as you don't use it.
- Hence...
- (&handle_lib_objects): Don't take $LEX_SEEN as argument, as you
- don't use it.
- Hence...
- (&handle_programs): Don't mess with %lex_sources, as you don't use
- it.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attribute `link'.
- (&register_language): Specify for cxx, objc, f77, gcj.
- (&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish)
- (&lang_java_finish): Adjust.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&define_compiler_variables): Use only $LANG as
- argument.
- (&handle_languages): Adjust.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&define_program_variable): Remove.
- (&scan_one_autoconf_file): Skip MAKEINFO when found in an
- AM_MISSING_PROG.
- (&handle_texinfo): Don't define MAKEINFO and TEXI2DVI.
- * texinfos.am: Do it.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_tests_dejagnu): Don't define EXPECT and
- RUNTEST.
- * dejagnu.am: Do it.
- (site.exp): Use `if'.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in: Formatting changes.
- (variable_dump, variables_dump): Rename as...
- (macro_dump, macros_dump): these.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- Support `if !COND', `else COND', `end COND'.
-
- * automake.texi (Conditionals): Document it.
- * automake.in ($WHITE_PATTERN, $MACRO_PATTERN, $BOGUS_MACRO_PATTERN)
- ($GNITS_VERSION_PATTERN, $INCLUDE_PATTERN): Use `\d' and `\s'.
- ($IF_PATTERN, $ELSE_PATTERN, $ENDIF_PATTERN): Likewise, and accept
- a leading `!' before the condition.
- (&handle_options): Use `\d'.
- (&cond_stack_if, &cond_stack_else, &&cond_stack_endif): New.
- (&read_am_file, &file_contents_internal): Use them.
- (&transform): No longer substitute `%!COND%', forcing the use of
- `! %?COND%'.
- * ansi2knr.am, lex.am, tags.am, texinfos.am, yacc.am: Adjust.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- Uniform handling of per-object compilation rules.
- Note: Automake is repaired.
-
- * automake.in (&handle_languages): Output per object rules for all
- the objects, not only for those which language supports dependency
- tracking.
- Fix Automake: when outputting per-object rules, use `-o' if the
- language has no `output_flag', as it's really needed.
- (&handle_single_transform_list): Instead of special casing files
- which need per object rules but which language don't support
- dependency tracking, keep them in the queue for processing by
- `&handle_languages'.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): `ext-compile.am' and
- `depend2.am' are now equivalent for generic rules: output only the
- latter.
- * ext-compile.am: Remove.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- Note: This patch breaks Automake. Repaired within two patches.
-
- * automake.in (Language): Replace the attribute `output_arg' with
- `compile_flag' and `output_flag'.
- (Automake): Adjust language registrations.
- (&handle_languages): Transform `-c' and `-o' for both suffix and
- per object rules, instead of `OUTARG' and `LTOUTARG' only for
- generic rules.
- (&handle_single_transform_list): Adjust to `compile_flag' and
- `output_flag'.
- * depend2.am, ext-compile.am: Use `%-c%' and `%-o%'.
-
-2001-05-08 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): Don't transform %COMPILER%.
- Use `$lang->compiler' instead of `$pfx' to transform generic
- %COMPILE% and %LTCOMPILE%.
- * ext-compile.am: Use %COMPILE%, %LTCOMPILE% and %SOURCE% instead
- of %COMPILER% and $<.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): Use the same `%transform' for
- both `depend2.am' and `ext-compile.am'.
- Delay the definition of `$flag' so it is right before the first use,
- and rename as `$flags'.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): Compute `$ltoutarg' and
- `$outarg' independently of dependency code.
- There is no use looping on a language's possible extensions since
- we loop over used extensions.
- Therefore, there is no use for a local `%transform'.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): Don't use $comp.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): Merge the two loops over
- %extension_seen/%languages into one and group code to be run once
- per language together.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_languages): Move the `if
- ($use_dependencies)' block so that loops over extensions and
- languages are next to each other.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&depend2): Remove, merged into...
- (&handle_languages): here.
-
-2001-05-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&finish_languages): Rename as...
- (&handle_languages): this.
- Include the body of...
- (&handle_dependency): this.
- Remove.
-
-2001-05-06 Tom Tromey <tromey@redhat.com>
-
- For PR automake/46:
- * tests/Makefile.am (TESTS): Add subdir5.test.
- (XFAIL_TESTS): Likewise.
- * tests/subdir5.test: New file.
-
- * tests/subobj6.test (wish_SOURCES): Use $MAKE.
- * tests/subobj5.test (wish_SOURCES): Use $MAKE.
-
- * automake.in (GNITS_VERSION_PATTERN): Document. Add `fork
- identifier'.
- (handle_options): Handle fork identifier in version number.
-
- * automake.texi (Dist): Document distcheck-hook.
-
- * tests/confh4.test: Update to reflect DEFS change.
- For PR automake/132.
-
- Fix for PR automake/132:
- * automake.in (c, c++, objc, asm, ppf77): Add DEFAULT_INCLUDES to
- compilation.
- (java): Remove INCLUDES and DEFS from compilation.
- (lang_c_finish): Add DEFAULT_INCLUDES to compilation.
- * compile.am (DEFS): Don't include %DEFAULT_INCLUDES%.
- (DEFAULT_INCLUDES): New macro.
-
- * automake.in (usage): Re-align explanatory text.
- Fixes PR automake/148.
-
- * automake.texi (Uniform): Don't use @PROGRAMS@.
- Fixes PR automake/154.
-
- For PR automake/160:
- * tests/Makefile.am (TESTS): Add subobj5.test and subobj6.test.
- (XFAIL_TESTS): Add subobj6.test.
- * tests/subobj6.test: New file.
-
- * automake.texi (Uniform): Mention dist_, nodist_, and nobase_.
- (Top level): Don't mention `flat'.
- (Extending): Likewise.
- (User Variables): New node.
-
- * distdir.am (distdir): Make subdirectory for each file.
- Fixes test subobj5.test.
-
- * tests/Makefile.am (TESTS): Add new file.
- (XFAIL_TESTS): Likewise.
- * tests/texinfo10.test: New file.
-
-2001-05-05 Pavel Roskin <proski@gnu.org>
-
- * automake.in (scan_texinfo_file): Treat @defindex and @synindex
- in the same way as @defcodeindex and @syncodeindex respectively.
-
-2001-05-05 Tom Tromey <tromey@redhat.com>
-
- * mans.am (install-man%SECTION%): Minor cleanup.
- (uninstall-man%SECTION%): Likewise.
-
- * tests/Makefile.am (XFAIL_TESTS): Removed man.test.
- * mans.am (install-man%SECTION%): Handle dist_ and nodist_
- prefixes.
- (uninstall-man%SECTION%): Likewise.
- * automake.in (handle_man_pages): Handle dist_ and nodist_
- prefixes.
-
- * automake.texi (Future): Removed.
- (Depth): Removed.
- (Hello): Don't mention `deep'.
- (Top level): Likewise.
-
- * automake.in (conditional_true_when): Use a hash, not index().
- Also, a TRUE component always results in a true return.
- Fixes test cond10.test. For PR automake/164.
- * tests/Makefile.am (XFAIL_TESTS): Removed cond10.test.
-
-2001-05-05 Raja R Harinath <harinath@cs.umn.edu>
-
- For PR automake/164:
- * tests/Makefile.am (TESTS): Added new file.
- (XFAIL_TESTS): Likewise.
- * tests/cond10.test: New file.
-
-2001-05-05 Tom Tromey <tromey@redhat.com>
-
- * texinfos.am (uninstall-info-am): Debian install-info v1.8.3
- prints to stderr.
- (install-info-am): Likewise.
-
-2001-05-05 Pavel Roskin <proski@gnu.org>
-
- * automake.in (scan_texinfo_file): Don't push undefined values
- to @clean_suffixes.
-
-2001-05-05 Richard Boulton <richard@tartarus.org>
-
- * automake.in (handle_dist): Check for existence of DIST_SUBDIRS
- first.
-
-2001-05-05 Robert Collins <robert.collins@itdomain.com.au>
-
- * automake.in (required_targets): Added uninstall-am.
-
-2001-05-05 Tom Tromey <tromey@redhat.com>
-
- Fix bug reported by Robert Boehne:
- * automake.in (output_lex_build_rule): Don't let AMDEP_TRUE be
- substituted.
- (handle_dependencies): Likewise.
- * Makefile.am (maintainer-check): Look for AMDEP_TRUE
- substitution. Correct diff now has 30 lines. Look for space
- after losing `undef'.
-
-2001-05-04 Peter Eisentraut <peter_e@gmx.net>
-
- * m4/sanity.m4: Remove the temp file before possible error exits.
-
-2001-05-04 Akim Demaille <akim@epita.fr>
-
- * configure.in: Set perllibdir.
- From Dave Morrison.
-
-2001-05-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * automake.in ($pkgdata_dir): New.
- (&require_file_internal): Use it.
-
-2001-05-03 Akim Demaille <akim@epita.fr>
-
- Case insensitive FS choke on Automake/ vs automake.
- Reported by Tim Van Holder.
-
- * Automake/: Move into...
- * lib/: this new directory.
-
-2001-05-03 Raja R Harinath <harinath@cs.umn.edu>
-
- * data.am (install-%DIR%%PRIMARY%): Execute the same command as
- echoed.
-
-2001-04-30 Jim Meyering <meyering@lucent.com>
-
- * automake.in: Remove `/lib' from include directory.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- AM_INIT_AUTOMAKE is no longer optional.
-
- * automake.in ($seen_make_set, $seen_prog_install)
- ($seen_arg_prog): Remove.
- (&handle_programs, &handle_scripts, &scan_one_autoconf_file):
- Remove related code.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * tests/specflags4.test, tests/specflags5.test: Remove, merged
- into...
- * tests/specflags3.test: here.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in ($seen_path_xtra): Remove.
- (&handle_compile): Don't handle `AC_PATH_XTRA' AC_SUBST variables.
- (&scan_one_autoconf_file): Do it, instead of setting $seen_path_xtra.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents_internal): Declare it.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_am_file, &file_contents_internal): Don't
- define macros when `FALSE', to avoid errors on doubly defined
- variables but under condition `FALSE'. In order to allow...
- (&am_install_var): When reading the associated file for the first
- time, enable `%?FIRST%'.
- (&handle_libraries): Let libs.am define $(AR) and $(RANLIB).
- * libs.am: Do it when `%?FIRST%'.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_compile): Let ansi2knr.am define $(ANSI2KNR).
- * ansi2knr.am: Do it.
- Prefer `if %?FOO%' to `if %!FOO%'.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&register_language, &finish_languages): Use `pure'
- as a Boolean.
- (&register_language): Use %done properly with objects, not names.
- (&finish_languages): Replace `$non_c' with `$needs_c'.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- Unify LISP, PYTHON and JAVA primaries.
-
- * automake.in (&handle_emacs_lisp): Be like &handle_python, i.e.,
- return if there are no files, hook elisp-comp on the Autoconf
- macro, rely on lisp.am to define variables.
- (&handle_python, &handle_java): Likewise.
- (&scan_one_autoconf_file): Pseudo AC_SUBST of `pythondir' and
- `PYTHON' must be handled here, not in `&handle_python'.
- * java.am: Define needed variables and rules.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_install_var): Transform `ONE_PRIMARY'.
- * data.am: Use it.
- * header.am: Include data.am.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_install_var): Transform `PRIMARY'.
- * data.am: Equip with %PRIMARY%.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (@conditional_stack): Rename as...
- (@cond_stack): this.
- (&file_contents_internal): Support inclusion of files.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&lang_extensions): Remove.
- (&add_depend2, &saw_sources_p): Adjust.
- * depend2.am: `%EXT%' no longer includes the dot.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&finish_languages, &handle_single_transform_list)
- (&add_depend2, &handle_dependencies): No longer use the language
- name in `$lang'. Rename `$lang_obj' as `$lang'.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&register_language): Use `new Language' with a hash.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&register_language): Rename `output-arg' and
- `derived-autodep' as `output_arg' and `derived_autodep' to match
- the Language attribute.
- Set the defaults in %option instead of $lang.
-
-2001-04-27 Akim Demaille <akim@epita.fr>
-
- * Automake/: New directory.
- * Automake/Struct.pm: New file, based on Perl 5.6's Class::Struct.
- * automake.in (Language): Use Automake::Struct.
- * tests/defs: Adjust to find Struct.
-
-2001-04-23 Pavel Roskin <proski@gnu.org>
-
- * automake.in: Add forward declaration for register_language().
- * tests/Makefile.am (XFAIL_TESTS): Remove installsh.test - it
- passes now.
-
-2001-04-20 Akim Demaille <akim@epita.fr>
-
- * automake.in (%required_targets): Add `uninstall'.
- From Robert Collins.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attribute `name'.
- (&register_language): The name of the language is now given in the
- hash.
- No longer use `$lang' as the name of the language.
- Rename `$lang_obj' as `$lang'.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attribute `_finish'.
- (&finish): New.
- (Automake): Adjust.
- (&lang_header_finish, &lang_yaccxx_finish, &lang_lexxx_finish)
- (&lang_asm_finish): Remove.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attribute `extensions'.
- (Automake): Pass a hash to `&register_language' instead of a
- list of pseudo assignments.
- (&register_language): Adjust.
- (&finish_languages): Initialize `$ltoutarg'.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attribute `output_arg'.
- (%language_map): Remove.
- (&register_language): Build only the object, and store in
- %languages only.
- (&finish_languages, &handle_single_transform_list): Adjust.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): Add attributes `flags', `compile' and
- `compiler'.
- (&finish_languages, &handle_single_transform_list, &handle_dist)
- (&add_depend2, &register_language): Use them and the `linker' and
- `pure' attributes.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_single_transform_list, &finish_languages)
- (&handle_dist, &handle_dependencies): Use the language object for
- autodep and derived-autodep too.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define): Ignore Automake definition for
- ($var, $cond) if there is already a user definition for ($var, $cond).
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_texinfo_file): Catch @cindex and the like,
- but also @deffn and so on which push data in indexes.
- Reported by Derek R. Price.
-
-2001-04-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (Language): New package, temporarily in this file.
- Use Class::Struct.
- (Automake): New package.
- (%languages): New.
- (&handle_single_transform_list): Use the language object's `ansi'
- attribute instead of `$language_map{"$lang-ansi-p"}'.
- (&register_language): Build and register the language too.
-
-2001-04-11 Tom Tromey <tromey@redhat.com>
-
- Fixes report from Larry Jones:
- * automake.in (handle_dependencies): Add `@_am_quote@' where
- appropriate.
- * m4/make.m4 (AM_MAKE_INCLUDE): Handle BSD-style make.
-
-2001-04-11 Akim Demaille <akim@epita.fr>
-
- * depend2.am: Fix the `if' condition for Libtool.
- Reported by Robert Boehne.
-
-2001-04-10 Robert Collins <robert.collins@itdomain.com.au>
-
- * tests/subobj5.test: New file.
-
-2001-04-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * m4/make.m4 (AM_MAKE_INCLUDE): Pass `-s' to make.
- * tests/Makefile.am (TESTS): Added make.test.
- * tests/make.test: New file.
-
-2001-04-10 Tom Tromey <tromey@redhat.com>
-
- * tests/defs: Changed how ACLOCAL and AUTOMAKE are set.
-
-2001-04-10 Derek R. Price <dprice@collab.net>
-
- * tests/defs: Allow user to override AUTOMAKE and ACLOCAL.
-
-2001-04-10 Akim Demaille <akim@epita.fr>
-
- * distdir.am: Add a missing backslash.
-
-2001-04-10 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_aclocal_m4): Handle $relative_dir and special
- variables.
- Specify to the caller whether $regen_aclocal_m4.
- (&handle_configure): Adjust.
- Transform `REGEN-ACLOCAL-M4'.
- Reported by Tom.
- * configure.am: Use it.
- * tests/defs (me): New.
- * tests/confdeps.test: New.
-
-2001-04-09 Tom Tromey <tromey@redhat.com>
-
- * m4/missing.m4 (AM_MISSING_HAS_RUN): Use `true', not `:'.
- Fixes report from Jim Meyering.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_configure): Don't bother with optimizing
- macro uses.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * tests/cond3.test (expected): Adjust.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_single_transform_list): Remove $xbase,
- unused.
- (&handle_source_transform): All the variables have conditions now,
- simplify.
- (&variable_delete): Admit an argument @conds.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in ($source_suffix_pattern): Remove, unused.
- %extension_map seems to have replaced it.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * ext-compile.am: New file.
- * automake.in (&finish_languages): Output it.
- Require a C linker if there are several registered source suffixes.
- (&handle_compile): No longer push the `.c', `.o', `.obj', `.lo'
- extensions, which are discovered in ext-compile.am.
- With the help from Robert Boehne.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_compile): Extract from...
- (&get_object_extension): here.
- (&read_am_file): Call it.
- ($included_generic_compile, $included_knr_compile)
- ($included_libtool_compile): Remove.
- ($get_object_extension_was_run): New.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- Use AM_CONDITIONAL and if/endif for AMDEP.
-
- * m4/depend.m4 (AM_DEP_TRACK): Use AM_CONDITIONAL to define AMDEP.
- * automake.in (&add_depend2): Transform %AMDEP% into `AMDEP' (leading
- to a configure time if/endif), or to `FALSE' (static removal of
- the code).
- (&handle_dependencies): Adjust to use `AMDEP_TRUE'.
- * depend2.am: Use if/endif.
-
- Adjust the 101 tests that use dependencies so that they
- properly invoke aclocal before automake. They need to `see'
- `AM_CONDITIONAL([AMDEP], ...)'.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * tags.am: Fix missing leading tabs.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in: Use simple quotes to define the _PATTERN variables
- to unobfuscate the regexps.
- ($AM_CONDITIONAL_PATTERN): Let the user quote the variable.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&rule_define): When you discover a suffix rules,
- register the extensions for .SUFFIXES.
- (&handle_texinfo): Don't register the suffixes.
- (&get_object_extension): Don't register suffixes, let them be
- discovered in depend2.am.
- (&handle_emacs_lisp): Depend on your lisp.am.
- * lisp.am: Include the rule &handle_emacs_lisp used to output.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * subdirs.am: Don't define info related recursive targets.
- * texinfos.am: Do.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * subdirs.am (RECURSIVE_TARGETS): New variable.
- Use it.
- * automake.in (&handle_subdirs): Output it.
- (&file_contents_internal): Support value spread on several lines.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_man_pages): Rely on mans.am to define
- man%SECTION%dir and MANS.
- * mans.am: Do it.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_dump): Use %var_type properly.
- (&macro_define): Enforce better overriding rules.
- Handle the special case that used to handle...
- (&define_pretty_variable): this.
- Hence, don't.
- The variables you define are owned by Automake.
- (&generate_makefile): PRE_INSTALL and co must not be defined *by
- the user*.
- (&variable_defined): Now independent of the owner.
- (&variable_output, &variable_pretty_output): Adjust to %var_type.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (%var_was_plus_eq): Rename as...
- (%var_type): this.
- (%def_type): Remove.
- (&macro_define): %var_type may now hold `', `+', or `:'.
- (%conditional, %am_vars, %content_lines): Rename as...
- (%var_value, %var_comment, %var_line): these.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_output): Admit a list of @CONDS.
- (&variable_pretty_output): New.
- (&define_pretty_variable): Use it.
- (&read_am_file, &file_contents_internal): Prepend a separator to
- $am_vars only if there is none yet.
- (&file_contents_internal): Rename $separator as $spacing to
- harmonize with &read_am_file.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_install_var): Transform DIST, and let the *.am
- files handle DIST_COMMON.
- * data.am, header.am, java.am, list.am, python.am, script.am: Set
- DIST_COMMON.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (%dist_common): Remove.
- (%configure_dist_common): Replace with...
- ($configure_dist_common): this.
- (&generate_makefile): Read the user file before using
- push_dist_common, as it sets DIST_COMMON, and read_am_file checks
- that no variable is defined before it is run.
- (&handle_texinfo): Don't handle DIST_COMMON, let your file do it.
- (&dist_cmp): Rename as...
- (&for_dist_common): this.
- (&handle_dist): Don't handle DIST_COMMON, let `configure.am' do
- it.
- Adjust to $configure_dist_common.
- * configure.am, texi-vers.am: Set DIST_COMMON.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_aclocal_m4): Rename as...
- (&scan_aclocal_m4): this.
- Return the list of aclocal.m4 dependencies.
- (&handle_configure): Invoke it, and use it when loading...
- * configure.am: Template the rules to recreate aclocal.m4.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&get_object_extension): Use ansi2knr.am.
- * clean-kr.am, kr-extra.am: Remove, merged into...
- * ansi2knr.am: this new file.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&transform): Fix an incredible bug which was
- breaking the if/endif system.
- ($ELSE_PATTERN): Admit an optional argument.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * comp-vars.am: Remove, merged into...
- * compile.am: here.
- * automake.in (&get_object_extension): Adjust.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * remake.am: Merge into...
- * configure.am: ... here.
- * automake.in (&handle_configure): Adjust.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&output_lex_build_rule): Output this...
- * lex.am: New file.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&condition_negate): New.
- (&variable_conditions_permutations): Use it.
- (&read_am_file, &file_contents): Use it on `else' clauses to
- support `if FALSE'.
- (&output_yacc_build_rule): Output this...
- * yacc.am: New file.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&make_paragraphs): Transform TOPDIR_P and TOPDIR.
- (&handle_dist): Don't.
- (&handle_clean): Don't handle config.status here, let...
- * clean.am: ... do it.
- * distdir.am: Adjust.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in: Use strict vars and subs.
- Declare `%require_file_found'.
- (&handle_source_transform, &make_paragraphs): Declare my variables.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * data.am, header.am, java.am, libs.am, lisp.am, ltlib.am,
- * progs.am, python.am: Use if/endif instead of ?INSTALL?.
- * java.am (_am_installdirs): Be sure to set it.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&make_condition): Return '#' when FALSE.
- (&conditional_string): Return FALSE, not '#' in the corresponding
- cases.
- (&file_contents_internal): Adjust.
- (&check_variable_defined_unconditional): Dump the guilty variable.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * distdir.am: Use and abuse of if/endif.
- * scripts.am: Using if/endif with variables is fine.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&make_paragraphs): Extract from &file_contents.
- Make it more robust than the previous RE based scheme.
- (&file_contents): Use it.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&make_paragraphs): Extract from &file_contents.
- Make it more robust than the previous RE based scheme.
- (&file_contents): Use it.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * tests/yacc2.test: Don't define several times a variable, as
- automake complains.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_source_transform): Fix pr72: don't define
- $linker if there are no @files.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- Avoid reading twice header-vars.am as now macro_define
- complains.
-
- * automake.in (&define_standard_variables): Don't output the
- variables.
- (&read_main_am_file): Output first user variables, then Automake
- variables.
- Don't call twice &define_standard_variables.
- Save variable comments in $am_vars.
- (&variable_output): New.
- (&file_contents_internal): New.
- Save variable comments in $am_vars.
- (&file_contents): Use it.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define): The user is allowed to override
- a value if it was set by Automake, or if it was found in AC_SUBST.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_source_transform): Better locality of the
- variables.
- Use `next' to skip nonexistent variables.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_dump): If a variable is undefined, say
- it.
- (&check_ambiguous_conditional): Give finer error messages.
- (&macro_define): Check that a `+=' variable is not set with `='.
- Check for ambiguous definitions each time you _set_ (even with `+=')
- a variable.
- (&read_main_am_file): Perform a deep copy of %conditional.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_defined): Some callers, e.g.,
- &am_primary_prefixes, really want to know if the variable is
- defined for any condition, not `TRUE' by default.
- (&am_primary_prefixes): Give a more precise error message.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- (&variable_conditions): Don't include `FALSE' in the result.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_conditions_reduce): FALSE is absorbent.
- (&variable_conditions): Don't include `FALSE' in the result.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * tests/defs, tests/depend3.test: Remove useless code.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_source_transform): Use
- &variable_conditions, don't read $conditional{$var}.
- (&variable_conditions_sub): When the call is the top level call,
- generate all the permutations of the conditions.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * depend2.am (@AMDEP@%FPFX%DEPMODE): Define it when GENERIC so
- that it does not get noticed twice by automake, which now
- complains for multiple definitions.
- * tests/vartar.test: s/INSTALL/install/g, automake now complains
- because we defined INSTALL.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&generate_makefile) Use macro_define to define
- SOURCES and OBJECTS.
- (&variable_defined): Don't check for $conditional{VAR}{COND} as
- this would make perl create $condition{VAR}, which we don't want.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_defined, &define_pretty_variable):
- Simplify code which used to handle the cases where not all
- variables were in %conditional.
- (&define_variable): Use &define_pretty_variable.
- (&variable_conditions_sub, &variable_value_as_list_worker)
- (&variable_value_as_list, &rule_define): Simplify syntax.
- (&read_main_am_file): Dump the guilty predefined variables.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_conditions_sub)
- (&variable_value_as_list_worker): Remove dead code which used to
- handle the cases where not all variables were in %conditional.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_source_transform, &read_main_am_file):
- Simplify loops which were split in two parts, conditional vs
- unconditional variables.
-
-2001-04-09 Akim Demaille <akim@epita.fr>
-
- Handle unconditional values of variables as conditioned by
- `TRUE'.
-
- * automake.in (%contents): Remove.
- (&generate_makefile, &handle_ltlibraries, &macro_define)
- (&read_am_file, &variable_defined, &variable_conditions_sub)
- (&variable_value, &variable_value_as_list_worker)
- (&variable_value_as_list, &define_pretty_variable)
- (&read_main_am_file): Use
- $conditional, not %contents.
- (&variable_conditions_permutations): Don't return TRUE and FALSE.
- (&variable_conditionally_defined): New.
- (&handle_dist): Use it.
- (&check_ambiguous_conditional): When multiply defined, specify
- under which condition.
- (&macro_define): Use it.
- (&variable_delete): New.
- (&read_am_file): Use it.
- (&am_install_var): Simplify, as all the variables are in
- %conditional now.
-
-2001-04-07 Tom Tromey <tromey@redhat.com>
-
- * tests/Makefile.am (XFAIL_TESTS): Added man.test.
- (TESTS): Likewise.
- * tests/man.test: New file.
-
-2001-04-07 Raja R Harinath <harinath@cs.umn.edu>
-
- * depcomp (gcc3): Invert test condition.
-
-2001-04-07 Tom Tromey <tromey@redhat.com>
-
- * depcomp (gcc3, gcc): Don't assume $? will be set in `if'
- statement. Report from Larry Jones.
-
-2001-04-07 Raja R Harinath <harinath@cs.umn.edu>
-
- * depcomp (sgi): Fix sed expression. Report from Robert Boehne.
-
-2001-04-01 Tom Tromey <tromey@redhat.com>
-
- * java.am (.PHONY clean-am): Removed trailing ":".
- From Per Bothner. Fixes PR automake/139.
-
-2001-03-28 Akim Demaille <akim@epita.fr>
-
- * program.am: Fix a stupid typo: now *all* (not none) the programs
- use `$(EXEEXT)'.
- Reported by Robert Boehne.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_am_file, &file_contents): Avoid name clashes
- on $cond.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_conditionally_defined): Rename as...
- (&check_variable_unconditionally_defined): this.
- (&variable_dump): Fix the output.
- (&variable_defined, &macro_define): Since conditions are
- canonicalized, don't use a loop to look for a condition: read the
- hash.
- (&macro_define, &rule_define, &read_am_file, &file_contents):
- Rename $cond_string as $cond.
- * distdir.am (PACKAGE, VERSION): Remove; since they are already
- discovered via AC_SUBST, they now trigger a `defined twice' error.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_footer, &handle_installdirs)
- (&read_main_am_file): Don't read %contents directly, use
- &variable_value.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_am_file): Define the variables in a single
- shot.
- Factor the $saw_bk code.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_am_file): Keep $cond_string up to date.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&define_variable): Use &macro_define.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define): Don't lose the location if we
- redefine a variable.
- Don't push all the variables in @var_list, let...
- (&read_am_file, &file_contents): ... do it.
- (&define_pretty_variable): Use macro_define.
- (&am_install_var): Delete the value of variables being redefined
- to pacify &macro_define which checks that variables are not
- doubly defined.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&conditional_dump): Rename as...
- (&variables_dump): this. Use...
- (&variable_dump): this new sub.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Maintain $cond_string sync with
- @cond_stack.
- Output rules only if not under `FALSE'.
- Define variables under $cond_string.
- * scripts.am: For the time being if/endif does not work properly
- with macros.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (IF_PATTERN): Unobfuscate the parens.
- (ENDIF_PATTERN): Allow a condition to be specified.
- (&file_contents): Use a @cond_stack.
- (&transform): At least for an easy transition, also transform
- %?FOO% and %!FOO%, as suggested by Lars.
- * scripts.am: First test bed for static if/endif use.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Use rule_define.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define): Don't rely on $1.
- Initialize the variable.
- Set its Automakism only if not defined or if given to the user.
- When concatenating values, insert a separator only if the value
- was not empty.
- (&read_am_file): When dumping the @var_list, skip Automake
- variables.
- (&file_contents): Use macro_define.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&rule_define): Extract from...
- (&read_am_file): here.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define, &read_am_file): More work for the
- former from the latter. Reorganize the latter.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&macro_define): Extract from...
- (&read_am_file): here.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (%am_var_defs): Replace with...
- (%var_is_am): this.
- (&handle_installdirs, &variable_value_as_list_worker, &read_am_file)
- (&file_contents, am_primary_&prefixes): Adjust.
- (&variable_defined, &define_variable): The actual semantics is
- `user defined'.
- (&read_main_am_file): Assert the var is user defined when
- outputting @var_list.
-
-2001-03-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (read_am_file): TRUE and FALSE are predefined
- conditionals.
- (&by_condition): Adjust.
- (&conditional_string): Recognize `TRUE' and `FALSE'.
- (&make_condition): Use it.
- * m4/cond.m4: Reject TRUE and FALSE as conditionals.
- * automake.texi (Conditionals): Adjust.
- * tests/cond9.test: s/FALSE/WRONG/.
-
-2001-03-12 Pavel Roskin <proski@gnu.org>
-
- * tests/Makefile.am (XFAIL_TESTS): Remove cond3.test, it passes
- now.
-
-2001-03-12 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_conditions_permutations): Separate the
- conditions.
- * tests/cond3.test: Improve the sed expression.
-
-2001-03-09 Pavel Roskin <proski@gnu.org>
-
- * Makefile.am (maintainer-check): Scan all *.am files and tests
- for invocations of `rm' without `-f'.
- * tests/mclean.test: Adjusted to prevent triggering the above
- test.
-
-2001-03-09 Tom Tromey <tromey@redhat.com>
-
- * automake.in (scan_one_autoconf_file): Fixed comment to avoid
- maintainer-check failure.
-
-2001-03-09 Akim Demaille <akim@epita.fr>
-
- * tests/cond3.test: Strengthen.
-
-2001-03-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&conditional_string): Produce a unique string
- characterizing a condition stack.
- (&conditional_same): Remove, comparing two strings is now enough.
- (&variable_defined): Adjust.
- (&read_am_file): Use conditional_string.
-
-2001-03-08 Akim Demaille <akim@epita.fr>
-
- * automake.in: Use -w.
- Normalize all use of `$lang . '-foo'' into `"$lang-foo"'.
- (&parse_arguments): Support --Werror and --Wno-error as a
- temporary hack until --warning/-W is properly implemented.
- (&handle_single_transform_list): Prototype.
- Be sure to define $directory.
- Use `exists' instead of testing the value of a maybe undefined
- hash value.
- (&add_depend2, &handle_configure, &handle_footer, &file_contents)
- (&handle_factored_dependencies): Use defined values.
- (&scan_one_autoconf_file): Save $_.
- * tests/lex2.test, tests/sinclude.test, tests/suffix3.test:
- Run automake with --Wno-error.
-
-2001-03-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_all): Use an array instead of a scalar for
- local_headers.
- Get rid of all-redirect: let `all' be that target.
-
-2001-03-07 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_merge_targets): Ventilate its non `all'
- related content into...
- (&generate_makefile): here.
- (&handle_merge_targets): Rename as...
- (&handle_all): this.
- Remove a useless `if': `@all' is obviously not empty, since it
- contains at least the `basename ($makefile)' which has just been
- unshifted.
-
-2001-03-07 Akim Demaille <akim@epita.fr>
-
- * automake.in, aclocal.in: Backquote is inert in double quotes.
-
-2001-03-06 Akim Demaille <akim@epita.fr>
-
- * Makefile.am (maintainer-check): Simplify `grep -v ... | grep .'
- into `grep -v ...'.
-
-2001-03-06 Pavel Roskin <proski@gnu.org>
-
- * java.am: Use `rm -f' instead of `rm'.
-
-2001-03-06 Akim Demaille <akim@epita.fr>
-
- * automake.in (&push_dist_common): Simplify.
-
-2001-03-06 Jens Krüger <jens_krueger@physik.tu-muenchen.de>
-
- * ltlib.am: Replaced spaces with tab.
-
-2001-03-06 Pavel Roskin <proski@gnu.org>
-
- * tests/Makefile.am (XFAIL_TESTS): noinstdir.test removed, it's
- fixed now.
-
-2001-03-05 Pavel Roskin <proski@gnu.org>
-
- * header.am, scripts.am: Use ?INSTALL? in the install and
- uninstall rules.
-
-2001-03-05 Pavel Roskin <proski@gnu.org>
-
- * tests/copy.test: Never use `rm' without `-f' - it may ask
- questions, notably for read-only files during `make distcheck'.
- * tests/insh.test: Likewise.
- * tests/installsh.test: Likewise.
- * tests/symlink.test: Likewise.
- * tests/symlink2.test: Likewise.
- * tests/symlink3.test: Likewise.
-
-2001-03-05 Pavel Roskin <proski@gnu.org>
-
- * noinstdir.test: New test.
- * tests/Makefile.am (TESTS): Add noinstdir.test.
- (XFAIL_TESTS): Likewise.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_options): Change the RE so that the third
- part of the versions always exist.
- (&file_contents): Don't pass uninitialized values to &transform.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Require a hash as second argument.
- Adjust callers.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- Always use hashes with &file_contents.
-
- * automake.in (&handle_texinfo): texibuild.am does not need
- TEXINFODIR.
- texinfos.am wants only TEXICLEANS.
- (&handle_dist, &add_depend2, &handle_clean): Replace $xform with
- %transform.
- * texinfos.am: Adjust.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_programs, &handle_libraries, &handle_tags)
- (&handle_ltlibraries, &handle_emacs_lisp, &handle_python): Adjust.
- (&am_install_var): Forget about `-clean'.
- Transform ?INSTALL?.
- Always output the *.am file.
- * data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am,
- * ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am:
- Remove, merged into the corresponding *.am file.
- * data.am, libs.am, ltlib.am, progs.am, python.am: Equip with
- ?INSTALL?.
-
-2001-03-05 Pavel Roskin <proski@gnu.org>
-
- * Makefile.am (amfiles): Add configure.am. Sort alphabetically.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- If OBJEXT and EXEEXT are not set, provide a default value, and use
- them unconditionally.
-
- * automake.in (&generate_makefile): Provide default values for
- EXEEXT and OBJEXT.
- (&get_object_extension, &finish_languages)
- (&handle_single_transform_list, &handle_programs, &add_depend2)
- (&check_cygnus, &lang_c_finish, am_install_var): Don't bother with
- them, they are defined.
- * compile.am, depend2.am, program.am, progs.am: Likewise.
- * remake-hdr.am: Fix a typo.
- * tests/cxxo.test, tests/fo.test, tests/implicit.test,
- * tests/interp.test, tests/subobj.test, tests/subobj2.test,
- * tests/suffix2.test: Adjust.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Map MAINTAINER-MODE to
- @MAINTAINER_MODE_TRUE@ or nothing.
- * configure.am, remake-hdr.am, remake.am, texi-vers.am: Adjust.
- Suggested by Tom.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&do_one_merge_target): Remove, was only called from...
- (&handle_merge_targets): here for `all'.
- Adjust.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- Make the installation/uninstallation of Info pages follow the
- regular am/recursive scheme.
-
- * automake.in (%required_targets, %dependencies): Add
- install-info.
- (%dependencies): Add install-info, install-info-am, and
- unstall-info.
- (&handle_subdirs): Don't transform INSTALLINFO, which mapping was
- reversed BTW. Does anybody use the option `no-installinfo'?
- (&handle_merge_targets): Let the handling of info related targets
- to...
- (&handle_factored_dependencies): this.
- * subdirs.am: Use ?INSTALL-INFO?.
- * texinfos.am: Define the install-info, uninstall-info and
- uninstall-info-am targets.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (%required_targets, %dependencies): Add dvi, info,
- dvi-am, info-am.
- (@info, @dvi): Remove.
- (&handle_texinfo, &handle_merge_targets): Adjust.
- (&handle_factored_dependencies): Required targets are phony.
- * texinfos.am: Build info, dvi, and the corresponding -am or
- -recursive targets.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_install_var): Remove $cygxform, unused.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Transform LIBTOOL.
- (&am_install_var): Remove $ltxform.
- * ltlib.am, progs.am: Adjust.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in: Require AC_PROG_INSTALL in...
- (&scan_autoconf_files): here.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * configure.am: New file.
- * automake.in (&file_contents): Transform CONFIGURE-AC.
- (&handle_texinfo, &handle_configure): Don't transform
- CONFIGURE_AM.
- (&handle_configure): Use `configure.am'.
- * remake-hdr.am, remake.am, texi-vers.am: Adjust to
- MAINTAINER-MODE and CONFIGURE-AC.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&pretty_print_internal): Don't output useless
- spaces.
- (define_pretty_variable): Don't issue the space after the `=' sign
- to avoid trailing spaces in Makefile.ins.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&generate_makefile): Invoke &initialize_per_input
- *before* setting $am_file_name and $in_file_name.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in ($in_file_name, $am_file_name, $relative_dirs):
- Globals, initialized...
- (&initialize_per_input): here.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in ($am_relative_dir): Global.
- (&initialize_per_input): Init it.
- (%make_list, @make_input_list): My them from
- (&scan_autoconf_files): here.
- (&require_file_internal): Mying changes.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (%am_vars, @var_list, %def_type): Globals.
- (&initialize_per_input): Initialize them.
- (&read_main_am_file): Don't local them.
- (&get_object_extension): $objext is private.
- (&handle_single_transform_list): $lang is.
- (&handle_ltlibraries): $libname_rx is.
- (&scan_autoconf_config_files): How about actually paying attention
- to your arguments, instead of working on $_? (this is no Perl
- variable, it's a Perl variable followed by a question mark).
- (&file_contents): $contents and $separator are private.
- (&am_install_var): Declare @condvals, not $condvals.
- (%make_dirs): My.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&initialize_per_input): Move to the top.
- Precede with the `my' list of its variables.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in ($am_file): Use vars.
- ($am_file_name, $in_file_name): Private to &generate_makefile.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in: Preparation for `use strict': Move the
- initialization of the constants to the top, from...
- (&initialize_global_constants): here.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_single_transform_list, &add_depend2): Let
- $lang_specific_files{$lang} be a list instead of a string.
-
-2001-03-05 Akim Demaille <akim@epita.fr>
-
- Let's make it run ten times faster...
-
- * automake.in (&transform): Be sure to remove the `\n' with ?FOO?
- transformations.
- (&file_contents): Let `$command' remove the Automake commands, and
- normalize the series of `\n'.
- Slurp the file and apply $command in a single step.
- No longer apply the `@MAINTAINER_MODE_TRUE@' transformation which
- is already normalized to be handled by &transform.
-
-2001-03-05 Tom Tromey <tromey@redhat.com>
-
- * automake.in (register_language): Add entry for `-pure'.
- Added `pure=yes' entries for cxx, objc, f77, ppf77, ratfor, java.
- (finish_languages): Use `-pure' field of language map.
-
-2001-03-03 Tom Tromey <tromey@redhat.com>
-
- * tests/yaccvpath.test: No need to remove dummy files.
- * tests/subobj3.test: No need to remove dummy files.
- * tests/pr9.test: No need to remove dummy files.
- * tests/pr87.test: No need to remove dummy files.
- * tests/pr19.test: No need to remove dummy files.
- * tests/install2.test: No need to remove dummy files.
- * tests/defs: Actually copy in install-sh, mkinstalldirs, missing,
- and depcomp.
-
-2001-02-27 Pavel Roskin <proski@gnu.org>
-
- * tests/yaccvpath.test: Add a delay to make parse.c really out
- of date. Detect the problem earlier, after `make distdir'. Drop
- dependency on flex. Always use the `-y' flag for bison. Comment
- changes.
- * tests/Makefile.am: Add yaccvpath.test to XFAIL_TESTS.
-
-2001-03-02 Jens Krüger <jens_krueger@physik.tu-muenchen.de>
-
- * depend2.am (?!GENERIC??LIBTOOL?%LTOBJ%): Add `%' to fix typo.
-
-2001-02-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (&add_depend2): Transform `GENERIC'.
- Get rid of the ad hoc transformation of `@EXT@.o:' which in
- addition was broken by the `@ -> %' patch.
- * depend2.am: Adjust to use ?GENERIC?.
-
-2001-02-28 Akim Demaille <akim@epita.fr>
-
- * Makefile.am (maintainer-check): `undef $/' is OK.
-
-2001-02-28 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_configure): Fortunately, $top_reldir,
- the definition of which was highly suspicious, was unused.
-
-2001-02-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (%exec_dir_p): Move to the top so that it is visible
- to all routines.
-
-2001-02-27 Pavel Roskin <proski@gnu.org>
-
- * tests/yaccvpath.test: Prevent automake from looking into ..
- and ../.. by using AC_CONFIG_AUX_DIR in configure.in.
-
-2001-02-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (%exec_dir_p): Pulled out from...
- (&am_primary_prefixes): here.
-
-2001-02-27 Akim Demaille <akim@epita.fr>
-
- * automake.in (&usage): Display $0, not $me.
-
-2001-02-27 Akim Demaille <akim@epita.fr>
-
- * mans.am: s/INSTALL_MAN/INSTALL-MAN/.
- * automake.in (&handle_clean): Don't escape what's given to
- &transform.
-
-2001-02-27 Akim Demaille <akim@epita.fr>
-
- Distinguish automake substitutions from config.status
- substitutions.
-
- * automake.in (&add_depend2): Transform AMDEP.
- (&handle_clean): Transform MCFILES and MFILES.
- (&file_contents): Transform MAINTAINER_MODE.
- (&transform, &am_install_var): Use `%', not `@'.
- Adjust all the *.am files.
- * clean.am: Use ?MFILES? instead of ad hoc MAINTAINERCLEAN.
- * depend2.am: Display the double dependency on both ?AMDEP? and
- @AMDEP@.
-
-2001-02-27 Tom Tromey <tromey@redhat.com>
-
- * distdir.am (distcheck): Fixed new code.
-
- * tests/yaccvpath.test: Fail gracefully if bison/flex not found.
- Only configure once.
-
- * distdir.am (distcheck): Print error message if distclean failed
- to fully clean.
-
-2001-02-27 Pavel Roskin <proski@gnu.org>
-
- * tests/Makefile.am (TESTS): s/yaccpvath/yaccvpath/.
-
-2001-02-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/Makefile.am (TESTS): Added yaccvpath.test.
- * tests/yaccvpath.test: New file.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_install_var): Recognize whether predefined
- directories are `data' or `exec'.
- * libs.am, ltlib.am, progs.am, python.am, scripts.am: Install
- ?EXEC?.
- * tests/instdata2.test: Update.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * texinfos.am: No ?EXEC? hook as currently installing TEXINFOS is
- necessarily in infodir.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in ($am_file): Be `local', as my'd variables used in
- `foreach' loops are always private to the loop.
-
-2001-02-26 Pavel Roskin <proski@gnu.org>
-
- * Makefile.am: Add install.am.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&target_cmp, &dist_cmp): Do not prototype comparing
- routines, otherwise the elements to compare are passed in @_
- instead of $a and $b.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (%required_targets): `installcheck-am' is needed.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&transform_cond): Merge into...
- (&transform): this.
- Adjust all uses.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_dist): Use &transform instead of dedicated
- magic for DISTDIRS.
- But be sure to always do it.
- * distdir.am: Adjust.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in: Use File::Basename.
- (&dirname, &basename): Remove.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in ($me): New.
- Use it.
- (&usage): Display your full name.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.texi (Invoking Automake): Remove dead options.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_texinfo_file): Also compute the list of files
- to clean.
- Handle local errors.
- (&handle_texinfo): Use it.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in: Don't pass arguments to...
- (&parse_arguments): Work on @ARGV.
- Use Getopt.
- Add support for `-f'.
- (&version): New.
- (&usage): Update.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_merge_targets, &do_one_merge_target): Don't
- handle installcheck and installcheck-am.
- * install.am: Do it.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_merge_targets, &do_one_merge_target): Don't
- handle install and install-am.
- * install.am: Do it.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_merge_targets, &do_one_merge_target): Don't
- work on targets handled by %dependencies.
- (&handle_factored_dependencies): Do it.
- * install.am: Install install-exec, install-data and uninstall's
- suites.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_merge_targets): Move `install-strip' from
- here...
- * install.am: to here.
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * automake.in (@installdirs): Remove.
- (&file_contents): Be able to grow Automake macros with `+='.
- (&handle_texinfo, &handle_man_pages, &am_install_var): Let your
- files define _am_installdirs.
- (&handle_installdirs): Remove the code, just output `install.am'.
- * install.am: New.
- * data.am, header.am, libs.am, lisp.am, ltlib.am, mans.am, progs.am,
- * python.am, scripts.am, texinfos.am: Extend $(_am_installdirs).
-
-2001-02-26 Akim Demaille <akim@epita.fr>
-
- * tests/instdata2.test (libexec_DATA): Exercise more
- possibilities.
-
-2001-02-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * header-vars.am (INSTALL_STRIP_FLAG): Remove (obsolete).
-
-2001-02-25 Tom Tromey <tromey@redhat.com>
-
- * tests/instdata2.test: Added `sbin_DATA' check.
-
- * tests/Makefile.am (TESTS): Added subdircond.test.
- * tests/subdircond.test: New file.
- * automake.in (handle_gettext): Don't fail if SUBDIRS
- conditionally defined.
-
- * automake.in: Use IO::File.
- (generate_makefile): Use IO::File.
- (scan_texinfo_file): Likewise.
- (handle_aclocal_m4): Likewise.
- (scan_autoconf_traces): Likewise.
- (scan_one_autoconf_file): Likewise.
- (read_am_file): Likewise.
- (file_contents): Likewise.
- (create): Likewise.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_texinfo): Remove code handled by texinfos.am.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (&transform): Also call &transform_cond on your
- arguments.
- (&handle_dist): Adjust.
- (&handle_factored_dependencies): Uniq dependencies.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_gettext): Simplify redundant `if'.
- Used &variable_value, don't read %contents directly.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in ($install_recursive): Remove, replaced with calls to
- `&variable_defined ('SUBDIRS')'.
- (&handle_dist, &handle_clean): Don't transform_cond SUBDIRS since...
- (&file_contents): now does.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_man_pages): $found is dead.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- Internally just store the conditionals as space separated lists of
- CONDITIONS (instead of @CONDITIONS@).
-
- * automake.in (&conditional_true_when, &variable_conditions_sub):
- Split conditions at spaces.
- (&handle_dependencies, &variable_conditions_permutations): Don't
- put @ around conditions.
- (&variable_conditions_cmp): There are no @ to strip.
- (&make_condition): New.
- (&define_pretty_variable, &read_main_am_file, &read_am_file): Use
- it.
- (&read_main_am_file, &read_am_file): Stop playing with @ by hand.
- Join @conditional_stack with spaces.
- (&read_main_am_file): Adjust the output of variables.
- Output `TRUE = true' under the condition `TEST' as `@TEST@TRUE =
- true' and no longer `@TEST@TRUE = @TEST@true'.
- (&variable_conditions_cmp): Rename as...
- (&by_condition): this.
- Sort in a human pleasant order.
- Use it everywhere a human can see conditions.
- (&variable_conditions_reduce): Don't sort conditions, that's
- pointless.
- * tests/cond.test, ctarget1.test, pluseq3.test: Strengthen.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in: `my' the globals.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (&initialize_per_input): %targets_conditionals is
- new.
- (&read_am_file): When slurping a rule, set the target related
- variable, and no variable related variable.
- (&file_contents): Likewise.
- * tests/vartar.test, tests/ctarget1.test: New.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (&variable_defined, &variable_value_as_list_worker):
- If $VAR is effectively a variable, don't die if it's also a
- target.
- Plus some formatting changes.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in: Mying changes.
- * Makefile.am (maintainer-check): Check the stability of the
- number of uses of `local'.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in: Mying changes.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in: Mying changes.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in: Mying changes.
- (&handle_tags): Fix a bug uncovered by the previous mying changes:
- transform CONFIG into $config, not $xform.
-
-2001-02-25 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_texinfo, &handle_man_pages, &am_install_var):
- Don't deal with install-data-am, install-exec-am and unstall-am.
- (&initialize_per_input): Add them to %dependencies.
- Remove %exec_dir_p since the *.am files are now in charge of it.
- Remove @uninstall, @install_data, @install_exec.
- (&handle_merge_targets): Adjust to these removals.
- (&file_contents): Also &transform_cond for --no-installman and
- --no-installinfo.
- (&do_one_merge_target): Add some magic to install hooks on
- %dependencies' targets.
- (%required_targets): New.
- (&handle_factored_dependencies): Output required targets.
- * data.am, header.am, java.am, libs.am, lisp.am, ltlib.am,
- * mans-vars.am, mans.am, progs.am, python.am, scripts.am,
- * texinfos.am: Declare your dependencies on install-data-am,
- install-exec-am and uninstall-am.
- * tests/instdata2.test (incldata_HEADERS): New test.
-
-2001-02-24 Tom Tromey <tromey@redhat.com>
-
- * Makefile.am (amfiles): Added texibuild.am.
- * texibuild.am: New file.
- * tests/Makefile.am (TESTS): Added texinfo9.test.
- * tests/texinfo9.test: New file.
- * automake.in (handle_texinfo): Keep track of suffixes used. Give
- error if suffix unrecognized. Removed extraneous newline.
-
-2001-02-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&am_install_var): Don't hook on the clean targets
- and .PHONY.
- * data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am,
- * ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am:
- Do it.
-
-2001-02-23 Akim Demaille <akim@epita.fr>
-
- * automake.in: Promote local `my' over `local'.
-
-2001-02-23 Akim Demaille <akim@epita.fr>
-
- * automake.in: Formatting and mying changes.
-
-2001-02-23 Akim Demaille <akim@epita.fr>
-
- * automake.in: Formatting and mying changes.
-
-2001-02-23 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_man_pages): Let install-man and
- uninstall-man be handled by the dependency tracker.
- (&initialize_per_input): Let %dependencies track them.
- * mans.am: Add the needed hooks with the proper dependencies.
-
-2001-02-22 Pavel Roskin <proski@gnu.org>
-
- * tests/target-cflags.test: Don't use subshell to configure in
- subdirectory. Typo fix - run `./foo', not `/foo'.
-
-2001-02-22 Akim Demaille <akim@epita.fr>
-
- * automake.in: Formatting and mying changes.
-
-2001-02-21 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_dist): Introduce new variable to avoid extra
- keys in %dist_dirs. Fixes distdir.test.
-
- * automake.in (handle_texinfo): Only remove suffixes we can
- handle.
-
- * tests/distdir.test: Check to make sure directory isn't made in
- build directory.
-
- * automake.in (handle_dist): Do nothing in Cygnus mode.
-
-2001-02-21 Pavel Roskin <proski@gnu.org>
-
- * header-vars.am: Remove tabs before variable definitions.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * tests/distdir.test (EXTRA_DIST): Use a finer pattern to avoid
- false diagnostics.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&dist_cmp, &target_cmp): Be sure to return a
- numeric value as required by Perl 5.6.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * dist-vars.am: Remove, merge into...
- * distdir.am: this.
- * automake.in (dirname, basename, backname): Move to the top of
- the file so that prototypes are checked,
- Use them without `&'.
- (&handle_dist): Adjust.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&check_ambiguous_conditional, &read_main_am_file):
- Use a uniform naming scheme.
- (&quote_cond_val, &unquote_cond_val): Delete, dead code.
- (&read_am_file): Fix conditional definition of backslash continued
- items.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- Change the handling of conditionals: instead of using an ad-hoc
- encoding to store a hash in a string, use hashes.
-
- * automake.in (&conditional_dump): New.
- (&check_ambiguous_conditional, &variable_defined)
- (&variable_conditions_sub, &variable_value_as_list_worker)
- (&define_variable, read_am_file, &read_main_am_file): Be sure to
- handle `$conditional{$vars}' as a hash instead of a plain string.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&conditional_true_when): Modernize, simplify.
- Warning: `$comp' is now private (my), while it used to be
- `inherited' from a `local' elsewhere in the code. AFAICT it was
- wrong, but some dirty side effect might show up.
- (&conditionals_true_when): New.
- (&variable_conditions_sub, &variable_conditions_reduce): Use it.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in ($top_builddir): Remove, used in one place.
- (&define_standard_variables): Adjust.
- Move the definition of triplet variables into...
- * header-vars.am: here.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&initialize_global_constants): Don't define $USAGE.
- (&usage): Handle the former content of $USAGE.
- Don't pretend autoconf cares about Makefile.in.
- Classify the options.
- (&handle_tests): Formatting and mying changes.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&handle_tests_dejagnu): Move the definition of a
- default `site.exp' into...
- * dejagnu.am (site.exp): here.
- Use DOS compliant file names.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&dist_cmp): New.
- (&handle_dist): Use it.
- Promote `my' over `local'.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * dist.am: Remove, merge into...
- * distdir.am: here. Use the neat sed snippet for banners.
- BTW, distcheck is phony.
- * automake.in (&handle_dist_worker): Remove, merge into...
- (&handle_dist): this.
- (&file_contents): Strip leading new lines.
- Be sure to end comments with new lines.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * distdir.am (GZIP_ENV): Define.
- * automake.in (&handle_dist): Don't.
- (&uniq): New.
- (&handle_dist_worker, &am_install_var): Use it.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * distdir.am (distdir): Handle the DIST-TARGETS.
- * automake.in (&handle_dist_worker): Don't.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Transform the global options (such
- as CYGNUS).
- (&handle_texinfo, &handle_dist_worker, &handle_tests_dejagnu): Don't.
-
-2001-02-21 Akim Demaille <akim@epita.fr>
-
- * distdir.am (distdir): Be sure to have permissive rights on its
- contents.
- (dist-all, dist-bzip2, dist-zip, dist-tarZ): New conditional
- targets.
- And BTW, all of these guys are phony.
- * automake.in (&handle_dist_worker): As its name doesn't indicate,
- output distributions.
- (&handle_dist): As its name doesn't indicate, don't.
- (&initialize_global_constants): Don't define variables which
- content is now handled by distdir.am.
- But register `dist-all' as a factored target.
- (&handle_factored_dependencies): Don't output empty targets.
-
-2001-02-20 Tom Tromey <tromey@redhat.com>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Simplify m4_pattern_allow
- invocation.
-
-2001-02-18 Tom Tromey <tromey@redhat.com>
-
- * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Don't call AM_PROG_STRIP.
- Set INSTALL_STRIP_PROGRAM_ENV to `$(STRIP)', not `$STRIP'.
- (AM_PROG_STRIP): Commented out.
-
-2001-02-17 Raja R Harinath <harinath@cs.umn.edu>
-
- * depcomp (gcc3): Protect against the compiler deleting
- the dependency output file.
-
-2001-02-17 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_merge_targets): Use double quotes around
- setting of INSTALL_STRIP_PROGRAM.
- * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM
- to absolute path at runtime.
- (AM_PROG_STRIP): Don't explicitly test $STRIP.
-
-2001-01-28 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/strip.m4: New file.
- * m4/Makefile.am (m4data_DATA): Add strip.m4.
- * m4/init.m4: Call AM_PROG_INSTALL_STRIP.
- * m4/missing.m4 (AM_AUX_DIR_EXPAND): New function.
- * automake.in (handle_merge_targets): In the install-strip rule,
- set INSTALL_PROGRAM to INSTALL_STRIP_PROGRAM, and INSTALL_PROGRAM_ENV
- to INSTALL_STRIP_PROGRAM_ENV; don't use INSTALL_STRIP_FLAG.
- * progs.am (install-@DIR@PROGRAMS): Adapt to use INSTALL_PROGRAM_ENV,
- don't use INSTALL_STRIP_FLAG any longer.
-
-2001-02-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_one_configure_file): Unquote AC_CONFIG_AUX_DIR's
- argument.
-
-2001-02-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (unquote_m4_arg): New function.
- (scan_one_configure_file): Call unquote_m4_arg on
- AM_CONFIG_HEADER argument, so that AM_CONFIG_HEADER([foobar.h])
- works.
-
-2001-02-15 Tom Tromey <tromey@redhat.com>
-
- * config.guess, config.sub: New versions from FSF.
-
- * Makefile.am (WGET): New macro.
- (FETCHFILES): New macro.
- (fetch): New target.
-
- * tests/subobj3.test: Exit with status 77 if gcc not found.
- * tests/pr9.test: Exit with status 77 if gzip not found.
- * tests/pr87.test: Exit with status 77 if gcc not found.
- * tests/pr19.test: Exit with status 77 if gzip or gcc not found.
- * tests/install2.test: Exit with status 77 if gzip not found.
- * tests/exsource.test: Exit with status 77 if GNU make not found.
- * tests/ansi3.test: Exit with status 77 if gcc not found.
-
- * tests/target-cflags.test: Require GNU make. Exit with status 77
- if gcc or make not found. Fixes PR automake/121.
-
- * configure.in: Require Perl 5.005.
- * automake.in: Require 5.005.
-
- * automake.texi (Top): Conditionalize on `nottex', not `info'.
- Fixes PR automake/122.
-
-2001-02-14 Tom Tromey <tromey@redhat.com>
-
- * automake.in (add_depend2): Only emit a given object rule once.
- Fixes specflags6.test.
-
-2001-02-14 Richard Boulton <richard@tartarus.org>
-
- * tests/specflags6.test: New file.
-
-2001-02-14 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (A Shared Library): Mention -module.
-
-2001-02-13 Tom Tromey <tromey@redhat.com>
-
- * automake.in (do_one_merge_target): Always register $name and
- $name-am as phony.
-
- * automake.in (do_one_merge_target): Register `all' as phony
- target.
-
- * configure.in: Updated to 1.4e for cvs.
-
-2001-02-12 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Updated to 1.4d and released.
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly allow various AM_*
- names through autoconf.
-
- Fix for subdirbuiltsources.test:
- * automake.in (initialize_per_input): [all_target] Initialize to
- empty string.
- (handle_merge_targets): Use all-redirect target to handle built
- sources.
- (do_one_merge_target): Don't generate all-redirect rule.
-
-2001-02-11 Peter Muir <iyhi@yahoo.com>
-
- * tests/subdirbuiltsources.test: New file.
- * tests/Makefile.am (TESTS): Added new file.
-
-2001-02-10 Tom Tromey <tromey@redhat.com>
-
- * tests/condlib.test: New file.
- * tests/Makefile.am (TESTS): Added new file.
-
-2001-02-10 Lars J. Aas <larsa@sim.no>
-
- * automake.in ($MACRO_PATTERN): Include '@' in name regex.
- (&canonicalize): New. Includes '@' in canonical range.
- (&check_canonical_spelling, &handle_programs, &handle_libraries,
- &handle_ltlibraries, &handle_texinfo): Use &canonicalize.
-
-2001-02-10 Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (handle_configure): Revert part of
- '2001-02-04 Kevin Ryde <user42@zip.com.au>'. Don't
- set CONFIG_COMMANDS explicitly.
-
-2001-02-09 Raja R Harinath <harinath@cs.umn.edu>
-
- * depcomp (gcc3): Propagate exit code.
-
-2001-02-09 Lars J. Aas <larsa@sim.no>
-
- * header.am (install-@DIR@HEADERS): s,?!NOBASE?,?!BASE?, (typo)
-
-2001-02-09 Tom Tromey <tromey@redhat.com>
-
- Clean up maintainer-check warnings:
- * Makefile.am (maintainer-check): Ignore comment lines in CDPATH
- check.
- * automake.in (handle_dist_worker): Removed redundant `my $xform'.
-
-2001-02-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&file_contents): Remove a dead branch.
-
-2001-02-09 Akim Demaille <akim@epita.fr>
-
- * automake.in (&transform): Use `my', not `local'.
- (&transform_cond): New.
- (&get_object_extension, &handle_texinfo, &handle_tags)
- (&handle_dist_worker, &handle_dist, &add_depend2, &handle_clean)
- (&handle_tests_dejagnu): Use it.
- * texinfos.am, lisp.am, header.am, dist.am, distdir.am, depend2.am
- * dejagnu.am, data.am, clean.am: Adjust to the new syntax.
-
-2001-02-09 Akim Demaille <akim@epita.fr>
-
- * automake.in: Various formatting changes, and modernization of
- Perl constructs.
- (&backname): New.
- (&handle_configure, define_standard_variables): Use it.
-
-2001-02-08 Tom Tromey <tromey@redhat.com>
-
- * automake.in (file_contents): Only add $actions if any are
- found. Fixes new failure in pr87.test.
-
-2001-02-08 Pavel Roskin <proski@gnu.org>
-
- * tests/pr87.test: Check foo/Makfile.in after it is created.
-
-2001-02-08 Tom Tromey <tromey@redhat.com>
-
- * tests/pr87.test: Added check for blank line after `.c.o' rule.
- Report from Lars J. Aas.
-
-2001-02-07 Lars J. Aas <larsa@sim.no>
-
- * lisp.am (install-@DIR@LISP): Removed extra space.
- * header.am (install-@DIR@HEADERS): Removed extra space.
- * data.am (install-@DIR@DATA): Removed extra space.
-
-2001-02-07 Tom Tromey <tromey@redhat.com>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use \", not ".
-
- * automake.in (handle_dependencies): Use _am_include, not
- AMINCLUDE.
- * tests/exsource.test: Use _am_include, not AMINCLUDE.
- * m4/make.m4 (AM_MAKE_INCLUDE): Use _am_include, not AMINCLUDE.
-
- * tests/Makefile.am (XFAIL_TESTS): Removed distcommon.test.
-
- * tests/Makefile.am (EXTRA_DIST): Added ChangeLog-old.
-
- * automake.in (handle_configure): Handle case where output file is
- in subdir with no Makefile of its own. Fixes remake3.test,
- distcommon.test.
-
-2001-02-06 Pavel Roskin <proski@gnu.org>
-
- * automake.in (handle_dependencies): Rename AM_INCLUDE to
- AMINCLUDE.
- * m4/make.m4 (AM_MAKE_INCLUDE): Likewise.
- * tests/exsource.test: Likewise.
-
-2001-02-06 Derek Price <derek.price@openavenue.com>
-
- * automake.in (handle_configure): Fix syntax error.
-
-2001-02-06 Akim Demaille <akim@epita.fr>
-
- * subdirs.am: This file is the exception: clean recursive targets
- are called by the clean targets, not the clean-am targets.
- Otherwise we have a circular dependency: clean -> clean-am ->
- clean-recursive -> clean.
- * automake.in (handle_clean): Bind `-local' targets to `-am'
- targets, not top targets.
- Don't declare -recursive dependencies of the clean targets:
- `subdirs.am' did it. Less hard coded knowledge, transferred
- into...
- * clean.am: here.
-
-2001-02-06 Akim Demaille <akim@epita.fr>
-
- Monstro unsplitable patch.
-
- The aim is to remove hard coded knowledge about clean targets from
- automake.in, leaving them in the *.am files.
- In addition to the mechanic needed to factor some dependencies, it
- appears some rules (most notably distclean and maintainer-clean)
- need factored actions. So first, be ready to catch factored
- rules.
-
- * automake.in (&file_contents): For the time being, use an extended
- $RULE_PATTERN which is able to match any kind of rules, with or
- without dependency, with or without actions.
- Handle all the rules uniformly, storing in %actions the factored
- actions.
- (&flatten, &target_cmp): New.
- (&handle_factored_dependencies): Output the %actions.
- No longer special case `clean'.
- Output the rules in alphabetical order, but keeping `.PHONY' last.
-
- Now we must not use &push_phony_cleaners, which is doing all sort
- of magic to push a bit of everything in all the clean targets.
- The biggest problem being that, making a Cartesian product, it
- requires many useless targets. The `*.am' file know better.
- But first, register the new factored rules.
-
- * automake.in (&initialize_per_input): Include clean, mostlyclean,
- maintainer-clean, distclean and their `*-am' counterpart in
- %dependencies.
- Initialize %actions.
- (get_object_extension, handle_texinfo, handle_tags, handle_multilib)
- handle_dependencies, handle_subdirs, handle_configure, handle_clean)
- (handle_emacs_lisp, handle_python): Don't play with
- &push_phony_cleaners nor &depend and `clean'.
- * texinfos.am, texi-vers.am, tags-clean.am:
- * subdirs.am,python-clean.am, multilib.am, lisp-clean.am:
- * libtool.am, kr-extra.am, depend.am, compile.am, clean.am:
- * clean-kr.am, clean-hdr.am: Do it.
- Whenever a target is empty, just remove it, it will no longer be
- called.
-
- There is still some magic about clean to hard code. But really,
- that's the end of &do_one_clean_target.
-
- * automake.in (&do_one_clean_target): Kaboom out.
- (&handle_clean): Rewrite the magic code.
- (&am_install_var): No longer use &push_phony_cleaners, nor depend
- on `clean'.
- (&push_phony_cleaners): Kaboom too.
-
-2001-02-06 Akim Demaille <akim@epita.fr>
-
- * automake.in (do_one_clean_target): Don't hard code knowledge
- about libtool, and maintainer-clean.
- * clean.am, libtool.am: Handle these.
-
-2001-02-05 Akim Demaille <akim@epita.fr>
-
- * automake.in (handle_texinfo): No longer hard code the clean
- targets.
- (texinfos.am): Include them.
-
-2001-02-05 Akim Demaille <akim@epita.fr>
-
- * Makefile.am (perl4-check): Remove, we now require Perl 5.
- (maintainer-check): Don't be silent when you find a problem, and
- actually, even specify the locations.
- Also check that @_ is assigned to arrays.
-
-2001-02-05 Akim Demaille <akim@epita.fr>
-
- * m4/regex.m4: Use AC_LIBSOURCES.
- * automake.in (scan_autoconf_traces): Trace AC_LIBSOURCE, not
- _AC_LIBOBJ_DECL.
-
-2001-02-04 Tom Tromey <tromey@redhat.com>
-
- * m4/Makefile.am (m4data_DATA): Added make.m4.
- * automake.in (handle_dependencies): Use @AM_INCLUDE@ to include
- dependency files.
- * m4/depend.m4 (AM_DEPNDENCIES): Require AM_MAKE_INCLUDE.
- Copy depcomp to subdir.
- * m4/make.m4: New file.
-
-2001-02-04 Pavel Roskin <proski@gnu.org>
-
- * automake.in (handle_dist_worker): Remove a line that is now
- in distdir.am.
-
-2001-02-04 Kevin Ryde <user42@zip.com.au>
-
- * automake.in (handle_configure): Call config.status with empty
- CONFIG_LINKS and CONFIG_COMMANDS when regenerating a file.
-
-2001-02-04 Tom Tromey <tromey@redhat.com>
-
- * depcomp (ddashmd): Removed case.
- (sgi): Handle failure exit correctly
- (aix): Likewise. Also, add dummy `.h' targets.
-
-2001-02-04 Akim Demaille <akim@epita.fr>
-
- * distdir.am (distdir): New file, extracted from...
- * automake.in (handle_dist_worker): here.
- Adjust.
-
-2001-02-04 Akim Demaille <akim@epita.fr>
-
- * automake.in (@clean): Remove, replaced by...
- ($dependencies{'clean'}): this.
- Use `&depend' instead of push'ing into @clean.
- (handle_factored_dependencies): For the time being, skip 'clean'.
- (do_one_clean_target): Don't ask for argument 1 and 4 as they are
- always `clean', and `@clean'.
-
-2001-02-04 Akim Demaille <akim@epita.fr>
-
- * automake.in (%dependencies): Don't be initialize globally for
- all the files, but in...
- (&initialize_per_input): here.
- (&depend): New.
- (@phony): Replace all occurrences with the corresponding &depend
- invocation.
-
-2001-02-03 Tom Tromey <tromey@redhat.com>
-
- * header.am (install-@DIR@HEADERS): Use INSTALL_HEADER.
- * header-vars.am (INSTALL_HEADER): New macro.
-
- * automake.texi (Rebuilding): New node.
-
------
-
-Copyright (C) 2001-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/ChangeLog.02 b/old/ChangeLog.02
deleted file mode 100644
index df1297c33..000000000
--- a/old/ChangeLog.02
+++ /dev/null
@@ -1,3225 +0,0 @@
-2002-12-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/ChannelDefs.pm: New file.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add ChannelDefs.pm.
- * automake.in: Move all "register_channel" calls to ChannelDefs.pm.
- (prog_error, error, fatal, verb, switch_warning, parse_WARNINGS,
- parse_warnings): Move to ChannelDefs.pm.
- (usage): Move the warning list to Automake::ChannelDefs::usage
- and call it.
- (set_strictness): Move channel setings to
- Automake::ChannelDefs::set_strictness and call it.
-
- * automake.in (err): Rename as ...
- (error): ... this. Adjust all callers.
- Suggested by H.Merijn Brand.
-
-2002-12-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/version7.test: Require GNU make.
- Reported by Patrick Welche.
-
-2002-12-11 Brian Ford <ford@vss.fsi.com>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Properly quote AC_PACKAGE_TARNAME
- and AC_PACKAGE_VERSION.
-
-2002-12-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (ANSI): Since Autoconf 2.54, LIBOBJ and LTLIBOBJ
- no longer have to be rewritten in order to support deansification.
- (Tests): Link to the DejaGnu manual.
- (Optional): Comment out FIXME.
- (Complete, A Library, LIBOBJS): Use $(LIBOBJ) and $(ALLOCA)
- instead of @LIBOBJ@ and @ALLOCA@.
- (Sources): Typo.
-
-2002-12-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texinfos.am (install-info-am, uninstall-info-am): Strip
- directories from info filenames.
- * tests/texinfo13.test: Make sure main.info gets installed
- as $(infodir)/main.info.
-
- * automake.in (handle_dist): Do not define %GETTEXT% if the user
- is using $seen_gettext_external, this distcheck won't run
- `./configure' with a meaningless `--with-included-gettext'.
- * tests/gettext.test: Make sure distcheck uses --with-included-gettext.
- * tests/gettext2.test: Make sure distcheck does not use
- --with-included-gettext.
-
- * m4/ccstdc.m4: Define am_cv_prog_cc_stdc for backward
- compatibility and diagnose the use of AM_PROG_CC_STDC.
- * automake.texi (Public macros) <AM_PROG_CC_STDC>: Remove
- documentation, this macro is no longer supported.
- Reported by Kevin Ryde.
-
-2002-12-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_languages): Test $objdir, not $srcdir, to
- decide whether a _.c file is in a subdirectory and has to be
- cleaned separately.
- Reported by Kevin Ryde.
-
- * tests/ansi10.test (liblib_a_LIBADD): Set ac_cv_prog_cc_stdc
- not am_cv_prog_cc_stdc.
-
- * automake.texi (Options): Some English nits from Eric Siegerman.
- (Sources): Rewrite the introduction and move the example to ...
- (Built sources example): ... this separate node.
-
- * automake.in (variable_pretty_output): Strip trailing
- backslashes in $val after $val is defined...
- Reported by Kevin Ryde.
-
- * tests/depcomp2.test: Pass CC='gcc' as an argument to ./configure
- not in the environment. Otherwise the test will fail when
- run with ksh and VERBOSE=x.
- Reported by Paul Jarc.
-
- * tests/man2.test: Exercize `make uninstall', to test
- the previous change.
-
-2002-12-03 Nicolas Joly <njoly@pasteur.fr>
-
- * lib/am/mans.am (uninstall-man%SECTION%): Change the extension of
- the man pages being uninstalled, if needed.
-
-2002-12-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (macro_define): Do not strip escaped new lines
- in Automake's +='ed variables. We don't know whether it will
- be pretty printed or not at this point.
- (variable_pretty_output): Do this here.
- * tests/pluseq10.test: New file.
- * tests/Makefile.am (TESTS): Add pluseq10.test.
- Reported by Ralf Corsepius.
-
-2002-12-02 Charles Wilson <cwilson@ece.gatech.edu>
-
- * tests/gnits3.test (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT):
- Append $(EXEEXT) again.
-
-2002-12-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Sources): Illustrate $(BUILT_SOURCES) with an
- example.
-
- * automake.texi (Options): Programs listed in
- AM_INSTALLCHECK_STD_OPTIONS_EXEMPT should have $(EXEEXT) appended.
- * tests/gnits3.test (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT):
- Append $(EXEEXT).
- Reported by Charles Wilson.
-
-2002-12-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (lang_c_finish): Do not fill de_ansi_files with
- subdirectory informations for %libsources files. A LIBOBJS source
- is always in the current directory. This reverts part of a change
- from 2002-01-13.
- * tests/ansi10.test: New file.
- * tests/Makefile.am (TESTS): Add ansi10.test.
-
- * automake.in (do_check_merge_target): Add missing space.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
- * configure.in: Do not use missing while checking for Autoconf's
- version, otherwise we won't notice that Autoconf isn't installed.
- Augment the error message with a few questions to help users.
-
-2002-11-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/gnits2.test, tests/gnits3.test: Move the greps inside the
- Makefile, so we can honor $(EXEEXT). Otherwise these tests
- fail under Cygwin.
- Reported by Charles Wilson.
-
- For PR automake/375 (Debian Bug #168671):
- * automake.in (scan_texinfo_file): Erase all known index files, no
- matter whether they are used at the top-level or not, because we
- can never know if they are used in included files. The remaining
- macros we recognize at the top-level of a Texi document are
- @defindex, @defcodeindex, @synindex, and @syncodeindex.
- * tests/texinfo18.test: New file.
- * tests/Makefile.am (TESTS): Add texinfo18.test.
- Reported by Simon Richter.
-
- * automake.in (scan_texinfo_file): Honor only the first @setfilename.
- * tests/texinfo17.test: New file.
- * tests/Makefile.am (TESTS): Add texinfo17.test.
- Reported by Karl Berry.
-
- For PR automake/357:
- * automake.in (require_file_internal): Don't complain a file is "not
- found" when it is a target. Make sure "not found" files are otherwise
- reported as error (they were reported as 'note').
- * tests/distcommon3.test: Augment to test the above.
- * tests/libobj12b.test: Touch ltmain.sh.
- * tests/required2.test: Make sure Automake fails because ltmain.sh
- has been removed.
- Reported by Ronald Landheer.
-
- * tests/texinfo3.test: Make sure we don't output single suffix
- inference rules when building `.info'-less Info files (this
- confuses Solaris make). Run distcheck to make sure the rules
- work.
- * automake.in (output_texinfo_build_rules): Define GENERIC_INFO
- and SOURCE_INFO.
- * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%,
- %DEST_PREFIX%%DEST_SUFFIX%): Honor GENERIC_INFO and SOURCE_INFO.
-
-2002-11-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/359:
- * automake.in (do_check_merge_target): Make `check' dependent on
- $(BUILT_SOURCES) if the variable is defined. Run `check-am' or
- `check-recursive' in a submake in this case.
- * tests/check2.test, tests/check3.test: New files.
- * tests/check.test: Make sure `check' depends on `check-am'.
- * tests/Makefile.am (TESTS): Add check2.test and check3.test.
-
- For PR automake/371 and PR automake/372:
- * automake.in (rule_define): Honor inference rules with multiple
- targets, and warn when they are used.
- * tests/suffix11.test: New file.
- * tests/Makefile.am (TESTS): Add suffix11.test.
- Reported by Duncan Gibson.
-
-2002-11-28 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/370:
- * automake.in (handle_languages): Don't prepend $U to $myext
- since handle_single_transform_list now appends it to $obj.
- Process the rule twice to handle deansified files in subdirectories.
- Mark _.c files in subdirectories for cleaning.
- (handle_single_transform_list): Append $U to $obj_sans_ext if
- needed: before this dependencies were output foo.Po instead
- of foo$U.Po. Don't output explicit dependencies for renamed
- objects or sources in sub-directories: we already output
- a full compile rule for them.
- (lang_c_finish): Don't always use the full filename in the
- .c -> _.c rule. This reverts part of my change of 2002-11-21.
- * tests/ansi6.test, tests/ansi7.test: Make sure deansified
- files are created in the right directory, and cleaned.
- Reported by Kevin Ryde.
-
-2002-11-25 Jim Meyering <jim@meyering.net>
-
- * lib/install-sh: Put `$0:' at the beginning of each diagnostic,
- not `install:'.
-
-2002-11-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (make_condition_string): New function.
- (cond_stack_if, cond_stack_else, cond_stack_endif): Use it.
- Suggested by Raja R Harinath.
-
- * tests/texinfo13.test: Require texi2dvi-o.
- * tests/defs.in: Handle required=texi2dvi-o.
-
- * automake.in (lang_c_finish): Use $@ in the .c -> _.c rule.
-
- * automake.in (handle_single_transform_list): Don't strip the
- directory from $full_ansi. This reverts my patch of 2002-10-16.
- (lang_c_finish): Use the full filename, including the directory,
- in the .c -> _.c rule. These two files must reside in the same
- directory.
- * tests/ansi6.test: Also try to compile without ansi2knr.
- Reported by Andreas Schwab
-
-2002-11-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Conditional.pm (strip): New function.
- * lib/Automake/ConditionalSet.pm (sub_conditions): Use it.
- Suggested by Raja R Harinath.
-
- * automake.in (conditional_ambiguous_p, macro_define, rule_define,
- require_variables): Use ->human instead of ->string.
- * lib/Automake/Conditional.pm (string): Don't sort conditions, they
- are already sorted.
- (_to_human, human): New functions.
- * lib/Automake/ConditionalSet.pm (human): New function.
- * tests/cond27.test, tests/library3.test, tests/pluseq5.test,
- tests/pluseq9.test: Adjust.
-
- * lib/Automake/Conditional.pm [SYNOPSIS]: Fix not's description.
- * lib/Automake/ConditionalSet.pm (sub_conditions): New function.
- (multiply): Also accept an Automake::Conditional as argument.
- * automake.in (variable_not_always_defined_in_cond): Simplify,
- using only Automake::ConditionalSet methods.
- Suggested by Raja R Harinath.
-
- * lib/Automake/ConditionalSet.pm (conds): Use value() to simplify.
- (invert): Rewrite as a product-of-sums to sum-of-products converter.
- (_multiply, multiply): New functions.
- * lib/Automake/Conditional.pm (not): New function.
- * lib/Automake/tests/ConditionalSet.pl (test_invert): Update.
- * automake.in (condition_negate): Move ...
- * lib/Automake/Conditional.pm (negate_condition): ... here.
- Suggested by Raja R Harinath.
-
-2002-11-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/ConditionalSet.pm (_simplify, simplify): New methods.
- (true): Cache return value, so _simplify can use it.
- * lib/Automake/tests/ConditionalSet.pl (test_simplify): New function.
- * automake.in (variable_not_always_defined_in_cond): Return
- a simplified ConditionalSet.
- (macro_define, require_variables): Adjust.
- * tests/Makefile.am (TEST): Add library3.test.
- * tests/library3.test: New file.
- * tests/pluseq9.test: Adjust.
- Thanks to Raja R Harinath.
-
-2002-11-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/tests/Makefile.am, lib/Automake/tests/Conditional.pl,
- lib/Automake/tests/ConditionalSet.pl: New files.
- * lib/Automake/Makefile.am (SUBDIRS): New variable.
- * configure.in: Output lib/Automake/tests/Makefile.
- * lib/Automake/ConditionalSet.pm (by_conditions): Delete.
- (conds): Don't use by_conditions, sort alphabetically, and
- return sorted conds.
- (string): Call ->string on each Conditional.
- * tests/Makefile.am (TESTS): Remove cond12.test.
- * tests/cond12.test: Remove, moved to
- lib/Automake/tests/ConditionalSet.pl.
- * tests/cond3.test: Adjust conditional ordering.
-
-2002-11-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/ConditionalSet.pm (_permutations_worker): Ignore TRUE
- conditions.
- (permutations): Treat empty permutations as TRUE.
- (invert): Simplify.
- Suggested by Raja R Harinath.
-
-2002-11-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (variable_defined): Thinko.
- * lib/Automake/ConditionalSet.pm (true): Simplify.
- (permutations): Fix documentation.
- (new): Don't simplify conditional sets that contain TRUE.
- Reported by Raja R Harinath.
-
-2002-11-14 Eric Blake <ebb9@email.byu.edu>
-
- * lib/am/depend2.am: Add missing fi in c.obj rules.
-
-2002-11-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_installdirs): Reindent to workaround a
- parsing bug in Perl 5.6.0.
- Reported by Patrick Welche.
-
- * lib/Automake/Conditional.pm: Add reference to ConditionalSet.pm.
- * lib/Automake/ConditionalSet.pm: New file.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add ConditionalSet.pm.
- * automake.in: Use ConditionalSet.
- (by_condition, invert_conditions, variable_conditions_permutations):
- Remove, now defined as Automake::ConditionalSet::by_condition,
- Automake::ConditionalSet::invert, and
- Automake::ConditionalSet::permutations.
- (variable_sorted_conditions): Remove.
- (msg_var, msg_target handle_source_transform, handle_lib_objects,
- conditional_ambiguous_p, variable_not_always_defined_in_cond,
- macro_define, macro_dump, variable_defined,
- variable_conditions_recursive, variable_conditions,
- target_conditions, variable_conditionally_defined,
- variable_conditions_recursive_sub,
- check_variable_defined_unconditionally, variable_value_as_list,
- variable_value_as_list_recursive_worker, variable_output,
- variable_pretty_output, rule_define, append_exeext,
- am_install_var, require_variables_for_macro): Adjust to
- use ConditionalSet.
-
-2002-11-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (variable_conditions): Split into ...
- (variable_conditions, variable_sorted_conditions): ... these
- functions, where variable_sorted_conditions has the semantic of
- the old variable_condition.
- (target_conditions): New function.
- (msg_var, handle_lib_objects_cond, check_ambiguous_conditional,
- variable_not_always_defined_in_cond, macro_define,
- variable_defined, check_variable_defined_unconditionally,
- variable_conditions_recursive_sub,
- variable_conditions_permutations, variable_value_as_list,
- variable_value_as_list_recursive_worker, append_exeext,
- am_install_var, require_variables_for_macro): Use variable_conditions.
- (msg_target, rule_define): Use target_conditions.
- (define_objects_from_sources, macro_define, macro_dump,
- variable_pretty_output): Use variable_sorted_conditions.
-
- * automake.texi (Conditional Sources): Fix the `+=' example.
- Reported by Mike Castle.
-
- * automake.in: Don't declare TRUE and FALSE, import them from
- Automake::Conditional.
- * lib/Automake/Conditional.pm (TRUE, FALSE): New constants.
- (new): Simplify using FALSE.
- (reduce): New function, moved from ...
- * automake.in (variable_conditions_reduce): ... here.
- (variable_conditions_recursive_sub, invert_conditions):
- Adjust calls to Automake::Conditional::reduce.
- * tests/cond12.test: Adjust to use Automake::Conditional.
-
-2002-11-09 Jim Meyering <jim@meyering.net>
-
- Make install-sh work even when names contain spaces or
- certain (but not all) shell metachars.
-
- * lib/install-sh: Remove lots of unnecessary quoting.
- Add double quotes where necessary.
- Write diagnostics to stderr, not stdout.
- Normalize spacing in diagnostics: use one space (not two,
- and not a TAB) after the leading `install:'.
- Remove trailing white space.
- Remove unnecessary curly braces.
- If removing the destination fails, also try to move it aside.
- Use `trap' more portably.
- * tests/installsh2.test: New file, to test for the above fix.
- * tests/Makefile.am (TESTS): Add installsh2.test.
-
- * automake.texi: Fix some typos and a grammar nit.
-
-2002-11-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (switch_warning): Subject Perl warnings to -Werror.
-
- * automake.texi (Extending): Complete unterminated sentence.
- Reported by Mike Castle.
-
-2002-11-06 Akim Demaille <akim@epita.fr>
-
- * automake.in (&conditional_ambiguous_p): Don't forget to ->string
- the Conditionals.
-
-2002-10-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Dist): Fix the distcleancheck_listfiles example.
- Reported by Karl Berry.
-
-2002-10-31 Akim Demaille <akim@epita.fr>
-
- * tests/location.test (Makefile.am): Strengthen.
- * lib/Automake/Channels.pm (_print_message): Be sure to flush
- $partial when the message is output.
- Thanks to Alexandre Duret-Lutz.
-
-2002-10-31 Akim Demaille <akim@epita.fr>
-
- * automake.in (&read_am_file): Use $last_where to register the
- _first_ line of a variable definition as location instead of the
- last one.
- (&conditional_ambiguous_p): Don't forget to ->string the
- Conditionals.
- (&rule_define): Likewise.
- * tests/location.test: Adjust to exercise this.
-
-2002-10-25 Charles Wilson <cwilson@ece.gatech.edu>
-
- * tests/defs.in: Add explicit stanza for python -V.
-
-2002-10-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/ansi6.test, tests/ansi7.test: Set ac_cv_prog_cc_stdc instead
- of am_cv_prog_cc_stdc. This follows Akim's patch of 2002-10-09,
- and reveals a bug in my patch of 2002-10-15.
- * automake.in (handle_single_transform_list): Strip directory name
- from $full_ansi if subdir-objects is not set.
-
- * lib/texinfo.tex: New version from Texinfo 4.2b.
-
-2002-10-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_single_transform_list) <full_ansi>: New variable.
- Use this to record correct dependencies about deansifiable files which
- are using per-program flags or are in a subdirectory.
- * tests/ansi9.test: New file.
- * tests/Makefile.am (TESTS): Add ansi9.test.
- Reported by Paul D. Smith
-
-2002-10-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (ac_defun_rx, ac_require_rx): If the macro name is
- quoted, accept any character but `]'. This makes it possible
- to define macros such as `AC_LANG_PREPROC(Fortran 90)'.
- (scan_m4_files): Quote $key in the regex. Don't define $expr, it's
- not used.
- (add_file, scan_file): Adjust to the new definitions of $ac_defun_rx
- and $ac_require_rx.
- * tests/aclocal2.test: New file.
- * tests/Makefile.am (TESTS): Add aclocal2.test.
- Reported by Tamara L. Dahlgren and Tom Epperly.
-
-2002-10-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- For Debian Bug#153697:
- * lib/am/dejagnu.am (distclean-DEJAGNU): Remove $tool.sum and
- $tool.log.
- Suggested by Andrew Suffield.
-
-2002-10-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/369:
- * lib/am/python.am: Lookup python files in build directory or
- source directory.
- From Mathias Doreille.
- * tests/python3.test: New file.
- * tests/Makefile.am (TESTS): Add python3.test.
- * tests/defs: Handle `required=python'.
-
- For PR automake/358:
- * lib/am/texi-vers.am (%STAMPVTI%): Depend on configure instead of
- configure.ac.
- Suggested by Thien-Thi Nguyen.
- * lib/am/configure.am ($(srcdir)/configure): Depends on
- %CONFIGURE_DEPS%
- * automake.in (@configure_deps): New array.
- (scan_autoconf_traces): Scan for m4_include and m4_sinclude,
- and fill @configure_deps.
- (handle_configure): Substitute %CONFIGURE_DEPS%.
- Distribute @configure_deps.
- * tests/version7.texi: New file.
- * tests/vtexi.test: Adjust.
- * tests/Makefile.am (TESTS): Add version7.test.
- * automake.texi (Dist): Mention that m4_include'd files
- are distributed.
-
-2002-10-09 Akim Demaille <akim@epita.fr>
-
- * m4/ccstdc.m4 (AM_PROG_CC_STDC): Its definition is now empty:
- the content of this macro was merged in AC_PROG_CC.
- * m4/protos.m4 (AM_C_PROTOTYPES): Adjust to AC_C_PROTOTYPES.
- * tests/depacl.test: Remove, it exercizes aclocal in a way that was
- exercized by all the other tests since the test suite really uses
- aclocal.
- * tests/Makefile.am (TESTS): Remove depacl.test.
-
-2002-10-08 Paul Eggert <eggert@twinsun.com>
-
- * lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%,
- %DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Use "makeinfo -o output
- input", not "makeinfo input -o output", as the latter fails if
- POSIXLY_CORRECT=1.
- * lib/am/texinfos.am (.dvi.ps): Likewise for dvips.
- * m4/depend.m4 (_AM_DEPENDENCIES): Likewise for $depcc.
-
-2002-10-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (file_contents_internal): Fix the relationship
- regex flags, don't use `m'.
-
- For Debian Bug#162583:
- * automake.in (file_contents_internal): Simplify regex to
- separate relationship from actions in rules.
- Reported by Sam Hocevar.
-
- * lib/Automake/Conditional.pm (has): Simplify.
-
-2002-10-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Conditional.pm: New file.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Conditional.pm.
- * automake.in: Use Automake::Conditional.
- (TRUE, FALSE): New constants.
- (%var_value, %var_location, %var_comment, %var_type, %var_owner,
- %targets, %target_source, %target_name, %target_owner): Tie to
- Tie::RefHash::Nestable.
- (generate_makefile, process_option_list, handle_options,
- handle_languages, handle_source_transform, handle_compile,
- handle_libtool, handle_texinfo_helper, handle_dist, handle_subdirs,
- scan_aclocal_m4, handle_emacs_lisp, handle_python,
- scan_autoconf_files, variable_assert, define_variable,
- define_pretty_variable, define_configure_variable, am_install_var,
- push_dist_common): Use TRUE.
- (define_objects_from_sources): Fix return value on
- "recursively-defined" errors.
- (conditional_string, conditional_true_when, conditional_is_redundant,
- conditional_implies_any, make_conditions): Remove these functions,
- obsoleted by Conditional.pm.
- (cond_stack_if, cond_stack_else, cond_stack_endif): Return
- an Automake::Conditional instance.
- (by_condition, conditional_ambiguous_p,
- variable_not_always_defined_in_cond, macro_define,
- variable_conditions_recursive, variable_conditions_recursive_sub,
- variable_conditions_reduce, invert_conditions,
- variable_conditions_permutations,
- check_variable_defined_unconditionally, variable_value_as_list,
- variable_output, variable_pretty_output, rule_define,
- read_am_file, file_contents_internal, require_variables): Adjust
- to use Automake::Conditional objects.
- (handle_footer): Get $(SUFFIXES) in 'all' conditions.
- * tests/cond12.test: Adjust to use Automake::Conditional objects.
-
-2002-10-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_source_transform): If foo_SOURCES is defined
- conditionally, create and use am__foo_SOURCES_DIST for distribution.
- * tests/condd.test: Extend to check distributed files.
- * tests/substref.test: Make sure we don't use such a variable when
- it's not needed.
- Reported by Marcus Brinkmann.
-
-2002-09-30 Ezra Peisach <epeisach@MED-XTAL.BU.EDU>
-
- * tests/defs.in: Run $MAKE --version -v.
- * tests/dollar.test: Abort on ./defs failure.
- * tests/lex5.test: Require GNUmake, not make.
-
-2002-09-30 Kevin Ryde <user42@zip.com.au>
-
- * m4/as.m4 (AM_PROG_AS): Let CCAS and CCASFLAGS default to the actual
- values of $CC and $CFLAGS (as opposed to $(CC) and $(CFLAGS)), so
- configure tests can use them. Use AC_ARG_VAR instead of AC_SUBST.
-
-2002-09-30 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (require_variables): The fix introduced in 2002-09-19
- is incomplete. Rewrite the conditional variable definition check
- using &variable_not_always_defined_in_cond.
- * tests/cond26.test, tests/cond27.test, tests/cond28.test: New file.
- * tests/Makefile.am (TESTS): Add cond26.test, cond27.test, and
- cond28.test.
- Reported by Juergen Keil.
-
- * automake.in (INTERNAL): Redefine as an empty location,
- so that internal locations get displayed as `automake:'.
-
- * lib/am/distdir.am (distdir): Create $dc_destdir right before
- its use.
- Reported by Akim Demaille.
-
- Fix for PR automake/366:
- * automake.in (handle_dist): Strip $(srcdir) and replace
- $(top_srcdir) when computing DIST_COMMON directories.
- * tests/include2.test: Use an obsolute $(srcdir), and check
- for spurious directories in $(distdir)/sub.
- * lib/am/distdir.am: Rewrite $(top_srcdir) as $(top_builddir).
- Reported by Kevin Ryde.
-
-2002-09-29 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/Automake/Channels.pm (%_default_options): Add 'partial'.
- (_format_message): Rename as ...
- (_format_sub_message): ... this.
- (_format_message): New function, extracted from ...
- (_print_message): ... here. Honor the 'partial' option.
- ($partial): New variable.
- * automake.in (handle_ltlibraries, check_ambiguous_conditional,
- rule_define): Mark partial messages.
-
- * automake.in (handle_ltlibraries): Record library locations in
- %liblocations, and print the previous declaration on error.
- * tests/libtool6.test: Check that the locations of the two
- definitions are shown.
-
- For PR automake/360: Propagate more locations.
- * automake.in (handle_programs): Adjust usage of am_install_var's
- return value. Pass on locations as context to file_contents.
- (handle_libraries, handle_ltlibraries): Likewise. Use locations
- in the 'not a standard library name' diagnostic.
- (handle_emacs_lisp, handle_python): Adjust usage of am_install_var's
- return value. Pass on locations to require_variables and
- require_conf_file.
- (check_ambiguous_conditional): Strip trailing dot in message.
- (value_to_list): Add the $WHERE and $LOC_WANTED arguments.
- (variable_value_as_list_recursive_worker): Add the $LOC_WANTED
- argument. Adjust calls to value_to_list.
- (variable_value_as_list_recursive): Call
- variable_value_as_list_recursive_worker with $LOC_WANTED = 0.
- (variable_loc_and_value_as_list_recursive): New function,
- variable_value_as_list_recursive_worker with $LOC_WANTED = 1.
- (am_install_var): Use variable_loc_and_value_as_list_recursive,
- and return a list of [$location, $value] pairs.
- (rule_define): Use better locations in EXEEXT diagnostic.
- (handle_source_transform, define_objects_from_sources): Add and use
- a $WHERE argument. Adjust callers.
- * tests/stdlib.test: Grep the location in error message.
- * tests/location.test: New file.
- * tests/Makefile.am (TESTS): Add location.test.
-
- * tests/exeext3.test: New file.
- * tests/Makefile.am (TESTS): Add exeext3.test.
- * automake.in (%target_name): New hash.
- (initialize_per_input): Reset %target_name.
- (rule_define): Fill %target_name, and use it to detect targets
- which have been registered with key X but really are X$(EXEEXT).
-
-2002-09-28 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/360:
- * lib/Automake/Location.pm: New file.
- * lib/Automake/Channels.pm (_print_message): Display contexts
- when given an Automake::Location.
- (msg): Clone the location.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Location.pm.
- * tests/comment5.test: Make sure we display `included from' stacks.
- * automake.in: Use Automake::Location.
- (INTERNAL): New constant.
- (file_contents, file_contents_internal, define_variable,
- define_pretty_variable, read_am_file): Take $WHERE as argument.
- Adjust all callers.
- (scan_autoconf_traces) <$where>: Define as a Location, and use
- it instead of $here.
- (macro_define, rule_define): Make sure $WHERE is a location.
- Clone it before updating $var_location or $targets.
-
-2002-09-27 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/mkinstalldirs: Reindent using `sh-indentation: 2'.
- Suggested by Bruno Haible.
-
- * Makefile.am (fetch, FETCHFILES): Don't fetch install-sh from
- Autoconf. Automake now has the master copy of install-sh and
- mkinstalldirs.
-
-2002-09-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Bump version to 1.7a.
-
- * NEWS, configure.ac: Version 1.7.
-
-2002-09-25 Art Haas <ahaas@neosoft.com>
-
- * automake.texi (Optional, Options, Distributing, ANSI,
- API versioning): Spelling fixes and Texi tweaks.
-
-2002-09-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Check for 'tex'.
- * tests/defs.in: Handle required=tex using configure's result.
- Reported by Patrick Welche.
-
- * Makefile.am (mdate-sh): Remove.
- * mdate-sh: Delete.
- Suggested by Akim Demaille.
-
-2002-09-25 Tom Tromey <tromey@redhat.com>
-
- * NEWS: Mention distuninstallcheck.
- * automake.texi (Dist): Document new macro and target.
- * lib/am/distdir.am (distuninstallcheck_listfiles): New macro.
- (distuninstallcheck): New target.
- (distcheck): Use distuninstallcheck.
-
-2002-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * tests/specflags7.test (true_CFLAGS, false_CFLAGS, false.c): Use
- AM_TRUE, AM_FALSE to avoid bad interaction with Tru64 UNIX
- <sys/types.h>.
- * tests/specflags8.test (true_CPPFLAGS, false_CPPFLAGS, false.c):
- Likewise.
-
-2002-09-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (output_texinfo_build_rules): Define %SOURCE_REAL%.
- * lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%,
- %DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Add %SOURCE_REAL% as dependency.
-
-2002-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Use $$dir in make
- command.
-
-2002-09-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_single_transform_list): Revert the change
- from 2002-09-22. We need to erase .libs/ in the object directory
- in addition to the library directory.
-
- * tests/target-cflags.test: Build in `build/', not `obj/' because
- `obj/' is special to BSD make.
-
- * automake.in (read_am_file): Prefix included files with
- $(top_srcdir) or $(srcdir) in DIST_COMMON. Fixes
- subdircond2.test, and subdircond3.test on OSF1.
-
- * tests/defs.in (SHELL): Set it.
-
- * lib/am/distdir.am (distcleancheck): Mention `in build directory'
- in error message.
-
-2002-09-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/350:
- * automake.in (handle_ltlibraries): Allow a library to be installed
- many times in the same directory.
- * tests/libtool5.test, tests/libtool6.test: New files.
- * tests/Makefile.am (TESTS): Add libtool5.test and libtool6.test.
-
-2002-09-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_ltlibraries): Fill $libtool_clean_directories
- here, with directories where .la files are built...
- (handle_single_transform_list): ... not here with directories
- where .lo files are built.
- * tests/libtool3.test: Build a library in a subdirectory to
- check for this.
- Reported by Peter Gavin.
-
- * tests/cond5.test: Give more time to automake.
- Reported by Art Haas.
-
- * configure.in: Really check for Autoconf 2.54.
-
- * automake.texi (Yacc and Lex): ylwrap is used only when there is
- more than one yacc or lex source file in a directory.
-
- * automake.in (macro_define): Update a variable's location each
- time its owner is updated.
- * tests/gnuwarn.test: Append to CFLAGS to check for this.
- Reported by Harlan Stenn.
-
-2002-09-20 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Bump version to 1.6g.
-
- * configure.in, NEWS: Bump version to 1.6f.
-
- * Makefile.am (INSTALL): New rules.
-
-2002-09-20 Mirko Streckenbach <strecken@infosun.fmi.uni-passau.de>
-
- For PR automake/363:
- * m4/cond.m4: Fix AC_MSG_ERROR quoting.
-
-2002-09-19 Pavel Roskin <proski@gnu.org>
-
- * tests/warnopts.test: Fix random failures by removing Autoconf
- cache directory when configure.in changes. Use the code and the
- comment from tests/asm.test.
-
-2002-09-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Program and Library Variables) <maude_LIBADD>:
- Don't mention _LDADD for Libtool libraries.
- Reported by Schleicher Ralph.
-
- For PR automake/361:
- * tests/suffix8.test: More explicit dependencies.
- Reported by Paul Eggert.
-
- * automake.in (rule_define): Don't diagnose duplicate user rules.
- * tests/phony.test, tests/percent2.test: New files.
- * tests/Makefile.am (TESTS): Add them.
- Reported by Ralf Corsepius.
-
- * automake.in (require_variables): Search variable definitions
- in any condition implied by $cond.
- * tests/cond25.test: New file.
- * tests/Makefile.am (TESTS): Add cond25.test.
- Reported by Pavel Roskin.
-
- * tests/subobj9.test: Skip this test on configure errors.
- Reported by Paul Eggert.
-
-2002-09-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Bump version to 1.6e.
-
- * configure.in, NEWS: Bump version to 1.6d.
- * tests/libobj12.test, tests/libobj12b.test: Include ./defs,
- not $srcdir/defs.
- * tests/suffix8.test: Typo.
-
- * automake.in (check_ambiguous_conditional, rule_define): Issue
- syntactic warnings, not errors.
- (macro_define): Don't adjust the owner of a variable which is being
- appended in a condition different from its definition.
- (variable_output, variable_pretty_output): Make sure the
- requested condition exists.
-
- For PR automake/353: fill %var_location, %var_comment,
- %var_type, %var_owner for each condition.
- * automake.in (msg_cond_var): New function.
- (msg_var): Use it.
- (generate_makefile, process_option_list, handle_languages,
- handle_lib_objects_cond, handle_compile, handle_libtool,
- handle_ltlibraries, handle_texinfo_helper, handle_tests,
- handle_emacs_lisp, handle_python, macro_define, macro_delete,
- macro_dump, variable_assert, variable_output,
- variable_pretty_output, read_am_file, read_main_am_file,
- file_contents_internal, am_primary_prefixes,
- require_variables_for_macro): Adjust accesses to %var_location,
- %var_comment, %var_type, %var_owner.
- (append_comments, require_file_with_macro,
- require_conf_file_with_macro, require_variables): Add the
- $cond argument.
- * tests/comment7.test: New file.
- * tests/Makefile.am (TESTS): Add comment7.test.
-
-2002-09-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/353:
- * automake.in (check_ambiguous_conditional): Display locations for
- the two definitions of the ambiguous variable. Show the macro_dump
- output in --verbose only. Accept $where as a third argument,
- (macro_define): Pass $where.
-
- * automake.in (handle_programs): Ooops. Really add LDADD
- objects into _DEPENDENCIES.
- * tests/libobj12.test: Check for it.
-
-2002-09-17 Assar Westerlund <assar@kth.se>
- Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_programs, handle_libraries,
- handle_ltlibraries): Maintain $seen_libobjs on a
- per-program/per-library basis, instead of globally to each
- of these functions.
- * tests/libobj12.test, tests/libobj12b.test: New files.
- * tests/Makefile.am (TESTS): Add libobj12.test and libobj12b.test.
-
-2002-09-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs.in (configure.in): Don't call AC_PROG_INSTALL and
- AC_PROG_MAKE_SET.
-
- * lib/config.guess, lib/config.sub, lib/INSTALL,
- lib/Automate/Struct.pm: New upstream version.
- * Makefile.am (mdate-sh): New rule.
- (FETCHFILES): Add Automate/Struct.pm.
- (fetch): Get Automate/Struct.pm.
- (AUTOMAKESOURCES, CLEANFILES): New macros.
- (EXTRA_DIST, TAGS_FILES): Use them.
- * install-sh, mkinstalldirs, missing: Delete.
-
- * automake.in: Rename the 'unused' channel to 'syntax'.
- (variable_defined): Issue a warning instead of an error
- for variable-is-a-target conditions.
- * automake.texi (Invoking Automake): Rename the 'unused'
- channel to 'syntax'.
- * tests/warnopts.test: Likewise.
-
- * tests/suffix8.test: Add explicit dependencies.
- * tests/texinfo13.test, tests/texinfo16.test: Require tex.
-
-2002-09-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in, m4/init.m4, NEWS: Require Autoconf 2.54.
-
- * automake.in (variable_defined): Thinko in $cond handling.
-
-2002-09-15 Paul Eggert <eggert@twinsun.com>
-
- * lib/Automake/Channels.pm: Don't use 'our', as it isn't portable
- to Perl 5.00503.
-
- * Makefile.am (maintainer-check): Don't use egrep.
-
-2002-09-15 Tom Tromey <tromey@redhat.com>
-
- * tests/subdircond3.test: Pass flags to make in environment.
- * tests/subdircond2.test: Pass flags to make in environment.
- * Makefile.am (maintainer-check): Add a new check for @...@
- substitutions. Updated correct number of diffs between source and
- build trees.
-
- * configure.in (aclocal, automake): Don't create.
- * automake.in ($prefix): Don't define.
- * aclocal.in ($prefix): Don't define.
- * Makefile.am (do_subst): New macro.
- (automake): New target.
- (aclocal): Likewise.
-
-2002-09-15 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in, automake.in: Requote each "@var@" as '@var@'.
-
-2002-09-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/Makefile.am (XFAIL_TESTS): Remove specflags7.test and
- specflags8.test.
-
-2002-09-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Building ctags and etags): Rename and adjust as ...
- (Building true and false): ... this.
- * tests/targetclash.test: New file.
- * tests/specflags7.test, tests/specflags8.test: Adjust to build
- true and false.
- * tests/Makefile.am (TESTS): Add targetclash.test.
-
- Diagnose target clashes, for PR automake/344:
- * automake.in (%targets): Record conditionals for definitions.
- (%target_conditional): Remove (obsoleted by %targets).
- (%target_source, %target_owner): New hashes.
- (TARGET_AUTOMAKE, TARGET_USER): New constants.
- (initialize_per_input): Adjust to reset new variables.
- (err_cond_target, msg_cond_target): New functions.
- (msg_target): Adjust usage of %targets.
- (conditional_ambiguous_p): Take a list of conditional to check
- as a third parameter, so this can be used for other things that
- variables.
- (handle_lib_objects_cond): Adjust conditional_ambiguous_p usage.
- (variable_defined): Restrict the target-with-same-name check
- to user targets.
- (rule_define): Add the $SOURCE argument, and take $OWNER instead
- of $IS_AM. Diagnose target clashes (including ambugious
- conditionals). Return a list of conditions where the rule should
- be defined instead of a boolean. Fill %target_source and
- %target_owner.
- (target_define): Use `exists', not `defined'.
- (read_am_file): Adjust the call to rule_define.
- (file_contents_internal): Add more FIXMEs. Simplify my moving
- and documenting the "define rules in undefined conditions" to
- rule_define.
- * tests/Makefile.am (XFAIL_TESTS): Add specflags7.test and
- specflags8.test.
-
-2002-09-12 Akim Demaille <akim@epita.fr>
-
- * aclocal.in: Prototype all the functions.
- Add `(C)' to Copyrights.
- (&add_file): Strip the comments before checking for `AC_REQUIRE'.
- Remove Perl 4 hacks, since anyway we require 5.005 via General.pm.
-
-2002-09-11 Akim Demaille <akim@epita.fr>
-
- * lib/am/texinfos.am (TEXI2PDF): Pass --batch to texi2dvi, since
- it was already supported when --pdf support was added.
-
-2002-09-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/Automake/Channels.pm (_default_options): Add `backtrace'.
- (msg): Die with backtrace if requested.
- * automake.in: Enable `backtrace' on the `automake' channel.
-
- * automake.in (process_option_list): Mention `Automake' in
- version-mismatch error.
- Suggested by Akim Demaille.
-
- * tests/Makefile.am ($(TESTS)): Replace by ...
- (check_SCRIPTS): ... this.
- Suggested by Raja R Harinath.
-
-2002-09-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/Makefile.am ($(TESTS)): New, depends on defs.
- (BUILT_SOURCES): Remove (useless because of PR/359).
-
- * m4/init.m4: Execute cygpath in a sub-shell.
-
-2002-09-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (macro_define): Warn about `:=' assignments.
- * tests/colneq.test: Check for this warning.
-
- * automake.texi (Include): Fragments are always distributed.
- * NEWS: Likewise.
-
-2002-09-08 Andreas Buening <andreas.buening@nexgo.de>
-
- Fix for automake/334:
- * lib/am/depend2.am: Replaced "cygpath -w" by $(CYGPATH_W).
- * m4/init.m4: New make variable CYGPATH_W.
-
-2002-09-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Check for EGREP and FGREP. Create tests/defs.
- * tests/defs: Rename as ...
- * tests/defs.in: ... this. Add copyright notice. Use configure's
- values for PERL, EGREP, and FGREP. Be verbose if $srcdir is unset.
- * tests/Makefile.am (EXTRA_DIST): Remove defs.
- (BUILT_SOURCES): New.
- * tests/acinclude.test, tests/aclibobj.test, tests/aclocal.test,
- tests/aclocali.test, tests/aclocali1.test, tests/aclocalii.test,
- tests/acoutnoq.test, tests/acoutput.test, tests/acoutput2.test,
- tests/acoutqnl.test, tests/acouttbs.test, tests/acouttbs2.test,
- tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test,
- tests/all.test, tests/alpha.test, tests/amassign.test,
- tests/ammissing.test, tests/ansi.test, tests/ansi2.test,
- tests/ansi3.test, tests/ansi4.test, tests/ansi5.test,
- tests/ansi6.test, tests/ansi7.test, tests/ansi8.test,
- tests/ar.test, tests/asm.test, tests/autoheader.test,
- tests/autoheader2.test, tests/auxdir.test, tests/auxdir2.test,
- tests/backsl.test, tests/backsl2.test, tests/badline.test,
- tests/badopt.test, tests/badprog.test, tests/block.test,
- tests/canon.test, tests/canon2.test, tests/canon3.test,
- tests/canon4.test, tests/canon5.test, tests/ccnoco.test,
- tests/check.test, tests/checkall.test, tests/clean.test,
- tests/colneq.test, tests/colneq2.test, tests/colon.test,
- tests/colon2.test, tests/colon3.test, tests/colon4.test,
- tests/colon5.test, tests/colon6.test, tests/colon7.test,
- tests/comment.test, tests/comment2.test, tests/comment3.test,
- tests/comment4.test, tests/comment5.test, tests/comment6.test,
- tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test,
- tests/cond11.test, tests/cond12.test, tests/cond13.test,
- tests/cond14.test, tests/cond15.test, tests/cond16.test,
- tests/cond17.test, tests/cond18.test, tests/cond19.test,
- tests/cond2.test, tests/cond20.test, tests/cond21.test,
- tests/cond22.test, tests/cond23.test, tests/cond24.test,
- tests/cond3.test, tests/cond4.test, tests/cond5.test,
- tests/cond6.test, tests/cond7.test, tests/cond8.test,
- tests/cond9.test, tests/condd.test, tests/condincl.test,
- tests/condincl2.test, tests/condlib.test, tests/condman.test,
- tests/condman2.test, tests/conf2.test, tests/confdeps.test,
- tests/confdist.test, tests/confh.test, tests/confh4.test,
- tests/config.test, tests/confincl.test, tests/confsub.test,
- tests/confvar.test, tests/confvar2.test, tests/copy.test,
- tests/ctarget1.test, tests/cxx.test, tests/cxx2.test,
- tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test,
- tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test,
- tests/cygwin32.test, tests/dash.test, tests/defun.test,
- tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test,
- tests/depacl.test, tests/depacl2.test, tests/depcomp.test,
- tests/depcomp2.test, tests/depdist.test, tests/depend.test,
- tests/depend2.test, tests/depend3.test, tests/depend4.test,
- tests/destdir.test, tests/dirforbid.test, tests/dirlist.test,
- tests/discover.test, tests/distcommon.test,
- tests/distcommon2.test, tests/distcommon3.test,
- tests/distdir.test, tests/distname.test, tests/dollar.test,
- tests/double.test, tests/dup2.test, tests/dup3.test,
- tests/else.test, tests/empty.test, tests/empty2.test,
- tests/empty3.test, tests/empty4.test, tests/error.test,
- tests/exdir.test, tests/exdir2.test, tests/exeext.test,
- tests/exeext2.test, tests/exsource.test, tests/ext.test,
- tests/ext2.test, tests/extra.test, tests/extra2.test,
- tests/extra3.test, tests/extra4.test, tests/extra5.test,
- tests/extra6.test, tests/extra7.test, tests/flibs.test,
- tests/fnoc.test, tests/fo.test, tests/fonly.test,
- tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test,
- tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test,
- tests/gcj5.test, tests/getopt.test, tests/gettext.test,
- tests/gettext2.test, tests/gnits.test, tests/gnits2.test,
- tests/gnits3.test, tests/gnuwarn.test, tests/header.test,
- tests/implicit.test, tests/include.test, tests/include2.test,
- tests/info.test, tests/insh.test, tests/insh2.test,
- tests/install.test, tests/install2.test, tests/installdir.test,
- tests/installsh.test, tests/instdata.test, tests/instdata2.test,
- tests/instexec.test, tests/insthook.test, tests/instman.test,
- tests/instman2.test, tests/interp.test, tests/interp2.test,
- tests/java.test, tests/java2.test, tests/javaprim.test,
- tests/javasubst.test, tests/ldadd.test, tests/ldflags.test,
- tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test,
- tests/lex5.test, tests/libobj10.test, tests/libobj11.test,
- tests/libobj2.test, tests/libobj3.test, tests/libobj4.test,
- tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
- tests/library.test, tests/library2.test, tests/libtool.test,
- tests/libtool2.test, tests/libtool3.test, tests/libtool4.test,
- tests/link_c_cxx.test, tests/link_dist.test, tests/link_f_c.test,
- tests/link_f_c_cxx.test, tests/link_f_cxx.test,
- tests/link_f_only.test, tests/lisp.test, tests/lisp2.test,
- tests/listval.test, tests/ltdeps.test, tests/ltlibobjs.test,
- tests/maintclean.test, tests/make.test, tests/makevars.test,
- tests/man.test, tests/man2.test, tests/mclean.test,
- tests/mdate.test, tests/mdate2.test, tests/mdate3.test,
- tests/mdate4.test, tests/mkinst2.test, tests/mkinstall.test,
- tests/nobase.test, tests/nodefine.test, tests/nodefine2.test,
- tests/nodep.test, tests/nodepcomp.test, tests/nodist.test,
- tests/nodist2.test, tests/noinst.test, tests/noinstdir.test,
- tests/nolink.test, tests/nostdinc.test, tests/number.test,
- tests/obsolete.test, tests/order.test, tests/outdir.test,
- tests/output.test, tests/output2.test, tests/output3.test,
- tests/output4.test, tests/output5.test, tests/package.test,
- tests/parse.test, tests/percent.test, tests/pluseq.test,
- tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test,
- tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test,
- tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test,
- tests/ppf77.test, tests/pr2.test, tests/pr204.test,
- tests/pr211.test, tests/pr220.test, tests/pr224.test,
- tests/pr229.test, tests/pr243.test, tests/pr266.test,
- tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
- tests/pr300-lib.test, tests/pr300-ltlib.test,
- tests/pr300-prog.test, tests/pr307.test, tests/pr72.test,
- tests/pr87.test, tests/pr9.test, tests/prefix.test,
- tests/primary.test, tests/primary2.test, tests/proginst.test,
- tests/python.test, tests/python2.test, tests/ranlib.test,
- tests/recurs.test, tests/recurs2.test, tests/remake.test,
- tests/remake2.test, tests/remake3.test, tests/req.test,
- tests/required.test, tests/required2.test, tests/rulepat.test,
- tests/scripts.test, tests/seenc.test, tests/sinclude.test,
- tests/sourcesub.test, tests/sourcesub2.test, tests/space.test,
- tests/specflags.test, tests/specflags2.test,
- tests/specflags3.test, tests/specflags6.test,
- tests/specflags7.test, tests/specflags8.test,
- tests/specflags9.test, tests/spell.test, tests/spell2.test,
- tests/spell3.test, tests/spelling.test, tests/stamph.test,
- tests/stamph2.test, tests/stdlib.test, tests/strip.test,
- tests/subdir.test, tests/subdir2.test, tests/subdir3.test,
- tests/subdir4.test, tests/subdir5.test, tests/subdir6.test,
- tests/subdir7.test, tests/subdirbuiltsources.test,
- tests/subdircond.test, tests/subdircond2.test,
- tests/subdircond3.test, tests/subobj.test, tests/subobj2.test,
- tests/subobj3.test, tests/subobj4.test, tests/subobj5.test,
- tests/subobj6.test, tests/subobj7.test, tests/subobj8.test,
- tests/subobj9.test, tests/subobjname.test, tests/subpkg.test,
- tests/subst.test, tests/substref.test, tests/substtarg.test,
- tests/suffix.test, tests/suffix10.test, tests/suffix2.test,
- tests/suffix3.test, tests/suffix4.test, tests/suffix5.test,
- tests/suffix6.test, tests/suffix7.test, tests/suffix8.test,
- tests/suffix9.test, tests/symlink.test, tests/symlink2.test,
- tests/symlink3.test, tests/syntax.test, tests/tags.test,
- tests/tagsub.test, tests/target-cflags.test, tests/target.test,
- tests/texinfo.test, tests/texinfo10.test, tests/texinfo13.test,
- tests/texinfo16.test, tests/texinfo2.test, tests/texinfo3.test,
- tests/texinfo4.test, tests/texinfo5.test, tests/texinfo6.test,
- tests/texinfo7.test, tests/texinfo8.test, tests/texinfo9.test,
- tests/transform.test, tests/unused.test, tests/vars.test,
- tests/vars2.test, tests/vars3.test, tests/vartar.test,
- tests/version.test, tests/version2.test, tests/version3.test,
- tests/version4.test, tests/version5.test, tests/version6.test,
- tests/vpath.test, tests/vtexi.test, tests/vtexi2.test,
- tests/warnopts.test, tests/werror.test, tests/whoami.test,
- tests/xsource.test, tests/yacc.test, tests/yacc2.test,
- tests/yacc3.test, tests/yacc4.test, tests/yacc5.test,
- tests/yacc6.test, tests/yacc7.test, tests/yacc8.test,
- tests/yaccpp.test, tests/yaccvpath.test: Add copyright notice.
- Source ./defs instead of $srcdir/defs.
-
-2002-09-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/distdir.am (distcheck): Strip $(srcdir) prefix on
- distributed files, to workaround Sun make VPATH munging.
- This fixes subdircond2.test, subdircond3.test, and subpkg.test
- on Solaris.
- * tests/extra6.test, tests/lex3.test, tests/pr87.test,
- tests/pr9.test, tests/target-cflags.test, tests/texinfo13.test,
- tests/texinfo16.test, tests/yacc7.test, tests/yaccvpath.test:
- Don't require GNU make.
-
- * lib/am/distdir.am (distcheck): Add missing `;'.
-
- * lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Account for
- Sun make rewriting rules in VPATH builds. (Fixes gnits3.test.)
- * lib/am/progs.am (installcheck-%DIR%PROGRAMS): Likewise.
-
-2002-09-04 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For automake/354:
- * lib/am/texibuild.am (%SOURCE_SUFFIX%.dvi, %SOURCE_SUFFIX%.pdf):
- Don't use `-o' unless necessary.
-
-2002-08-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/343:
- * automake.in (scan_texinfo_file) <clean_suffixes>: Remove dvi, ps,
- and pdf.
- (output_texinfo_build_rules): Define %DIRSTAMP% when processing
- texibuild.am. Return $dirstamp and a list of files to clean.
- (handle_texinfo_helper): Process texi-vers.am after the call to
- output_texinfo_build_rules and use $dirstamp to define %DIRSTAMP%.
- * lib/am/texi-vers.am (%STAMPVTI%): Build %DIRSTAMP% if needed.
- * lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%): Likewise.
- (%DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Depend on %DIRSTAMP%.
- * tests/texinfo13.test: New file.
- * tests/Makefile.am (TESTS): Add texinfo13.test.
- * lib/am/texinfos.am (install-info-am, dist-info): Looks for
- info files in build or source directory.
- This completes the change from 2002-07-30 (for PR automake/168).
-
-2002-08-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (CLEAN, MAINTAINER_CLEAN): New constants.
- (maintainer_clean_files): Replace by ...
- (clean_files): ... this new variable.
- (initialize_per_input, lang_yacc_target_hook,
- lang_lex_target_hook): Use %clean_files instead of
- @maintainer_clean_files.
- (handle_clean): Rewrite, using %clean_files.
- (require_build_directory_maybe): Use %clean_files instead
- of %compile_clean_files. This allows using
- &require_build_directory_maybe for non-compiling targets.
- * lib/am/clean.am (mostlyclean-generic, clean-generic,
- distclean-generic, maintainer-clean-generic): Rewrite using
- %MOSTLYCLEAN_RMS%, %CLEAN_RMS%, %DISTCLEAN_RMS%, and
- %MAINTAINER_CLEAN_RMS%.
-
- For Debian Bug#157778:
- * m4/python.m4: Fix output of `python' in checking messages
- when no version of Python is required.
-
-2002-08-23 Raja R Harinath <harinath@cs.umn.edu>
-
- * lib/am/depend2.am (%EXT%.lo): Fix typo. Rename the file that
- was generated by gcc -MF.
-
-2002-08-23 Pavel Roskin <proski@gnu.org>
-
- * lib/am/progs.am: Exit in case of install failure, otherwise
- it is ignored on Cygwin because of the surrounding "for" loop.
-
-2002-08-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Top level): More words about conditional
- subdirectories. Don't mention AC_PROG_MAKE_SET.
- * tests/subdircond2.test, tests/subdircond3.test: New files.
- * tests/Makefile.am (TESTS): Add them.
-
- For PR automake/347:
- * automake.in (MACRO_PATTERN): Allow `.' in variable names.
- (scan_variable_expansions, check_variable_expansions): New functions.
- (macro_define): Call check_variable_expansions.
- (read_am_file): Likewise, when outputing rules.
- (variable_conditions_recursive_sub): Simplify using
- scan_variable_expansions.
- * tests/vars3.test: New file.
- * tests/Makefile.am (TESTS): Add vars3.test.
- * tests/colneq.test: Use -Wno-portability.
-
- * lib/Automake/Channels.pm (buffering, backlog): New variables.
- (buffer_messages, flush_messages): New functions.
- (@EXPORT): Add buffer_messages and flush_messages.
- * automake.in (generate_makefile): Call buffer_messages and
- flush_messages to buffer warnings until AUTOMAKE_OPTIONS has
- been read.
-
- * automake.in (read_am_file): Fix computation of path to
- included file when $(top_srcdir) is not used.
- * tests/include2.test: Augment.
-
-2002-08-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (set_strictness): Never enable 'portability'
- warnings for now.
- (usage): Adjust `-Wportability' doc.
- * automake.texi (Invoking Automake): Likewise.
- Suggested by Ralf Corsepius.
-
-2002-08-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Fix cleanup of
- so_location files in current directory.
-
- Fix for PR automake/346:
- * automake.texi (Optional): Suppress the documentation for
- AC_PATH_XTRA, AC_FUNC_ALLOCA, AC_FUNC_ERROR_AT_LINE, AC_FUNC_FNMATCH,
- AC_FUNC_GETLOADAVG, AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_OBSTACK,
- AC_FUNC_STRTOD, AC_REPLACE_FUNCS, AC_REPLACE_GNU_GETOPT,
- AC_STRUCT_ST_BLOCKS, AM_WITH_REGEX, AC_CHECK_TOOL, AC_CHECK_PROG,
- AC_CHECK_PROGS, AC_PATH_PROG, and AC_PATH_PROGS. Augment the
- documentation of AC_LIBSOURCE and AC_SUBST to explain this
- applies to any macro that calls them.
-
-2002-08-19 Tom Tromey <tromey@redhat.com>
-
- For PR automake/348:
- * tests/Makefile.am (TESTS): Added include2.test.
- * tests/include2.test: New file.
- * tests/include.test: Check to make sure include file is
- distributed.
- * automake.in (read_am_file): Distribute included files.
-
-2002-08-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/345:
- * tests/defs: Add support for required=non-root, stolen
- from fileutils' test suite.
- * tests/destdir.test: Use required=non-root.
-
- * tests/vtexi.test: Fix spurious failure introduced on 2002-07-30.
-
-2002-08-17 Tom Tromey <tromey@redhat.com>
-
- For PR automake/347:
- * automake.in (rule_define): Given portability warning if "%" seen
- in target name.
- (TARGET_PATTERN): Added `%'.
- * tests/Makefile.am (TESTS): Added percent.test.
- * tests/percent.test: New file.
-
-2002-08-15 Art Haas <ahaas@neosoft.com>
-
- * lib/am/depend2.am: Use correct name for dependency file in
- libtool fastdep case.
-
-2002-08-14 Art Haas <ahaas@neosoft.com>
-
- * lib/am/depend2.am: Added missing `;'.
-
-2002-08-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Python): Fix wording.
-
- * tests/ext2.test: New file. This bug is present in Automake 1.6.3
- and was fixed by the change on variable_conditions_permutations
- and invert_conditions on 2002-05-16.
- * tests/Makefile.am (TESTS): Add ext2.test.
- Reported by Ladislav Strojil.
-
-2002-08-01 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in (parse_arguments): Add `dirlist' paths add the
- very end of the search path, after aclocal-APIVERSION/ and
- aclocal/.
- * automake.texi (Macro search path): Adjust to reflect the
- new ordering.
- * tests/dirlist.test: Check for this.
-
-2002-07-31 Charles Wilson <cwilson@ece.gatech.edu>
-
- * aclocal.in (parse_arguments): Add support for extending
- default macro search path, using a `dirlist' file within
- the aclocal directory.
- * automake.texi (Invoking aclocal): Move option descriptions into ...
- (aclocal options): ... this new node.
- (Macro search path): New node.
- * tests/dirlist.test: New file.
- * tests/Makefile.am (TESTS): Add dirlist.test.
- * m4/dirlist: New file.
- * m4/Makefile.am (EXTRA_DIST): Add dirlist.
- * tests/defs: Honor any installed dirlist when searching for
- libtool.m4 and gettext.m4.
-
-2002-07-30 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Build info files in builddir instead of srcdir (for PR automake/168),
- and prepare support for info files in subdirecties.
- * automake.in (output_texinfo_build_rules): New function.
- (handle_texinfo_helper): Use output_texinfo_build_rules, and
- prepare to support subdir texinfos. Define am__TEXINFO_TEX_DIR.
- * lib/am/texi-vers.am: Build version.texi and stamp-vti in the
- current directory, not $(srcdir). Use %STAMPVTI% to name the stamp
- file.
- * lib/am/texibuild.am: Rewrite to output files in the current
- directory, not $(srcdir). Also, support both generic and
- non-generic output. Pass `-o $@' to makeinfo, texinfo, and
- texi2dvi (for PR automake/339).
- * tests/texinfo3.test: Make sure the `.texi:' rule is output.
- * tests/texinfo10.test: Use set -e, so the checks are not ignored.
- * tests/texinfo16.test: New file.
- * tests/Makefile.am (TESTS): Add texinfo16.test.
-
-2002-07-29 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in (write_aclocal): Don't write the filename ($output_file)
- in the aclocal.m4 header.
-
- * configure.in: Require Autoconf 2.53b.
-
-2002-07-28 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Bump version to 1.6c.
-
- * configure.in: Bump version to 1.6b.
- * lib/config.guess, lib/config.sub, lib/Automake/XFile.pm: New
- upstream versions.
- * automake.in: Don't write @ALLOCA@ and @LIBOBJS@ in clear text,
- since this file is processed by config.status.
-
-2002-07-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (read_am_file): Escaped newlines in comments are not
- portable. If a comment line doesn't start with a `#', add it.
- * tests/comment6.test: Ensure this is done.
-
-2002-07-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix failures reported by Patrick Welche on NetBSD.
- * tests/gnits2.test, tests/gnits3.test: Don't trust the exit
- status of `make -k'.
- * tests/obsolete.test: Source obs.1 and obs.2 from current
- directory.
-
-2002-07-23 Patrick Welche <prlw1@newn.cam.ac.uk>
-
- * lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): Add
- configure.lineno.
-
-2002-07-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/required2.test: New file.
- * tests/Makefile.am (TESTS): Add required2.test.
- * automake.in (initialize_per_input): Remove %require_file_found
- setting. This reverts my change of 2002-04-19.
- (require_file_internal): Use the full name of a file as a
- key in %require_file_found, not only the basename.
- Reported by Andrew Suffield.
-
-2002-07-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_subdirs): Warn if `obj' appears in SUBDIRS.
- * tests/subdir7.test: New file.
- * tests/Makefile.am (TESTS): Add subdir7.test.
-
- * lib/mkinstalldirs: Remove Id keyword.
-
- * lib/am/progs.am (installcheck-%DIR%PROGRAMS): Honor
- AM_INSTALLCHECK_STD_OPTIONS_EXEMPT.
- * lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise.
- * automake.texi (Options) <std-options>: Document
- AM_INSTALLCHECK_STD_OPTIONS_EXEMPT.
- (Gnits): Reference std-options.
- * tests/gnits3.test: New file.
- * tests/Makefile.am (TESTS): Add gnits3.test.
- Suggested by Jim Meyering.
-
-2002-07-20 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/gnits2.test: Use --program-prefix. Test for scripts too.
- Replace the sed script by calls to grep, easier to debug.
- * lib/am/progs.am (installcheck-%DIR%PROGRAMS): Honor nobase
- and $(transform).
- * lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise.
-
- * lib/am/progs.am (install-%DIR%PROGRAMS, uninstall-%DIR%PROGRAMS):
- Always strip the directory part before applying $(transform),
- even for nobase_ targets.
- * lib/am/scripts.am (install-%DIR%SCRIPTS, uninstall-%DIR%SCRIPTS):
- Likewise.
- * tests/nobase.test: Use --program-prefix while testing nobase
- support.
-
-2002-07-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dirname.test: Delete. We don't define _AM_DIRNAME anymore.
- * tests/Makefile.am (TESTS): Remove dirname.test.
-
- * m4/init.m4: Require Autoconf 2.53b.
- * m4/header.m4 (AM_CONFIG_HEADER): Redefine using AU_DEFUN.
- * m4/ccstdc.m4 (fp_PROG_CC_STDC): New AU_DEFUN.
- * m4/dmalloc.m4 (fp_WITH_DMALLOC): Likewise.
- * m4/lispdir.m4 (ud_PATH_LISPDIR): Likewise.
- * m4/maintainer.m4 (jm_MAINTAINER_MODE): Likewise.
- * m4/protos.m4 (fp_C_PROTOTYPES): Likewise.
- * m4/regex.m4 (fp_WITH_REGEX): Likewise.
- * m4/termios.m4: Delete. AM_SYS_POSIX_TERMIOS is now AU_DEFUNed
- in m4/obsolete.m4.
- * m4/winsz.m4: Delete. AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL is now
- AU_DEFUNed in m4/obsolete.m4.
- * m4/obsol-gt.m4, m4/obsol-lt.m4, m4/obsolete.m4 : New files.
- * m4/Makefile.am (dist_m4data_DATA): Add obsol-gt.m4, obsol-lt.m4,
- and obsolete.m4. Remove termios.m4 and winsz.m4.
- * aclocal.in (obsolete, obsolete_rx): Remove.
- (scan_configure): Don't grep for obsolete macros.
- * tests/defs (AUTOUPDATE): Define.
- * Makefile.am (maintainer-check): Check for misuses of autoupdate.
- * tests/obsolete.test: Rewrite. Exercize the AU_DEFUN macros from
- m4/obsolete.m4.
-
- Fix for PR automake/338:
- * automake.in (seen_gettext_external): New variable.
- (handle_gettext): Conditionalize the intl/ check on
- $seen_gettext_external. Fix grep usage.
- (scan_autoconf_traces): Set $seen_gettext_external if
- `external' is passed to AM_GNU_GETTEXT.
- * tests/gettext.test, tests/gettext2.test: New files.
- * tests/Makefile.am (TESTS): Add gettext.test and gettext2.test.
-
-2002-07-18 Alexandre Duret-Lutz <duret_g@epita.fr>
- Akim Demaille <akim@epita.fr>
-
- * m4/header.m4 (_AM_DIRNAME, _AM_STAMP, _AM_CONFIG_HEADER,
- _AM_CONFIG_HEADER_INSINUATE): Remove them all. Leave just ...
- (AM_CONFIG_HEADER): ... this new definition for compatibility.
- * m4/init.m4: Don't call _AM_CONFIG_HEADER_INSINUATE.
- (_AC_AM_CONFIG_HEADER_HOOK): New macro.
- * tests/confh5.tests: Delete.
- * tests/Makefile.am (TESTS): Remove confh5.tests.
-
-2002-07-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_single_transform_list): Typo.
-
- * lib/Automake/Channels.pm (dup_channel_setup,
- drop_channel_setup): New functions.
- (@EXPORT): Add them.
- * automake.in (generate_makefile): Call dup_channel_setup and
- drop_channel_setup.
- (process_option_list): Recognize --warnings and -W options.
- * automake.texi (Options): Document them.
- * tests/pluseq5.test: Check that -Wno-obsolete will disable the
- warning.
- * tests/warnopts.test: New file.
- * tests/Makefile.am (TESTS): Add warnopts.test.
-
-2002-07-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in: Register warning channel `gnu'.
- (set_strictness): Turn on `gnu' in --gnu and --gnits.
- (usage): Mention the `gnu' category.
- (%var_is_am): Replace by ...
- (%var_owner): ... this, which uses ...
- (VAR_AUTOMAKE, VAR_CONFIGURE, VAR_MAKEFILE): ... these new constants.
- Adjust all uses of %var_is_am.
- (handle_languages): Warn about user variables being overriden.
- (require_variables): Also check %configure_vars for the existence
- of a required variable.
- * automake.texi (Invoking Automake): Document -Wgnu.
- * tests/yacc2.test, tests/yacc3.test: Use -Wno-gnu when
- we test YFLAGS.
- * tests/gnuwarn.test: New file.
- * tests/Makefile.am (TESTS): Add gnuwarn.test.
-
-2002-07-11 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/337:
- * automake.in: Redefine the `flags' attribute of each language
- as a list. List CPPFLAGS in `flags' when it is used.
- (register_language): Set the default value of 'flags'.
- (handle_single_transform_list): Adjust to treat `flags' as a list.
- (handle_languages): Likewise. Don't bother defining the
- configure variable for `c', this is always done since we trace
- configure.ac.
- * automake.texi (etags): Use per-executable _CPPFLAGS.
- (Program and Library Variables): Mention maude_CPPFLAGS.
- (Program variables): Likewise.
- * tests/specflags8.test: Use _CPPFLAGS instead of _CFLAGS.
- * tests/specflags9.test: New file.
- * tests/Makefile.am (TESTS): Add specflag9.test.
-
-2002-07-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi: Use `variable' instead of `macro' everywhere it
- designates a Makefile variable.
- (Texinfo): `VERSION', `UPDATED', `EDITION', and `UPDATED-MONTH' are
- `flags', not `macros'. `Macro' means something else in Texinfo.
- Also show how to use these flags.
- * automake.in (file_contents_internal): s/macro/variable/ in
- error message.
-
- * automake.in (parse_arguments): Call Getopt twice: once to catch
- --help or --verbose, and once to process the other arguments.
- (usage, verbose): Always exit 0, ignoring $exit_code (which anyway
- should always be 0 because of the change to parse_arguments).
- * tests/Makefile.am (TESTS): Add getopt.test.
- * tests/getopt.test: New file.
-
-2002-07-09 Tom Tromey <tromey@redhat.com>
-
- For PR automake/286:
- * automake.texi (Tags): Document ctags.
- * automake.in (handle_tags): Handle ctags.
- * lib/am/tags.am (CTAGS): New macro.
- (CTAGSFLAGS): Likewise.
- (ctags): New target.
- (distclean-tags): Remove `tags'.
-
- * lib/am/depend2.am: Reworked syntax to avoid parsing problem.
-
- * lib/am/depend2.am: Search in srcdir and builddir for %SOURCE%
- before passing to cygpath. Partial fix for PR automake/334.
-
-2002-07-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (generate_makefile): Suggest using AM_CPPFLAGS
- instead of INCLUDES.
- * tests/pluseq5.test: Check that AM_CPPFLAGS is suggested.
-
-2002-07-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (usage, version): Honor $exit_code.
- (parse_arguments): Use fatal.
-
-2002-07-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Invoking Automake): Document WARNINGS.
- * automake.in (switch_warning, parse_WARNINGS): New function.
- (setup_warnings): Rename to ...
- (parse_warnings): ... this. Move most of the code to switch_warning.
- Accept a comma separated list of categories.
- * tests/vars2.test: Use a comma separated list of warning categories.
-
-2002-07-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * NEWS (New in 1.6): Mention that libtoolize is no longer run
- by automake.
-
-2002-07-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/291:
- * automake.in (macro_define): Catch variable names starting
- with `_'.
- (handle_installdirs): Rename _am_installdirs to am__installdirs.
- * lib/am/data.am, lib/am/install.am, lib/am/libs.am,
- lib/am/lisp.am, lib/am/ltlibs.am, lib/am/mans.am,
- lib/am/progs.am, lib/am/python.am, lib/am/scripts.am,
- lib/am/texinfos.am: Likewise.
- * tests/canon5.test: Use -Wno-portability.
- * tests/vars2.test: New file.
- * tests/Makefile.am (TESTS): Add vars2.test.
-
-2002-07-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (AUTOMAKE): Add -Wall.
- * tests/outdir.test: Use -Wno-obsolete.
-
-2002-07-07 Tom Tromey <tromey@redhat.com>
-
- * m4/depend.m4 (_AM_DEPENDENCIES): Compute am__fastdep<compiler>
- conditional.
- * automake.in (handle_languages): Compute FASTDEP.
- * lib/am/depend2.am: Added %FASTDEP% mode.
-
-2002-07-07 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Optional): AM_MAINTAINER_MODE is ok in Gnits mode
- now. Fixes PR automake/332.
-
-2002-07-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/nobase.test (test-install-exec): Move all the `test -f'
- tests in the Makefile so we can use $(EXEEXT) on programs.
- Reported by Charles Wilson.
-
-2002-07-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/header.m4 (AM_CONFIG_HEADER): New macro.
- * tests/confh5.test: Make sure that Autoconf complains if
- AM_CONFIG_HEADER or AC_CONFIG_HEADERS is called before
- AM_INIT_AUTOMAKE.
-
-2002-07-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/Automake/Channels.pm: New file.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Channels.pm.
- * automake.in: Use Automake::Channels and register some channels
- for errors and warnings.
- ($exit_status): Remove, replaced by Channels::$exit_code.
- (%required_variables): Remove, Channels will filter-out duplicates
- itself.
- (initialize_per_input): Call reset_local_duplicates.
- (prog_error): Adjust to all `msg'.
- (setup_warnings): New functions.
- (parse_arguments): Accept -W CATEGORY and --warnings=CATEGORY,
- call setup_warnings.
- (usage): Update usage text accordingly.
- (macro_dump, macros_dump): Return the dump as a string instead
- of printing it.
- (am_install_var) <$warned_about_extra>: Remove, Channels will
- filter-out duplicates itself.
- (set_strictness): Turn on/off channels for each stricness.
- (err, fatal, err_var, err_target, err_am, err_ac, msg_var,
- msg_target, msg_am, msg_ac, reject_var, reject_target, verb):
- New functions, to replace ...
- (print_error, am_error, file_error, macro_error, target_error,
- conf_error, file_warning): ... these functions. Remove them.
- Update all the code to use the new functions. The rough
- correspondance is
- am_error -> err_am
- file_error -> err
- macro_error -> err_var
- target_error -> err_target
- conf_error -> err_ac
- die -> fatal
- macro_error if defined -> reject_var
- target_error if defined -> reject_target
- verbose -> verb
- * automake.texi (Invoking Automake): Document -W and --warnings.
- Remove the documentation for --Werror and --Wno-error.
- * tests/defs: Use -Werror, not --Werror.
- * tests/exeext2.test: Test that the error message
- is enabled with -Wobsolete.
- * tests/output5.test: Rewrite to test that Automake complains
- when there is no Makefile specified. (The original test was
- succeeding for the wrong reason.)
- * tests/seenc.test: Don't use --Wno-error, there is no reason now
- that -Werror doesn't stop after the first error.
- * tests/subobj.test: Use --add-missing, and check that
- `compile' is installed and that Automake says so.
- * tests/subobj2.test: Don't create `compile'.
-
-2002-07-05 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Java Support): Mention --main and _LDFLAGS.
- For PR automake/324.
-
-2002-07-04 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/asm.test: Erase Autom4te's cache between each test.
-
-2002-07-03 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (am_macro_for_var): Add LIBTOOL.
- (ac_macro_for_var): Add RANLIB.
- (seen_libtool): Remove.
- (handle_libtool, lang_c_finish, define_compiler_variable,
- make_paragraphs): Use
- variable_defined ('LIBTOOL') instead of $seen_libtool.
- (handle_languages) <%transform>: Don't set 'LIBTOOL', it is
- already done in make_paragraphs.
- (handle_libraries): Simplify by requiring RANLIB with
- &require_variables_for_macro.
- (handle_ltlibraries): Simplify by requiring LIBTOOL with
- &require_variables_for_macro.
- (scan_autoconf_traces): Don't trace for AC_PROG_LIBTOOL and
- AM_PROG_LIBTOOL.
- * tests/libtool4.test, tests/library2.test: New files.
- * tests/Makefile.in (TESTS): Add libtool4.test and library2.test.
-
-2002-07-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (create, keyed_aclocal_warning): Delete, unused.
-
-2002-07-01 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (ac_macro_for_var): Add YACC.
-
-2002-07-01 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Handle multiple suffix rules with the same input extension.
- For PR automake/37.
-
- * automake.in (suffix_rules_default): New variable.
- (suffix_rules): Redefine as a hash of hashes of pairs.
- (initialize_per_input): Setup suffix_rules_default from
- suffix_rules on first call, an override suffix_rules
- with suffix_rules_default on following calls.
- (struct) <output_extensions>: New attribute.
- (register_language): Set the default for output_extensions.
- Call register_suffix_rule for each suffix.
- (derive_suffix, handle_languages): Adjust to the new definition
- of $suffix.
- (register_suffix_rule): New function.
- (rule_define): Call register_suffix_rule.
- * tests/suffix8.test, tests/suffix9.test, tests/suffix10.test:
- New files.
- * tests/Makefile.am (TESTS): Add them.
-
-2002-06-30 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (am_macro_for_var, ac_macro_for_var,
- required_variables): New variables.
- (am_c_prototypes, seen_prog_lex, am_lispdir_location,
- pythondir_location): Remove.
- (initialize_per_input): Clear %required_variables.
- (require_variables, require_variables_for_macro): New functions.
- (handle_languages): Call &require_variables for $lang->config_vars.
- (handle_compile): Call &require_variables_for_macro for the
- ANSI2KNR and U variables.
- (handle_emacs_lisp): Call &require_variables for EMACS and libdir.
- (handle_python): Call &require_variables for PYTHON. Don't
- explicitly allow `python' as a prefix for PYTHON.
- (scan_autoconf_traces): Don't scan AC_PROG_LEX, AM_C_PROTOTYPES,
- AM_PATH_LISPDIR, and AM_PATH_PYTHON.
- (scan_autoconf_traces) <AC_SUBST>: Don't filter out ANSI2KNR and
- AMDEPBACKSLASH here...
- (define_configure_variable): ... do this here.
- (am_primary_prefixes): Probe the existence of ${X}dir using
- &require_variables_for_macro. If a standard prefix is not
- legitimate, say so. Ignore all configure variables.
- * tests/ansi8.test, tests/cxx2.test, tests/gcj5.test,
- tests/lisp2.test, tests/python2.test: New files
- * tests/Makefile.am (TESTS): Add them.
- * tests/asm.test: Grep stderr.
- * tests/lex2.test: Rewrite to test that Automake suggests AM_PROG_LEX.
- * tests/python.test: Make sure py-compile is installed.
-
-2002-06-27 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (LANG_IGNORE, LANG_PROCESS, LANG_SUBDIR,
- COMPILE_LIBTOOL, COMPILE_ORDINARY): Redefine as constants.
- Adjust all occurrences.
-
-2002-06-27 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * aclocal.in: Add local variables so that Emacs setups GNU style
- for perl-mode and cperl-mode.
- * automake.in: Likewise.
- (WHITE_PATTERN, RULE_PATTERN, SUFFIX_RULE_PATTERN, MACRO_PATTERN,
- ASSIGNMENT_PATTERN, IF_PATTERN, ELSE_PATTERN, ENDIF_PATTERN,
- INCLUDE_PATTERN, EXEC_DIR_PATTERN): Write $ as "\$" to please
- perl-mode.
-
-2002-06-27 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (fetch): Fetch install-sh from Autoconf CVS.
- * lib/config.sub, lib/install-sh: New upstream versions.
-
-2002-06-26 Paul Eggert <eggert@twinsun.com>
-
- * Makefile.am (maintainer-check): Don't assume that egrep exists;
- this fixes a portability bug introduced in the 2002-06-08 fix for
- PR automake/317.
-
-2002-06-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (required_targets): Add ps and ps-am.
- (initialize_per_input): Reset them.
- (handle_texinfo_helper): Fill @pss_list, and define the
- PSS make variable.
- * lib/am/texinfos.am (RECURSIVE_TARGETS): Add ps-recursive.
- (ps, ps-am): New targets.
- * automake.texi (Auxiliary Programs) <texinfo.tex>: Mention
- `make ps' and `make pdf'.
- (Texinfo): Document `make ps', `make pdf', and `make dvi'.
- (Extending): The `ps' and `pdf' targets support a `-local' version.
-
-2002-06-26 Art Haas <ahaas@neosoft.com>
-
- * automake.texi: s/.../@dots{}/.
-
-2002-06-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Check that ln works, fall back to `cp -p'.
- * Makefile.am (install-exec-hook): Use $(LN) instead of ln.
- Reported by Andreas Buening.
-
-2002-06-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in: Register &lang_lex_target_hook for lex and lexxx.
- (lang_lex_target_hook): New function.
- * tests/lex3.c: Complete to check that maintainer-clean erases
- Lex's output.
- Reported by Flavien Astraud. This was lost on 2001-06-23 too.
-
-2002-06-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (lang_yacc_target_hook): Add $output to
- @maintainer_clean_files. This was lost on 2001-06-23.
- * tests/yacc7.test, tests/yacc4.test: Complete to check
- that maintainer-clean erases YACC's output files,
- respectively with and without `-d'.
- Reported by Flavien Astraud.
-
-2002-06-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/lang-compile.am (%FPFX%DEPMODE): Delete. This is now
- traced from configure.ac.
-
- * automake.in (macro_define): Don't accept to override an AC_SUBST
- or Automake variable in a new condition.
- * tests/cond23.test, tests/cond24.test: New file.
- * tests/Makefile.am (TESTS): Add cond23.test and cond24.test.
- Reported by Patrik Weiskirchre.
-
-2002-06-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/nobase.test, tests/pr204.test, tests/pr300-lib.test,
- tests/pr300-ltlib.test, tests/pr300-prog.test,
- tests/specflags7.test, tests/specflags8.test, tests/subdir5.test,
- tests/subobj6.test, tests/subpkg.test, tests/transform.test:
- Require gcc.
-
-2002-06-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/libtool2.test: Use required=libtoolize.
- * tests/install2.test: Use required=gzip.
-
-2002-06-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (required): Handle bison; set YACC automatically.
- * tests/pr204.test, tests/yacc4.test, tests/yacc8.test,
- tests/yaccvpath.test: Require bison. Don't set YACC.
-
-2002-06-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (required): Handle `gcc' and `g++'; automatically
- export CC and CXX when they are required.
- * tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test,
- tests/cond4.test, tests/cond16.test, tests/cond18.test,
- tests/cond19.test, tests/depcomp2.test, tests/depend2.test,
- tests/lex3.test, tests/pr87.test, tests/pr220.test,
- tests/substref.test, tests/target-cflags.test, tests/yacc4.test,
- tests/yaccvpath.test: Require gcc. Don't pass CC=gcc to
- configure.
- * tests/subobj9.test: Require g++.
-
-2002-06-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (required): Handle `GNUmake'.
- (needs_gnu_make): Don't define anymore.
- * tests/cond4.test, tests/cond18.test, tests/cond19.test,
- tests/dollar.test, tests/exsource.test, tests/extra6.test,
- tests/lex3.test, tests/make.test, tests/pr9.test, tests/pr87.test,
- tests/subdir5.test, tests/target-cflags.test, tests/yacc7.test,
- tests/yaccvpath.test: Use `required=GNUmake' instead of
- `$needs_gnu_make'.
-
-2002-06-17 Paolo Bonzini <bonzini@gnu.org>
-
- * automake.in (process_option_list): Recognize std-options.
- (handle_options): Enable std-options in gnits strictness.
- (am_install_var): If std-options, enable CK-OPTS section.
- * lib/am/scripts.am (installcheck-am): New target.
- * lib/am/progs.am (installcheck-am): New target.
- * tests/gnits2.test: New file.
- * tests/Makefile.am (TESTS): Add gnits2.test.
- * automake.texi (Gnits, Options): Document std-options.
-
-2002-06-17 Kevin Ryde <user42@zip.com.au>
-
- * automake.in (scan_texinfo_file): Add tmp to @clean_suffixes,
- as generated by recent texinfo.tex.
-
-2002-06-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/header.m4 (AM_CONFIG_HEADER): Rename to ...
- (_AM_CONFIG_HEADERS): ... this.
- (_AM_CONFIG_HEADER_INSINUATE): Define AC_CONFIG_HEADERS to
- call _AM_CONFIG_HEADERS; and AM_CONFIG_HEADER to call
- AC_CONFIG_HEADERS.
- * automake.in (scan_autoconf_traces): Trace AC_CONFIG_HEADERS
- instead of AM_CONFIG_HEADER.
- * tests/autoheader2.test: New file.
- * tests/Makefile.am (TESTS): Add autoheader2.test.
- Suggested by Raja R Harinath.
-
-2002-06-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/header.m4 (_AM_CONFIG_HEADER_INSINUATE): Use m4_copy instead
- of m4_rename so that AC_CONFIG_HEADER is never undefined and
- therefore still traced after the redefinition.
- * tests/defs (AUTOHEADER): Define.
- * tests/autoheader.test: New file.
- * tests/Makefile.am (TESTS): Add autoheader.test.
- Reported by Braden McDaniel.
-
-2002-06-13 Paolo Bonzini <bonzini@gnu.org>
-
- * automake.in (check_gnu_standards): In --gnu mode, accept
- one of COPTING, COPYING.LESSER, or COPYING.LIB.
- (common_files): Add COPYING.LESSER.
- * automake.texi (Gnits): Document this.
-
-2002-06-13 Paolo Bonzini <bonzini@gnu.org>
-
- * automake.in (required_targets): Add the pdf and pdf-am targets.
- (initialize_per_input): Likewise.
- (scan_texinfo_file): Add pdf to @clean_suffixes.
- (handle_texinfo_helper): Output the .pdf dependencies, and define
- the PDFS variable.
- * lib/am/texinfos.am (TEXI2PDF): New variable.
- (pdf, pdf-am): New targets.
- (.PHONY): Add pdf, pdf-am, and pdf-recursive.
- * lib/am/texibuild.am (.%SUFFIX%.pdf): New rule.
-
-2002-06-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix pr307.test failure with gcc 3.x.
- * lib/depcomp (dashmstdout): Strip the call to libtool, and
- replace `-o $object' by `-o /dev/null' before running "$@"
- to generate dependencies.
- (cpp): Strip the call to libtool as well as `-o $object'.
-
-2002-06-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/depcomp (tru64): Expect dependency files in .libs/, maybe as
- $base.lo.d, when libtool is used.
- Reported by Nicolas Joly.
-
-2002-06-11 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/java.am (class%DIR%.stamp): Don't run $(JAVAC) when there
- is no file to compile.
- * tests/java2.test: New file.
- * tests/Makefile.am (TESTS): Add java2.test.
- Reported by Braden N. McDaniel.
-
-2002-06-11 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/maintclean.test: Don't check for autom4te.cache if
- it's not created by Autoconf.
- Reported by Bernd Jendrissek.
-
-2002-06-11 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Tests): Document site.exp. Update DejaGnu's url.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/header-vars.am (transform): Define.
- Was removed by mistake on 2002-04-13.
- * tests/transform.test: New file.
- * tests/Makefile.am (TESTS): Add transform.test.
- Reported by Nicolas Joly.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dollar.test: Require GNU make.
- * tests/maintclean.test: Don't use `export YACC=false'. Pass
- YACC=false to configure instead.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex, lib/INSTALL,
- INSTALL: New upstream versions.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/sinclude.test: Check for m4_include too.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/sinclude.test: Rename the package as amsinclude;
- am__sinclude still trigers the sinclude macro once it has been
- converted to am--sinclude.
- Reported by Nicolas Joly.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (API versioning): Typo.
-
-2002-06-10 Nicolas Joly <njoly@pasteur.fr>
-
- * THANKS (Nicolas Joly): Remove duplicate.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Fix $MAKE -e detection.
- * tests/yacc7.test: Use rm -f.
-
-2002-06-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (ACLOCAL, AUTOMAKE): Use absolute paths.
- * tests/subpkg.test: New file.
- * tests/Makefile.am (TESTS): Add subpkg.test.
-
-2002-06-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/318:
- * tests/nobase.test: Rewrite to test _HEADERS, _DATA, _SCRIPTS,
- _PROGRAMS, _LIBRARIES, and _LTLIBRARIES.
- * lib/am/scripts.am (install-%DIR%SCRIPTS,
- uninstall-%DIR%SCRIPTS): Honor nobase_; strip the directory by
- default.
- (?%DIR%SCRIPT_INSTALL): New variable.
- * lib/am/header-vars.am (install_sh_SCRIPT): New variable.
- Reported by Eric Siegerman.
-
-2002-06-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (lang_yacc_target_hook): Add rule to recover from
- the removal of $header.
- * lib/am/yacc.am (%BASE%.h): Remove (duplicate with the one
- output by lang_yacc_target_hook).
- * tests/yacc7.test: Try to recreate foo.h after its removal.
- * tests/yacc8.test: Add `AM_YFLAGS = -d' and try to recreate
- parse.h too.
- Reported by Bernd Jendrissek.
-
-2002-06-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/317:
- * Makefile.am (maintainer-check): Disallow `for f in $(FILES)',
- suggest `list='$(FILES)'; for f in $$list' instead.
- * lib/am/distdir.am (distdir): Adjust `for' usage.
- * lib/am/texinfos.am (maintainer-clean-aminfo): Likewise.
- * tests/dollar.test: New file.
- * tests/Makefile.am (TESTS): Add dollar.test.
- Reported by Eric Siegerman and Philip Fong.
-
-2002-06-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/47 (fixed a long time ago):
- * tests/yacc7.test: Also check that parser sources are distributed.
-
-2002-06-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): New variable.
- (distclean): Use it.
- (maintainer-clean): Delete autom4te.cache and
- $(am__CONFIG_DISTCLEAN_FILES).
- * tests/maintclean.test: New file.
- * tests/Makefile.am (TESTS): Add maintclean.test.
-
-2002-06-05 Miloslav Trmac <trmac@popelka.ms.mff.cuni.cz>
-
- * lib/am/dejagnu.am (site.exp): Quote build_alias, host_alias, and
- target_alias.
-
-2002-05-31 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Check for egrep and fgrep.
-
- * test/cond22.test: Set SHELL when calling $MAKE -e.
-
-2002-05-31 Richard Boulton <richard@tartarus.org>
-
- Fix PR automake/326:
- * automake.in (define_objects_from_sources): Calculate the result in
- all conditions before passing this to subobjname to pick a name to
- store the result in.
- (subobjname): Expect a list of condition/value pairs as input.
- Combine this list and use it as the key to determine the variable name.
- * test/cond22.test: New file.
- * tests/Makefile.am (TESTS): Add cond22.test
-
-2002-05-30 Paul Eggert <eggert@twinsun.com>
-
- * lib/am/distdir.am (distdir): Don't assume that 'grep -F' works;
- instead, use shell pattern matching.
-
-2002-05-29 Paul Eggert <eggert@twinsun.com>
-
- Don't assume that egrep and fgrep exist, as POSIX 1003.1-2001 no
- longer requires them.
-
- * Makefile.am (maintainer-check): Use grep -E and grep -F instead
- of egrep and fgrep. Omit unnecessary -E and -F.
- Fix quoting typo -- "fgrep '\$${'" should have been "fgrep '$${'".
- * lib/am/distdir.am (distdir): fgrep -> grep -F.
- Use $(), not ${}, for Make variables.
- * lib/am/texinfos.am (install-info-am, uninstall-info-am):
- fgrep -> grep
- * m4/make.m4 (AM_MAKE_INCLUDE): Likewise.
- * tests/defs: Set FGREP and EGREP.
-
- * tests/aclocali.test, tests/acoutput2.test, tests/all.test,
- tests/ansi.test, tests/ansi4.test, tests/colon3.test,
- tests/cond21.test, tests/condlib.test, tests/confh4.test,
- tests/confsub.test, tests/cxxansi.test, tests/cxxo.test,
- tests/depend4.test, tests/discover.test, tests/distname.test,
- tests/dup3.test, tests/empty4.test, tests/fo.test,
- tests/implicit.test, tests/insh2.test, tests/interp.test,
- tests/lex.test, tests/lex3.test, tests/lex4.test,
- tests/libobj5.test, tests/libobj7.test, tests/make.test,
- tests/makevars.test, tests/nostdinc.test, tests/parse.test,
- tests/pluseq.test, tests/pluseq4.test, tests/pluseq6.test,
- tests/pr2.test, tests/pr9.test, tests/seenc.test,
- tests/specflags.test, tests/specflags3.test,
- tests/specflags6.test, tests/subobj.test, tests/subobj2.test,
- tests/suffix3.test, tests/texinfo.test, tests/texinfo6.test,
- tests/texinfo8.test, tests/vtexi.test, tests/yacc3.test,
- tests/yacc6.test: fgrep -> $FGREP, egrep -> $EGREP
-
-2002-05-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/323:
- * m4/depend.m4: Missing comma.
- * tests/gcj4.test: New file.
- * tests/Makefile.am (TESTS): Add gcj4.test.
- Reported by David Pashley.
-
-2002-05-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (configure.in): Don't double-quote $me.
- * tests/sinclude.test: Overwrite configure.in and use
- `am__sinclude' instead of `sinclude' as package name.
- Exercise `m4_sinclude' instead of `sinclude'.
-
-2002-05-20 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (conditional_implies_one_of): Rename as ...
- (conditional_implies_any): ... this.
- * tests/pluseq9.test: Exercise another case with the new
- `C' variable.
- Suggested by Raja R Harinath.
-
-2002-05-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs (configure.in): Quote macro arguments.
- Reported by Nicolas Joly.
-
-2002-05-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/header-vars.am (build_triplet, host_triplet,
- target_triplet): Define. Were removed by mistake on 2002-04-13.
-
-2002-05-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/186:
- * lib/am/distdir.am (distcheck): Attempt a DESTDIR install.
- * tests/destdir.test: New file.
- * tests/Makefile.am (TESTS): Add destdir.test.
-
-2002-05-16 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (conditional_true_when): Return false if $WHEN == FALSE.
- (conditional_is_redundant): Simplify.
- (conditional_implies_one_of,
- variable_not_always_defined_in_cond): New functions
- (macro_define): Reject appends if the variable is not defined in
- all conditions where `+=' applies.
- (invert_conditions): Rewrite. Before this patch,
- invert_conditions("A_TRUE B_TRUE", "A_TRUE B_FALSE", "A_FALSE")
- would return ("A_FALSE B_TRUE", "A_FALSE B_TRUE"), which seems
- wrong (these conditions implies "A_FALSE"). Now it outputs (),
- which just means the input conditions cover all cases.
- (variable_conditions_permutations): Never output FALSE conditions.
- * tests/pluseq2.test, tests/pluseq3.test: Define data_DATA
- in the CHECK_FALSE condition to fix the test.
- * tests/pluseq5.test: Actually check the diagnostic.
- * tests/pluseq9.test: New file.
- * tests/Makefile.am (TESTS): Add pluseq9.test.
-
-2002-05-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/322:
- * automake.in (read_am_file): Rename $was_rule as $prev_state, and
- set it with IN_RULE_DEF, IN_VAR_DEF, or IN_COMMENT as appropriate.
- Handle comments continued by backslashes.
- * tests/comment6.test: New file.
- * tests/Makefile.am (TESTS): Add comment6.test.
- Reported by Braden N. McDaniel.
-
-2002-05-08 Charles Wilson <cwilson@ece.gatech.edu>
- Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/progs.am (clean-%DIR%PROGRAMS): If Libtool is used, clean
- both `program$(EXEEXT)' and `program'; needed under Cygwin.
- * tests/libtool3.test: New file.
- * tests/Makefile.am (TESTS): Add libtool3.test.
-
-2002-05-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * TODO: Undust.
-
-2002-05-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (FETCHFILES, fetch): Get INSTALL from Autoconf CVS.
-
-2002-05-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Erase stamps from the Makefile that generates them.
-
- * automake.in (handle_configure): Append each used stamp to
- @distclean_config. Don't warn about stamp-h in AC_OUTPUT, this
- file is not used anymore.
- * lib/am/clean.am (distclean-generic): Don't erase stamp-h and
- stamp-h[0-9]*.
- * tests/subdir6.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
-2002-05-06 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for condd.test (conditional `+='):
- * automake.in (%appendvar): New.
- (initialize_per_input): Clear it.
- (macro_define): Handle += for variable defined in another condition.
- * automake.texi (Conditional Sources): Use conditional += in
- the example.
- (General Operation, Conditionals): Remove note about broken +=.
- * tests/cond21.test: New file.
- * tests/condd.test: Also test conditional append to a _SOURCE
- variable. Create missing directories.
- * tests/Makefile.am (TESTS): Add cond21.test.
- (XFAILS): Remove condd.test.
-
-2002-05-05 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Program and Library Variables): Mention _LFLAGS.
-
-2002-04-30 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Erase so_locations
- files. Fix subobj9.test on OSF and IRIX.
- Reported by Nelson H. F. Beebe.
-
-2002-04-26 Tom Tromey <tromey@redhat.com>
-
- * lib/am/dejagnu.am (distclean-DEJAGNU): New target.
- For Debian bug 144221.
-
-2002-04-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/man2.test: Use `pwd`, not $PWD. Use $MAKE -e.
-
-2002-04-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (subobjname): Use the length of %subobjvar
- instead of $subobjnamenum.
- (subobjnamenum): Remove.
-
-2002-04-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/307:
- * lib/depcomp: Never compute dependencies in the background, this
- can cause races with libtool. Compute the dependencies after
- the actual compilation. Don't make libtool silent now that
- it's run in the foreground.
- * tests/pr307.test: New file.
- * tests/Makefile.am (TESTS): Add pr307.test.
- Reported by Laurent Morichetti.
-
-2002-04-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/check.am: Show skipped tests. Display the
- $(PACKAGE_BUGREPORT) address on failure.
-
-2002-04-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix PR automake/315:
- * automake.in (subobjname): Rewrite to generate variable name
- unique for each content.
- (%substnums): Remove.
- (%subobjvar): New hash.
- (initialize_per_input): Clear %subobjvar.
- (define_objects_from_sources): Return the name of the variable
- defined, in addition to the linker. Call subobjname only once
- the content of the variable to define is known.
- (handle_source_transform): Adjust call to define_objects_from_sources.
- * tests/specflags8.test: Mention PR 315.
- * tests/subobjname.test: New file.
- * tests/Makefile.am (XFAIL_TESTS): Remove specflags8.test.
- (TESTS): Add subobjname.test.
-
-2002-04-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Grep
- the whole file for 'generated by automake', not only the
- first line. This accounts for post-processed Makefile.in's.
- * tests/postproc.test: New file.
- * tests/Makefile.am (TESTS): Add postproc.test.
-
-2002-04-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- For PR automake/151 and PR automake/314:
- * automake.texi (A Program): Split into
- (Program Sources, Linking, Conditional Sources, Conditional
- Programs): ... these subsections; moving the Linking node
- before the Conditional discussions.
- (Conditional Sources): More details. Notably, mention
- hello_DEPENDENCIES.
- (Conditionals): Adjust reference to Conditional Programs.
-
-2002-04-19 Paul Eggert <eggert@twinsun.com>
-
- Fix some bugs when using "$@" when there might be zero positional
- arguments in cases where this matters. Zsh doesn't support
- the workaround ${1+"$@"} that has been used by Automake since
- the Mon Dec 4 11:55:36 1995 change.
-
- * aclocal.in: Use 'case' statement to work around problem.
- * automake.in: Likewise.
- * lib/ylwrap: Likewise.
- * lib/missing: No need for workaround, as the command is never
- invoked with zero arguments.
- * tests/ccnoco.test: Likewise.
- * missing: Update from lib/missing.
-
-2002-04-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (initialize_per_input): Clear %require_file_found.
- (%require_file_found): Group the declaration with the other
- variables initialized by initialize_per_input.
- * tests/required.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- Reported by Marius Vollmer.
-
-2002-04-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/header.m4 (_AM_CONFIG_HEADER_INSINUATE): New function,
- override AC_CONFIG_HEADERS with AM_CONFIG_HEADER.
- (_AM_CONFIG_HEADER): Use _AM_AC_CONFIG_HEADERS.
- * m4/init.m4: Call _AM_CONFIG_HEADER_INSINUATE.
- * tests/stamph2.test: Use AC_CONFIG_HEADERS for some of the config
- files.
- * tests/confh5.test: New file.
- * tests/Makefile.am (TESTS): Add confh5.test.
- * automake.texi (Optional, Public macros): Update descriptions
- of AC_CONFIG_HEADERS and AM_CONFIG_HEADER.
-
-2002-04-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/man2.test: New file.
- * tests/Makefile.am (TESTS): Add man2.test.
- * lib/am/mans.am (install-man%SECTION%): Change the extension
- of the man pages being installed, as documented.
-
-2002-04-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Enable traces; wipe out the old configure.in parser.
-
- * automake.in (scan_autoconf_traces): Use '$ENF{AUTOCONF}' of
- 'autoconf'. Honnor the $filename argument.
- (scan_autoconf_files): Don't call scan_one_autoconf_file.
- Always call scan_autoconf_traces.
- (scan_one_autoconf_file): Remove, with it associated regexes.
- (obsolete, obsolete_rx): Remove.
- (register_language, handle_languages): Remove the 'define_flag'
- support. Remove it from the struct and language definitions too.
- (unquote_m4_arg): Remove.
- * lib/am/header-vars.am, lib/am/compile.am, lib/am/lisp.am: Remove
- the `FOO = @FOO@' definitions for all AC_SUBST'ed variables. They
- are now generated automatically.
- * aclocal.in (obsolete_macros): Don't mention obsolete_macros in
- automake.in.
- * automake.texi (Invoking Automake): Mention the AUTOCONF envvar.
-
-2002-04-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/version6.test: New file.
- * tests/Makefile.am (TESTS): Add tests/version6.test.
- * automake.in (version_check): Return 0 on equality.
-
-2002-04-13 Andreas Schwab <schwab@suse.de>
-
- * THANKS: Update my mail address.
-
-2002-04-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/discover.test: Use a full configure.in that calls AC_INIT.
- Use AC_LIBOBJ. Grep the error message.
- * test/ldadd.test: Don't use LIBOBJS. Use a full configure.in.
- Grep the error message. Require libtool.
- * tests/ldflags.test: Don't use LIBOBJS.
- * tests/seenc.test: Use AC_LIBOBJ, --Wno-error, and grep the
- error messages for CC and CXX.
-
-2002-04-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_autoconf_traces) <AC_SUBST>: Ignore ANSI2KNR
- and AMDEPBACKSLASH.
- * tests/distcommon2.test: Use a full configure.in that calls AC_INIT.
- * tests/ext.test: Enable dependencies for OBJC.
- * tests/libobj.test, tests/libobj6.test, tests/libobj9.test:
- Delete. They tests for different flavors of $LIBOBJS assignments
- that wont be supported anymore.
- * tests/libobj2.test, tests/libobj10.test: Use AC_LIBOBJ.
- * tests/obsolete.test: Don't test Automake.
- * tests/suffix5.test: Require libtool.
- * tests/Makefile.am (TESTS): Remove libobj.test, libobj6.test and
- libobj9.test.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in (APIVERSION): Fix definition.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * NEWS: Catch up with changes since 1.6.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/yacc8.test: Don't assume GNU make, run config.status
- to regenerate the Makefile.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Make sure `$MAKE -e' is
- always followed by a SHELL setting.
- * tests/ansi3.test, tests/ansi5.test, tests/subobj3.test: Set
- SHELL when calling `$MAKE -e'.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/subobj9.test: Use configure.in, not configure.ac,
- otherwise this fails with old libtool versions.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
-2002-04-10 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * ChangeLog.2001: New file, extracted from ChangeLog.
- * Makefile.am (EXTRA_DIST): Add it.
-
-2002-04-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Canonicalization): The sources for libmumble++.a
- go into libmumble___a_SOURCES.
-
-2002-04-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Check for `sleep 1' uses in the
- test suite. Suggest `sleep 2' instead.
- * tests/confsub.test: Use `sleep 2'.
-
-2002-04-04 Paul Eggert <eggert@twinsun.com>
-
- * lib/am/subdirs.am:
- ($(RECURSIVE_TARGETS), maintainer-clean-recursive):
- $(MAKEFLAGS) -> $$MAKEFLAGS, so that we don't run into problems if
- MAKEFLAGS contains '$(...)'.
-
-2002-04-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/specflags8.test: Typo.
-
-2002-04-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/specflags6.test: Run aclocal.
- * tests/Makefile.am (TESTS): Add specflags6.test.
-
-2002-04-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/specflags7.test, tests/specflags8.test: New files.
- * tests/Makefile.am (TESTS): Add them.
- (XFAIL_TESTS): Add specflags8.test.
-
-2002-03-29 Tom Tromey <tromey@redhat.com>
-
- * automake.in (check_typos): Examine AM_LDFLAGS.
- Fixes PR automake/311.
-
- For PR automake/312:
- * lib/am/libtool.am (clean-libtool): Use LTRMS.
- * automake.in (handle_single_transform_list): When processing a
- libtool object, clean the ordinary object and register the
- directory.
- (libtool_clean_directories): New global.
- (initialize_per_input): Initialize it.
- (generate_makefile): Call handle_libtool later.
- (handle_libtool): Handle libtool_clean_directories.
- * tests/subobj9.test: New file.
- * tests/Makefile.am (TESTS): Added subobj9.test.
-
-2002-03-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/extra6.test, tests/subdir5.test: Require GNU make.
-
-2002-03-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dup3.test (ACLOCAL): s/srcdir/testsrcdir/.
-
-2002-03-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/extra7.test: New file.
- * tests/Makefile.am: Add it.
- * lib/am/distdir.an (distdir): When a distribuable directory
- exists both in `.' and $(srcdir), merge both directories. This
- works around a failure of extra6.test on Tru64 reported by
- Nicolas Joly.
-
-2002-03-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/pr87.test, tests/yaccvpath.test: Require GNU make.
-
-2002-03-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Catch occurrences of
- `$MAKE foo=bar' in the testsuite. Suggest using
- `foo=bar $MAKE -e' instead.
- * tests/ansi3.test, tests/ansi5.test, tests/subobj3.test:
- Use $MAKE -e. This fixes a ansi5.test failure with Solaris make.
- * tests/defs: Unset $srcdir, and set $testsrcdir to its old value.
- * tests/installsh.test (AUTOMAKE, ACLOCAL): Use $testsrcdir.
-
-2002-03-26 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/310:
- * lib/am/depend2.am, lib/am/lex.am, lib/am/yacc.am: Quote %SOURCE%
- so it never appears as a plain word.
-
-2002-03-25 Angus Leeming <a.leeming@ic.ac.uk>
-
- * lib/depcomp (tru64): Correctly compute `base'.
-
-2002-03-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/pr211.test: s/requires/required/, otherwise the test fails
- if libtool is not installed.
-
-2002-03-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dirname.test: Don't use $SHELL when calling ./configure.
-
-2002-03-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dirname.test: Use --quiet to fix failure on installations
- using a site script.
- Reported by Nicolas Joly.
-
-2002-03-21 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (maintainer-check): Check for misuses of make,
- autoconf, automake, aclocal, and perl in the testsuite. Suggest
- using $MAKE, $AUTOCONF, $AUTOMAKE, $ACLOCAL, and $PERL instead.
- * tests/confsub.test: Use $AUTOCONF and $MAKE.
- * tests/extra5.test, tests/extra6.test, tests/lex5.test,
- tests/nobase.test, tests/nodist2.test, tests/pr204.test,
- tests/pr224.test, tests/pr287.test, tests/strip.test,
- tests/yacc8.test: Use $MAKE.
-
-2002-03-20 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Add support for two-dot versions.
-
- * tests/version5.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- * automake.in (version_split, version_compare): New functions.
- (version_check): Rewrite using version_split and version_compare.
- (process_option_list): Adjust regex.
-
-2002-03-18 Richard Boulton <richard@tartarus.org>
-
- Fix for PR automake/306:
- * automake.texi (Generalities): Document +=.
- (Conditionals): Document limitations of += with conditionals.
-
-2002-03-17 Tom Tromey <tromey@redhat.com>
-
- Fix for PR automake/295:
- * automake.texi (Invoking Automake): Deprecate --output-dir.
- * automake.in (usage): Don't document --output-dir.
- (output_directory): Don't initialize.
- (parse_arguments): Deprecate --output-dir.
-
- * m4/init.m4 (AUTOMAKE, ACLOCAL): Removed extra quotes.
- Fixes PR automake/304.
-
-2002-03-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dirforbid.test: Workaround for NetBSD sh bug.
- Fixes PR automake/305.
-
-2002-03-11 Richard Boulton <richard@tartarus.org>
-
- * automake.in (check_typos): Allow variables with reserved
- suffices (such as _LDFLAGS) and prefixes which aren't
- recognised if the variable is defined in configure.ac.
- Fixes acsubst.test.
-
-2002-03-11 Richard Boulton <richard@tartarus.org>
-
- * tests/acsubst.test: New test, by Alexandre Duret-Lutz
- * tests/acsubst2.test: New test, by Alexandre Duret-Lutz
- * tests/Makefile.am (TEST): Added acsubst.test and acsubst2.test
-
-2002-03-11 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * tests/defs: Unset DESTDIR, otherwise `make DESTDIR=/foo check'
- causes failures.
-
-2002-03-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/303:
- * automake.in (version_check): Move the error message ...
- (process_option_list): ... here, so we can distinguish between
- global and local options.
-
-2002-03-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/pr300-lib.test, tests/pr300-ltlib.test,
- tests/pr300-prog.test: Use AC_OUTPUT, not AC_OUTPUT(Makefile), so
- Autoconf doesn't complain about Makefile being output twice.
-
-2002-03-06 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Upped version to 1.6a.
-
-2002-03-05 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Released 1.6.
-
-2002-03-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/300:
- * tests/pr300-lib.test, tests/pr300-ltlib.test,
- tests/pr300-prog.test: New files.
- * tests/Makefile.am (TESTS): Add them.
- * automake.in (handle_ltlibraries): Strip nobase_ prefix to
- compute the directory.
- * lib/am/header-vars.am (install_sh_PROGRAM): New variable.
- * lib/am/libs.am (%DIR%LIBRARIES_INSTALL): New variable.
- (install-%DIR%LIBRARIES): Use it. Honor nobase_.
- (uninstall-%DIR%LIBRARIES): Honor nobase_.
- * lib/am/ltlibs.am (%DIR%LTLIBRARIES_INSTALL): New variable.
- (install-%DIR%LTLIBRARIES): Use it. Honor nobase_.
- (uninstall-%DIR%LTLIBRARIES): Honor nobase_.
- * lib/am/progs.am (%DIR%PROGRAMS_INSTALL): New variable.
- (install-%DIR%PROGRAMS): Use it. Honor nobase_.
- (uninstall-%DIR%PROGRAMS): Honor nobase_.
- See also the fix for nobase.test on 2001-11-09.
-
-2002-03-05 Tom Tromey <tromey@redhat.com>
-
- * lib/config.sub, lib/config.guess, lib/texinfo.tex: Updated.
-
-2002-03-05 Pavel Roskin <proski@gnu.org>
-
- * tests/yacc8.test: Add a command between "test" and "cd" to
- work around a bug in bash-2.05.
-
-2002-03-05 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/294:
- * tests/dirforbid.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- * automake.in (standard_prefix): New hash.
- (am_primary_prefixes): Forbid standard_prefixes which are not
- explicitely allowed.
- * automake.texi (Uniform): Remove FIXME.
-
-2002-03-05 Jim Meyering <meyering@lucent.com>
-
- * automake.in (@common_files): Add config.rpath.
-
-2002-03-05 Kevin Ryde <user42@zip.com.au>
-
- For PR automake/297:
- * lex.m4 (AM_PROG_LEX): Don't set LEX=${am_missing_run}flex until
- after AC_PROG_LEX, since it will try to run it and fail (in autoconf
- 2.52 at least).
-
-2002-02-25 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_one_autoconf_file): Declare
- LEX_OUTPUT_ROOT and LEXLIB as configure variables when
- AM_PROG_LEX or AC_PROG_LEX are seen. This allows to ...
- * lib/am/lex.am: ... remove the LEX_OUTPUT_ROOT and LEXLIB
- definitions. Search %SOURCE% in $(srcdir). Use s||| instead
- of s/// in the sed invocation, to support filenames containing
- slashes.
- * lib/am/yacc.am: Search %SOURCE% in $(srcdir). Use s||| too.
- * tests/lex5.test, tests/yacc8.test: New files.
- * tests/Makefile.am (TESTS): Add them.
-
-2002-02-23 Per Bothner <per@bothner.com>
-
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Set `dirpart' to
- `.' in else branch.
-
-2002-02-22 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/make.test: Revert the grep logic to work around a bug
- in NetBSD sh (see NetBSD Problem Report #11542).
- Reported by Patrick Welche.
-
-2002-02-20 Tim Van Holder <tim.van.holder@pandora.be>
-
- * m4/lispdir.m4: Redirect /dev/null to stdin when running $EMACS
- to try and prevent a non-lisp emacs from starting in interactive
- mode.
- * automake.texi: Document this change.
-
-2002-02-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Macros): Split into ...
- (Public Macros, Private Macros): ... these.
-
-2002-02-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/insthook.test: Use sed instead of "tail +X".
-
-2002-02-18 Paul Eggert <eggert@twinsun.com>
-
- * lib/depcomp: Don't use "tail +3"; it's not portable to
- POSIX 1003.1-2001 hosts.
-
-2002-02-18 Jim Meyering <meyering@lucent.com>
-
- * tests/cond12.test: Use sed 1q, not `head -n 1'.
- The latter is not portable to some old systems.
- * m4/depout.m4: Don't use `head -1'; it's no longer portable.
- Use `sed 1q' instead.
- * tests/insthook.test: Likewise.
-
-2002-02-17 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (handle_lib_objects_cond): Tell the user to put
- global linker flags in AM_LDFLAGS, not LDFLAGS.
-
- * automake.texi (General Operation): AC_SUBST'ed variables
- override Automake's variables.
- (Uniform): More words and @refs.
- (Auxiliary Programs) <config.sub, config.guess>: Add URL.
- (etags): More explanations about the first example.
- (Invoking Automake): Mention autoreconf. More @refs.
- (Requirements): Mention AC_CONFIG_FILES.
- (Optional): AC_CHECK_TOOL will no longer install config.sub and
- config.guess. Mention AC_LIBOBJ, AC_LIBSOURCE, and AC_LIBSOURCES.
- (Invoking aclocal): aclocal no longer warn about duplicates.
- (Macros) <AM_INIT_AUTOMAKE>: More explanations.
- (Extending aclocal): Suggest using the output of
- `aclocal --print-ac-dir` to install third-party macros.
- (Alternative): Specify ordering of dist_, nodist_, and nobase_
- prefixes.
- (A Program): Mention scripts. The global LDADD variable is not
- meant to hold link flags, suggest using AM_LDFLAGS instead.
- (Program and Library Variables) <maude_LIBADD, maude_LDADD>:
- _LIBADD and _LDADD are subject to the same restriction wrt to
- link flags.
- (Program and Library Variables) <maude_DEPENDECIES>: Is also
- derived from maude_LIBADD.
- (Program variables): Define AM_LDFLAGS.
- (Dependencies): Passing the no-dependencies option to
- AM_INIT_AUTOMAKE is preferred.
- (Scripts): Explain why automake is magically cleaned.
- Mention noinst_SCRIPTS and check_SCRIPTS.
- (Data): Use dist_ in Automake's example.
- (Dist): Reference AM_INIT_AUTOMAKE for PACKAGE and VERSION.
- Mention AC_CONFIG_FILES instead of AC_OUTPUT.
-
-2002-02-14 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * Makefile.am (FETCHFILES): Add Automake/XFile.pm.
- (fetch): Fetch XFile.pm. Update the files in $(srcdir) instead
- of asking the maintainer to do it manually.
- * lib/config.guess, lib/config.sub, lib/texinfo.tex,
- Automake/XFile.pm: New upstream versions.
-
-2002-02-02 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Macros): Warn about upgrading.
-
-2002-02-01 Tom Tromey <tromey@redhat.com>
-
- Change per GNU coding standards:
- * aclocal.in (parse_arguments): Only mention most recent year in
- copyright output.
- * automake.in (version): Only mention most recent year.
-
-2002-01-30 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (API versioning): New Node.
- (Extending): Use $(DESTDIR) in examples.
-
-2002-01-28 Akim Demaille <akim@epita.fr>
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Serial 5.
- Respect the --help layout.
-
-2002-01-27 Tom Tromey <tromey@redhat.com>
-
- * configure.in: Bumped to 1.5e.
-
- * lib/am/yacc.am: Use `rm -f'.
-
- * configure.in: Released 1.5d.
-
- * lib/config.guess: New version from FSF.
-
- * Makefile.am (uninstall-hook): New target.
-
-2002-01-24 Akim Demaille <akim@epita.fr>
-
- * lib/install-sh: Update, from Autoconf.
-
-2002-01-24 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (scan_one_autoconf_file): Don't treat AC_CHECK_TOOL
- as AC_CANONICAL_HOST (the former does not require the latter since
- Autoconf 2.50).
- * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Check for strip.
- * automake.texi (Requirements): Do not require STRIP to be
- defined by the user.
-
-2002-01-23 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/depend.am (distclean-depend): Erase %DEPDIRS%, not $(DEPDIRS).
- * automake.in (handle_languages): Compute and substitute %DEPDIRS%.
- * tests/pr224.test: Make sure .deps subdirectories are
- erased by distclean.
-
-2002-01-22 Tom Tromey <tromey@redhat.com>
-
- * m4/gcj.m4 (AM_PROG_GCJ): Don't invoke dependency code if
- no-dependencies option is set.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Don't invoke dependency code if
- no-dependencies option is set. Don't call AM_DEP_TRACK or
- AM_SET_DEPDIR.
-
-2002-01-22 Pavel Roskin <proski@gnu.org>
-
- * tests/asm.test: Use CCAS and CCASFLAGS instead of AS and
- ASFLAGS.
-
-2002-01-22 Akim Demaille <akim@epita.fr>
-
- * Makefile.am (FETCHFILES): Remove ansi2knr.c, add texinfo.tex.
- (fetch): Adjust.
-
-2002-01-21 Tom Tromey <tromey@redhat.com>
-
- * Makefile.am (fetch): Don't fetch ansi2knr.
-
- * automake.texi (Macros): Updated for new variable names.
- (Program and Library Variables): Likewise.
- (Assembly Support): Likewise.
- * m4/as.m4: Use CCAS and CCASFLAGS.
- * automake.in (asm): Use CCAS and CCASFLAGS.
-
-2002-01-21 Akim Demaille <akim@epita.fr>
-
- * automake.in (&parse_arguments): Use a more GNUish error message
- on wrong options.
-
-2002-01-20 Tom Tromey <tromey@redhat.com>
-
- Fix for PR automake/231:
- * m4/gcj.m4 (AM_PROG_GCJ): Use _AM_DEPENDENCIES(GCJ).
- * m4/depend.m4: Document `GCJ'.
-
- For PR automake/224:
- * tests/Makefile.am (TESTS): Added pr224.test.
- * tests/pr224.test: New file.
- * lib/depcomp: Fixed computation of depfile.
- * lib/am/depend2.am: Use %DEPBASE%, not $(DEPDIR).
- * automake.in (handle_single_transform_list): Only reject `..'
- component for Java. Put dependencies in directory near object.
- (handle_languages): Set DEPBASE. Handle de-ansi-fication.
-
-2002-01-20 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/defs: Export AUTOMAKE and ACLOCAL.
-
-2002-01-19 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/204:
- * tests/pr204.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- * automake.in (handle_single_transform_list): Don't distribute
- sources derived from non-distributed sources.
-
-2002-01-18 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/229:
- * tests/pr229.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- * automake.in (scan_one_autoconf_file): Recognize AC_CYGWIN,
- AC_EMXOS2, and AC_MINGW32.
-
-2002-01-18 Tom Tromey <tromey@redhat.com>
-
- * tests/cond7.test: Fix test bug exposed by copyright update.
-
- For PR automake/288:
- * automake.in (lang_c_rewrite): Don't prepend directory to base if
- directory is `.'. Also, properly compute de_ansi_files entry in
- subdir-objects case
- * tests/Makefile.am (TESTS): Added ansi7.test.
- * tests/ansi7.test: New file.
-
- * aclocal.in (parse_arguments): Added 2002.
- (write_aclocal): Likewise.
- (parse_arguments): Updated my email address.
- * automake.in (gen_copyright): Added 2002.
- (version): Likewise. Also, changed my email address.
-
- * configure.in (APIVERSION): Refined definition.
-
-2002-01-18 Tom Tromey <tromey@redhat.com>
-
- * missing: Updated.
- * lib/missing: Accept versioned aclocal.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Look for versioned aclocal.
-
-2002-01-17 Pavel Roskin <proski@gnu.org>
-
- * m4/Makefile.am (m4datadir): Use APIVERSION.
-
-2002-01-16 Tom Tromey <tromey@redhat.com>
-
- * Makefile.am (install-exec-hook): Use APIVERSION.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use am__api_version.
- * m4/amversion.in (AM_AUTOMAKE_VERSION): Set am__api_version from
- APIVERSION.
- * automake.in (perllibdir): Use APIVERSION.
- (libdir): Likewise.
- * aclocal.in (perllibdir): Use APIVERSION.
- (APIVERSION): New global.
- (parse_arguments): Use APIVERSION.
- * configure.in (APIVERSION): New subst.
- (pkgvdatadir): Use APIVERSION.
-
-2002-01-15 Tom Tromey <tromey@redhat.com>
-
- * missing: Updated.
- * lib/missing: Match against `automake*' to pick up versioned
- automake.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use versioned automake name.
- * m4/amversion.in (AM_AUTOMAKE_VERSION): Set am__version
- variable.
- * lib/am/Makefile.am (amdir): Use pkgvdatadir.
- * lib/Makefile.am (dist_pkgvdata_DATA): Renamed to use
- pkgvdatadir.
- (scriptdir): Use pkgvdatadir.
- (installcheck-local): Likewise.
- * lib/Automake/Makefile.am (perllibdir): Use pkgvdatadir.
- * automake.in (perllibdir): Added VERSION.
- (libdir): Likewise.
- * aclocal.in (parse_arguments): Search versioned directory. Don't
- push unversioned directory unless it exists.
- (perllibdir): Added VERSION.
- (default_acdir): New global.
- * m4/Makefile.am (m4datadir): Added $(VERSION).
- * Makefile.am (install-exec-hook): New target.
- * configure.in (ACLOCAL): Search build directory.
- (pkgvdatadir): New subst.
-
-2002-01-15 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/config.sub, lib/config.guess: New versions from FSF.
-
-2002-01-13 Tom Tromey <tromey@redhat.com>
-
- For PR automake/288:
- * automake.in (lang_c_rewrite): Set value for de_ansi_files entry
- to directory.
- (lang_c_finish): Likewise. Also, use directory information from
- de_ansi_files.
-
-2002-01-13 Kevin Ryde <user42@zip.com.au>
-
- For PR automake/288:
- * tests/Makefile.am (TESTS): Added ansi6.test.
- * tests/ansi6.test: New file.
-
-2002-01-13 Tom Tromey <tromey@redhat.com>
-
- For PR automake/287:
- * lib/am/distdir.am (distdir): Use `$$list' trick when looping
- over subdirs.
- * tests/Makefile.am (TESTS): Added pr287.test.
- * tests/pr287.test: New file.
-
-2002-01-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/distdir.am (distdir): Handle subdirectories.
- * tests/extra6.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
-2002-01-13 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/extra2.test: Run $ACLOCAL.
-
-2002-01-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Set PACKAGE and VERSION from
- AM_INIT_AUTOMAKE arguments when using the old-style call.
- Use AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION in the new form only.
- Suggested by Pavel Roskin.
-
-2002-01-12 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * test/nodefine.test, test/nodefine2.test: Check that no-define
- works, not the contrary...
- * m4/options.m4 (_AM_IF_OPTIONS): Use m4_ifset.
- * m4/init.m4 (AM_INIT_AUTOMAKE): A third argument implies no-define,
- not the contrary.
-
-2002-01-12 Jim Meyering <meyering@lucent.com>
-
- * automake.in (scan_one_autoconf_file): Unquote AC_LIBOBJ argument.
- * tests/libobj11.test: New file.
- * tests/Makefile.am (TESTS): Add libobj11.test.
-
-2002-01-09 Ryan T. Sammartino <ryants@shaw.ca>
-
- * lib/depcomp (msvisualcpp): Strip -Gm, -Gi, and -ZI options.
-
-2002-01-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (file_contents_internal): Introduce two variables,
- $is_rule and $discard_rules to track rules spanning across multiple
- paragraphs. This fixes a very nasty bug reported by Dmitry Mikhin
- where only the first paragraph of such a multi-paragraph rule was
- discarded; but it leaves many similar latent bugs (see the FIXMEs).
-
-2002-01-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/dup3.test: Remove all -I from $ACLOCAL before using it.
- * tests/error.test: Use some macro names which are not defined by
- Automake itself.
-
-2002-01-09 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.texi (Complete, Macros, Options): Document the new style
- AM_INIT_AUTOMAKE. Remove AM_AUTOMAKE_OPTIONS documentaion.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Get PACKAGE and VERSION from
- AC_INIT if they are available there. Support a new call form
- where the only argument is an optional space-separated list of
- Automake options.
- * m4/options.m4 (AM_AUTOMAKE_OPTIONS): Remove.
- (_AM_MANGLE_OPTION, _AM_SET_OPTION, _AM_SET_OPTIONS,
- _AM_IF_OPTION): New functions.
- * automake.in (AC_INIT_PATTERN): New variable.
- (global_options_line): Remove, use $seen_init_automake instead.
- (scan_one_autoconf_file, scan_autoconf_traces): Set $package_version
- from AC_INIT if available. Support the new style AM_INIT_AUTOMAKE.
- Remove the AM_AUTOMAKE_OPTIONS handling.
- * configure.in: Modernize.
- * tests/defs (configure.in): Modernize. One third of the tests
- still overwrite the default configure.in and use an old
- AM_INIT_AUTOMAKE call, so that makes testing for both.
- * tests/nodefine.test, tests/nodefine2.test: New files.
- * tests/Makefile.am (TESTS): Add them.
-
-2002-01-08 Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (define_configure_variable): Propagate line numbers.
-
-2002-01-08 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add python2.2.
-
-2002-01-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in: Run the Autoconf test in a subdirectory, then
- erase this directory.
-
-2002-01-07 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * configure.in (AUTOMAKE): Create m4/amversion.m4.
- * m4/amversion.in: New file.
- * m4/Makefile.am (m4data_DATA, EXTRA_DIST): Replace by ...
- (dist_m4data_DATA): ... this.
- (nodist_m4data_DATA, DISTCLEANFILES): Add amversion.m4.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require
- AM_SET_CURRENT_AUTOMAKE_VERSION.
- * automake.in (seen_automake_version): New variable.
- (scan_autoconf_traces, scan_one_autoconf_file,
- scan_autoconf_files): Scan for AM_AUTOMAKE_VERSION and complain
- when the version used in aclocal.m4 differs from Automake's.
- * tests/defs (ACLOCAL): Look in ../m4 too.
- * tests/installsh.test (ACLOCAL): Likewise.
- * tests/installdir.test (installdirs-local): Run $ACLOCAL.
-
-2002-01-06 Raja R Harinath <harinath@cs.umn.edu>
-
- * automake.in (handle_languages): Emit an automake
- internal variable 'am__depfiles_maybe'.
- * lib/am/configure.am (%MAKEFILE%): Use am__depfiles_maybe.
-
- * lib/am/configure.am (%MAKEFILE%): Pass `depfiles' to
- config.status.
-
-2002-01-06 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Tags): Document new variables.
- * lib/am/tags.am (ETAGS): New macro.
- (ETAGSFLAGS): Likewise.
- (TAGS): Use them.
-
-2002-01-04 Tom Tromey <tromey@redhat.com>
-
- * configure.in (ACLOCAL): Set perllibdir. From Nicolas Joly.
-
-2002-01-04 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * automake.in (read_am_file): Thinko in "comment following
- trailing backslash" detection.
- * tests/comment5.test: Test for this too.
-
-2002-01-02 Tom Tromey <tromey@redhat.com>
-
- * automake.texi (Extending): Added index for uninstall-hook.
-
-2002-01-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/278:
- * m4/python.m4 (AM_PYTHON_CHECK_VERSION): Use `sys.hexversion' to cope
- with versions such as '2.2c1'. Also, use `int' instead of the
- obsoleted `string.atoi'.
- Reported by Enrico Scholz.
-
-2002-01-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- Fix for PR automake/280:
- * automake.in (read_am_file): Warn about trailing backslashes
- in comments.
- * tests/comment5.test: New file.
- * tests/Makefile.am (TESTS): Add comment5.test.
- Reported by Enrico Scholz.
-
-2002-01-02 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * tests/comment4.test: New file.
- * tests/Makefile.am (TESTS): Add comment4.test.
-
- Fix for comment4.test:
- * automake.in (read_am_file): Output leading comments only when
- encountering white lines.
-
-2002-01-01 Tom Tromey <tromey@redhat.com>
-
- For PR automake/234:
- * tests/Makefile.am (TESTS): Added strip.test.
- * tests/strip.test: New file.
-
- * automake.texi (Extending): Mention uninstall-hook.
- (Install): Likewise.
- * automake.in (handle_factored_dependencies): Allow
- uninstall-hook.
-
-2002-01-01 Alexandre Duret-Lutz <duret_g@epita.fr>
-
- * lib/am/install.am (install-strip): Set INSTALL_STRIP_FLAG=-s,
- it is needed by install-%DIR%LTLIBRARIES in ltlib.am.
- This fixes a bug introduced on 2001-01-28.
- Reported by Jared Davis.
-
------
-
-Copyright (C) 2002-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/ChangeLog.03 b/old/ChangeLog.03
deleted file mode 100644
index 685ca0e6a..000000000
--- a/old/ChangeLog.03
+++ /dev/null
@@ -1,2971 +0,0 @@
-2003-12-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (generate_makefile): Update misleading comment.
-
- * automake.in (handle_languages): Define %DEPBASE% conditionally
- on subdir-objects. Define SUBDIROBJ. Do not clean *_.c files
- here ...
- (lang_c_finish): ... do it here.
- (handle_single_transform_list): Do not output specific rules for
- subdir-objects files which are not renamed. This should reduce
- the size of Makefiles with lots of subdirectory sources.
- * lib/depcomp: Simplify computation of dependency output, and use
- DEPDIR.
- * lib/am/depend2.am (%EXT%.o, %EXT%.obj, %EXT%.lo): Adjust call
- to depcomp. Compute depbase on-the-fly in generic fastdep rules
- for subdir-objects.
- * tests/ansi9.test: Do not grep for an explicit rule that
- we no longer expect. Really run $MAKE to make sure the chain
- of rules works.
- * tests/yacc5.test: Do not grep for an explicit rule that
- we no longer expect. Adjust to use set -e.
-
-2003-12-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (@common_files): Move configure, configure.ac, and
- configure.in ...
- (@common_sometimes): ... here so that these files do not appear
- twice in DIST_COMMON.
-
- * automake.in (maybe_push_required_file): Add $(srcdir) in front
- a required files outside the current directory or its subdirectories.
- * lib/am/distdir.am (distdir): Update comment.
- Report from Nicolas Joly.
-
-2003-12-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (@copying): Do not repeat the version.
- (Top): Use @insertcopying. Add a @detailmenu, this works around
- Emacs 21's inability to lookup indices in sub-nodes (reported
- by Kevin Ryde).
- (C++ Support, Assembly Support, Fortran 77 Support, Java Support,
- Support for Other Languages, Preprocessing Fortran 77, Compiling
- Fortran 77 Files, Mixing Fortran 77 With C and C++, How the Linker
- is Chosen): Add missing descriptions in menus.
- (Fortran 77 and Autoconf): Remove, this node was just saying "use
- Autoconf 2.53 or greater".
-
-2003-12-26 Santiago Vila <sanvila@unex.es> (tiny change)
-
- * NEWS: s/Gettext 1.12.1/Gettext 0.12.1/
-
-2003-12-25 Nicolas Joly <njoly@pasteur.fr> (tiny change)
-
- * doc/automake.texi (Conditional Sources): Typo.
-
-2003-12-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Config.in: Require Exporter.
- Report from Kevin Ryde (failure with Perl 5.005_03).
-
-2003-12-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/aclocal6.test: Check for autom4te.cache only if it has
- been created.
- * tests/maintclean.test: Update comment.
- Report from Bruno Haible.
-
- * tests/txinfo24.test, tests/txinfo25.test, tests/txinfo28.test:
- Require texi2dvi-o.
- Report from Václav Haisman.
-
-2003-12-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.8a.
-
- * configure.ac, NEWS: Bump version to 1.8.
-
- * lib/texinfo.tex: New upstream version.
-
- * Makefile.am (INSTALL): Copy the source from $(srcdir).
-
-2003-12-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Rule.pm (define): Remove debugging traces.
- Report from Akim Demaille.
-
-2003-12-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (do_subst): Fix the substitution of @configure_input@.
- (automake, aclocal): Create the output atomically and make it
- read-only, as done in the Autoconf package.
- * lib/Automake/Makefile.am (do_subst): Fix the substitution of
- @configure_input@.
- (Config.pm): Create the output atomically and make it read-only.
- * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Substitute
- @configure_input@ and make the output read-only.
- * lib/Automake/Config.in, m4/amversion.in, tests/aclocal.in,
- tests/automake.in, tests/defs.in: Add a @configure_input@ line.
-
-2003-12-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
-
- * doc/automake.texi (Local Macros, CVS): Typos.
-
-2003-12-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (hook): Use $$ as prototype, not $\&.
- Perl 5.6.0 will not accept a reference sub reference for the
- latter.
- * automake.in (var_SUFFIXES_trigger): Adjust registration via
- Automake::Variable::hook.
- (handle_texinfo_helper): Make sure `inner_expand => 1' appears
- on one line, so that Perl 5.6.0 does not complain about
- inner_expand being a bare identifier.
-
-2003-12-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (check_acinclude, scan_file): Output `warning:' in
- front of warnings.
- Report from Pavel Roskin.
-
-2003-12-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * TODO: Remove some old entries.
-
- * doc/automake.texi (Rebuilding): Document CONFIGURE_DEPENDENCIES
- and CONFIG_STATUS_DEPENDENCIES. Move this sections later
- in the manual since it's pretty advanced material.
-
- * automake.in ($config_header_location): Remove. Use
- %ac_config_files_location instead.
- (rewrite_inputs_into_dependencies): Do not prepend $(top_builddir)/
- at the top-level.
- (handle_configure): Use rewrite_inputs_into_dependencies to
- distribute and compute AC_CONFIG_HEADERS dependencies.
- (scan_autoconf_traces) <AC_CONFIG_HEADERS>: Fill
- %ac_config_files_location.
- * lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Rename as ...
- (%CONFIG_HIN%): ... this. $(srcdir) is already added in
- scan_autoconf_traces.
- * tests/Makefile.am (TESTS): Add confh5.test.
- * tests/confh5.test: New file.
-
- * tests/ltlibsrc.test: Fix the zoo_d_old2_la.c rule in Makefile.am,
- $< is not portable and the source is in $(srcdir).
-
-2003-12-03 Paolo Bonzini <bonzini@gnu.org>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_configure): Do not require link sources if
- they contain a dollar, or if they were built. Likewise, do not
- clean link destination if they contain a dollar.
- (scan_autoconf_traces) <AC_CONFIG_LINKS>: Populate
- %ac_config_files_location with link destinations. Do not
- store locations in @config_links, now that %ac_config_files_location
- have them.
- * tests/conflnk3.test: New file.
- * tests/Makefile.am (TESTS): Add conflnk3.test.
-
-2003-12-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.7i.
-
- * configure.ac, NEWS: Bump version to 1.7h.
-
- * doc/automake.texi (Default _SOURCES): Fix reference to true.
-
- * lib/texinfo.tex: New upstream version.
-
-2003-11-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_source_transform): If it's present, use
- libfoo_la.c instead of libfoo.c as the default source of
- libfoo.la, and issue an -Wobsolete diagnostic. Do not be
- greedy in the suffix replacement regex.
- * doc/automake.texi (Default _SOURCES): New node.
- (Program Sources, Libtool Modules): Refer to it.
- * tests/ltlibsrc.test: Update to check for old default source files.
-
-2003-11-30 Gary V. Vaughan <gary@gnu.org>
-
- * automake.in (&handle_source_transform): Calculate a default file
- for use in the absence of an appropriate _SOURCES declaration by
- first stripping any suffix from the unxformed target name, and
- appending `.c'.
- * doc/automake.texi (Program Sources, Libtool Modules): Document this.
- * tests/ltlibsrc.test: New file.
- * tests/Makefile.am (TESTS): Add ltlibsrc.test.
-
-2003-11-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (loc_and_value_as_list_recursive,
- _value_as_list_recursive_worker): Merge into ...
- (value_as_list_recursive): ... this function. Pass options
- as a hash argument, and use the `location' option to trigger
- the behavior of loc_and_value_as_list_recursive.
- (traverse_recursively, transform_variable_recursively): Take
- options as a %options argument.
- (_do_recursive_traversal): Perform expansion of inner variables
- (as in `$(FILE).ext') on request.
- * automake.in (handle_options, check_libobjs_sources)
- (handle_source_transform, handle_LIBOBJS, handle_ltlibraries)
- (handle_ltlibraries, handle_man_pages, handle_dist)
- (handle_gettext, am_install_var): Adjust usage of
- value_as_list_recursive.
- (handle_texinfo_helper): Pass inner_expand to
- value_as_list_recursive.
- * tests/txinfo28.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo28.test.
- Report from Ralf Corsepius.
-
- * lib/Automake/Variable.pm (_do_recursive_traversal): Do not
- update @_substfroms and @_substfroms for undefined variables.
- * tests/substre2.test: New file.
- * tests/Makefile.am (TESTS): Add substre2.test.
-
- * lib/Automake/VarDef.pm (value): Rename as ...
- (raw_value): ... this.
- (value): New method, strip # and \\\n.
- (dump): Use raw_value.
- * lib/Automake/Variable.pm (output): Use raw_value.
- (value_as_list): Simplify, now that backslash and comments
- are already removed.
- * tests/txinfo22.test: Make sure Automake isn't confused
- by comments in variables.
-
-2003-11-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi: More target vs. rule editing. Back out some
- of the previous changes. It's OK to talk about targets as "entry
- points", or as thing to build, but targets cannot be run: rules
- are run.
-
- * doc/automake.texi: s/target/rule/ where appropriate. A target
- is the destination of a target rule, not the rule itself.
- Suggested by Bruno Haible.
-
-2003-11-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.7g.
-
- * configure.ac, NEWS: Bump version to 1.7f.
-
- * automake.in (prepend_srcdir): Parenthesize @inputs to remove
- a maintainer-check warning.
- * tests/subst2.test: Rewrite the $MAKE invocation to please
- maintainer-check.
-
- * lib/config.sub, lib/config.guess, lib/texinfo.tex: New upstream
- versions.
-
- * doc/automake.texi (Program variables): Mention per-target
- _CPPFLAGS in the documentation of INCLUDES.
- * automake.in (generate_makefile): Likewise in the INCLUDES diagnostic.
- Report from Bob Friesenhahn.
-
- * doc/automake.texi (Extending): Elaborate on overriding.
- * NEWS: Likewise.
- Suggested by Bruno Haible.
-
-2003-11-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (output): Add $(am__empty) to variable
- definitions that end with a line full of @substitutions@ that
- would confuse HP-UX Make if it were blank.
- (transform_variable_recursively): Make sure not to erase empty
- variables.
- * tests/Makefile.am (TESTS): Add subst2.test.
- * tests/subst2.test: New file.
- Report from Harlan Stenn.
-
- * lib/am/texibuild.am (%SOURCE_SUFFIX%.html): Work around a
- Texinfo 4.1 bug.
- Report from Dalibor Topic.
-
-2003-11-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/411:
- * automake.in (rewrite_inputs_into_dependencies): Simplify, and rename
- into ...
- (prepend_srcdir): ... this.
- (rewrite_inputs_into_dependencies): New function, extracted from ...
- (handle_configure): ... here. Adjust to use prepend_srcdir
- or rewrite_inputs_into_dependencies where needed. Especially,
- using (the new) rewrite_inputs_into_dependencies to compute
- Makefile dependencies will fix PR/411.
- * lib/am/configure.am (DIST_COMMON): Remove %MAKEFILE-IN%, it's
- already distributed by rewrite_inputs_into_dependencies.
- * tests/Makefile.am (TESTS): Add output10.test, remove distcom.test.
- * tests/colon3.test: Use set -e. Don't allow any AUTOMAKE
- invocation refer to zardoz. Make sure two.in and three.in
- appear as $(srcdir)/two.in and $(srcdir)/three.in dependencies.
- * tests/distcom.test: Delete. This is covered by tests/output9.test.
- * tests/output10.test: New file, for PR/411.
-
-2003-11-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (append_exeext): Do not append $(EXEEXT) to
- @substitutions@.
- * tests/exeext4.test: New file.
- * tests/Makefile.am (TESTS): Add exeext4.test.
-
-2003-11-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/configure.am (%MAKEFILE%): Remove %MAINTAINER-MODE%,
- mistakenly added on 2001-03-05.
- * tests/remake5.test: New file.
- * tests/Makefile.am (TESTS): Add remake5.test.
- Report from Ralf Corsepius.
-
-2003-11-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.7e.
-
- * configure.ac, NEWS: Bump version to 1.7d.
-
- * lib/config.sub, lib/config.guess, lib/texinfo.tex: New
- upstream versions.
-
-2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl> (tiny change)
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texinfos.am (install-info): Depend on
- install-info-recursive or install-info-am even if no-installinfo.
- * tests/txinfo27.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo26.test.
-
-2003-11-18 Paolo Bonzini <bonzini@gnu.org>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/ylwrap: Do not overwrite headers if they haven't changed.
- Fix the include guard substitution.
- * tests/yacc6.test: Augment to run ylwrap, and make sure it
- does not needlessly update headers.
- * tests/yacc8.test: Make sure headers are not needlessly updated
- with ylwrap is not used. Move `test -f foo.o' into the
- Makefile as `test -f foo.$(OBJEXT)' for portability.
-
-2003-11-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (generate_makefile): Define SUBDIRS if it is
- not defined and DIST_SUBDIRS is.
- * tests/subpkg2.test: New file.
- * tests/Makefile.am (TESTS): Add subpkg2.test.
- Report from Gary V. Vaughan.
-
- * tests/suffix11.test: Check for suffixes containing `-'.
- * lib/Automake/Rule.pm ($_SUFFIX_RULE_PATTERN): Accept `-' in
- suffixes.
-
- * lib/Automake/Rule.pm (define): Suggest using target-local instead
- of target-am, not target-am-local.
- * tests/overrid.test: Check the diagnostic for clean-am.
- Report from Bruno Haible.
-
-2003-11-17 Jim Meyering <jim@meyering.net>
-
- * bootstrap: Require not only that `perl' have the executable
- bit set, but also that it is not a directory.
-
- * lib/am/configure.am: Mark %MAKEFILE% as `.PRECIOUS'.
-
-2003-11-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (ac_config_files_location): Declare as a hash.
- (handle_configure): Rewrite the computation of AC_CONFIG_FILES
- dependencies; make sure we don't use $(srcdir) or $(top_srcdir)
- for inputs which are also outputs, and do not check inputs
- relatively to the current directory.
- (scan_autoconf_config_files): Take $where as argument, and
- fill $ac_config_files_location.
- * tests/output8.test, tests/output9.test: New files.
- * tests/Makefile.am (TESTS): Add output8.test and output9.test.
- Report from Bruno Haible.
-
-2003-11-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/aclibobj.test, tests/aclocal.test, tests/aclocal3.test,
- tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
- tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test,
- tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test,
- tests/all.test, tests/alpha.test, tests/amassign.test,
- tests/ammissing.test, tests/ansi.test, tests/ansi10.test,
- tests/ansi2.test, tests/ansi3.test, tests/ansi3b.test,
- tests/ansi4.test, tests/ansi5.test, tests/ansi6.test,
- tests/ansi7.test, tests/ansi9.test, tests/ar.test,
- tests/autohdr.test, tests/autohdr2.test, tests/auxdir.test,
- tests/auxdir2.test, tests/backsl.test, tests/backsl2.test,
- tests/badprog.test, tests/block.test, tests/canon2.test,
- tests/canon3.test, tests/canon4.test, tests/canon5.test,
- tests/ccnoco.test, tests/check.test, tests/check2.test,
- tests/check3.test, tests/checkall.test, tests/clean.test,
- tests/colneq2.test, tests/colon.test, tests/colon2.test,
- tests/colon3.test, tests/colon4.test, tests/colon5.test,
- tests/colon6.test, tests/colon7.test, tests/comment.test,
- tests/comment2.test, tests/comment4.test, tests/comment6.test,
- tests/comment7.test, tests/compile_f_c_cxx.test, tests/cond.test,
- tests/cond10.test, tests/cond11.test, tests/cond13.test,
- tests/cond14.test, tests/cond15.test, tests/cond16.test,
- tests/cond17.test, tests/cond18.test, tests/cond19.test,
- tests/cond21.test, tests/cond22.test, tests/cond25.test,
- tests/cond26.test, tests/cond28.test, tests/cond3.test,
- tests/cond4.test, tests/cond5.test, tests/cond6.test,
- tests/cond7.test, tests/cond8.test, tests/cond9.test,
- tests/condd.test, tests/condinc.test, tests/condlib.test,
- tests/condman.test, tests/condman2.test, tests/conf2.test,
- tests/confdeps.test, tests/confh.test, tests/confh4.test,
- tests/config.test, tests/confincl.test, tests/conflnk.test,
- tests/conflnk2.test, tests/confsub.test, tests/confvar.test,
- tests/confvar2.test, tests/copy.test, tests/ctarget1.test,
- tests/cxx.test, tests/cxxansi.test, tests/cxxcpp.test,
- tests/cxxlibobj.test, tests/cxxlink.test, tests/cxxnoc.test,
- tests/cxxo.test, tests/cygwin32.test, tests/dash.test,
- tests/defun.test, tests/defun2.test, tests/dejagnu.test,
- tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test,
- tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test,
- tests/depcomp.test, tests/depcomp2.test, tests/depcomp4.test,
- tests/depdist.test, tests/depend.test, tests/depend2.test,
- tests/depend3.test, tests/depend4.test, tests/destdir.test,
- tests/dirlist.test, tests/discover.test, tests/distcom.test,
- tests/distcom2.test, tests/distdir.test, tests/distname.test,
- tests/dollar.test, tests/double.test, tests/dup2.test,
- tests/empty.test, tests/empty2.test, tests/empty3.test,
- tests/empty4.test, tests/error.test, tests/exdir.test,
- tests/exeext.test, tests/exeext3.test, tests/exsource.test,
- tests/ext.test, tests/ext2.test, tests/extra.test,
- tests/extra2.test, tests/extra3.test, tests/extra4.test,
- tests/extra5.test, tests/extra6.test, tests/extra7.test,
- tests/flibs.test, tests/fnoc.test, tests/fo.test,
- tests/fonly.test, tests/fortdep.test, tests/fpinst2.test,
- tests/fpinstall.test, tests/gcj.test, tests/gcj3.test,
- tests/gcj4.test, tests/gnits2.test, tests/gnits3.test,
- tests/header.test, tests/implicit.test, tests/include.test,
- tests/include2.test, tests/info.test, tests/insh2.test,
- tests/install2.test, tests/installdir.test, tests/instdat.test,
- tests/instdat2.test, tests/instexec.test, tests/insthook.test,
- tests/instman.test, tests/instman2.test, tests/instsh.test,
- tests/instsh2.test, tests/interp.test, tests/interp2.test,
- tests/java.test, tests/java2.test, tests/javaprim.test,
- tests/javasubst.test, tests/ldadd.test, tests/ldflags.test,
- tests/lex.test, tests/lex3.test, tests/lex4.test, tests/lex5.test,
- tests/libobj11.test, tests/libobj2.test, tests/libobj4.test,
- tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
- tests/library.test, tests/libtool.test, tests/libtool2.test,
- tests/libtool3.test, tests/libtool5.test, tests/link_c_cxx.test,
- tests/link_dist.test, tests/link_f_only.test, tests/link_fc.test,
- tests/link_fccxx.test, tests/link_fcxx.test, tests/lisp.test,
- tests/listval.test, tests/ltdeps.test, tests/ltlibobjs.test,
- tests/maintclean.test, tests/make.test, tests/makej.test,
- tests/makevars.test, tests/man.test, tests/man2.test,
- tests/mclean.test, tests/mdate.test, tests/mdate2.test,
- tests/mdate3.test, tests/mdate4.test, tests/mkinst2.test,
- tests/mkinstall.test, tests/nobase.test, tests/nodef.test,
- tests/nodef2.test, tests/nodep.test, tests/nodepcomp.test,
- tests/nodist.test, tests/nodist2.test, tests/nodist3.test,
- tests/noinst.test, tests/noinstdir.test, tests/nolink.test,
- tests/nostdinc.test, tests/number.test, tests/obsolete.test,
- tests/order.test, tests/outdir.test, tests/output.test,
- tests/output2.test, tests/output3.test, tests/output4.test,
- tests/parse.test, tests/phony.test, tests/pluseq.test,
- tests/pluseq10.test, tests/pluseq2.test, tests/pluseq3.test,
- tests/pluseq4.test, tests/pluseq6.test, tests/pluseq8.test,
- tests/postproc.test, tests/ppf77.test, tests/pr2.test,
- tests/pr204.test, tests/pr220.test, tests/pr224.test,
- tests/pr229.test, tests/pr243.test, tests/pr266.test,
- tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
- tests/pr300-lib.test, tests/pr300-ltlib.test,
- tests/pr300-prog.test, tests/pr307.test, tests/pr72.test,
- tests/pr87.test, tests/pr9.test, tests/prefix.test,
- tests/proginst.test, tests/python.test, tests/python3.test,
- tests/python4.test, tests/python5.test, tests/python6.test,
- tests/python7.test, tests/python8.test, tests/python9.test,
- tests/recurs2.test, tests/remake.test, tests/remake2.test,
- tests/remake3.test, tests/req.test, tests/reqd.test,
- tests/rulepat.test, tests/scripts.test, tests/sinclude.test,
- tests/space.test, tests/specflg3.test, tests/specflg6.test,
- tests/specflg7.test, tests/specflg8.test, tests/specflg9.test,
- tests/spell3.test, tests/spelling.test, tests/spy.test,
- tests/stamph2.test, tests/stdlib2.test, tests/strip.test,
- tests/subcond.test, tests/subcond2.test, tests/subcond3.test,
- tests/subdir.test, tests/subdir2.test, tests/subdir3.test,
- tests/subdir4.test, tests/subdir5.test, tests/subdir6.test,
- tests/subdirbuiltsources.test, tests/subobj.test,
- tests/subobj2.test, tests/subobj3.test, tests/subobj4.test,
- tests/subobj5.test, tests/subobj6.test, tests/subobj7.test,
- tests/subobj8.test, tests/subobj9.test, tests/subobjname.test,
- tests/subpkg.test, tests/subst.test, tests/substref.test,
- tests/suffix.test, tests/suffix10.test, tests/suffix2.test,
- tests/suffix3.test, tests/suffix4.test, tests/suffix5.test,
- tests/suffix6.test, tests/suffix7.test, tests/suffix8.test,
- tests/suffix9.test, tests/symlink2.test, tests/symlink3.test,
- tests/tags.test, tests/tagsub.test, tests/target-cflags.test,
- tests/transform.test, tests/txinfo.test, tests/txinfo10.test,
- tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test,
- tests/txinfo18.test, tests/txinfo2.test, tests/txinfo23.test,
- tests/txinfo24.test, tests/txinfo25.test, tests/txinfo26.test,
- tests/txinfo3.test, tests/txinfo5.test, tests/txinfo6.test,
- tests/txinfo7.test, tests/txinfo8.test, tests/txinfo9.test,
- tests/unused.test, tests/vars.test, tests/vars3.test,
- tests/vartar.test, tests/version.test, tests/version2.test,
- tests/version4.test, tests/version6.test, tests/version7.test,
- tests/vpath.test, tests/vtexi.test, tests/vtexi2.test,
- tests/werror.test, tests/whoami.test, tests/yacc.test,
- tests/yacc3.test, tests/yacc4.test, tests/yacc5.test,
- tests/yacc6.test, tests/yacc7.test, tests/yacc8.test,
- tests/yaccpp.test, tests/yaccvpath.test: Fix license to refer
- to Automake, not autoconf.
-
- Fix for PR automake/408:
- * lib/am/texinfos.am (install-info-am): Strip any $(srcdir)/ prefix
- from $file, as already done for dist-info.
- * tests/Makefile.am (TESTS): Add txinfo26.test.
- * tests/txinfo26.test: New file.
- Report from Nicholas Wourms.
-
-2003-11-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): If EMACS=t, empty it before
- running AC_CHECK_PROGS(EMACS).
- * lib/am/lisp.am (elc-stamp): Quote $(EMACS).
- Report from Jens Petersen.
-
- * tests/mkinst2.test: Rewrite.
-
- * m4/mkdirp.m4: Do not require AM_AUX_DIR_EXPAND.
-
-2003-11-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_autoconf_traces): Honor sinclude.
- * tests/sinclude.test: Check for sinclude.
- Report from Roberto Bagnara.
-
-2003-11-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am: Do not rerun `make dist' after tagging, `make distcheck'
- already build the tarballs. Commit files right before tagging.
- Check NEWS before running distcheck.
-
- * m4/amversion.in (AM_AUTOMAKE_VERSION): Missing cosmetic space.
-
- * configure.ac, NEWS: Bump version to 1.7c.
-
- * configure.ac, NEWS: Bump version to 1.7b.
- * Makefile.am (maintainer-check): Ignore comments while
- scanning for rm without -f.
-
- * Makefile.am (fetch): Get all files from savannah. Do not
- postprocess Struct.pm and XFiles.pm, since we now are the master
- of these.
- * lib/config.sub, lib/config.guess, lib/config-ml.in,
- lib/texinfo.tex: New upstream versions.
-
- * configure.ac: Check that autoconf is installed, that it works,
- and that it is recent enough in three steps, not one.
-
- * NEWS: Minor edits.
-
- * lib/Makefile.am (dist_script_DATA): Move config-ml.in ...
- (dist_pkgvdata_DATA): ... here.
-
- * tests/spy.test: Document overlapping ::-rules incompatibilities,
- and check only non-overlapping ::-rules.
-
- * doc/automake.texi (Texinfo): Define MAKEINFO, MAKEINFOHTML,
- MAKEINFOFLAGS, AM_MAKEINFOFLAGS, AM_MAKEINFOHTMLFLAGS, TEXI2DVI,
- TEXI2PDF, DVIPS, and TEXINFO_TEX in a table.
- (Uniform): Do not speak of missing HTML support, this is
- confusing.
- * lib/Automake/Variable.pm (_silent_variable_override): Add
- AM_MAKEINFOHTMLFLAGS.
- * lib/am/texibuild.am (%SOURCE_SUFFIX%.html): Use MAKEINFOHTML and
- AM_MAKEINFOHTMLFLAGS instead of MAKEINFO and AM_MAKEINFOFLAGS.
- * lib/am/texinfos.am (MAKEINFOHTML, AM_MAKEINFOHTMLFLAGS): Define.
- * tests/txinfo21.test: Add a test with AM_MAKEINFOHTMLFLAGS.
-
-2003-11-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/spy.test: New file.
- * tests/Makefile.am (TESTS): Add spy.test.
-
- * automake.in (handle_configure): Distribute and define mkinstalldirs
- only if it is already present in the package.
- (scan_autoconf_files): Do not require mkinstalldirs.
- (require_build_directory): Use $(mkdir_p), not $(mkinstalldirs).
- * lib/am/data.am, lib/am/distdir.am, lib/am/install.am,
- lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/mans.am,
- lib/am/progs.am, lib/am/python.am, lib/am/scripts.am,
- lib/am/texinfos.am: Use $(mkdir_p) instead of $(mkinstalldirs).
- * m4/mkdirp.m4: New file.
- * m4/Makefile.am (dist_m4data_DATA): Add mkdirp.m4.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Call AM_PROG_MKDIR_P.
- * tests/Makefile.am (TESTS): Remove insh.test.
- * tests/insh.test: Delete.
- * tests/defs.in, tests/instsh.test: Do not install mkinstalldirs.
- * tests/auxdir.test: Install mkinstalldirs.
- * tests/distdir.test, tests/instman.test, tests/pr2.test: Use
- $(mkdir_p), not $(mkinstalldirs).
- * tests/empty.test: Run configure, do not substitute things by hand.
- * doc/automake.texi (Optional) <AC_CONFIG_FILES>: Take install-sh
- as an example, not mkinstalldirs.
- (Auxiliary Programs) <mkinstalldirs>: Update.
-
- * tests/defs.in: Handle required=bzip2.
-
- * tests/defs.in: Export SHELL.
- * tests/cond11.test: Missing quotes.
- * tests/nogzip2.test: Require bzip2.
-
-2003-11-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * NEWS: Add news entries from 1.6.x and 1.7.x.
-
- * automake.texi (Optional) <AC_SUBST>: Grammar fixes.
-
- * automake.in (check_gnu_standards): Install COPYING only if
- none of COPYING, COPYING.LIB, or COPYING.LESSER exist. Do not
- overwrite the license otherwise.
- * tests/Makefile.am (TESTS): Add license.test.
- * tests/license.test: New file.
-
- * lib/mkinstalldirs: Mention automake-patches@gnu.org and
- bug-automake@gnu.org.
- * lib/compile, lib/depcomp, lib/elisp-comp, lib/mdate-sh:
- Likewise. Also add support for --help and --version.
- * lib/py-compile, lib/ylwrap: Likewise, and reindent.
-
-2003-11-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/tags.am (ETAGSFLAGS, CTAGSFLAGS): Remove.
- * lib/am/dejagnu.am (RUNTESTFLAGS): Remove.
- * lib/am/java.am (JAVACFLAGS): Remove.
- * tests/dejagnu3.test: Check that the environment value
- of RUNTESTFLAGS get passed down to runtest.
- Suggested by Mark Mitchell.
-
- * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
- (?GENERIC?%EXT%.lo): Do not echo compile command manually, this
- breaks `make -s'. Instead, fold the compile command on two lines,
- so that it take less space on the display.
- Suggested by Karl Berry and William Fulton.
-
- * lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%): Rename as ...
- (%DEST_INFO_PREFIX%%DEST_SUFFIX%): ... this, and honor ?INSRC?
- to select $(srcdir) or `.' builds.
- (INFO_DEPS): Define here.
- * lib/am/texinfos.am (dist-info): Strip filename starting with
- "$(srcdir)/".
- * automake.in (output_texinfo_build_rules): Take a new argument
- $insrc, and adjust substitutions in 'texibuild'.
- (handle_texinfo_helper): Compute a regex of all user-cleaned
- files, and use this to select whether to build .info files in `.'
- or $(srcdir). Give an account of the $(srcdir) vs `.' debacle.
- Alway build the version.texi and stamp files in $(srcdir). Do not
- define INFO_DEPS.
- * tests/Makefile.am (TESTS): Add txinfo23.test, txinfo24.test,
- and txinfo25.test.
- * tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test:
- New files.
- * tests/txinfo13.test, tests/txinfo16.test, tests/txinfo3.test,
- tests/vtexi.test: Adjust to new rules.
-
-2003-11-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf 2.58.
- * configure.ac: Require Autoconf 2.58a, and check for 2.58.
-
-2003-10-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Erase %STAMP%.
- * tests/Makefile.am (TESTS): Add autohdr3.test
- * tests/autohdr3.test: New file.
-
- * automake.in (handle_configure): Rename am__configure_deps
- as am__aclocal_m4_deps and include $(ACLOCAL_M4_SOURCES) and
- $configure_ac. Define am__configure_deps as am__aclocal_m4_deps
- + $(CONFIGURE_DEPENDENCIES) + $(ACLOCAL_M4). Do not define
- ACLOCAL_M4_DEPS while processing configure.am.
- (make_paragraphs): Do not define %CONFIGURE_AC%, now unused.
- (scan_aclocal_m4): Do not distribute aclocal.m4, this
- is done from lib/am/configure.am.
- * lib/am/configure.am (%MAKEFILE-IN%, DIST_COMMON,
- $(top_srcdir)/configure, $(ACLOCAL_M4)): Simplify using
- $(am__configure_deps) or $(am__aclocal_m4_deps).
- * lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Likewise.
-
-2003-10-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Depend on
- $(am__configure_deps).
-
- * automake.in (handle_configure): Distribute all AC_CONFIG_HEADERS
- sources, and without using require_file. Define %CONFIG_H_DEPS%
- and %FIRST_CONFIG_HIN% while processing remake-hdr.am.
- * lib/am/remake-hdr.am (%STAMP%): Use %CONFIG_H_DEPS% instead
- of (srcdir)/%CONFIG_HIN%. Output the $(srcdir)/%CONFIG_HIN%
- rule only for the first header (i.e., if %FIRST_CONFIG_HIN%).
- * tests/autohdr4.test: New file.
- * tests/Makefile.am (TESTS): Add autohdr4.test.
- * tests/config.test: Do not grep, run things to see if they work.
-
-2003-10-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/output7.test: Populate sub/ with a dummy file, so that it
- is not empty. This fixes a failure reported by Patrick Welche.
- * lib/am/distdir.am: Add note about tar's `-o' option and empty
- directories.
-
-2003-10-24 Didier Cassirame <faded@free.fr> (tiny change)
-
- * lib/ylwrap: Typo in regex.
-
-2003-10-23 Paul Eggert <eggert@twinsun.com>
-
- * lib/Automake/XFile.pm: Don't assume -j is solo.
- Issue a more-informative diagnostic.
- Problems reported by Eric Sunshine.
-
-2003-10-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Always check for Emacs.
- Always define lispdir.
- * lib/am/lisp.am (install-%DIR%LISP, uninstall-%DIR%LISP): Check
- $(EMACS) to decide whether _LISP files must be installed,
- not $(lispdir).
- * doc/automake.texi (Emacs Lisp): Mention the two ways to install
- non byte-compiled Emacs lisp files.
- * tests/lisp4.test, tests/lisp5.test: Check "make install"
- when EMACS=no.
- Suggested by Simon Josefsson.
-
- * NEWS: Clarify the entry about multiple conditional definitions
- of _PROGRAMS, _LDADD, and _LIBADD.
- Report from Simon Josefsson.
-
- * lib/am/install.am (install-strip): Override install_sh_PROGRAM
- too.
- Report from Elmar Hoffmann.
-
-2003-10-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in ("MAIN", usage, parse_arguments): Move near
- the end, so "MAIN" can use prototypes.
- (scan_configure): Move later too, for the sake of prototypes.
- (scan_configure_dep): Fix setting of $scanned_configure_dep.
- (trace_used_macros): Do not take any argument.
-
-2003-10-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/stdlib2.test: Check AM_LDFLAGS alone.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
- * automake.in (handle_ltlibraries): Also grep AM_LDFLAGS for `-module'.
- * tests/stdlib2.test: New file.
- * tests/Makefile.am (TESTS): Add stdlib2.test.
- Report from Kevin P. Fleming.
-
-2003-10-03 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
-
- * tests/defs.in: For required=runtest, check that we are using
- a DejaGnu that supports specifying the program on the command-line.
-
-2003-10-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- For Debian Bug #213524:
- * lib/am/texinfos.am (install-info-am, uninstall-info-am): Merge
- stderr and stdout, and grep only the first line while testing
- install-info --version's output. This revert part of the change
- from 2001-05-18.
-
-2003-10-01 Akim Demaille <akim@epita.fr>
-
- * m4/amversion.in: Add (C) to the Copyright notice.
-
-2003-10-01 Paul Eggert <eggert@twinsun.com>
-
- * lib/Automake/XFile.pm: Use Errno.
- (lock): Ignore ENOLCK errors. Problem reported Andreas Schwab in
- <http://mail.gnu.org/archive/html/bug-autoconf/2003-09/msg00141.html>.
-
-2003-09-30 Tom Tromey <tromey@redhat.com>
-
- * lib/Automake/Options.pm (_process_option_list): Recognize
- no-dist.
- * NEWS: Update.
- * doc/automake.texi (Options): Document no-dist.
- * automake.in (check_cygnus): Set no-dist option.
- (handle_dist): Recognize no-dist.
- * tests/nodist3.test: New file.
- * tests/Makefile.am (TESTS): Added nodist3.test.
-
-2003-09-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_clean): Take $makefile as argument, and
- define %MAKEFILE% while processing clean.am.
- (generate_makefile): Pass $makefile to handle_clean.
- * lib/am/clean.am (distclean, maintainer-clean): Erase %MAKEFILE%,
- not Makefile.
- * tests/gnumake.test: New file.
- * tests/Makefile.am (TESTS): Add gnumake.test.
- Report from Braden N. McDaniel.
-
-2003-09-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Scripts): Update the example about automake.
- Mention `dist_' for distributed scripts.
-
- * lib/mkinstalldirs: Clean up after NextStep and OpenStep mkdir.
- Suggested by Eric Sunshine.
-
-2003-09-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * README: More mailing lists.
-
- * NEWS: Mention the switch to GNU FDL for the manual.
-
-2003-09-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/install-sh (src, dst): Protect names starting with `-',
- as in mkinstalldirs.
-
- * configure.in: Rename as ...
- * configure.ac: ... this.
- * README: s/configure.in/configure.ac/.
-
- * doc/fdl.texi: New file.
- * doc/Makefile.am (automake_TEXINFOS): New variable.
- * doc/automake.texi (Copying This Manual): New appendix, include
- fdl.texi.
- (Macro and Variable Index, General Index): Move as subsections of ...
- (Indices): This new appendix.
-
- * doc/automake.texi: Refer to configure.ac instead of configure.in.
-
- * automake.texi: Move ...
- * doc/automake.texi: ... here.
- * doc/Makefile.am: New file.
- * configure.in: Output doc/Makefile.
- * Makefile.am (SUBDIRS): Add doc.
- (ETAGS_ARGS, TAGS_DEPENDENCIES): Move to doc/Makefile.am.
-
-2003-09-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (write_aclocal): Consider files with relative
- paths as local to the project, i.e., subject to m4_include.
- * tests/subpkg.test (ACLOCAL_AMFLAGS): Make sure m4_include
- is also used for .m4 files in the outer project.
-
- Support for multiple inputs in AC_CONFIG_FILES.
- Requested long ago by Harlan Stenn.
- * automake.in (handle_dist): Remove unused argument $makefile.
- (handle_subdirs): Expect SUBDIRS elements in $relative_dir,
- not $am_relative_dir.
- (rewrite_inputs_into_dependencies): Allow $add_srcdir to
- be a filename that must always be prefixed by $(srcdir) or
- $(top_srcdir).
- (handle_configure, generate_makefile): Revamp to make the
- Makefile.am, Makefile.in, Makefile more independent.
- (locate_am): New function.
- (scan_configure_dep, parse_arguments): Use locate_am.
- (MAIN): Adjust call to generate_makefile.
- * lib/am/configure.am: Remove %MAKEFILE-IN% from the dependencies
- of %MAKEFILE%. %MAKEFILE-IN% is already in %MAKEFILE-DEPS%.
- * tests/output6.test, tests/output7.test: New files.
- * tests/Makefile.am (TESTS): Add them.
- * automake.texi (Requirements) <AC_CONFIG_FILES>: Document how
- multiple inputs are scanned.
-
-2003-09-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (FETCHFILES, fetch): Do not fetch lib/Automake/XFile.pm
- and lib/Automake/Struct.pm from Autoconf.
- * lib/Automake/XFile.pm: Update comment, Automake is now
- the master for this file. Cosmetic changes.
-
-2003-09-09 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/FileUtils.pm (&update_file): s/cannot not/cannot/g.
- Reported by Gary Vaughan.
- (&find_file): Walk the @include in forward order.
-
-2003-09-09 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/FileUtils.pm (&update_file): Be sure not to leave
- trailing files.
-
-2003-09-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- Changes to m4_included files should also cause aclocal.m4 to change.
- * aclocal.in (m4_include_rx): New variable.
- (scan_configure_dep): New function.
- (scan_configure, add_file): Simplify using scan_configure_dep.
- * tests/Makefile.am (TESTS): Add acloca13.test.
- * tests/aclocal13.test: New file.
-
- * tests/instsh.test: Do not reset $ACLOCAL and $AUTOMAKE now
- that we have fake version in the $PATH.
-
- * aclocal.in (add_file): Remove useless filling of $output, probably
- left a after CVS conflict. This code is now in write_aclocal.
-
- * aclocal.in (configure_ac): Do not call require_configure_ac
- before parsing the options.
- * automake.in (configure_ac): Likewise.
- * lib/Automake/Variable.pm (configure_ac): Do not require configure.ac,
- find it.
- * lib/Automake/Configure_ac.pm (require_configure_ac):
- find_configure_ac never return an undefined value, so test
- the file's existence instead.
- * tests/Makefile.am (TESTS): Add help.test.
- * tests/help.test: New file.
-
-2003-09-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/XFile.pm: Update to use ChannelDefs.
- (close): Call Automake::FileUtils::handle_exec_errors on errors.
- * automake.in (scan_autoconf_files): Exit with $?=63 on version
- mismatch.
- (scan_autoconf_traces): Likewise. Close the autoconf pipe to
- capture abnormal exits.
- * aclocal.in ($exit_status): Remove, and use Channels.pm's $exit_code
- instead.
- (trace_used_macros): Close the autom4te pipe to capture abnormal exits.
- * lib/missing: When a tool has run and exited with $?=63, emulate
- it. Adjust the diagnostic and pretend the tool is tool old in this
- case. Use an emacs-updated "scriptversion" variable.
- * configure.in: Output tests/aclocal-${APIVERSION} and
- tests/automake-${APIVERSION}.
- * tests/aclocal.in, tests/automake.in,
- tests/missing.test, tests/missing2.test: New files.
- * tests/defs.in (AUTOMAKE, ACLOCAL, PATH): Define
- to use tests/aclocal-$APIVERSION and tests/automake-$APIVERSION.
- * tests/dup3.test: Remove. alocal9.test, acloca10.test, and others are
- already testing for this.
- * tests/depacl2.test, tests/dup2.test, tests/order.test: Fix
- configure.in so that aclocal works.
- * tests/defun.test: Quote the AC_DEFUN body.
- * tests/Makefile.am (TESTS): Add missing.test and missing2.test,
- and remove dup3.test.
- (check_SCRIPTS): Add aclocal and automake.
-
- * tests/unused.test: Quote AC_DEFUN arguments.
-
-2003-09-05 Paul Eggert <eggert@twinsun.com>
-
- * NEWS, aclocal.in, automake.in, automake.texi, lib/ansi2knr.c,
- lib/depcomp, lib/missing, lib/py-compile,
- lib/Automake/Channels.pm, lib/Automake/Rule.pm,
- lib/Automake/Variable.pm, lib/Automake/tests/Condition.pl,
- lib/am/dejagnu.am, lib/am/depend.am, lib/am/lisp.am,
- lib/am/remake-hdr.am, lib/am/texi-vers.am, m4/obsolete.m4,
- m4/python.m4, tests/backsl4.test, tests/defs.in,
- tests/dejagnu7.test, tests/depacl2.test, tests/dirlist.test,
- tests/error.test, tests/getopt.test, tests/gnuwarn.test,
- tests/include2.test, tests/libobj10.test, tests/libtool5.test,
- tests/libtool6.test, tests/lisp3.test, tests/phony.test,
- tests/pr220.test, tests/subcond2.test, tests/subcond3.test,
- tests/vtexi.test:
- Spelling and minor grammar fixes.
-
-2003-09-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config.sub, lib/config.guess, lib/texinfo.tex,
- lib/config-ml.in, lib/symlink-tree: New upstream versions.
-
-2003-08-31 Thien-Thi Nguyen <ttn@gnu.org> (tiny change)
-
- * tests/yacc7.test: Require bison.
-
-2003-08-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (scan_file): Warn about underquoted AC_DEFUN.
- ($underquoted_manual_once): New variable.
- * automake.texi (Extending aclocal): Document this.
-
-2003-08-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (@file_order): New variable, to make sure
- files are output in the opposite order of the -I arguments.
- (scan_file): Fill it.
- (trace_used_macros, write_aclocal): Use it.
- (scan_m4_files): Reverse the directory contents, so that
- macros from the lexicographically greatest files are preferred.
- * tests/aclocal9.test, tests/acloca10.test, tests/acloca11.test:
- New files.
- * tests/Makefile.am (TESTS): Add them.
-
-2003-08-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- For Debian Bug #206299:
- * automake.in ($configure_deps_greatest_timestamp,
- $output_deps_greatest_timestamp): New variables.
- (initialize_per_input): Reset $output_deps_greatest_timestamp.
- (scan_autoconf_traces, scan_autoconf_files, read_am_file):
- Update $configure_deps_greatest_timestamp and
- $output_deps_greatest_timestamp
- (generate_makefile): Rewrite the logic to decide whether
- to rewrite the output. Move the leading dup_channel_setup
- and trailing drop_channel_setup to MAIN, so that
- drop_channel_setup is executed for all exit paths.
- * tests/aclocal7.test: Update to check for $AUTOMAKE --no-force
- * tests/distcom6.test: New file. Report from Scott James Remnant.
- * tests/Makefile.am (TESTS): Add distcom6.test.
-
- * configure.in: Require Autoconf 2.57b to be sure
- aclocal can use autom4te --language Autoconf-without-aclocal-m4.
- * m4/init.m4: Likewise. Move the AC_PREREQ and m4_pattern_allow
- calls inside the AM_INIT_AUTOMAKE macro.
- * m4/auxdir.m4, m4/cond.m4, m4/lex.m4, m4/regex.m4: Move
- AC_PREREQ calls inside the macros.
- * m4/header.m4: Remove AC_PREREQ.
-
- * automake.in (file_contents_internal): Do not add newlines before
- empty actions.
-
- * aclocal.in (write_aclocal): Take an output file and list of
- used macros in arguments and make up the file contents here.
- (trace_used_macros): New function.
- (add_file): Do not update $output.
- ($output): Delete.
- (MAIN): Call trace_used_macros. Then rewrite aclocal.m4 only
- for these traced macros. This should shorten aclocal.m4 by
- stripping out unused macros.
- * automake.texi (Invoking aclocal): Document ${AUTOM4TE}.
- * tests/aclibobj.test: Make sure configure.in exists by the time
- aclocal runs.
- * tests/aclocal8.test: New file.
- * tests/Makefile.am (TESTS): Add aclocal8.test.
- Suggested by Bruno Haible and Akim Demaille.
-
-2003-08-21 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/Configure_ac.pm (&find_configure_ac)
- (&require_configure_ac): Accept an optional directory argument.
- ($configure_ac): Remove.
- * aclocal.in, automake.in ($configure_ac): New.
- * lib/Automake/Variable.pm: Don't use $configure_ac, just
- configure.ac.
-
-2003-08-20 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/FileUtils.pm: More perldoc.
- (&up_to_date_p): New.
-
-2003-08-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/398:
- * m4/python.m4: Do not call AC_PATH_PROGS if $PYTHON is already
- set. Display `none' instead of `:' and $PYTHON is set to `:'
- when no suitable interpreter is found. Honor ACTION-IF-FOUND and
- ACTION-IF-NOT-FOUND.
- * automake.texi (Python): Document ACTION-IF-FOUND and
- ACTION-IF-NOT-FOUND.
- * tests/python4.test, tests/python5.test, tests/python6.test,
- tests/python7.test, tests/python8.test, tests/python9.test: New
- files.
- * tests/Makefile.am (TESTS): Add them.
- Report from Per Cederqvist.
-
-2003-08-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/399:
- * m4/python.m4: Use AC_PATH_PROGS, not AC_PATH_PROG.
- Report from Per Cederqvist.
-
-2003-08-12 Raja R Harinath <harinath@acm.org>
-
- * lib/Automake/Condition.pm (strip): Replace loop with 'grep'.
- (not): Replace loop with 'map'.
- * lib/Automake/DisjConditions.pm (sub_conditions): Likewise.
- * lib/Automake/Item.pm (not_alwasy_defined_in_cond):
- Don't 'simplify' result of 'invert', since it's already in
- canonical form.
- * lib/Automake/Rule.pm (define): Replace loop with
- 'not_always_defined_in_cond'.
-
- * lib/Automake/DisjConditions.pm (ambiguous_p): Typo in comment.
- * lib/Automake/Rule.pm (accept_extensions, msg_cond_rule): Likewise.
- (define): Reword comment slightly.
- * Variable.pm (_var_order, msg_cond_var): Typo in comment.
- * tests/cond20.test (var2): Use foo.c instead of foo.cc to avoid
- spurious automake error exit.
-
-2003-08-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Item.pm, lib/Automake/ItemDef.pm: New files.
- * lib/Automake/Rule.pm, lib/Automake/RuleDef.pm: New files.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add them.
- * lib/Automake/VarDef.pm: Make this a subclass of Automake::ItemDef.
- (new): Adjust to call Automake::ItemDef::new.
- (comment, location, owner): Delete. Now inherited from ItemDef.
- * lib/Automake/Variable.pm: Make this a subclass of Automake::Item.
- (_new): Adjust to call Automake::Item::new.
- (name, def, rdef, _set, conditions, not_always_defined_in_cond):
- Delete. How inherited from Item, where `_set' is called `set'.
- * automake.in (SUFFIX_RULE_PATTERN): Delete. Now in Automake::Rule.
- (suffix_rules_default): Delete. Now
- Automake::Rule::_suffix_rules_default
- (suffixes): Delete. Now Automake::Rule::suffixes.
- (TARGET_AUTOMAKE, TARGET_USER): Delete. Now
- Automake::RuleDef::RULE_AUTOMAKE and Automake::RuleDef::RULE_USER.
- (%targets, %target_source, %target_name, %target_owner): Delete,
- replaced by the Rule and RuleDef classes.
- (dependencies, depend, actions): Delete. Now in Automake::Rule.
- (suffix_rules, register_suffix_rule): Likewise.
- (KNOWN_EXTENSIONS_PATTERN, accept_extensions): Likewise.
- (known_extensions_list): Delete. Now
- Automake::Rule::_known_extensions_list.
- (target_conditions): Delete. Now inherited by Automake::Rule
- from Automake::Item::conditions.
- (rule_define): Delete. Now Automake::Rule::define. Adjust all
- callers.
- (target_defined): Delete. Now Automake::Rule::rule. Adjust all
- callers.
- (initialize_per_input): Adjust to call Automake::Rule::reset.
- (err_target, err_cond_target, msg_cond_target, msg_target,
- reject_target): Delete. Now defined in Automake::Rule as
- err_rule, err_cond_rule, msg_cond_rule, msg_rule and reject_target.
- Adjust all callers.
- (handle_languages): Call suffix_rules_count.
- * tests/location.test: Adjust expected diagnostics. We now display
- $(EXEEXT) accurately.
-
-2003-08-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- Revert the fix for PR automake/291:
- * lib/Automake/Variable.pm (define): Do not warn about variables
- starting with `_' which are an issue on NEWS-OS 4.2R. According
- to Paul Eggert, NEWS-OS 4.2R is ten years old, the latest version
- was released on 1996 and is not in wide use. On the other hand,
- variables starting with `_' are mandatory in several situations,
- so diagnosing them is more annoying than useful.
- * tests/canon5.test: Do not use -Wno-portability.
- * tests/vars2.test: Delete.
- * tests/Makefile.am (TESTS): Remove vars2.test.
- Suggested by Jim Meyering.
-
-2003-08-09 Raja R Harinath <harinath@acm.org>
-
- * lib/Automake/DisjConditions.pm (ambiguous_p): Simplify slightly.
- * lib/Automake/tests/DisjConditions.pl (test_ambig): Test
- Automake::Disjunctions::ambiguous_p.
-
-2003-08-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (condition_ambiguous_p): Move ...
- * lib/Automake/DisjConditions.pm (ambiguous_p): ... here.
- * automake.in (rule_define): Adjust usage.
- * lib/Automake/Variable.pm (_check_ambiguous_condition): Likewise.
-
- * lib/Automake/Options.pm: New file.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Options.pm.
- * automake.in (FOREIGN, GNU, GNITS, $default_strictness)
- ($default_strictness_name, $strictness, $strictness_name)
- (%options, %global_options, process_option_list)
- (set_strictness): Remove, now in Options.pm.
- (initialize_per_input): Call Automake::Options::reset.
- (handle_options, get_object_extension, get_object_extension)
- (handle_languages, handle_single_transform_list, handle_compile)
- (handle_texinfo_helper, handle_man_pages, handle_dist)
- (handle_configure, do_check_merge_target)
- (handle_factored_dependencies, handle_tests)
- (handle_minor_options, scan_autoconf_traces, check_cygnus)
- (lang_sub_obj, lang_c_rewrite, lang_c_finish, rule_define)
- (make_paragraphs, am_install_var, parse_arguments): Adjust
- to set and read options via the new interface.
-
-2003-08-07 Raja R Harinath <harinath@acm.org>
-
- * Makefile.am (maintainer-check): Update perllibdir.
- * lib/Automake/Makefile.am (Config.pm): Depend on Makefile too.
- (EXTRA_DIST): Add Config.in.
- * Makefile.in, lib/Automake/Makefile.in: Regenerate.
- * tests/defs.in (AUTOMAKE, ACLOCAL): Use absolute paths in
- $perllibdir.
-
-2003-08-06 Raja R Harinath <harinath@acm.org>
-
- * configure.in (AUTOMAKE, ACLOCAL): Search the 'lib' directory
- from the builddir too, to pick up Automake::Config.
- * tests/defs.in (AUTOMAKE, ACLOCAL): Likewise.
- * configure: Regenerate.
- * automake.in (BEGIN): Handle multiple directories in $perllibdir.
- * aclocal.in (BEGIN): Likewise.
-
-2003-08-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/ltcond.test: Thinko.
-
-2003-08-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Config.in: New file.
- * lib/Automake/Makefile.am (nodist_perllib_DATA, do_subst,
- CLEANFILES): New variables.
- (Config.pm): New rule.
- * Makefile.am (maintainer-check): Adjust expected differences
- between automake.in and automake.
- * aclocal.in, automake.in: Use Automake::Config.
-
-2003-08-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/ltconv.test: s/rm/rm -f/ to placate maintainer-check.
-
- * automake.in (handle_texinfo_helper): Use the user definition
- of TEXINFO_TEX before checking for cygnus or AC_CONFIG_AUX_DIR.
- * tests/txinfo22.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo22.test.
- Report from Tom Tromey.
-
-2003-08-03 Raja R Harinath <harinath@acm.org>
-
- * lib/Automake/Variable.pm (@EXPORT): Remove
- traverse_variable_recursively and
- require_variables_for_variable.
- (require_variables_for_variable, traverse_variable_recursively)
- (_traverse_variable_recursively_worker): Convert to
- Automake::Variable methods, remove support for being
- invoked with variable names, and rename to ...
- (requires_variables, traverse_recursively)
- (_do_recursive_traversal): ... these.
- (_value_as_list_recursive_worker, transform_variable_recursively):
- Update to reflect changes.
- * automake.in (handle_LIBOBJS, handle_ALLOCA)
- (handle_libraries, handle_ltlibraries, am_primary_prefixes):
- Likewise.
- (define_objects_from_sources): Fix typo in comment.
-
-2003-08-02 Raja R Harinath <harinath@acm.org>
-
- * automake.in (handle_source_transform): Replace 'grep' with 'map'.
- (register_language): Replace 'grep' with 'foreach' modifier.
-
-2003-08-01 Raja R Harinath <harinath@acm.org>
-
- * lib/Automake/Variables.pm (variables): Return a list of
- Automake::Variable instances, not a list of strings.
- (dump): Remove support for being invoked with a string.
- (variables_dump): Adapt to these changes.
- * automake.in (check_typos): Likewise.
- (am_primary_prefixes): Likewise.
-
-2003-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
-
- * lib/depcomp (aix): Support AIX Compiler version 6.
-
-2003-07-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (A Shared Library): Rewrite and split into
- subsections. Valuable comments from Norman Gray, Harlan Stenn,
- Tim Van Holder, and Guido Draheim.
- * tests/ltcond.test, tests/ltcond2.test, tests/ltconv.test: New files.
- * tests/Makefile.am (TESTS): Add them.
-
-2003-07-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_single_transform_list): Complain about
- foo.$(OBJEXT) being created both with libtool and without, not
- about foo.lo.
- Report from Tim Van Holder.
-
-2003-07-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (FETCHFILES, fetch): Add config-ml.in and
- symlink-tree.
- * lib/config.sub, lib/config-ml.in, lib/texinfo.tex: New
- upstream versions.
-
-2003-07-28 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_configure): Cosmetic change to avoid
- a maintainer-check complaint.
-
-2003-07-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (@EXPORT): Remove variable_dump.
- (variable_dump): Replace by ...
- (dump): ... this method.
- (rdef, _check_ambiguous_condition): Adjust to use ->dump.
- (define, variables_dump): Adjust to use Automake::Variable::dump
-
- * lib/am/compile.am (mostlyclean-compile): Do not erase core dumps.
- * automake.texi (Built sources example): Adjust example.
-
-2003-07-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (get_object_extension, handle_languages)
- (handle_single_transform_list, handle_compile, handle_compile)
- (handle_texinfo_helper, handle_texinfo_helper, handle_man_pages)
- (handle_tests, handle_minor_options, check_gnu_standards)
- (lang_sub_obj, lang_c_rewrite, lang_c_finish, rule_define):
- Simplify "if (defined $options{'X'})" into "if ($options{'X'})".
-
- Complete changes from 2003-07-08.
- * automake.in ($cmdline_use_dependencies, $use_dependencies): Remove,
- replaced by $options{'no-dependencies'}.
- ($global_options): Remove.
- (%global_options): New variable.
- (initialize_per_input): Empty %options.
- (process_option_list): Take a location and %options ref argument,
- process no-dependencies as other options.
- (handle_options): Do not reparse the global options, just initialize
- %options from %global_options and fill it with local options.
- (handle_languages, handle_single_transform_list)
- (handle_configure, check_cygnus): Adjust usage of
- $options{'no-dependencies'}.
- (make_paragraphs): Adjust usage of $options{'cygnus'}.
- (parse_arguments): Set cygnus and no-dependencies in %global_options.
- (scan_autoconf_traces) <AM_INIT_AUTOMAKE>: Call process_option_list
- to fill %global_options.
-
-2003-07-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/remake4.test: Use `$MAKE distdir' instead of `$MAKE dist' to
- avoid the use of tar.
-
-2003-07-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/gnuwarn2.test: Typo.
-
- * tests/insthook.test: Use $MAKE, not make.
-
- Fix missing rebuilds during `make dist' with BSD make.
- * automake.in (generate_makefile): Do not push Makefile.in, and
- Makefile.am into DIST_COMMON here.
- * lib/am/configure.am (DIST_COMMON): Do it here, and use
- %MAKEFILE-AM% and %MAKEFILE-IN% so that items in DIST_COMMON
- actually match the targets. Prefix `configure' with `$(srcdir)/'
- to match the target.
- * tests/remake4.test: New file.
- * tests/Makefile.am (TESTS): Add remake4.test.
- Report from Akim Demaille.
-
-2003-07-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_multilib): Register all-multi.
- (file_contents_internal): Insert \n when concatenating actions
- from "factored" rules.
- * lib/config-ml.in: New file, from GCC, including a patch
- from Ralf Corsepius (see GCC's PR 11526).
- * lib/symlink-tree.in: New file, from GCC.
- * lib/Makefile.am (dist_script_DATA): Add config-ml.in and
- symlink-tree.
- * lib/am/clean.am (distclean-generic): Do not delete Makefile here...
- (distclean, maintainer-clean): ... do it here.
- * lib/am/depend.am (distclean-depend): Likewise, replace by
- (distclean, maintainer-clean): ... these.
- * lib/am/multilib.am (all-recursive, install-recursive,
- mostlyclean-recursive, clean-recursive, distclean-recursive,
- maintainer-clean-recursive): Remove these rules.
- (mostlyclean-am, clean-am, distclean-am, maintainer-clean-am): Replace
- by ...
- (mostlyclean, clean, distclean, maintainer-clean): ... these.
- (all-am): Remove, done in handle_multilib.
- (install-am): Replace by ...
- (install-exec-am): ... this.
- * tests/Makefile.am (TESTS): Add multlib.test.
- * tests/multlib.test: New file, based on a test case by
- Ralf Corsepius
-
-2003-07-23 Tom Tromey <tromey@redhat.com>
-
- * lib/missing (autom4te): Typo.
-
-2003-07-16 Derek Price <derek@ximbiot.com>
-
- * automake.in (scan_autoconf_traces): Handle AC_CONFIG_LINKS.
- (handle_configure): Handle adding AC_CONFIG_LINKS arguments to
- distclean targets (CONFIG_CLEAN_FILES makefile var).
- * NEWS: Note new handling of AC_CONFIG_LINKS.
- * automake.texi (Other things Automake recognizes): Ditto.
- * tests/Makefile.am (TESTS): Add new tests.
- * tests/conflnk.test: New test that links are cleaned on distclean.
- * tests/conflnk2.test: New test that source files for links are
- distributed.
-
-2003-07-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (tiny change)
-
- * automake.in (scan_autoconf_traces): Trace AM_ENABLE_MULTILIB to
- render $seen_multilib functional again.
-
-2003-07-10 Raja R Harinath <harinath@cs.umn.edu>
-
- Avoid using refs as hash keys.
- * lib/Automake/Variable.pm ($_traversal): New.
- (reset): Reset $_traversal.
- (_new): New attribute 'scanned'.
- (%_vars_scanned): Remove.
- (traverse_variable_recursively)
- (traverse_variable_recursively_worker):
- Use $_traversal instead of %_vars_scanned to detect recursively
- defined variables.
-
- * lib/am/configure.am (am--refresh): Silence.
-
-2003-07-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (define): Make clear the diagnostic
- about variable names starting with `_' is about *Make* variables.
-
- For Debian Bug #193907:
- * automake.texi (Clean): make maintainer-clean should still
- allow ./configure && make to run.
-
- * automake.texi (CVS): Typo.
-
-2003-07-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in: Use Automake::FileUtils.
- (parse_arguments, scan_configure, scan_m4_files): Never call
- "die" to print an error message. Use print and exit.
- * automake.in: Use Automake::FileUtils.
- * lib/Automake/General.pm ($debug, $help, $tmp, $verbose,
- $version, &debug, &getopt, &mktmpdir, &verbose): Remove.
- (END): Do not massage Perl's exit code. Do not clean any temporary
- directory.
- (find_file, mtime, update_file, xsystem, contents): Move to ...
- * lib/Automake/FileUtils.pm: ... this new file. Adjust to
- report errors using Channels.
- (handle_exec_errors, xqx): New functions, from Autoconf.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add FileUtils.pm.
-
- * lib/Automake/Variable.pm (_traverse_variable_recursively_worker):
- Return the empty list on recursively defined variable. This
- supersedes my change of 2003-07-02.
-
-2003-07-08 Akim Demaille <akim@epita.fr>
-
- * automake.in ($cygnus_mode): Replace with $options{'cygnus'}.
- Adjust all dependencies.
- (&depend): Move next to %dependencies and prototype.
- (&initialize_per_input): Initialize the 'cygnus' field of
- '%options' to spare the code from 'exists' or 'defined' when
- testing it.
- (&handle_configure, &do_check_merge_target, &check_cygnus): Prototype.
- (&parse_arguments): Rename '%options' and '%options_1st_pass' as
- '%cli_options' and '%cli_options_1st_pass' to avoid clashes and
- inconsistencies.
-
-2003-07-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (generate_makefile): Move near the end of the
- file, after the definition of all called functions, so that
- prototypes can be enforced.
-
-2003-07-06 Akim Demaille <akim@epita.fr>
-
- * lib/am/subdirs.am (RECURSIVE_TARGETS): Move install-recursive,
- install-exec-recursive, install-data-recursive and
- uninstall-recursive addition to...
- * lib/am/install.am: here.
- * lib/am/texinfos.am, lib/am/subdirs.am: Remove the .PHONY
- declaration of RECURSIVE_TARGETS.
-
-2003-07-06 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/Variable.pm, lib/Automake/VarDef.pm (VAR_SORTED):
- New variable type.
- Handle it.
- * automake.in (&handle_subdirs): Prototype.
- Adjust callers.
- Make RECURSIVE_TARGETS a VAR_SORTED.
-
-2003-07-06 Akim Demaille <akim@epita.fr>
-
- * automake.in (&define_files_variable): New.
- (&handle_texinfo_helper): Move the handling of user variables from
- here, to...
- (&handle_texinfo): here.
- This is to balance the size of these functions, and to match the
- convention of other _helper functions.
- (&handle_texinfo_helper): Use &define_files_variable.
- Move some code to use less variables.
- Rename $info_cursor as $texi.
- (&handle_texinfo): Do not call handle_texinfo_helper if there are
- no TEXINFOS.
- * lib/am/texinfos.am: Sort the occurrences of dvi, info, pdf, ps
- and html.
- Remove *-recursive targets from .PHONY, they are part of
- $(RECURSIVE_TARGETS) anyway.
- (install-info, mostlyclean-aminfo): Are .PHONY.
-
-2003-07-05 Akim Demaille <akim@epita.fr>
-
- * lib/am/distdir.am: Use ';' as a terminator, not a separator, for
- sed complex commands, as required by NetBSD sed.
- Reported by Patrick Welche.
-
-2003-07-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config.guess, lib/config.sub: New upstream version.
-
-2003-07-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Optional, Dist): AC_CONFIG_AUX_DIR files
- are automatically distributed.
-
- * lib/depcomp (icc): Update to grok ICC 7.1's output.
- * m4/depend.m4 (_AM_DEPENDENCIES): Check dependency generation
- in a subdirectory, and with many dependencies. This
- catches more failures of depcomp.
- Reports from Ralf Wildenhues and Akim Demaille.
-
-2003-07-04 Akim Demaille <akim@epita.fr>
-
- * automake.in (&scan_texinfo_file, &output_texinfo_build_rules,
- (&handle_texinfo_helper, &handle_texinfo): Formatting changes.
- Prototype properly.
- Don't use & when calling functions.
-
-2003-07-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * NEWS: Categorize entries.
- Suggested by Jim Meyering.
-
- * Makefile.am (maintainer-clean): Disallow '$AUTOMAKE && exit 1'.
- Ignore @...@ substitutions in comments.
- * tests/defs.in: Try to make the shell more POSIX compliant.
- (AUTOMAKE_run, AUTOMAKE_fails): New functions.
- * tests/README: Mention AUTOMAKE_fails.
- * tests/alloca.test, tests/alloca2.test, tests/ansi8.test,
- * tests/asm.test, tests/backsl3.test, tests/backsl4.test,
- * tests/badline.test, tests/badopt.test, tests/canon.test,
- * tests/canon5.test, tests/colneq.test, tests/comment3.test,
- * tests/comment5.test, tests/cond2.test, tests/cond20.test,
- * tests/cond23.test, tests/cond24.test, tests/cond27.test,
- * tests/condinc2.test, tests/conff2.test, tests/cxx2.test,
- * tests/dejagnu2.test, tests/dirforbid.test,
- * tests/distcom3.test, tests/else.test, tests/exdir2.test,
- * tests/exeext2.test, tests/gcj2.test, tests/gcj5.test,
- * tests/getopt.test, tests/gettext.test, tests/gettext2.test,
- * tests/gnits.test, tests/gnuwarn.test, tests/gnuwarn2.test,
- * tests/insh.test, tests/lex2.test, tests/libobj10.test,
- * tests/libobj12.test, tests/libobj13.test,
- * tests/libobj3.test, tests/library2.test,
- * tests/library3.test, tests/libtool4.test,
- * tests/libtool6.test, tests/lisp2.test, tests/location.test,
- * tests/nogzip2.test, tests/output5.test, tests/overrid.test,
- * tests/percent.test, tests/percent2.test,
- * tests/pluseq5.test, tests/pluseq7.test, tests/pluseq9.test,
- * tests/pr211.test, tests/primary.test, tests/primary2.test,
- * tests/python2.test, tests/recurs.test, tests/reqd2.test,
- * tests/seenc.test, tests/specflg.test, tests/specflg2.test,
- * tests/spell.test, tests/spell2.test, tests/srcsub.test,
- * tests/srcsub2.test, tests/stdlib.test, tests/subdir7.test,
- * tests/substtarg.test, tests/suffix11.test,
- * tests/symlink.test, tests/syntax.test,
- * tests/targetclash.test, tests/txinfo4.test,
- * tests/version3.test, tests/warnopts.test,
- * tests/xsource.test, tests/yacc2.test: Use set -e,
- AUTOMAKE_fails, and always grep error message.
-
- * automake.in (handle_ltlibraries): Fix call to msg.
-
- * tests/stamph.test: Delete.
- * tests/Makefile.am (TESTS): Remove stamph.test.
-
- * automake.in (handle_single_transform_list): Use $var->name
- to print variable in the configure-substitution diagnostic.
- Do not mention the parent when it is the variable itself.
-
- * tests/package.test: Delete.
- * tests/Makefile.am (TESTS): Remove package.test.
-
- * automake.in (cond_stack_else): Return FALSE if `if' was not
- used.
- (cond_stack_endif): Return TRUE if `if' was not used. Do not
- display $negate and $cond, they are irrelevant and maybe undefined.
-
-2003-07-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (_traverse_variable_recursively_worker):
- Do not return undef when a variable is recursively defined, this
- causes warnings all over the place. Return the empty string instead.
-
- * lib/am/distdir.am (distcheck): Protect loop of DIST_ARCHIVES
- from empty DIST_ARCHIVES.
-
-2003-07-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_autoconf_traces): Check the expected
- number of arguments of each traced macro.
- * tests/overrid.test: Fix call to AM_CONDITIONAL.
- * tests/conff2.test: New files.
- * tests/Makefile.am (TESTS): Add conff2.test.
- Report from Paolo Bonzini.
-
-2003-06-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in ($SUBST_REF_PATTERN): Do not define.
- (%gen_varname): Move to Variable.pm, as %_gen_varname.
- (initialize_per_input): Do not clean %gen_varname.
- (handle_options, check_libobjs_sources, handle_source_transform,
- handle_LIBOBJS, handle_ltlibraries, handle_texinfo_helper,
- handle_man_pages, handle_dist, handle_subdirs, handle_gettext,
- am_install_var): Adjust to use value_as_list_recursive,
- loc_and_value_as_list_recursive, and has_conditional_contents.
- (require_file_with_macro): Accept an Automake::Variable as argument.
- (traverse_variable_recursively,
- traverse_variable_recursively_worker, gen_varname,
- transform_variable_recursively): Move ...
- * lib/Automake/Variable.pm (traverse_variable_recursively,
- _traverse_variable_recursively_worker,
- _gen_varname, transform_variable_recursively): ... here.
- * automake.in (variable_conditionally_defined,
- variable_value_as_list_recursive_worker,
- variable_value_as_list_recursive
- variable_loc_and_value_as_list_recursive): Move ...
- * lib/Automake/Variable.pm (has_conditional_contents,
- _value_as_list_recursive_worker,
- value_as_list_recursive, loc_and_value_as_list_recursive): ... here.
- (reset): Reset %_gen_varname.
- (require_variables_for_variable): Accept an Automake::Variable
- as argument.
-
-2003-06-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/aclocal6.test: Test maintainer-clean in VPATH
- builds. (For Ralf's fix.)
-
-2003-06-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (tiny change)
-
- * lib/am/configure.am (maintainer-clean): Remove
- $(top_srcdir)/autom4te.cache, not autom4te.cache.
-
-2003-06-27 Akim Demaille <akim@epita.fr>
-
- * automake.texi: Use @node with a single argument.
-
-2003-06-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/Makefile.am (dist_m4data_DATA): Add $(top_srcdir)/m4/amversion.m4.
-
- * lib/am/distdir.am (distcheck): Run $(am__remove_distdir)
- at the end of distcheck. This was mistakenly removed on
- 2003-06-15.
- * tests/subpkg.test: Make sure distcheck cleans up after itself.
-
- * m4/Makefile.am ($(srcdir)/amversion.m4): Rename as ...
- ($(top_srcdir)/m4/amversion.m4): ... this.
- (DISTCLEANFILES): Remove.
- (nodist_m4data_DATA): Remove. amversion.m4 is automatically
- distributed.
- (EXTRA_DIST): Add amversion.in.
-
-2003-06-25 Akim Demaille <akim@epita.fr>
-
- * automake.texi (Top): Use @copying and @insertcopying.
- Make Alexandre an author.
- * automake.in ($gen_copyright): Add the "(C)" to Copyright.
- * lib/depcomp: Likewise.
-
-2003-06-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (vardef, rvardef, set_seen): New functions.
- (variable_defined, examine_variable): Remove.
- (%_ac_macro_for_var): Add an entry for ALLOCA.
- (require_variables): Use vardef instead of variable_defined.
- Do not use _cvar.
- * automake.in (generate_makefile): Do not push $(SOURCE) into
- @sources. Use define_pretty_variable to define SOURCES.
- (handle_LIBOBJS, handle_ALLOCA): Use require_variables_for_variable
- to require LIBOBJS, LTLIBOBJS and ALLOCA.
- (handle_programs, handle_ltlibraries): Do not define an empty
- _DEPENDENCIES or _LDFLAGS variable when none is defined.
- (define_configure_variable): Do not check whether the variable
- already exists (it's Automake::Variable::define's job).
- (require_build_directory): Likewise, do not check
- the existence of am__dirstamp.
- (generate_makefile, handle_options, handle_languages)
- (check_libobjs_sources, handle_single_transform_list)
- (traverse_variable_recursively_worker, handle_source_transform)
- (handle_lib_objects, handle_LIBOBJS, handle_compile)
- (handle_libtool, handle_programs, handle_libraries)
- (handle_ltlibraries, check_typos, handle_texinfo_helper)
- (handle_man_pages, handle_tags, handle_dist, handle_subdirs)
- (scan_aclocal_m4, handle_gettext, handle_footer, handle_install)
- (handle_all, do_check_merge_target, handle_clean, lang_c_finish)
- (handle_tests, lang_yacc_target_hook, define_pretty_variable)
- (define_compiler_variable, define_linker_variable)
- (make_paragraphs, am_primary_prefixes, am_install_var): Adjust to
- call var, vardef, or set_seen, instead of variable_defined. Use
- set_seen only for variables which are actually checked by
- check_typos.
- * tests/target.test: Delete.
- * tests/alloca.test, tests/alloca2.test: New files.
- * tests/libobj3.test: Check error message.
- * tests/distcom4.test: Make sure configure is in DIST_COMMON.
- This replace confdist.test.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Remove target.test.
- (TESTS): Add alloca.test and alloca2.test. Remove confdist.test.
-
-2003-06-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_dist): Delete DIST_COMMON before redefining
- it. Bug report from Akim Demaille.
- (rewrite_inputs_into_dependencies): Make sure we always return
- something, even when $add_srcdir is 0.
- * tests/distcom4.test, tests/distcom5.test: New files.
- * tests/Makefile.am (TESTS): Add distcom4.test and distcom5.test.
-
- * tests/cond29.test: Also check for _SOURCES.
- Report from Paolo Bonzini.
-
-2003-06-20 Akim Demaille <akim@epita.fr>
-
- * lib/am/configure.am: Replace leading spaces with a real tab.
-
-2003-06-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/nogzip.test, tests/nogzip2.test: New files.
- * tests/Makefile.am (TESTS): Add nogzip.test and nogzip2.test
-
-2003-06-15 Akim Demaille <akim@epita.fr>
-
- * automake.in (&make_paragraphs): Define %GZIP%.
- (&process_option_list): Accept no-dist-gzip2.
- (&handle_dist): Complain when no archive format is enabled.
- * lib/am/distdir.am (DIST_ARCHIVES): New variable.
- (dist-gzip, dist-bzip2, dist-tarZ, dist-zip): No longer
- conditioned.
- (dist): Build $(distdir).tar.gz conditionally.
- (distcheck): Use DIST_ARCHIVES to find an archive to unpack, and
- to list built archives. Run $(MAKE) dist instead of dist-gzip.
- * automake.texi (Options, The types of distributions): Adjust.
-
-2003-06-15 Jens Elkner <elkner@imsgroup.de> (tiny change)
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Fix sed commands to work with
- POSIXLY_CORRECT=1.
-
-2003-06-14 Karl Berry <karl@gnu.org>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * mkinstalldirs (scriptversion): New variable. Setup emacs hooks
- to update it each time the file is written, as in install-sh.
- (usage): Improve message.
- (--version): New option.
- (--help): Output to stdout, not stderr.
-
-2003-06-13 Paul Eggert <eggert@twinsun.com>
-
- * lib/install-sh (dsttmp, rmtmp): Do not use '#' in file names;
- it's not guaranteed by POSIX and it doesn't work on OpenVMS.
- Bug reported by Bernard Giroud in:
- http://mail.gnu.org/archive/html/autoconf-patches/2003-06/msg00013.html
-
-2003-06-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (check_gnu_standards): Use no-installman and
- no-installinfo's locations.
- (process_option_list): Fill %options with locations.
- (check_cygnus) Fill $options{'no-installinfo'} and
- $options{'no-dependencies'} with $cygnus_mode, so that it
- remains a Location.
- * tests/gnuwarn2.test: New file.
- * tests/Makefile.am (TESTS): Add gnuwarn2.test.
-
-2003-06-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (process_option_list): Record the location
- of ansi2knr's definition.
- (handle_compile): Use it.
- * tests/ansi3.test: Make sure the location appears correctly.
- Update to use set -e.
- * tests/ansi3b.test: New file.
- * tests/Makefile.am (TESTS): Add ansi3b.test.
-
- * tests/alpha.test: Really run $MAKE. Augment to test
- subdirectories, and check-news report.
- * tests/alpha2.test: New file. Bug report from Akim Demaille.
- * tests/gnits2.test: Make sure README-alpha is not distributed.
- * tests/Makefile.am (TESTS): Add alpha2.test.
- * automake.in (handle_minor_options): Distribute README-alpha
- using push_dist_common, not require_file_with_macro.
-
-2003-06-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Configure_ac.pm
- (search_configure_ac, find_configure_ac): Rename as ...
- (find_configure_ac, require_configure_ac): ... these.
- * aclocal.in (scan_configure): Adjust call to require_configure_ac.
- * automake.in (scan_autoconf_files): Likewise.
- Suggested by Tim Van Holder.
-
- * alocal.in: Use Automake::Configure_ac.
- ($configure_ac): Delete.
- (scan_configure): Adjust use of find_configure_ac;
- * automake.in: Use Automake::Configure_ac.
- ($configure_ac): Delete.
- (scan_autoconf_files): Adjust use of find_configure_ac;
- * lib/Automake/Configure_ac.pm: New file.
- * lib/Automake/General.pm (find_configure_ac): Delete. Now
- replaced by Automake::Configure_ac::search_configure_ac.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Configure_ac.pm.
- * lib/Automake/Variable.pm: Use Automake::Configure_ac.
- (require_variables): Adjust use of $configure_ac.
-
-2003-06-02 Akim Demaille <akim@epita.fr>
-
- * lib/am/texi-vers.am, lib/am/subdirs.am, lib/am/scripts.am,
- * lib/am/remake-hdr.am, lib/am/python.am, lib/am/progs.am,
- * lib/am/program.am, lib/am/multilib.am, lib/am/mans.am,
- * lib/am/mans-vars.am, lib/am/ltlibrary.am, lib/am/ltlib.am,
- * lib/am/lisp.am, lib/am/libtool.am, lib/am/library.am,
- * lib/am/lang-compile.am, lib/am/java.am, lib/am/header.am,
- * lib/am/header-vars.am, lib/am/footer.am, lib/am/depend.am,
- * lib/am/dejagnu.am, lib/am/data.am, lib/am/compile.am,
- * lib/am/clean.am, lib/am/clean-hdr.am, lib/am/check.am,
- * lib/am/ansi2knr.am, lib/am/Makefile.am, lib/Makefile.am,
- * m4/strip.m4, m4/sanity.m4, m4/runlog.m4, m4/regex.m4,
- * m4/python.m4, m4/protos.m4, m4/options.m4, m4/obsolete.m4,
- * m4/obsol-lt.m4, m4/obsol-gt.m4, m4/multi.m4, m4/missing.m4,
- * m4/minuso.m4, m4/maintainer.m4, m4/lispdir.m4, m4/lex.m4,
- * m4/install-sh.m4, m4/header.m4, m4/gcj.m4, m4/dmalloc.m4,
- * m4/depout.m4, m4/cond.m4, m4/ccstdc.m4, m4/auxdir.m4, m4/as.m4,
- * m4/Makefile.am: White space changes and Copyright updates.
-
-2003-05-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (check_defined_unconditionally): Add
- the $parent_cond argument.
- (output): Use $self->name in diagnostic not $self.
- (variable_value_as_list): Rename as ...
- (value_as_list): ... this. Declare as a method. Take a $parent_cond
- argument and pass it to check_defined_unconditionally. Do not call
- variable_assert, now that this is a method.
- (variable_assert): Delete (unused).
- * automake.in (traverse_variable_recursively_worker): Adjust to
- use check_defined_unconditionally and value_as_list as a methods.
-
- * lib/Automake/Variable.pm (output): Declare as a method, since it
- is only used this way.
- (define): Fix documentation of $cond.
- Suggested by Raja R. Harinath.
-
-2003-05-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm, lib/Automake/VarDef.pm: New files.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Variable.pm
- and VarDef.pm.
- * automake.in: Use Automake::Variable and Automake::VarDef.
- (MACRO_PATTERN): Delete. Now Automake::Variable::_MACRO_PATTERN.
- (am_macro_for_var): Delete. Now Automake::Variable::_am_macro_for_var.
- (ac_macro_for_var): Delete. Now Automake::Variable::_ac_macro_for_var.
- (silent_variable_override): Delete. Now
- Automake::Variable::_silent_variable_override.
- (var_value, var_location, var_comment, var_type, var_owner,
- var_pretty, content_seen): Delete. This functionality is now
- offered by Automake::Variable and Automake::VarDef.
- (VAR_AUTOMAKE, VAR_CONFIGURE, VAR_MAKEFILE, VAR_ASIS, VAR_PRETTY):
- Delete. Now defined in Automake::VarDef.
- (var_order): Delete. Now Automake::Variable::_var_order.
- (appendvar): Delete. Now Automake::Variable::_appendvar.
- (var_SUFFIX_trigger): Register using Automake::Variable::hook.
- (initialize_per_input): Call Automake::Variable::reset.
- (err_var, msg_cond_var, msg_var, reject_var): Delete. Now
- defined in Automake::Variable.
- (generate_makefile, process_option_list, handle_languages)
- (traverse_variable_recursively_worker)
- (transform_variable_recursively, handle_compile)
- (handle_libraries, handle_ltlibraries)
- (check_typos, handle_dist, handle_subdirs, scan_autoconf_files):
- Adjust to use Automake::Variable functions.
- (check_ambiguous_condition): Delete. Now
- Automake::Variable::_check_ambiguous_condition.
- (condition_ambiguous_p): Delete. Now
- Automake::Variable::condition_ambiguous_p.
- (variable_not_always_defined_in_cond): Delete. Now
- Automake::Variable::not_always_defined_in_cond.
- (macro_define): Delete. Now Automake::Variable::define.
- (macro_delete): Delete. Now Automake::Variable::variable_delete.
- (macro_dump): Delete. Now Automake::Variable::variable_dump.
- (macros_dump): Delete. Now Automake::Variable::variables_dump.
- (variable_defined): Delete. Now
- Automake::Variable::variable_defined, with the target check
- temporarily disabled.
- (variable_assert): Delete. Now Automake::Variable::variable_assert.
- (examine_variable): Delete. Now
- Automake::Variable::examine_variable.
- (variable_conditions): Delete. Now Automake::Variable::conditions.
- (scan_variable_expansions): Delete. Now
- Automake::Variable::scan_variable_expansions.
- (check_variable_expansions): Delete. Now
- Automake::Variable::check_variable_expansions.
- (check_variable_defined_unconditionally): Delete. Now
- Automake::Variable::check_defined_unconditionally.
- (variable_value): Delete. Now Automake::Variable::variable_value.
- (variable_value_as_list): Delete. Now
- Automake::Variable::variable_value_as_list.
- (variable_value_as_list_recursive_worker): Adjust to use
- Automake::Variable functions.
- (variable_output): Delete. Now Automake::Variable::output.
- (define_pretty_variable, define_configure_variable, read_am_file)
- (define_standard_variables, read_main_am_file): Adjust to use
- Automake::Variable functions.
- (handle_variables): Delete. Now Automake::Variable::output_variables.
- (file_contents_internal, am_primary_prefixes, am_install_var)
- (require_file_with_macro, require_conf_file_with_macro)
- (push_dist_common): : Adjust to use
- Automake::Variable functions.
- (require_variables): Delete. Now
- Automake::Variable::require_variables.
- (require_variables_for_macro): Delete. Now
- Automake::Variable::require_variables_for_variable.
- * tests/Makefile.am (XFAIL_TESTS): Add target.test.
-
-2003-05-25 Christian Cornelssen <ccorn@cs.tu-berlin.de> (tiny change)
-
- * tests/dejagnu7.test: Check if runtest supports --status.
-
-2003-05-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Location.pm (dump): Output 'INTERNAL' when position
- is undefined.
-
- * lib/Automake/DisjConditions.pm (human): Fix infinite loop when
- $self contains only one Condition.
-
- * automake.in: Use plain strict, including refs.
- (macro_define, handle_single_transform_list): Use \&{'name'} to
- build references to named subroutines.
-
-2003-05-22 Karl Berry <karl@gnu.org>
-
- * automake.texi: Update @dircategory to match the Free Software
- Directory. End directory entries with dots.
-
-2003-05-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (maintainer-mode): s/François/Fran@,{c}ois/.
-
- * lib/elisp-comp: s/François/Franc,ois/.
- Suggested by Paul Eggert.
-
- * automake.in: Move the "main" code at the end.
- (parse_arguments): Move near the end.
- ($KNOWN_EXTENSIONS_PATTERN, @known_extensions_list,
- accept_extensions, var_SUFFIXES_trigger): Move these definitions
- before any call to register_language.
- (am_file): Move the definition with all other global variables,
- do not use local to define it.
- * Makefile.am (maintainer-check): Expect no `local' in Automake.
-
-2003-05-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Wrap.pm, lib/Automake/tests/Wrap.pl: New files.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Wrap.pm.
- * lib/Automake/tests/Makefile.am (TESTS): Add Wrap.pl.
- * automake.in (handle_texinfo_helper, pretty_print_rule)
- (variable_output): Adjust to use makefile_wrap instead of
- pretty_print_internal.
- (pretty_print_internal): Remove. Renamed as Automake::Wrap::wrap
- and augmented to accept the $eol and $max_len arguments.
-
-2003-05-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Autom4te/XFile.pm, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: New upstream versions.
-
-2003-05-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/install.am (install, install-exec, install-data, uninstall):
- Declare conditionally using a if/else/endif block instead of
- using ?SUBDIRS?-style conditions. The latter fail when
- %maybe_BUILT_SOURCES% is replaced by several lines.
- This fixes a bug introduced on 2003-04-06.
- * tests/bsource.test: New file.
- * tests/Makefile.am (TESTS): Add bsource.test.
- Reported by Bruno Haible.
-
-2003-05-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (renamed objects): New node.
- (Program and Library Variables): Move maude_DEPENDENCIES closer
- to maude_LDADD. Define and use `per-target compilation flags' in the
- explanation for maude_CFLAGS et al. Link to the `renamed objects'
- node. Illustrate maude_SHORTNAME.
-
-2003-05-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/install-sh: Update copyright notice and license to that of
- X11R6. This removes an advertising clause reported as Debian bug
- #191717.
-
-2003-05-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.in (ACLOCAL): Do not use -I, --acdir is enough.
-
- * m4/make.m4: Rename the doit target as am__doit,
- and make it phony.
- Reported by Philip S Tellis.
-
-2003-05-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/configure.am (%MAKEFILE-IN%): Propagate automake's exit
- status.
- * tests/makej.test: New file (test Autom4te's cache locking,
- new in CVS Autoconf).
- * tests/Makefile.am (TESTS): Add makej.test.
-
-2003-05-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/General.pm (contents): New function.
- * aclocal.in (greatest_mtime, force_output): New globals.
- (scan_configure, add_file): Update $greatest_mtime.
- (parse_arguments): Parse --force.
- (write_aclocal): Do not overwrite $output_file unless needed.
- * automake.texi (aclocal options): Document --force.
- * tests/aclocal7.test: New file.
- * tests/Makefile.am (TESTS): Add aclocal7.test.
-
-2003-05-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Optional): Document m4_include.
- (Invoking aclocal): Shake a bit to introduce the various uses
- of aclocal and explain that aclocal will use m4_include for
- local files.
- (Extending aclocal): Show how to install installable macros
- in $(datadir)/aclocal, and make it clearer that writing installable
- macros is not the only way to extend aclocal.
- (Local Macros, Future of aclocal): New sections.
-
-2003-04-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (@common_files): Remove acinclude.m4 since
- it will be m4_included by aclocal.m4 and files are always
- distributed.
- (scan_aclocal_m4): Do not bother about acinclude.m4 anymore.
- We will get this dependency when tracing m4_includes.
- * tests/aclocal6.test: Make sure acinclude.m4 is distributed
- when used.
- * tests/acinclude.test: Delete.
- * tests/Makefile.am (TESTS): Remove acinclude.test.
-
-2003-04-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_configure): Don't add @configure_deps to
- DIST_COMMON, we do this from lib/am/configure.am now.
- Define the am__configure_deps variable instead of substituing
- %CONFIGURE_DEPS%.
- * lib/am/configure.am (%MAKEFILE-IN%, $(top_srcdir)/configure,
- $(ACLOCAL_M4)): Use $(am__configure_deps) instead of %CONFIGURE_DEPS%.
- (DIST_COMMON): Add $(am__configure_deps).
-
- * tests/aclocal6.test: New file.
- * lib/am/configure.am (am--refresh): New rule.
- (%MAKEFILE-IN%, %MAKEFILE%, $(top_builddir)/config.status,
- $(top_srcdir)/configure): Call the top-level am--refresh from
- subdirectories.
- ($(ACLOCAL_M4)): Depend upon %CONFIGURE_DEPS%. Call the
- top-level am--refresh when not in the top-level directory.
- Fix jump directories for VPATH builds.
- Suggested by Raja R. Harinath.
-
-2003-04-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_aclocal_m4): Do not parse ACLOCAL_AMFLAGS
- and glob for m4_files (We've got all local m4 files while
- tracing m4_include's). Diagnose ACLOCAL_M4_SOURCES as obsolete.
- Distribute aclocal.m4 only at the top-level.
- (my_glob): Remove. This fixes PR automake/11.
- (handle_dist): Strip leading `./' from directories.
- * aclocal.in (add_file): Output 'm4_include([file.m4])' instead
- of copying local files.
- (write_aclocal, parse_arguments): Bump copyright date.
- * configure.in: De not build m4/amversion.m4 from here ...
- * m4/Makefile.am ($(srcdir)/amversion.m4): ... do this here.
- (nodist_m4data_DATA): Use $(srcdir)/amversion.m4 instead
- of amversion.m4.
- * tests/Makefile.am (XFAIL_TESTS): Remove aclocal5.test.
- (TESTS): Remove aclocal2.test. Do not test aclocal.test twice.
- * tests/aclocal2.test: Delete (pointless).
- * tests/aclocal5.test: Make sure configure's dependencies are
- distributed.
- * tests/acinclude.test: Adjust to search for m4_include.
- * tests/dirlist.test, tests/dup3.test: Run $AUTOCONF and grep
- configure instead of aclocal.m4.
-
- For PR automake/46:
- * automake.in (scan_aclocal_m4): Work in all directories, not only
- the top-level. Prepend $(top_srcdir) in front of each aclocal.m4
- dependency.
- * lib/am/configure.am (config.status, configure, $(ACLOCAL_M4)):
- Define rebuild rules in each directory.
- * tests/subdir8.test: Augment to exercise aclocal.m4's dependencies
- from the top-level directory.
- * tests/aclocal5.test: New file. Exercise aclocal.m4's dependencies
- from a subdirectory.
- * tests/Makefile.am (TESTS): Add aclocal5.test.
- (XFAIL_TESTS): Replace subdir8.test by aclocal5.test.
-
-2003-04-24 Akim Demaille <akim@epita.fr>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/46:
- * lib/am/configure.am (%MAKEFILE-IN%): If Makefile.in is rebuilt
- because of one of configure's dependencies, run automake without
- argument to update the whole tree at once. Depend upon
- %CONFIGURE_DEPS%.
- (%MAKEFILE%): If Makefile is rebuilt because config.status has
- been updated, run config.status without arguments.
- * automake.in (scan_autoconf_traces): Prepend $(top_srcdir)
- before all files in @configure_deps.
- * tests/subdir5.test: Modernize configure.in, make sure
- maude/Makefile was actually created, and exercise %CONFIGURE_DEPS%.
- * tests/subdir8.test: New file.
- * tests/Makefile.am (TESTS): Add subdir8.test.
- (XFAIL_TESTS): Replace subdir5.test by subdir8.test.
-
-2003-04-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Requirements): Typo in index
- s/AC_CONFIG_FILE/AC_CONFIG_FILES/.
-
- * lib/texinfo.tex: New upstream version.
-
-2003-04-21 Jim Meyering <jim@meyering.net>
-
- * lib/mkinstalldirs: Remove each sequence of spaces before a
- TAB character.
- * lib/depcomp: Search for TAB-SPC, not SPC-TAB.
-
-2003-04-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/389:
- * automake.in (handle_configure): Don't put $colon_infile in
- CONFIG-MAKEFILE.
- * tests/conff.test: New file.
- * tests/Makefile.am (TESTS): Add conff.test.
- Reported by Alexander Turbov.
-
-2003-04-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/defs.in: Handle required=etags to work around
- Exuberant Ctags.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
- * tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test:
- Distribute dejagnu test cases, so that distcheck actually runs them.
-
-2003-04-18 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * lib/am/dejagnu.am (site.exp): Don't define tool in site.exp,
- because we set that by invoking runtest with --tool.
- * tests/Makefile.am (TESTS): Add dejagnu4.test, dejagnu5.test,
- dejagnu6.test, dejagnu7.test.
- * tests/dejagnu4.test: New test.
- * tests/dejagnu5.test: New test.
- * tests/dejagnu6.test: New test.
- * tests/dejagnu7.test: New test.
-
- * tests/dejagnu3.test: Make sure the DejaGnu test is actually run.
-
-2003-04-18 Jim Meyering <jim@meyering.net>
-
- * automake.in (variable_output): Fix typo in comment s/is/if/.
-
- * lib/am/yacc.am (?!GENERIC?%OBJ% aka .y.c): Don't redirect
- directly to $@. Instead, redirect to $@t and rename upon success.
- Also, move the commands that update $@ so they are last. Otherwise,
- this rule could leave the user with an up to date target (.c file)
- but with a missing or corrupted corresponding .h file.
-
-2003-04-17 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * tests/defs.in: Handle required=runtest, to detect runtest
- from DejaGnu.
- * tests/Makefile.am (TESTS): Add dejagnu3.test.
- * tests/dejagnu3.test: New test.
-
-2003-04-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (rule_define): If the user tries to override
- an Automake which has a -local variant, suggest using the
- -local variant in the -Woverride diagnostic.
- (handle_factored_dependencies): Register factored
- rules with rule_define, and define them only in undefined
- conditions.
- * tests/Makefile.am (TESTS): Add override.test.
- * tests/overrid.test: New file.
- * tests/phony.test: Count the number of .PHONY targets.
-
-2003-04-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/distdir.am (distuninstallcheck, distcleancheck): Silence
- these rules, so that we don't confuse users by echoing
- "echo ERROR:" commands which are not run.
-
-2003-03-14 Richard Dawe <rich@phekda.freeserve.co.uk>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (output_texinfo_build_rules, handle_texinfo_helper,
- initialize_per_input): Add infrastructure for generating HTML
- documentation from texinfo source.
- * lib/am/texinfos.am: Add rules for building HTML documentation
- from texinfo source.
- * lib/am/texibuild.am: Likewise.
- * automake.texi (Texinfo): Document rules for building
- HTML documentation from texinfo source.
- * tests/txinfo21.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo21.test.
- * tests/defs.in: Handle required=makeinfo-html.
-
-2003-04-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (%silent_variable_override): New variable.
- (macro_define): Warn about variable definitions overriding
- Automake variables.
- (rule_define): Warn about target definitions overriding
- Automake variables. Fix $condmsg definition.
- * automake.texi (Invoking Automake): Document the `override'
- category.
- * lib/Automake/ChannelDefs.pm (usage): Likewise.
- * lib/am/texinfos.am [!%?CYGNUS] (MAKEINFO): Do not define,
- this is already done in m4/init.m4.
- * tests/dejagnu2.test: Run $MAKE, don't only grep. Use
- -Wno-override, and make sure we get a warning without.
- * tests/exeext2.test, tests/substtarg.test: Use -Wno-override,
- and make sure we get a warning without.
- * tests/exeext3.test, tests/java2.test, tests/nolink.test,
- tests/subpkg.test, tests/vartest.test: Use -Wno-override.
- * tests/txinfo13.test: Use installcheck-local instead of overriding
- installcheck.
- * tests/txinfo2.test: Run $MAKE on the real Makefile (this test
- used to succeed thanks to a failure...)
- * tests/location.test: Adjust expected messages.
- * tests/Makefile.am (XFAIL_TESTS): Add txinfo5.test.
-
-2003-04-12 Raja R Harinath <harinath@acm.org>
-
- * lib/Automake/DisjConditions.pm (true): Don't cache answer.
- (invert): Update comment.
- (_simplify): Remove.
- (simplify): Implement using invert().
- * lib/Automake/tests/DisjConditions.pl (test_simplify):
- Update to reflect changes.
-
-2003-04-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_autoconf_files): Augment the error message
- about AM_INIT_AUTOMAKE not found.
- Suggested by Bruno Haible.
-
- * lib/Automake/Version.pm: New file.
- * lib/Automake/Makefile.am (dist_perllib_DATA): Add Version.pm.
- * lib/Automake/tests/Version.pl: New file.
- * lib/Automake/tests/Makefile.am (TESTS): Add Version.pl.
- * tests/Makefile.am (TESTS): Remove version5.test.
- * tests/version5.test: Delete. Move the tests to Version.pl.
- * automake.in (version_split, version_compare, version_check): Move ...
- * lib/Automake/Version.pm (split, compare, check): ... here.
-
-2003-04-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/tests/Condition.pl (test_reduce_and)
- (test_reduce_or): Cosmetics.
- * lib/Automake/tests/DisjConditions.pl (test_sub_conditions):
- Fix a comment.
- * lib/Automake/DisjConditions.pm (sub_conditions): Add missing C<...>
- in comment.
- * tests/yacc8.test, configure.in: Update copyright year.
-
-2003-04-10 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * configure.in: Get the build platform name. Define
- MODIFICATION_DELAY as the time to wait after modifying a file,
- to cope with timestamp granularity issues, depending
- on the platform.
- * tests/defs.in: Define `sleep' using MODIFICATION_DELAY.
-
-2003-04-10 Eric Siegerman <eric_97@pobox.com> (tiny change)
-
- * automake.texi (Public macros): Clarify that the new
- AM_INIT_AUTOMAKE variant is preferred, and the old one
- deprecated. Copy-edit the rest of the AM_INIT_AUTOMAKE item.
- (Hello): Caution that the example uses the deprecated
- AC_INIT/AM_INIT_AUTOMAKE syntax, and xref to the discussion.
-
-2003-04-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- Retain all variable definitions until the whole Makefile.am has
- been processed, then output all variables in one step, at the top
- of Makefile.in. (Older revisions used to output user variables
- before generating Automake targets, and to mix Automake variables
- with Automake targets, preventing redefinitions of previously
- output variables.)
-
- * automake.in (%var_pretty): New variable.
- (VAR_ASIS, VAR_PRETTY): New constants.
- (@var_list): Rename as ...
- (@var_order): ... this.
- (initialize_per_input): Clear %var_pretty.
- (handle_variables): New function, extracted from ...
- (read_main_am_file): ... here.
- (generate_makefile): Call handle_variable after everything else.
- (handle_dist): Use define_pretty_variable, not pretty_print.
- (pretty_print): Delete.
- (macro_define): Augment with $COMMENT and $PRETTY parameters.
- Update %var_comment, %var_pretty, and @var_order. Adjust callers.
- (variable_pretty_output): Merge with ...
- (variable_output): ... this, and choose the prettiness on a
- per-condition basis.
- (append_comments): Delete. This work is now done by macro_define.
- (read_am_file, file_contents_internal): Don't call append_comments
- nor update @var_list, adjust calls to macro_define.
- (handle_subdirs): Don't explicitly output RECURSIVE_TARGETS,
- just mark it as VAR_PRETTY.
- * tests/exeext.test: Make sure bin_PROGRAMS is output only once.
- Report from Jim Meyering.
-
-2003-04-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_installdirs): Rename as ...
- (handle_install): ... this. Define maybe_BUILT_SOURCES.
- (generate_makefile): Adjust call to handle_install.
- * lib/am/install.am (install): Use %maybe_BUILT_SOURCES%.
- * automake.texi (Sources, Built sources example): BUILT_SOURCES
- is honored by `make install' too.
- * tests/check3.test: Make sure that `make install' also depends
- upon BUILT_SOURCES.
- Report from Alexander Turbov.
-
- * lib/am/libs.am (ARFLAGS): Define.
- * automake.in (handle_libraries): Use `$(ARFLAGS)' instead of
- hard-coding `cru'.
- * automake.texi (A Library): Explain how AR, ARFLAGS and RANLIB
- are used, and how they can be overridden.
- (Program and Library Variables): Adjust to show `$(ARFLAGS)'
- instead of `cru'
- * tests/ar.test: Rewrite to test for AR, ARFLAGS, and RANLIB.
- * tests/ranlib.test: Delete, obsoleted by ar.test.
- * tests/Makefile.am (TESTS): Remove ranlib.test.
- Report from Paul Thomas.
-
-2003-04-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (check_trailing_slash): New function (variation on
- a patch by Peter Muir). Diagnose whitespaces following trailing
- backslash.
- (read_am_file): Use it.
- * tests/backsl4.test: New file.
- * tests/Makefile.am (TESTS): Add backsl4.test.
- Reported by Peter Muir.
-
-2003-03-29 Raja R Harinath <harinath@acm.org>
-
- Speedup Automake::DisjConditions::invert().
- * lib/Automake/Condition.pm (multiply): New.
- * lib/Automake/DisjConditions.pm (_multiply): Use it.
- (sub_conditions): Likewise.
-
- * lib/Automake/Condition.pm (reduce): Rename to ...
- (reduce_and): ... this.
- (reduce_or): New.
- * lib/Automake/DisjConditions.pm (_multiply): Use reduce_or().
- * lib/Automake/tests/Condition.pl (test_reduce): Rename to ...
- (test_reduce_and): ... this.
- (test_reduce_or): New.
- * lib/Automake/tests/DisjConditions.pl
- (test_invert): Update to reflect effect of reduce_or().
- (test_simplify): Don't skip invert() on larger inputs.
-
-2003-03-29 Raja R Harinath <harinath@cs.umn.edu>
-
- * tests/yacc8.test: Add a $sleep before modifying Makefile.am so
- that timestamp will change.
-
-2003-03-23 Akim Demaille <akim@epita.fr>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/tags.am (TAGS): Use --etags-include instead of --include,
- when supported by etags (Exuberant Ctags).
- * tests/tagsub.test: Rewrite to _run_ the `tags' rule.
-
-2003-03-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- For Debian Bug #185388:
- * automake.texi (Extending): Augment the install-exec-hook
- discussion with an example how to symlink a versioned binary.
- * tests/insthook.test: Rewrite to test the above example.
- Report from James R. Van Zandt.
-
-2003-03-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (maintainer-check): Allow `automake:' tokens,
- occurring in location.test. Automake now has 5 legitimate
- unsubstituted @strings@.
-
- * tests/aclocal4.test: Require GNU make.
-
-2003-03-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/aclocal4.test: New file. Test for the ACLOCAL_M4 bug below.
- * tests/Makefile.am (TESTS): Add aclocal4.test.
-
-2003-03-14 Jim Meyering <jim@meyering.net>
-
- * automake.in (scan_aclocal_m4): Define ACLOCAL_M4 even in
- subdirectories. Makefile.in depends on that variable.
-
-2003-03-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/init.m4: Remove a leftover comment from the pre-1.7 era.
-
- Fix for PR automake/386:
- * m4/init.m4: Require Autoconf 2.55.
- Reported by Owen Taylor.
-
- * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
- (?GENERIC?%EXT%.lo): Use `mv -f' instead of `mv' in FASTDEP mode.
- Suggested by Matthias Andree.
-
- * tests/README: Typo.
-
-2003-03-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
- (?GENERIC?%EXT%.lo): Hide the if/then/else machinery for FASTDEP.
- Just echo the gcc command.
- Suggested by Karl Berry.
-
-2003-03-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/depend2.am (?GENERIC?%EXT%.lo): Do not use
- `test -f foo || echo $(srcdir)/` to emulate a VPATH search when
- outputing suffix rules. This follows 2003-02-25's change.
- * lib/am/lex.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
- * lib/am/yacc.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
-
-2003-03-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Requirements) <AC_CONFIG_FILES>: Files listed
- with AC_CONFIG_FILES are cleaned by `make distclean'. Don't
- pretend otherwise.
- Reported by Rafael Laboissiere.
-
-2003-03-04 Andreas Buening <andreas.buening@nexgo.de>
-
- * lib/mdate-sh: Find out which column of the ls -l output contains
- the month. Do not assume it is at least the fifth column.
-
-2003-02-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Emacs Lisp): Mention that `dist_' can be used.
-
- * automake.texi (Emacs Lisp): Instruct people to use lisp_DATA
- instead of lisp_LISP when they don't want byte-compilation.
- Don't mention ELCFILES anymore.
- * automake.in (handle_data): Allow lisp_DATA.
- * tests/lisp5.test: New file.
- * tests/Makefile.am (TESTS): Add lisp5.test.
-
- * automake.in (handle_emacs_lisp): Don't build *.elc files
- if ELCFILES was set empty.
- * tests/lisp4.test: New file.
- * tests/Makefile.am (TESTS): Add lisp4.test.
- Reported by Simon Josefsson.
-
- * tests/lex3.test, tests/lex5.test: Require flex.
- Reported by Leo Davis.
-
-2003-02-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj): Do not
- use the `test -f foo || echo $(srcdir)/` to emulate a VPATH search
- when outputing suffix rules.
- * lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.dvi)
- (?GENERIC?%SOURCE_SUFFIX%.pdf): Likewise.
- Suggested by Bruno Haible.
-
- * automake.in (read_am_file): Catch trailing backslashes on last line.
- * tests/backsl3.test: New file.
- * tests/Makefile.am (TESTS): Add backsl3.test.
- Reported by Akim Demaille.
-
-2003-02-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * ChangeLog: Move 2002's entries to ...
- * ChangeLog.02: ... this new file.
- * Makefile.am (EXTRA_DIST): Add ChangeLog.02.
-
-2003-02-24 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * tests/version7.test: Use $sleep to sleep before updating
- the version, to work around timestamp inconsistencies in Windows.
-
-2003-02-24 Bruno Haible <bruno@clisp.org>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texibuild.am: Don't remove the target info files. Instead,
- back up and restore them if makeinfo fails.
- * tests/txinfo20.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo20.test.
-
-2003-02-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (FAQ, CVS, maintainer-mode, wildcards)
- (distcleancheck): Fix typos and other errors reported by Karl
- Berry.
-
-2003-02-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Use $(...)
- instead of ${...}.
-
- * tests/defs.in: Handle required=ro-dir.
- * tests/destdir.test: Use this.
-
-2003-02-19 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * lib/am/distdir.am (distcheck): Strip any leading DOS drive
- from dc_install_base.
-
-2003-02-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texinfos.am (install-info-am, uninstall-info-am): Install
- DJGPP-style *.iNN info files.
- (maintainer-clean-aminfo): Rewrite using the same pattern
- as in uninstall-info-am.
- * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Erase
- DJGPP-style *.iNN info files before running $(MAKEINFO).
- * tests/txinfo19.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo19.test.
-
-2003-02-18 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * lib/depcomp (dashmstdout): Cope with DOS filenames in
- dependencies.
-
-2003-02-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/depcomp (makedepend): Don't pass $object to makedepend.
- Reported by Stepan Kasal.
-
-2003-02-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/defs.in: Handle required=makedepend.
-
- * Makefile.am (maintainer-check): Update the diff check
- to account for the recent @SHELL@ substitution.
-
-2003-02-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/depcomp: Do not put comments on the `icc)' line.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
- Fix for PR automake/381:
- * automake.in (handle_gettext): Do not print diagnostics
- about po/ and intl/ missing from SUBDIRS if po/ does not
- exist. Warn if `SUBDIRS = intl' is used although libintl
- is 'external'.
- * tests/gettext.test: Make sure diagnostics are not output
- when po/ does not exist.
- * tests/gettext2.test: Test for unwanted intl/.
- PR from Alexander Turbov, fix suggested by Bruno Haible.
-
- * m4/depend.m4: Grep depcomp's stderr for icc warnings about
- ignored options.
- * lib/depcomp (icc): New mode.
- * tests/depcomp5.test: New file.
- * tests/defs.in: Handle required=icc.
- * tests/Makefile.am (TESTS): Add it.
-
- Temporary hack for PR automake/381:
- * automake.in (handle_gettext): Turn missing po/ and intl/ errors
- into -Wsyntax warnings.
-
-2003-02-10 Richard Dawe <rich@phekda.freeserve.co.uk>
-
- * Makefile.am: Substitute @SHELL@ in automake.in and aclocal.in.
- This makes the setting of SHELL work for DJGPP.
-
-2003-02-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/385:
- * lib/depcomp (makedepend): Strip any libtool call, before
- running makedepends.
- * tests/depcomp4.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- Reported by Jeff Squyres.
-
- Related to PR automake/385:
- * lib/depcomp (dashmstdout): Do not use `-o /dev/null', or gcc will
- write dependencies to /dev/null. `-o /dev/null' was added
- on 2002-06-13 just because I tried to replace `-o foo.o' by something
- else and didn't thought about removing it entirely.
- * tests/depcomp3.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
- * automake.in (BEGIN): Override $ENV{'SHELL'} with ./configure's
- SHELL for DJGPP.
- Suggested by Richard Dawe.
-
-2003-02-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (FAQ, CVS, maintainer-mode, wildcards)
- (distcleancheck): New nodes.
-
-2003-02-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_autoconf_files): Don't complain that
- AM_INIT_AUTOMAKE comes from an old version if it was not found.
-
-2003-02-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (am_install_var): Simplify filtering of
- variable_loc_and_value_as_list_recursive's output.
-
-2003-02-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/init.m4 (_AC_AM_CONFIG_HEADER_HOOK): Recompute
- indexes of header files so we create stamp files with
- the right numbers when config.status is run on some headers.
- * tests/stamph2.test: Check for this.
- Reported by Sander Niemeijer.
-
-2003-02-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (vars_scanned): Move near traverse_variable_recursively.
- (traverse_variable_recursively,
- traverse_variable_recursively_worker): Accept a $COND_FILTER argument
- to filter out conditions during recursion. Don't recurse into
- undefined variables. Don't pass empty results to &FUN_COLLECT.
- (value_to_list): Remove, was used by
- variable_value_as_list_recursive_worker only.
- (variable_value_as_list_recursive_worker): Rewrite using
- traverse_variable_recursively. Remove the $parent argument.
- (variable_value_as_list_recursive,
- variable_loc_and_value_as_list_recursive): Adjust calls
- to variable_value_as_list_recursive_worker. Don't reset
- %vars_scanned.
- * tests/cond3.test: Don't expect empty helper variables,
- we don't output them anymore.
- * tests/cond30.test: Use an undefined variable.
-
- * automake.in (handle_programs): Strip $(EXEEXT) before
- calling &check_canonical_spelling.
- * tests/exeext.test: Make sure we don't use a
- maude3__EXEEXT__OBJECTS variable.
-
-2003-02-02 Jeremy Nimmer <jwnimmer@alum.mit.edu> (tiny change)
-
- For Debian Bug #39542:
- * automake.texi (Invoking Automake, Optional): Document how
- AC_CONFIG_AUX_DIR interacts with missing files.
-
-2003-02-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/DisjConditions.pm (_permutations_worker)
- (permutations): Remove, so that people aren't tempted to use it.
- * lib/Automake/tests/DisjConditions.pl (tests_permutations): Remove.
-
- * automake.in (variable_conditions_recursive): Remove.
- (variable_conditionally_defined): Rewrite using
- traverse_variable_recursively.
-
- * automake.in (traverse_variable_recursively,
- traverse_variable_recursively_worker): Pass one merged Condition
- instead of a stack of conditions to &FUN_STORE and &FUN_COLLECT.
- (transform_variable_recursively, define_objects_from_sources)
- (handle_lib_objects, variable_conditions_recursive): Adjust usage.
-
-2003-02-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_lib_objects): Compute _DEPENDENCIES variables
- using transform_variable_recursively instead of
- variable_conditions_recursive and variable_value_as_list_recursive
- to avoid combinatorial explosion.
- (handle_lib_objects_cond): Merge into handle_lib_objects.
- * tests/cond11.test: Don't grep internal details in Makefile.in,
- run $MAKE to make sure the resulting Makefile runs as expected.
- * tests/cond29.test: Also exercise conditional _LDADD.
- * tests/cond31.test, tests/cond32.test: New files.
- * tests/Makefile.am (TESTS): Add tests/cond31.test and
- tests/cond32.test.
-
-2003-01-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_lib_objects_cond): Ignore -dlopen and
- -dlpreopen in _LIBADD variables too.
- (handle_LIBOBJS, handle_ALLOCA): New functions, extracted from
- handle_lib_objects_cond.
- * tests/libtool7.test: New file.
- * tests/Makefile.am (TESTS): Add libtool7.test.
-
- * automake.texi (Program and Library Variables): Clarify that
- _LIBADD is for libraries and _LDADD for programs.
-
- * automake.in (handle_source_transform): Correct typo from 2003-01-23.
-
-2003-01-28 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/352:
- * automake.in (transform_variable_recursively): If the destination
- and the source variables are the same, delete the source variable
- before defining the destination variable.
- (handle_programs): Strip any $(EXEEXT) suffix from $one_file,
- or this will confuse handle_source_transform.
- (append_exeext): Rewrite using transform_variable_recursively.
- * tests/cond29.test, tests/cond30.test: New files.
- * tests/exeext.test: Run ./configure and make, this uncovered
- the above handle_programs issue.
- * tests/Makefile.am (TESTS): Add cond29.test and cond20.test.
-
- * automake.in (%subobjvar): Replace by ...
- (%gen_varname): ... this.
- (subobjname): Replace by ...
- (gen_varname): ... this.
- (initialize_per_input): Clean gen_varname instead of subobjname.
- (transform_variable_recursively): New function, extracted
- from define_objects_from_sources.
- (define_objects_from_sources): Use transform_variable_recursively.
- Remove the unused $parent argument.
- (handle_source_transform): Adjust call to define_objects_from_sources.
-
-2003-01-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (@substfroms, @substtos): Move near
- traverse_variable_recursively.
- (traverse_variable_recursively, traverse_variable_recursively_worker):
- New functions, extracted from define_objects_from_sources.
- (define_objects_from_sources): Rewrite using
- traverse_variable_recursively.
- (handle_source_transform): Use variables_conditionally_defined
- instead of calling variable_conditions_recursive directly.
- Adjust the call to define_objects_from_sources; there is no need
- to reset @substtos, @substfroms, and %vars_scanned now.
- (variable_conditions_recursive): Rewrite using
- traverse_variable_recursively.
- (variable_conditions_recursive_sub): Remove.
- (variable_conditionally_defined): Fix condition comparison (the
- consequence was that DIST_SUBDIRS was always output).
- * lib/Automake/Condition.pm (merge): Allow merging several
- conditions at once.
-
-2003-01-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.texi (Python): Explain that directory variables start
- with either ${prefix} or ${exec_prefix}, and point to the
- `Installation Directory Variables' section of the Autoconf manual.
-
-2003-01-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/distdir.am (top_distdir, distdir): Define these
- variables only in top level Makefile. Redefine $(top_distdir)
- as $(distdir).
- (distdir): Fix passing of $(top_distdir) to sub-makes.
- * automake.in (handle_dist): Do not define the DISTDIR and
- TOP_DISTDIR transformations. We don't need them anymore.
- * automake.texi (Dist): Reorder the dist-hook section, and move
- the DIST_SUBDIRS paragraph earlier. Document distdir and
- top_distdir.
- * tests/subpkg.test: Update to check for $(distdir) and
- $(top_distdir).
-
-2003-01-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- Rename more files to accommodate 8+3 file systems, and adjust the
- vocabulary at the same time: AM_CONDITIONAL defines "conditionals",
- and we call "condition" a conjunction of "conditionals".
- * lib/am/Conditional.pm: Rename to lib/am/Condition.pm.
- * lib/am/tests/Conditional.pl: Rename to lib/am/tests/Condition.pl.
- * lib/am/ConditionalSet.pm: Rename to lib/am/DisjConditions.pm.
- * lib/am/tests/ConditionalSet.pl: Rename to
- lib/am/tests/DisjConditions.pl
- * lib/am/Conditional.pm (condition_negate): Rename to ...
- * lib/am/Condition.pm (conditional_negate): ... this.
- * automake.in: Adjust references to Condition and DisjConditions.
- (check_ambiguous_conditional, conditional_ambiguous_p): Rename to ...
- (check_ambiguous_condition, condition_ambiguous_p): ... these.
-
- * tests/README: New file.
-
- * automake.texi (Conditional Programs): Show a sample Makefile.am.
- Remind $(EXEEXT) must be appended to configure substitutions.
- Show how Automake conditionals can be used instead.
- * tests/exeext.test (check_PROGRAMS): Make sure EXEEXT is also
- appended to conditionally defined programs.
-
-2003-01-16 Jim Meyering <jim@meyering.net>
-
- Accept --help and --version, and lots of syntactic clean-up.
- * lib/install-sh: Use consistent indentation, two spaces per level.
- (scriptversion): New variable.
- Change initializations like `variable=""' to `variable='.
- (usage): New variable.
- Use `test', not `['.
- Use `test -z "$var"', not `[ x"$var" = x ]'.
- Use `test -n "$var"', not `[ x"$var" != x ]'.
- Alphabetize case entries.
- Accept --help and --version options.
- Remove unnecessary `else :' clauses.
- Add a `Local variables' eval block to help emacs users update
- the time-stamp variable added above.
- Mostly from Karl Berry.
-
-2003-01-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/python.m4 (AM_PATH_PYTHON) <_AM_PYTHON_INTERPRETER_LIST>: Add
- python2.3.
-
- * m4/python.m4 (AM_PATH_PYTHON): Query distutils for `pythondir'
- or `pyexecdir', for the sake of 64-bit distributions that usually
- use lib64/ instead of lib/. Fall back to the default directory
- if it doesn't work.
- Suggested by Gwenole Beauchesne.
-
-2003-01-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/382:
- * automake.texi (Yacc and Lex): Document `AM_YFLAGS = -d'.
- Explain BUILT_SOURCES is usually needed in this case.
- Reported by William S Fulton.
-
-2003-01-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- Rename some files for the sake of 8+3 file systems.
- * tests/aclocali.test: Rename to tests/aclocal.test.
- * tests/aclocali1.test: Rename to tests/aclocal2.test.
- * tests/aclocalii.test: Rename to tests/aclocal3.test.
- * tests/acoutput.test: Rename to tests/acoutpt.test.
- * tests/acoutput2.test: Rename to tests/acoutpt2.test.
- * tests/acouttbs.test: Rename to tests/acoutbs.test.
- * tests/acouttbs2.test: Rename to tests/acoutbs2.test.
- * tests/autoheader.test: Rename to tests/autohdr.test.
- * tests/autoheader2.test: Rename to tests/autohdr2.test.
- * tests/condincl.test: Rename to tests/condinc.test.
- * tests/condincl2.test: Rename to tests/condinc2.test.
- * tests/distcommon.test: Rename to tests/distcom.test.
- * tests/distcommon2.test: Rename to tests/distcom2.test.
- * tests/distcommon3.test: Rename to tests/distcom3.test.
- * tests/installsh.test: Rename to tests/instsh.test.
- * tests/installsh2.test: Rename to tests/instsh2.test.
- * tests/instdata.test: Rename to tests/instdat.test.
- * tests/instdata2.test: Rename to tests/instdat2.test.
- * tests/libobj12b.test: Rename to tests/libobj13.test.
- * tests/link_f_c.test: Rename to tests/link_fc.test.
- * tests/link_f_c_cxx.test: Rename to tests/link_fccxx.test.
- * tests/link_f_cxx.test: Rename to tests/link_fcxx.test.
- * tests/nodefine.test: Rename to tests/nodef.test.
- * tests/nodefine2.test: Rename to tests/nodef2.test.
- * tests/required.test: Rename to tests/reqd.test.
- * tests/required2.test: Rename to tests/reqd2.test.
- * tests/sourcesub.test: Rename to tests/srcsub.test.
- * tests/sourcesub2.test: Rename to tests/srcsub2.test.
- * tests/specflags.test: Rename to tests/specflg.test.
- * tests/specflags2.test: Rename to tests/specflg2.test.
- * tests/specflags3.test: Rename to tests/specflg3.test.
- * tests/specflags6.test: Rename to tests/specflg6.test.
- * tests/specflags7.test: Rename to tests/specflg7.test.
- * tests/specflags8.test: Rename to tests/specflg8.test.
- * tests/specflags9.test: Rename to tests/specflg9.test.
- * tests/subdircond.test: Rename to tests/subcond.test.
- * tests/subdircond2.test: Rename to tests/subcond2.test.
- * tests/subdircond3.test: Rename to tests/subcond3.test.
- * tests/texinfo.test: Rename to tests/txinfo.test.
- * tests/texinfo2.test: Rename to tests/txinfo2.test.
- * tests/texinfo3.test: Rename to tests/txinfo3.test.
- * tests/texinfo4.test: Rename to tests/txinfo4.test.
- * tests/texinfo5.test: Rename to tests/txinfo5.test.
- * tests/texinfo6.test: Rename to tests/txinfo6.test.
- * tests/texinfo7.test: Rename to tests/txinfo7.test.
- * tests/texinfo8.test: Rename to tests/txinfo8.test.
- * tests/texinfo9.test: Rename to tests/txinfo9.test.
- * tests/texinfo10.test: Rename to tests/txinfo10.test.
- * tests/texinfo13.test: Rename to tests/txinfo13.test.
- * tests/texinfo16.test: Rename to tests/txinfo16.test.
- * tests/texinfo17.test: Rename to tests/txinfo17.test.
- * tests/texinfo18.test: Rename to tests/txinfo18.test.
- * tests/Makefile.am (TESTS): Adjust.
- * ChangeLog.1996: Rename to ChangeLog.96.
- * ChangeLog.1998: Rename to ChangeLog.98.
- * ChangeLog.2000: Rename to ChangeLog.00.
- * ChangeLog.2001: Rename to ChangeLog.01.
- * Makefile.am (EXTRA_DIST): Adjust.
- Reported by Richard Dawe.
-
-2003-01-13 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
-
- * lib/am/distdir.am (distcheck): '=' is not valid in DOS filenames.
- Use '_build' and '_inst' instead of '=build' and '=inst'.
- * tests/man2.test: Reflect change automake: check for files in
- '_build' and '_inst' directories instead of '=build' and '=inst'.
-
-2003-01-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- Use `_dirstamp' when the file-system doesn't support `.dirstamp'.
- * m4/lead-dot.m4: New file.
- * m4/Makefile.am (dist_m4data_DATA): Add lead-dot.m4
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_SET_LEADING_DOT.:
- * m4/depend.m4 (AM_SET_DEPDIR): Require AM_SET_LEADING_DOT. Define
- DEPDIR using am__leading_dot.
- * automake.in (require_build_directory): Define am__dirstamp, a new
- variable for the dirstamp basename, based on am__leading_dot.
- * tests/subobj6.test: Move all `test -f' into Makefiles, so we can
- use $(am__dirstamp).
- Reported by Richard Dawe.
-
- * tests/gnits2.test, tests/pr300-prog.test, tests/transform.test:
- Move all `test -f' into Makefiles, so we can honor $(EXEEXT) when
- testing for programs.
- Reported by Richard Dawe.
-
-2003-01-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (maintainer-check): Suggest using $sleep instead of
- sleep 2.
- * tests/defs.in (sleep): New variable.
- * tests/asm.test, tests/confsub.test, tests/lisp3.test,
- tests/texinfo16.test, tests/warnopts.test, tests/yaccvpath.test:
- Use $sleep instead of sleep 2, to work around timestamp
- inconsistencies in Windows.
- Reported by Richard Dawe.
-
- * Makefile.am (maintainer-check): Do not require SHELL=/bin/sh
- after $MAKE -e.
- * tests/ansi3.test, tests/ansi5.test, tests/cond22.test,
- tests/man2.test, tests/subobj3.test, tests/suffix8.test,
- tests/suffix11.test: Do not set SHELL=/bin/sh after $MAKE -e.
- $SHELL is overridden by tests/defs, so it won't hurt even
- if $MAKE -e uses the $SHELL envvar.
- * tests/ansi.test, tests/insh2.test, tests/texinfo.test,
- tests/texinfo8.test: Use SHELL=$SHELL, not SHELL=/bin/sh.
- Reported by Richard Dawe.
-
- Build elisp files all at once instead of one by one.
- * automake.in (handle_emacs_lisp): Define am__ELFILES. Add
- elc-stamp to all's dependencies.
- * lib/am/lisp.am (elc-stamp): New rule, build all *.elc files.
- (.el.elc): Rewrite to call elc-stamp if $@ doesn't exist.
- (clean-lisp): Clean elc-stamp.
- * lib/elisp-comp: Reindent. Erase the temporatry directory
- from a trap. Propagate Emacs's exit status.
- * tests/lisp3.test: New file.
- * tests/Makefile.am (TESTS): Add lisp3.test.
- Reported by Ryan T. Sammartino.
-
-2003-01-09 Akim Demaille <akim@epita.fr>
-
- * automake.texi: Prefer $(FOO) to @FOO@ in the documentation.
-
-2003-01-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/lispdir.m4: Register EMACS and EMACSLOADPATH as precious
- variables. Suggested by Ryan T. Sammartino.
-
-2003-01-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (macro_define): Add missing `{$cond}' (typo from
- 2002-09-18).
- ($gen_copyright): Append year 2003.
- (version): Increase year.
-
- * tests/defs.in: Substitute aclocaldir instead of running
- the installed aclocal. Otherwise Libtool and Gettext
- tests get skipped when aclocal doesn't preexist.
- Reported by Imacat.
- * tests/listval.test, tests/suffix2.test: Remove pointless -I
- argument to aclocal.
-
------
-
-Copyright (C) 2003-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/ChangeLog.04 b/old/ChangeLog.04
deleted file mode 100644
index 69eaf3628..000000000
--- a/old/ChangeLog.04
+++ /dev/null
@@ -1,1623 +0,0 @@
-2004-12-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/man2.test, tests/transform.test: Specify --mandir, in order
- not to fail when Autoconf changes its $mandir default.
-
-2004-12-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- Support for `install-dvi', `install-html', `install-ps', and
- `install-pdf', as recently introduced into the GNU Coding
- Standard.
-
- * automake.in (handle_factored_dependencies): Reject
- uninstall-dvi-local, uninstall-html-local, uninstall-info-local,
- uninstall-ps-local, and uninstall-pdf-local. Allow
- install-info-local even when no-installinfo is not used.
- (handle_data): Allow datarootdir, dvidir, htmldir, pdfdir, and psdir.
- (%standard_prefix): Declare these new standard directory variables.
- * doc/automake.texi (Texinfo, Third-Party Makefiles): Document
- install-dvi, install-html, install-pdf, and install-ps.
- (Extending): Document install-local-dvi, install-local-html,
- install-local-info, install-local-pdf, and install-local-ps.
- * lib/Automake/Rule.pm (%dependencies): Add new install rules,
- and remove uninstall-info.
- * /cvs/automake/automake/lib/am/texinfos.am (install-dvi,
- install-dvi-am, install-dvi-recursive, install-html,
- install-html-am, install-html-recursive, install-pdf,
- install-pdf-am, install-pdf-recursive, install-ps, install-ps-am,
- install-ps-recursive, uninstall-dvi-am, uninstall-html-am,
- uninstall-pdf-am, uninstall-ps-am): New rules.
- (uninstall-info): Delete.
- * tests/txinfo21.test: Augment to check for these new rules.
- * tests/exdir2.test: Do not use `htmldir' as example of
- undefined directory.
- * tests/overrid.test: Do not be fooled by install-ps and
- install-html.
- * tests/txinfo10.test: Do not grep for uninstall-info-recursive.
-
-2004-12-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (Preprocessed Fortran): Fix the definition of FCLINK.
-
- * Makefile.am (maintainer-check): Refine check for @_ in scalar
- context. Check for correct use of PRE_INSTALL, NORMAL_INSTALL,
- POST_INSTALL, PRE_UNINSTALL, NORMAL_UNINSTALL, and POST_UNINSTALL.
- * lib/am/texinfos.am (uninstall-info-am): Hide the invocation of
- $(PRE_UNINSTALL).
-2004-12-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/texinfos.am (uninstall-info-am): Show change of
- directory while uninstalling DJGPP-style info files.
-
-2004-12-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- Declare recursive install targets as dependencies of `.MAKE', so
- that `make -n install' works with BSD Make too.
-
- * lib/Automake/Rule.pm (reset) <%dependencies>: Add `.MAKE'.
- * automake.in (target_cmp): Move all `.XYZ' target last, not
- only `.PHONY'.
- (handle_factored_dependencies): Add target with hooks to `.MAKE'.
- Do not let a user definition of .MAKE override ours.
- * lib/am/install.am (install-am, install-strip): Mark as `.MAKE'.
- * lib/am/multilib.am (all-multi, install-multi, mostlyclean-multi,
- clean-multi, distclean-multi, maintainer-clean-multi): Likewise.
- * lib/am/subdirs.am (mostlyclean-recursive, clean-recursive,
- distclean-recursive, maintainer-clean-recursive): Likewise.
-
-2004-12-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config-ml.in, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: New upstream versions.
-
- * doc/automake.texi (gettext): Move the paragraph about
- dist_list_LISP...
- (Emacs Lisp): ... here.
- Report from Bruno Haible.
-
- * doc/automake.texi: Bump GFDL version to 1.2, since that is
- what we distribute.
-
- * doc/automake.texi: Fix more misuses of @ref, @xref and @pxref,
- including some of the "corrections" below. Thanks to Karl Berry.
-
- * doc/automake.texi: Correct several misuses of @xref and @pxref.
-
-2004-12-17 Jim Meyering <jim@meyering.net>
-
- * install-sh: Use `(exit N); exit N', not `(exit N); exit'.
- Otherwise, install-sh could exit with improper exit status when
- exiting via a trapped interrupt. Thanks to a report from Bob Proulx.
-
-2004-12-14 Akim Demaille <akim@epita.fr>
-
- * doc/automake.texi (Options): Englishoes.
- (Options): And another.
-
-2004-12-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * ChangeLog.03: New file, extracted from ChangeLog.
- * Makefile.am (EXTRA_DIST): Add it.
-
-2004-12-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (check_user_variables): New function, extracted
- from ...
- (handle_languages): ... here.
- (handle_languages, define_compiler_variable, define_link_variable):
- Honore LIBTOOLFLAGS.
- (handle_single_transform): Check _LIBTOOLFLAGS in
- addition to other per-target flags for Libtool objects.
- (handle_libtool): Warn if LIBTOOLFLAGS is defined.
- * doc/automake.texi (Libtool Flags, Program and Library Variables,
- Flag Variables Ordering): Document LIBTOOLFLAGS.
- * tests/libtool7.test: Check basic support for LIBTOOLFLAGS.
- * tests/libtool8.test: Make sure Automake warns about LIBTOOLFLAGS
- definitions.
- * tests/subobj9.test: Adjust.
-
-2004-12-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Per-Object Flags): New node.
-
-2004-12-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix PR automake/441:
- * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): Do
- not install *.class if "$(%DIR%_JAVA)" is empty.
- * tests/java3.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- Report from Johannes Nicolai.
-
- * doc/automake.texi (Java): Mention dist_ and add an example.
- * tests/java.test: Do actually compile java files and run distcheck.
-
-2004-12-08 Peter O'Gorman <peter@pogma.com>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/FileUtils.pm (dir_has_case_matching_file,
- reset_dir_cache): New functions.
- * automake.in (handle_dist, require_file_internal): Use them, so
- that CHANGELOG is not confused with ChangeLog on case-insensitive
- case-preserving file systems.
- * tests/hfs.test: New file.
- * tests/Makefile.am (TESTS): Add hfs.test.
-
-2004-12-08 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/mdate-sh: Don't use "set - x`$ls_command /`", as zsh mishandles
- the spaces inside $ls_command. Problem reported by Loulou Pouchet in
- <http://lists.gnu.org/archive/html/autoconf/2004-12/msg00074.html>.
- Don't use "set - x"; plain "set x" is enough, and simplifies debugging.
-
-2004-12-05 Toshio Kuratomi <toshio@tiki-lounge.com>
-
- * lib/py-compile: Add --destdir switch to py-compile that takes a
- path argument that is not compiled into the file when byte compiling.
- * lib/am/python.am: Use the new py-compile arguments to not include
- DESTDIR in the byte compiled files.
- * tests/python12.test: Test that DESTDIR won't be byte compiled into
- python files.
-
-2004-12-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Clean): Typo.
-
- * doc/automake.texi: Use @acindex for Autoconf macros, and @vindex
- for variables (@cvindex was previously used for both). Separate
- these two indices in the output. Use @code, @file, and @command
- in @cindex lines wherever appropriate so they render nicely.
-
-2004-12-05 Stepan Kasal <kasal@ucw.cz>
-
- * doc/automake.texi (renamed objects, CVS): Typos.
-
-2004-12-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Flag Variables Ordering): New section.
- (User Variables, Program and Library Variables): @xref it.
-
-2004-11-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Conditional Subdirectories): More comments
- about non-distributed subdirectories.
-
- * Makefile.am (maintainer-clean): Check for unescaped @ in manual.
-
-2004-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Built sources example): Fix typo.
-
-2004-11-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (parse_arguments): Diagnose abbreviation ambiguous with
- --help or --version.
- * automake.in (parse_arguments): Likewise.
- * tests/aclocal.test, tests/automake.test: Check this.
- Report from Eric Blake.
-
-2004-11-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (parse_arguments): Diagnose empty arguments, options
- with missing argument, and support `--'.
- * aclocal.in (parse_arguments): Diagnose options with missing
- argument.
- * tests/aclocal.test: More checks.
- * tests/automake.test: New file.
- * tests/postprog.test: Use `--' for fun.
- * tests/Makefile.am (TESTS): Add automake.test.
- Report from Eric Blake.
-
- * lib/am/progs.am (installcheck-%DIR%PROGRAMS): Run programs with
- /dev/null as input, so we do not hang on programs that read their
- input without supporting --help and --version.
- * lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise for scripts.
- * tests/gnits2.test: Change scriptnok.sh to cat its input.
- Report and fix from James Youngman.
-
-2004-11-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (%file_seen): Rename as ...
- (%file_added): ... this, and move it close to add_file(), the only
- function that uses it.
-
- * aclocal.in (version): Remove initial blank line and reproduce
- the layout of automake --version. From Art Haas.
-
- * aclocal.in (%file_type, FT_USER, FT_AUTOMAKE_SYSTEM): New variables.
- (scan_m4_dirs): New function, extracted from ...
- (scan_m4_files): ... here. Call scan_m4_files three times, for each
- FT_ constant.
- (scan_file): Take a file type argument to update %file_type.
- (write_aclocal): Do not m4_include files that are not of type FT_USER.
- * tests/dirlist.test: Make sure m4_include is not used for --acdir
- files.
-
- * tests/defs.in (testaclocaldir): New variable.
- * tests/aclocal.test: Use it to fix the test. Report from
- Patrick Welche.
-
-2004-11-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/python.m4 (AM_PATH_PYTHON): Fix the invocation of
- AC_PATH_PROGS to correctly define PYTHON as `:' when no interpreter
- is found (this worked correctly only when a minimal version was
- passed to AM_PATH_PYTHON). Report from Stepan Kasal.
- (_AM_PYTHON_INTERPRETER_LIST): Define using m4_define_default,
- so we can easily override the list from the test suite.
- * tests/python11.test: New file.
- * tests/Makefile.am (TESTS): Add python11.test.
-
- * doc/automake.texi (Libtool Modules): Make clearer that -module
- should appear explicitly in _LDFLAGS.
-
-2004-11-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (parse_arguments): Correctly recognize --print-ac-dir.
- * tests/aclocal.test: Check --print-ac-dir and a unknown option.
-
- * aclocal.in (parse_arguments): Fix detection of unexisting default
- $(datadir)/aclocal. Report from Akim.
-
-2004-11-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in ($acdir): Rename as ...
- (@system_includes): ... this.
- (@user_includes, @automake_includes): New variables.
- ($default_acdir, $default_dirlist): Remove.
- (parse_arguments): Populate @user_includes, @automake_includes, and
- @system_includes instead of filling a unique @dirlist array.
- ("MAIN"): Adjust to scan m4 files in @user_includes,
- @automake_includes, and @system_includes.
-
-2004-11-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (parse_arguments): Correct comment. From Akim.
-
-2004-11-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in: Use Automake::ChannelDefs, and adjust all output
- to be done via `fatal', `msg', `verb', or `prog_error'.
- (version): New function.
- (parse_arguments): Rewrite using Getopt::Long, call &version, and
- honor -W and --warning.
- ($verbose): Remove.
- (trace_used_macros): Do not trace the first arguments of macros
- for which we do not need it. This caused failures because of
- unexpected newlines in the output.
- * doc/automake.texi (aclocal options): Document -W and --warning.
- * tests/defs.in (ACLOCAL): Always use -Werror, to catch Perl
- warnings about uninitialized variables.
-
-2004-11-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/defs.in: Do not distinguish VERBOSE=x from
- VERBOSE=anything_but_x, always turn on shell traces.
-
- * aclocal.in (write_aclocal): Make sure $map_traced_defs{$m} exists
- before using it. Suppress a warning observable in test/acloca16.test.
- Report from Ralf Wildenhues.
-
-2004-11-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/XFile.pm (lock): Make sure $ENV{'MAKEFLAGS'} exists
- before inspecting it; this fixes "uninitialized value in
- concatenation" diagnostics when flock fails.
- Report from Gary V. Vaughan.
-
- * aclocal.in: Use strict and -w. Declare local variables with `my',
- and get rid of `local'.
- (scan_m4_files, add_macro): Reindent these functions while we are
- at it.
-
- * lib/config.guess, lib/texinfo.tex: New upstream versions.
-
- * doc/automake.texi (LIBOBJS): Spelling and grammar corrections
- from Ralf Wildenhues.
-
-2004-10-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (LIBOBJS): Augment with an example setup.
- (LTLIBOBJ): Rename as ...
- (LTLIBOBJS): ... this. Link to LIBOBJS, and mention LTALLOCA.
-
-2004-10-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi: Untabify, tabs in the examples are poorly
- rendered.
- * Makefile.am (maintainer-check): Grep tabs in the manual.
-
- * tests/comment8.test: Use $MAKE, not make.
-
-2004-10-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/distcom3.test: Typo.
-
-2004-10-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Libtool Convenience Libraries): Explain how
- to force the linker selection.
-
- * lib/install-sh: Fix the dirname emulation to ignore trailing
- slashes, i.e., the direname of `a/b/' is `a', not `a/b/'. This
- caused `install-sh a/b/' to fail.
- * tests/instsh2.test: Augment.
- Report from ПухальÑкий Юрий Ðндреевич.
-
-2004-10-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (get_object_extension): The extension to use is know
- by the caller, and cannot be selected by looking only at the
- target name. Simplify this function to simply conditionally
- prepend $U to the given extension.
- (handle_programs, handle_libraries, handle_ltlibraries): Hard-code
- the extension to use. This way Automake won't mistake a program
- named `foo.la' as a libtool library.
- * tests/primary3.test: New file.
- * tests/Makefile.am (TESTS): Add primary3.test.
-
-2004-10-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Install): Link to node Extending for examples.
- (Extending): More comments about install-data-hook vs
- install-exec-hook, and link to Install.
-
- * configure.ac: Export @am_AUTOCONF@.
- * tests/defs.in (AUTOCONF): Define as @am_AUTOCONF@, not @AUTOCONF@,
- so the test suite runs `autoconf' and not `missing --run autoconf'.
- * tests/missing.test, tests/missing2.test: Arrange for missing
- to be used in front of autoconf even if the user has exported
- AUTOCONF. This fixes two spurious failures reported by
- Mark D. Baushke.
-
- * lib/compile: Handle output.obj in addition to output.o.
- * tests/compile.test: Check for this.
-
-2004-10-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Sources): Typo, reported by Karl Berry.
-
-2004-10-10 Kelley Cook <kcook@gcc.gnu.org> (tiny change)
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in ($ac_defun_rx): Match AC_DEFUN_ONCE.
- (trace_used_macros): Trace AC_DEFUN_ONCE.
- * tests/aclocal5.test: Use AC_DEFUN_ONCE.
-
-2004-10-10 Stepan Kasal <kasal@ucw.cz> (tiny change)
-
- * doc/automake.texi (Extending): Typo.
-
-2004-10-10 Martin Waitz <tali@admingilde.org> (tiny change)
-
- * m4/as.m4 (AM_PROG_AS): Check dependency tracking mode for CCAS.
- * automake.in (cppasm): Use the dependency tracking more for CCAS.
- * doc/automake.texi (Assembly Support): Note that *.S are
- preprocessed with CPPFLAGS.
-
-2004-10-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * automake.in (Languages): Split .s (asm) and .S (cppasm) into
- separate languages. Make cppasm (Preprocessed Assembler) aware
- of CPPFLAGS, AM_CPPFLAGS.
- (handle_languages): Fix typo.
- (lang_cppasm_rewrite): New function.
-
-2004-09-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/subobj9.test: Adjust regexes after previous patch.
-
-2004-09-28 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_languages, define_compiler_variable): Output
- Libtool's --tag= option before --mode=compile, because depcomp use
- --mode=compile as end marker for libtool arguments.
- (define_linker_variable): Likewise before --mode=link, for
- uniformity.
- * tests/pr307.test: Make sure dependency files are updated. That
- was not the case because depcomp thought `--tag=CC' was the
- compiler to get dependencies from.
- Report from ПухальÑкий Юрий Ðндреевич.
-
-2004-09-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac: Require Perl 5.6.
- * lib/Automake/Config.in: Require Perl 5.6 (not done in
- lib/Automake/General.pm because it is shared with Autoconf),
- and use `our' instead of `use vars'.
- * aclocal.in (rel2abs): Remove.
- (scan_configure_dep): Use File::Spec->rel2abs instead.
-
- * tests/compile.test, tests/instsh2.test, tests/instspc.test: Use
- two consecutive spaces in filename instead of one, to catch mistake
- like `echo $val | ...`.
- * tests/README: Suggest this.
- Suggested by Ralf Wildenhues.
-
-2004-09-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Clean): Document -local targets.
-
-2004-09-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi: Typos.
-
-2004-09-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Timeline): Typos and other English mistakes
- reported by Jim and Gary.
-
- * lib/Automake/VarDef.pm (append): Strip comments from augmented
- variables.
- * tests/comment8.test: New file.
- * tests/Makefile.am (TESTS): Add comment8.test.
- Report from Stepan Kasal.
-
-2004-09-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/compile.test: Fix rm usage.
-
- * INSTALL, lib/INSTALL, lib/config.sub, lib/config.guess,
- lib/texinfo.tex: New upstream versions.
-
- * doc/automake.texi (Timeline): New node. Thanks to Karl and Tom
- for their comments on a preliminary version of this, Akim for
- digging out some old mails, and Jason Molenda for sending the note
- about Automake in Alias to Tom.
- (Releases): Rename `ac' to `acl', suggested by Akim.
-
-2004-09-19 Akim Demaille <akim@epita.fr>
-
- * AUTHORS, automake.in, aclocal.in: Add Alexandre Duret-Lutz as
- author.
-
-2004-09-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Releases): New node.
-
- * doc/automake.texi (Dependencies): Link to Dependency Tracking
- Evolution.
- (Dependency Tracking Evolution): Link to GNU make, Sources (for
- BUILT_SOURCES), and update the paragraph about the "plan" to
- inline dependency tracking with gcc3.
-
- * doc/automake.texi (History): New node.
- (Dependency Tracking Evolution): New node, filled with a Texinfo
- version of Tom Tromey's ``Dependency Tracking in Automake''
- document, initially published on the Automake homepage on
- 2001-06-29.
-
-2004-09-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/minuso.m4 (AM_PROG_CC_C_O): Make sure AC_PROG_CC is never
- called after this macro.
- * tests/distname.test, tests/subdir5.test, tests/subdir8.test,
- tests/subobj.test, tests/subobj4.test, tests/subobj5.test,
- tests/subobj6.test: Adjust.
- Report from Ralf Wildenhues.
-
- * lib/Automake/Channels.pm (_print_message): Handle uniq_part with
- arbitrary string.
- * automake.in (lang_c_rewrite): Set uniq_part so that the
- AM_PROG_CC_C_O diagnostic is output only once for subdir objects
- and only once for objects with per-target flags.
-
- * automake.in (lang_c_rewrite): Print files and locations
- for AM_PROG_CC_C_O errors.
- (handle_single_transform): Pass $var to &$subr so it can
- print locations.
-
- * lib/compile, lib/elisp-comp, lib/install-sh, lib/ylwrap: Use $ret
- instead of $status which is read-only in Zsh.
-
-2004-09-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/compile: Preserve spaces in arguments (for example
- -DPACKAGE_STRING="foo 0.1").
- * tests/compile.test: New file.
- * tests/Makefile.am (TESTS): Add compile.test.
-
-2004-09-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_clean): Sort rm commands output for
- mostlyclean-generic, clean-generic, distclean-generic, and
- maintainer-clean-generic.
- Report from Bob Friesenhahn.
-
- * automake.in (lang_c_rewrite): Do not require AM_PROG_CC_C_O for
- libtool objects.
- (handle_single_transform): Pass nonansi_obj to &$subr so
- lang_c_rewrite can distinguish libtool objects.
- * tests/libtool7.test: Use subdir-objects without using AM_PROG_CC_C_O.
- Report from Gary V. Vaughan and Patrick Welche.
-
-2004-09-07 Andreas Schwab <schwab@suse.de>
-
- * automake.in ($PATH_PATTERN): Add `+'.
-
-2004-09-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/missing3.test: New file (check for Paolo's change below).
- * tests/Makefile.am (TESTS): Add missing3.test.
-
-2004-09-07 Paolo Bonzini <bonzini@gnu.org>
-
- * missing: Handle all command line options together. Add a
- separate case statement to detect failed runs, and fail
- silently there if --help or --version is passed to the program.
-
-2004-08-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config.guess, lib/texinfo.tex: New upstream versions.
-
- For PR automake/433:
- * configure.ac (pkgvdatadir): Define using "$PACKAGE", not "automake".
-
- Fix PR automake/432:
- * lib/am/yacc.am [!%?MORE-THAN-ONE%]: Replace `#line's in y.tab.h too.
- * tests/yacc7.test: Check this.
-
-2004-08-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/DisjConditions.pm (new): Precompute 'string' and 'conds'
- in place instead of as a side-effect of calling ->string and ->conds.
- This saves method-lookup time, simplify ->string and ->conds, and
- allows to create the object only when necessary.
- (string, conds): Simplify, now that the result is precomputed.
-
- * automake.in (%am_file_cache): New hash.
- (make_paragraphs): Cache .am files with comments stripped to save
- some useless input and substitutions.
-
- * lib/Automake/Variable.pm (%_primary_dict): New hash.
- (_new, variable_delete): Update %_primary_dict.
- (variables): Accept an optional $suffix argument.
- * automake.in (check_typos, am_primary_prefixes): Use that
- optional argument to restrict the loops over the variables we are
- interested in.
-
-2004-08-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Item.pm (def): Rewrite more concisely, it's faster
- this way.
-
-2004-08-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- Speed up make_paragraphs.
- * automake.in (handle_languages): Always define SUBDIROBJ,
- DERIVED-EXT, and DIST_SOURCE, because the new transform() will
- abort on unknown tokens.
- (transform): Rewrite with different semantics.
- (make_paragraphs): Make a single pass over the paragraph to
- transform all template tokens instead of doing as much passes as
- possible token.
-
- * automake.in ($libtool_new_api): New variable.
- (handle_libtool): Do not libtool's aux files if $libtool_new_api.
- (scan_autoconf_traces) <LT_SUPPORTED_TAG>: Set $libtool_new_api.
- (scan_autoconf_traces) <AC_REQUIRE_AUX_FILE>: Remember only the
- first location for required files.
-
-2004-08-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- Support AC_REQUIRE_AUX_FILE, and fix requirement of AM_PROG_CC_C_O.
- * automake.in (%required_aux_file): New hash.
- (handle_single_transform, lang_c_rewrite): Do not explicitly
- require 'compile', this is now an internal detail of
- AM_PROG_CC_C_O.
- (scan_autoconf_traces): Trace AC_REQUIRE_AUX_FILE and fill
- %required_aux_file.
- (scan_autoconf_files): Require all %required_aux_file instead
- of explicitly requiring install-sh and missing.
- (generate_makefile): Do not require config.sub and config.guess.
- (handle_single_transform): Pass $have_per_exec_flags to
- &lang_c_rewrite.
- * configure.ac, m4/init.m4: Require Autoconf 2.59a.
- * doc/automake.texi (Optional): Document AC_REQUIRE_AUX_FILE.
- (Program and Library Variables, Options, Public macros):
- AM_PROG_CC_C_O is required when per-target flags or subdir-objects
- are used with C sources.
- * m4/minuso.m4: Require `compile' using AC_REQUIRE_AUX_FILE.
- * m4/missing.m4: Require `missing' similarly.
- * tests/acsubst2.test, tests/distcom2.test, tests/distcom6.test,
- tests/specflg.test, tests/specflg2.test, tests/specflg3.test,
- tests/specflg6.test, tests/specflg7.test, tests/specflg8.test,
- tests/specflg9.test, tests/subobj7.test, tests/target-cflags.test,
- tests/yacc6.test: Fix to use AM_PROG_CC_C_O.
-
-2004-08-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (yacc_lex_finish_helper): Fix definition of YLWRAP
- when ylwrap is installed in a default aux dir found in a parent
- package.
- * tests/subpkg.test: Augment to check that YLWRAP is installed
- properly.
- * doc/automake.texi (Yacc and Lex): ylwrap is not sought is the
- current directory.
- Report from Norman Gray.
-
-2004-08-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Optional): Update documentation for
- AC_CANONICAL_BUILD, AC_CANONICAL_HOST, and AC_CANONICAL_TARGET.
-
- * automake.in (AC_CANONICAL_HOST, AC_CANONICAL_SYSTEM): Replace by ...
- (AC_CANONICAL_BUILD, AC_CANONICAL_HOST, AC_CANONICAL_TARGET): ... these.
- (scan_autoconf_traces): Scan for the latter three macros instead of
- the former two.
- (make_paragraphs): Adjust definitions of %BUILD%, %HOST%, and %TARGET%.
- * tests/hosts.test: New file.
- * tests/Makefile.am (TESTS): Add hosts.test.
- Report and test case from Norman Gray.
-
-2004-08-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (scan_file): Update "#Extending%20aclocal" URL, makeinfo
- 4.7 now outputs "#Extending-aclocal".
-
-2004-08-01 Alexandre Duret-Lutz <adl@gnu.org>
- Derek R. Price <derek@ximbiot.com>
-
- Disable Lex and Yacc rules whenever possible if AM_MAINTAINER_MODE
- is used and maintainer-mode disabled.
- * automake.in (Automake::struct): Define nodist_specific.
- Set it in languages yacc, yaccxx, lex, and lexxx.
- (register_language): Default nodist_specific to 0.
- (handle_single_transform): Honor nodist_specific.
- * lib/am/yacc.am (am__skipyacc): Define this in maintainer mode.
- (%EXT%%DERIVED-EXT%, %OBJ%): Use $(am__skipyacc) to disable these
- rules when needed.
- * lib/am/lex.am (am__skiplex): Define this in maintainer mode.
- (%EXT%%DERIVED-EXT%, %OBJ%): Use $(am__skiplex) to disable these
- rules when needed.
- * tests/mmodely.test: New file.
- * tests/pr204.test: Augment to check AM_MAINTAINER_MODE and nodist_
- parsers.
- * tests/Makefile.am (TESTS): ADd mmodely.test.
- * doc/automake.texi (Yacc and Lex): Note dependence on maintainer mode.
-
-2004-07-28 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.9a.
-
- * configure.ac, NEWS: Bump version to 1.9.
-
- * automake.in (generate_makefile): Update misleading comment about
- libtool scripts.
-
- * lib/texinfo.tex: New upstream version.
-
-2004-07-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Remove `.' from the mkdir_p
- definition, it causes `make install' to fails for user with no
- right to write in the source-tree.
- * automake.in (handle_configure): Do not use mkdir_p in the
- definition for $(mkdir_p).
- Report from Harlan Stenn.
-
- * lib/am/texi-vers.am (%STAMPVTI%): Typo in comment.
-
-2004-07-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Libtool Modules): Typo in example.
- Report from Ulrich Eckhardt.
-
-2004-07-21 Andreas Schwab <schwab@suse.de> (tiny change)
-
- * automake.in (check_directory): Quote $dir in regexp.
-
-2004-07-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.8e.
-
- * configure.ac, NEWS: Bump version to 1.8d.
-
- * lib/config-ml.in, lib/config.sub, lib/config.guess, lib/texinfo.tex:
- New upstream versions.
-
- * lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.html,
- ?!GENERIC?%DEST_PREFIX%.html): Use $(X), not ${X}.
-
- * tests/installdir.test: installdirs-local should appear three times,
- since the change from 2004-07-11 will make it PHONY.
-
- * lib/am/distdir.am (distdir): Always use $(DIST_SUBDIRS) now
- that it is always defined. This is less confusing for users
- reading the generated Makefiles.
- * automake.in (handle_dist): Do not substitute DIST_SUBDIR_NAME.
-
- * lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.html,
- ?!GENERIC?%DEST_PREFIX%.html): Output .htp, and then rename to .html
- on success. In case the target is a directory, this ensures its
- time stamp is updated and the no files are left over inside.
- * tests/txinfo21.test: Augment to test missing timestamp update
- reported by Akim Demaille.
-
- * doc/automake.texi (Top level): Rename as ...
- (Directories): ... this, and split into ...
- (Subdirectories, Conditional Subdirectories): ... these.
- (Subdirectories): Illustrate the use of `.'.
- (Conditional Subdirectories): Describe SUBDIRS and DIST_SUBDIRS
- before the example. Append a discussion about non-configured
- conditional directories.
- (Alternative): Move as a child of Directories.
- (Subpackages): New section.
- (Dist): Adjust links to Subdirectories, a Subpackages.
- (Third-Party Makefiles): Link to Conditional Subdirectories.
-
-2004-07-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (target_hook): Accept %transform as last argument.
- (handle_single_transform): Pass %transform to target_hook.
- (handle_source_transform): Define DIST_SOURCE to tell whether
- a the source of a file is distributed or not.
- (lang_yacc_target_hook): Check DIST_SOURCE, and do not distribute
- the generated header if the .y source is not distributed.
- * tests/pr204.test: Use AM_YFLAGS = -d and make sure generated
- headers are not distributed.
-
-2004-07-12 Simon Josefsson <jas@extundo.com> (tiny change)
-
- * doc/automake.texi (Options): Improve ustar file name length
- discussion. Reference tar manual.
-
-2004-07-12 Ray Simard <rhs.techlists@sylvan-glade.com> (tiny change)
-
- * lib/Automake/Variable.pm (define): Fix precondition check.
-
-2004-07-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/428:
- Support for conditionally defined -hook and -local rules.
- * automake.in (user_phony_rule): New function.
- (handle_dist, handle_install, handle_all, do_check_merge_target,
- handle_factored_dependencies): Use user_phony_rule before
- adding a user -hook or -local rule as a dependency to ensure
- it is always defined an phony.
- * tests/cond37.test, tests/condhook.test: New files.
- * tests/Makefile.am (TESTS): Add them.
- Report from Simon Josefsson and Nik A. Melchior.
-
-2004-07-05 Paul Eggert <eggert@cs.ucla.edu>
-
- * doc/automake.texi (Install): Warn that you should create
- /tmp/staging before installing into it, to avoid security problems.
- * lib/install-sh: Remove support for -b= and -t= options; this
- has been moribund for a decade.
- Add support for -t and -T options (new in coreutils install).
- -c option now does nothing (the default is to copy), for
- compatibility with BSD and coreutils 'install'.
- Fix usage message; it referred to nonexistent variables.
- Don't assume 'lasterr' is unset in environment.
- * tests/instsh2.test: Don't assume that install-sh without -c
- moves (it now copies). Add tests for new -t and -T options.
-
-2004-06-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- For Debian Bug#254372:
- * doc/automake.texi (Invoking aclocal): Rewrite the paragraph
- explaining m4_include is used for relative files.
-
-2004-06-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- For Debian Bug #251820:
- * aclocal.in (scan_file): Keep track of the location where each
- file is included, and display it when reporting a missing file.
- Pass this location to scan_file as a second argument.
- (scan_m4_files): Adjust calls to scan_file.
- * tests/acloca14.test: Add a test for this diagnostic.
-
-2004-06-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/tar.m4 (_AM_PROG_TAR): Split the definition of $_am_tools
- so it works with Solaris and Tru64 /bin/sh.
- Report from Nicolas Joly.
-
-2004-06-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/tar.m4 (_AM_PROG_TAR): Introduce $_am_tools to work around a
- bug in NetBSD /bin/sh.
- Report from Nicolas Joly.
-
-2004-06-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/defs.in (required=icc): Use `-V -help' instead of
- `-V -dryrun'. icc 8.0 fails on the latter.
- * tests/depcomp5.test: Require depmode=icc for icc 7.x, and
- depmod=gcc otherwise.
- Report from Ralf Wildenhues.
-
- * lib/am/clean.am (distclean-generic): Do no
- `rm -f $(CONFIG_CLEAN_FILES)' if `$(CONFIG_CLEAN_FILES)' is empty.
- Report from Nicolas Joly.
-
-2004-05-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * NEWS: Make clearer that we do not output partial Makefile.ins on
- error.
- Suggested by Akim Demaille.
-
- * lib/depcomp (tru64) [libtool]: Use $dir$base.o.d instead
- of $dir.libs/$base.o.d. Libtool 1.5 causes both to be output,
- and we will clean the second automatically during distclean.
- Using the latter and leaving the former as we did before cause
- "files left in build directory" failures during distcheck.
- Suggested by Nicolas Joly.
-
- * doc/automake.texi (Built sources example): Explain what
- nodist_foo_SOURCES is (not) useful to, and use it in all the
- examples.
- (Tags): Mention nodist_noinst_HEADERS and nodist_prog_SOURCES.
- Suggested by Akim Demaille.
-
-2004-05-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * configure.ac, NEWS: Bump version to 1.8c.
-
- * configure.ac, NEWS: Bump version to 1.8b.
-
- * m4/tar.m4 (_AM_PROG_TAR) <cpio>: Specify -o and -i option first,
- by POSIX; and use option -d in am_untar.
-
- * tests/defs.in (PATH): Export it.
-
- * lib/am/multilib.am: Add $(MAKE) comments to multido and
- multiclean lines, to enable parallel make. Based on a patch
- by Alexandre Oliva applied to newlib on 2003-10-15.
-
-2004-05-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_autoconf_traces): Trace for LT_SUPPORTED_TAG
- instead of AC_LIBTOOL_TAGS, since that how CVS Libtool has been
- changed.
- * tests/libtool3.test: Do not grep for --tag=CC, since CVS
- Libtool (unlike Libtool 1.5) does not has any CC tag.
-
- * tests/tar2.test: Skip the test if no pax archiver were found.
-
- * NEWS: Sync with branch-1-8, and reorganize current entry.
-
- * automake.in (handle_libraries): Make the diagnostic about
- non standard libraries a warning in foreign packages. This
- is already the case in handle_ltlibraries.
- (handle_libraries, handle_ltlibraries): Suggest a standard
- library name in the diagnostic, to help newcomers.
- * tests/stdlib.test, tests/stdlib2.test: Check for these
- suggestions.
-
- Check directory names for unportable names. Shaking the code
- to check this also led to the removal of the no-"/"-in-SUBDIRS
- restriction, and a fix to _do_recursive_traversal.
-
- * automake.in (check_directory): New function extracted from
- handle_subdirs, and augmented to check for reserved W32/DOS name.
- (check_directories_in_var): New function.
- (handle_subdirs): Call check_directories_in_var. Doing so also
- suppress the restriction that SUBDIRS should not contain slashes.
- (scan_autoconf_traces) <AC_CONFIG_AUX_DIR>: Call check_directory
- to ensure the argument exists and is safe.
- * doc/automake.texi (Top level): Do not say that src/subdir
- cannot be put in SUBDIRS.
- (Dist): Mention that distdir and top_distdir can be absolute.
- * lib/Automake/Variable.pm (_do_recursive_traversal) Support
- undefined $fun_collect, and fix two bugs introduced with
- skip_ac_subst on 2004-03-07.
- * lib/am/distdir.am (distdir): Use absolute distdir and
- top_distdir when recursing, because we can no longer prepend only
- `..' in case of SUBDIRS with `/'.
- * tests/auxdir4.test, tests/subdir9.test: New files.
- * tests/Makefile.am (TESTS): Add auxdir4.test.
- * tests/cond2.test, tests/subdir7.test: Augment to check location
- in diagnostics.
-
-2004-05-21 Eric Blake <ebb9@byu.net> (tiny changes)
-
- * tests/txinfo22.test (AC_CONFIG_AUX_DIR): Use aux1, not aux, for
- cygwin compatibility.
- * tests/yacc6.test (AC_CONFIG_AUX_DIR): Likewise.
-
- * tests/conflnk3.test: Isolate checking for working `test -e' into
- a subshell, to skip this test on broken /bin/sh of solaris.
-
-2004-05-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/cond.m4 (AM_CONDITIONAL): Double-quote diagnostic.
- * tests/condd.test: Define a macro with the same name as a
- conditional.
- * tests/pr220.test: Modernize, and make sure the diagnostics
- contains the macro name.
- Report from Volker Boerchers.
-
-2004-05-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/texinfo.tex: New upstream version.
-
-2004-05-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_dist): Always define DIST_SUBDIRS, even when
- the no-dist or cygnus options are used.
- * tests/clean2.test: New file.
- * tests/Makefile.am (TESTS): Add clean2.test.
- Report from Daniel Jacobowitz.
-
- * aclocal.in (add_macro): Do not error out on undefined required
- macros. We are not sure they are really used, and Autoconf
- already diagnoses them.
- (scan_configure_dep): Diagnose missing AM_ macros as warnings rather
- than errors.
- * tests/aclocal3.test, tests/ammissing.test: Adjust to expect a
- warning instead of an error.
- * tests/aclocal8.test: AC_REQUIRE an undefined macro in an unused
- macro, and ensure aclocal works anyway.
- * tests/acloca17.test: New file.
- * tests/error.test: Delete, superseded by tests/acloca17.test.
- * tests/Makefile.am (TESTS): Add acloca17.test and remove error.test.
- Report from Jim Meyering.
-
- * lib/am/texibuild.am (?!GENERIC_INFO?%DEST_INFO_PREFIX%%DEST_SUFFIX%):
- Fold a few lines to reduce the output by 5 lines.
- Suggested by Karl Berry.
-
- * automake.in (parse_arguments, MAIN): Give more precise
- diagnostics when no input file is found.
- * tests/output5.test: Adjust.
- Suggested by Jens Petersen.
-
-2004-05-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/libs.am (AR, ARFLAGS): Move these definition ...
- * automake.in (handle_libraries): ... here, so that they are
- output even for EXTRA_LIBRARIES.
- * tests/ar2.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- Report from Kevin Ryde.
-
-2004-05-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (generate_makefile): Do not output Makefile.in on
- errors.
- * tests/werror2.test: New file.
- * tests/Makefile.am (TESTS): Add werror2.test.
- * tests/substtarg.test, tests/cond36.test, tests/backsl4.test:
- Adjust to run automake with -Wno-error when the output is expected
- in spite of the error.
- Report from Harlan Stenn.
-
- * doc/automake.texi (Program and Library Variables): Remove
- doubled word in footnote.
-
- * automake.in (handle_source_transform): Also check for a
- $(srcdir)/old_source rule when computing the default source name.
- Propagate this $(srcdir) prefix in Automake variables.
- * tests/ltlibsrc.test (noinst_LTLIBRARIES): Explicitly refer to
- $(srcdir)/zoo_d_old2_la.c. This fixes another failure with BSD Make.
-
-2004-05-13 Paul Eggert <eggert@cs.ucla.edu>
-
- * Makefile.am (fetch): Work even with FreeBSD "make", which
- uses sh -e and thus errors-out if a simple-command fails.
- * lib/am/check.am (check-TESTS): Likewise.
- * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Likewise.
- * lib/am/tags.am (TAGS): Likewise.
-
-2004-05-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/lex3.test, tests/yacc6.test: Require GNU Make.
- Fixing these for BSD Make requires invasive changes (lexers and
- parsers must be built into $srcdir, and--most annoyingly--all
- references to parse.h must be changed to $(srcdir)/parse.h).
- Report from Mark D. Baushke.
-
-2004-05-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/defs.in (GNUmake): Grep for GNU to parry FreeBSD make.
- Report from Mark D. Baushke.
-
-2004-04-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/texinfo.tex: New upstream version.
-
- * lib/depcomp (tru64): Clarify comments. Thanks to Nicolas Joly.
-
- * doc/automake.texi (Headers): Revamp.
-
-2004-04-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (check_typos): Clarify the diagnostic.
- * tests/warnopts.test: Adjust.
-
- * lib/Automake/VarDef.pm (append): Turn VAR_ASIS variables into
- VAR_PRETTY variables to work around make implementation with
- limited line length, such as OSF1/Tru64 make.
- * tests/longline.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- * tests/pluseq3.test, tests/pluseq8.test: Adjust.
- Report from Simon Josefsson.
-
- * lib/am/tags.am (TAGS): Pass `.' to Exuberant Ctags if
- --etags-include is used but no other files are supplied, so it
- creates the TAGS file anyway.
- Report from Akim Demaille.
-
- * lib/depcomp (tru64) [libtool]: Nicolas Joly reported on
- 2002-06-12 that dependencies were output in $dir.libs/$base.lo.d.
- Teun Burgers reported on 2004-03-30 they were in
- $dir.libs/$base.o.d. Try both.
-
-2004-04-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/414:
- Introduce option filename-length-max=99.
- * doc/automake.texi (Options): Document it.
- * configure.ac (AM_INIT_AUTOMAKE): Use it.
- * lib/Automake/Options.pm (_process_option_list): Recognize it.
- * automake.in (handle_dist): Set FILENAME_FILTER.
- * lib/am/distdir.am (distdir) [FILENAME_FILTER]: Diagnose long
- filenames.
- * tests/fn99.test: New file.
- * tests/Makefile.am (TESTS): Add fn99.test.
-
-2004-04-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/414:
- Introduce options tar-v7, tar-ustar, and tar-pax to select
- tar format.
- * doc/automake.texi (Options): Document them.
- * lib/Automake/Options.pm (_process_option_list): Process
- these new options.
- * lib/am/distdir.am (dist-gzip, dist-bzip2, dist-tarZ, dist,
- distcheck): Adjust to use am__tar and am__untar.
- * m4/tar.m4: New file.
- * m4/Makefile.am (dist_m4data_DATA): Add tar.m4.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Support the new options
- and call _AM_PROG_TAR.
- * tests/tar.test, tests/tar2.test, tests/tar3.test: New files.
- * tests/Makefile.am (TESTS): Add them.
-
-2004-04-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/distdir.am (distcheck): Typo in shar decompression.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
-2004-04-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix PR automake/49:
- * automake.in (scan_autoconf_traces) <AC_CONFIG_AUX_DIR>: Diagnose
- calls to AC_CONFIG_AUX_DIR followings calls to AM_INIT_AUTOMAKE.
- * tests/auxdir.test, tests/auxdir2.test, tests/lex5.test,
- tests/mdate3.test, tests/multlib.test, tests/reqd2.test,
- tests/symlink.test, tests/txinfo8.test, tests/txinfo22.test,
- tests/yacc6.test, tests/yacc8.test: Fix to call AC_CONFIG_AUX_DIR
- before AM_INIT_AUTOMAKE.
- * tests/auxdir3.test: New file (exercise this diagnostic).
- * tests/Makefile.am (TESTS): Add auxdir3.test.
-
-2004-04-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (%map_traced_defs): New variable.
- (scan_m4_files): Normalize filenames.
- (trace_used_macros): Trace for AC_DEFUN and AU_DEFUN, also
- ask for the filename and the first argument. Populate
- %map_traced_defs.
- (write_aclocal): Use $map_traced_defs to filter out unused
- definitions.
- * tests/acloca16.test: New file.
- * tests/Makefile.am (TESTS): Add acloca16.test.
-
-2004-04-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in ($automake_needs_to_reprocess_all_files): Remove.
- ($automake_will_process_aux_dir): New variable.
- (scan_autoconf_traces): Reorder @input_files so that the Makefile
- that distributes aux files is processed last. This way we do not
- have to process all files twice using
- $automake_will_process_aux_dir.
- (require_file_internal): Suggest a full run of automake when
- appropriate.
- (MAIN): Remove the loop on $automake_needs_to_reprocess_all_files.
- * tests/distcom7.test: New file.
- * tests/reqd2.test: Do not check for the "running more than two"
- message.
- * tests/Makefile.am (TESTS): Add distcom7.test.
-
- * automake.in (@config_aux_path, $config_aux_dir): Rename as ...
- ($config_aux_dir, $am_config_aux_dir): ... these.
- ($config_aux_dir_set_in_configure_in): Rename as ...
- ($config_aux_dir_set_in_configure_ac): ... this.
- (%require_file_found): Rename as ...
- (%required_file_not_found): ... this.
- (handle_languages, handle_texinfo_helper, handle_dist,
- handle_configure, handle_emacs_lisp, handle_python,
- scan_autoconf_traces, yacc_lex_finish_helper): Adjust to new names.
- (scan_autoconf_traces): Call locate_aux_dir.
- (locate_aux_dir): New function.
- (@require_file_paths): Remove, not used anymore.
- (require_file_internal): Look files in only one directory (instead
- of @require_file_internal) passed in argument.
- (require_file, require_conf_file): Pass the destination directory
- to require_file_internal.
-
- Fix for PR automake/416:
- * m4/depend.m4 (_AM_DEPENDENCIES): Catch `not supported' ICC 8.0
- remarks.
- From Peter Seiderer.
-
-2004-04-10 Andreas Buening <andreas.buening@nexgo.de>
-
- * aclocal.in, automake.in, configure.ac, Makefile.am,
- tests/aclocal.in, tests/automake.in, tests/defs.in:
- Use PATH_SEPARATOR from autoconf instead of ':'.
-
-2004-04-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_lib_objects): Pass the condition of
- the variable definition to handle_LIBOBJS and handle_ALLOCA,
- not the aggregated conditions.
- * tests/Makefile.am (TESTS): Add libobj14.test.
- * tests/libobj14.test: New file.
- Report from Bill Davidson.
-
-2004-04-02 Mike Nolta <mike@nolta.net>
-
- Better support for Fortran 9x.
- * automake.in: Add "fc" and "ppfc" languages for Fortran 9x.
- * doc/automake.texi (Fortran 9x Support): New section.
- * lib/Automake/Variable.pm (%_ac_macro_for_var): Add AC_PROG_FC.
- * tests/compile_f90_c_cxx.test: New file.
- * tests/ext.test: Add AC_PROG_FC.
- * tests/f90only.test: New file.
- * tests/link_f90_only.test: New file.
- * tests/Makefile.am (TESTS): Add new tests.
-
-2004-04-01 Paul Eggert <eggert@twinsun.com>
-
- * lib/install-sh: If "mv -f" works, use it, and fall back to
- the old "test -f" + "rm -f" + "mv" method only if "mv -f" does
- not work. This improves performance in the usual case where
- "mv -f" works. It also lets us install the "mv" command
- without worrying about a small window where "mv" does not
- exist (this problem was reported by Raul Nunez de Arenas
- Coronado).
-
-2004-03-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/python.m4 (AM_PATH_PYTHON): Make sure am_display_PYTHON is
- set when $PYTHON has been set by the user.
- From Esben Haabendal Soerensen.
-
-2004-03-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Default _SOURCES): Typo.
- (true): Correct _'s placement in example.
- Report from Stepan Kasal.
-
-2004-03-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- Overriding JAVAROOT is legitimate, do not warn about it.
- * lib/Automake/Variable.pm (%_silent_variable_override): Add JAVAROOT.
- * tests/java2.test: Run automake without -Wno-override.
- Report from Simon Josefsson.
-
-2004-03-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_texinfo_helper): Typos in comment.
-
-2004-03-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config.guess: New upstream version.
-
- Fix for PR automake/285:
- * automake.in (handle_ltlibraries): Keep track of installation
- directories for each condition, then define a $(am_TARGET_rpath)
- variable to hold the -rpath flags of Libtool libraries conditionally
- installed in different directories.
- * lib/Automake/DisjConditions.pm (merge): New function.
- * tests/libtool6.test: Adjust.
- * tests/libtool8.test: New file.
- * tests/Makefile.am (TEST): Add libtool8.test.
-
- * lib/Automake/Variable.pm (traverse_recursively,
- _do_recursive_traversal): Honor the skip_ac_subst option.
- * automake.in (handle_dist): Use skip_ac_subst.
-
-2004-02-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (cvs-release): Upload to ~ftp/pub/automake, not
- ~ftp/automake.
- * lib/gnupload (Example): Update example.
-
- * lib/config-ml.in, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: New upstream versions.
-
- * m4/depend.m4 (_AM_DEPENDENCIES): Use `touch' rather than `: >'
- to create numbered dependencies. This fixes a portability issue
- when CONFIG_SHELL is forced to /bin/sh on Solaris 8.
- Reported by Mark Phillips.
-
- * automake.in (lang_yacc_target_hook): Use Automake::Rule::define
- so that rules for the same headers are not output twice.
- * lib/Automake/Variable.pm (value_as_list_recursive): Do not
- call `return' inside `map'.
- * tests/cond30.test: Make sure `a.c' and `b.c' both appear
- in the Makefile.in.
- * tests/cond35.test, tests/cond36.test: New files.
- * tests/Makefile.am (TESTS): Add cond35.test and cond36.test.
- Report from Roman Fietze.
-
- Fix for PR/413:
- * lib/am/distdir.am (distcheck): Create $dc_destdir with `umask
- 077 && mkdir' instead of `$(mkdir_p)'. This prevents possible
- symlink attacks reported by Stefan Nordhausen.
-
-2004-02-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Multiple Outputs): More text, based on
- comments from Eric Siegerman, Tim Van Holder, and Oren Ben-Kiki.
-
-2004-02-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/mkdirp.m4: Use `mkdir -p' only with GNU mkdir, because
- Solaris 8's mkdir is not thread-safe.
- * lib/mkinstalldirs: Likewise.
- * lib/install-sh: Abort when mkdir fails to create a directory.
- Report from Nathanael Nerode.
-
-2004-02-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (rel2abs): New function.
- (scan_configure_dep): Use rel2abs instead of File::Spec->rel2abs,
- the later does was introduced in Perl 5.6 so using it breaks with
- Perl 5.005.
- Report from Werner John.
-
-2004-02-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Future of aclocal): Make clearer that
- it's ok to install macros into /usr/share/aclocal/.
-
-2004-02-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/lisp.test: Delete (pointless).
- * tests/Makefile.am (TESTS): Remove lisp.test.
-
- * lib/Automake/Variable.pm (transform_variable_recursively):
- Define rewritten variables in all conditions not *covered* by user
- definitions, not simply in conditions without a previous
- definition.
- * tests/cond34.test: New file.
- * tests/Makefile.am (TESTS): Add cond34.test.
- Report from Elena A. Vengerova
-
- * doc/automake.texi (Multiple Outputs): Typo.
-
- * doc/automake.texi (Emacs Lisp): Typos.
-
- Support for conditional _LISP.
- * automake.in (handle_emacs_lisp): Define $(ELCFILES) from LISP, not
- from $(am__ELCFILES).
- * lib/am/lisp.am (elc-stamp): Use $(LISP) instead of $(am__ELFILES).
- * tests/lisp6.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
- * automake.in (handle_emacs_lisp): Define $(ELCFILES) as
- $(am__ELCFILES), and always push it on @all. Do not mention
- elc-stamp.
- * lib/am/lisp.am (.el.elc): Rewrite as ...
- ($(am__ELCFILES)): ... this, and depend on elc-stamp.
- (elc-stamp): Make sure elc-stamp is older that all .elc files, as
- explained in the manual entry below.
-
- * doc/automake.texi (Multiple Outputs): New node.
-
-2004-01-31 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/regex.m4: Do not AC_SUBST(LIBOBJS), and quote most arguments.
- * tests/regex.test: New file.
- * tests/Makefile.am (TESTS): Add regex.test.
-
-2004-01-28 Alexandre Duret-Lutz <adl@gnu.org>
-
- * Makefile.am (maintainer-check): Check for unquoted $(DESTDIR) uses.
- * lib/am/data.am, lib/am/distdir.am, lib/am/java.am, lib/am/libs.am,
- lib/am/lisp.am, lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am,
- lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Quote
- installation paths in install, uninstall, and installcheck rules,
- as well as in am__installdirs variables. This is for the sake
- of paths containing spaces.
- * lib/am/install.am (installdirs-am, installdirs): Do not try
- to create "" directories.
- * test/instspc.test: New file.
- * test/Makefile.am (TESTS): Add instspc.test.
- Report from James Amundson.
-
- * doc/automake.texi (Not Enough, Third-Party Makefiles): New nodes.
- (Extending): Make it a subsection of Not Enough.
-
- * lib/gnupload (GPG): Use an absolute path. Suggestion from Gary
- V. Vaughan.
- (passphrase): Unset it this variable before using it, in case it
- was exported. Report from Scott James Remnant.
-
-2004-01-25 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/gnupload (usage): Fix example.
- * Makefile.am (cvs-release): Fix call to gnupload.
- From Jim Meyering.
-
-2004-01-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/gnupload: New script.
- * lib/Makefile.am (EXTRA_DIST): Distribute gnupload.
- * Makefile.am (cvs-release): New target.
-
-2004-01-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/python.am (uninstall-%DIR%PYTHON): Remove extra `;'s.
- Fix python10.test.
-
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Use `s/xx//p'
- instead of `/xx/ s///p'; the latter fails when GNU sed is run with
- POSIXLY_CORRECT. Also strip superfluous -e.
- Report from Miloslav Trmac.
-
-2004-01-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/lex5.test: Sleep before calling AUTOMAKE the second time,
- this fixes a spurious failure reported by Andreas Schwab. Also
- make sure ylwrap is not installed unless needed, and exercise
- --no-force.
-
-2004-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
-
- * doc/automake.texi (Dist): Document limitations of distcheck-hook
- and DISTCHECK_CONFIGURE_FLAGS with regard to subdirs and
- subpackages.
-
-2004-01-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Upgrading): New node.
-
-2004-01-20 Gary V. Vaughan <gary@gnu.org>
-
- * automake.in (scan_autoconf_traces): AC_LIBTOOL_TAGS can be
- correctly called without arguments as evidenced by the libtool
- demo directories.
-
-2004-01-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/conflnk3.test: Skip if `test -e' does not work.
- Report from Lars Hecking.
-
-2004-01-13 Jim Meyering <jim@meyering.net>
-
- * lib/install-sh: Change `\n \t' to `\n\t ' in `defaultIFS'
- assignment. Remove spurious SPACEs before TABs.
-
-2004-01-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/py-compile: Check input files after option processing.
- Ensure --basedir has an argument.
- * lib/am/python.am (install-%DIR%PYTHON): Do not run py-compile
- if nothing was installed.
- * tests/python10.test: New file.
- * tests/Makefile.am (TESTS): Add python10.test.
- Suggested by Sander Niemeijer.
-
- * tests/txinfo29.test: Remove autom4te.cache.
- Report from Greg Schafer.
-
- * lib/install-sh: Do not use "$@" in a context where it may be empty,
- for the sake of OSF1/Tru64's shell.
- Report from He Li.
-
-2004-01-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config.sub, lib/config.guess, lib/texinfo.tex: New upstream
- versions.
-
- * m4/as.m4, m4/depend.m4, m4/maintainer.m4, m4/multi.m4: Update
- copyright years and serial.
-
- * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add python2.4.
-
-2004-01-10 Peter Eisentraut <peter_e@gmx.net> (tiny change)
-
- * m4/as.m4 (AM_PROG_AS): Format and align help string more
- consistently.
- * m4/depend.m4 (AM_DEP_TRACK): Likewise.
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
- * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
- * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
-
-2004-01-10 Paul Eggert <eggert@twinsun.com>
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Don't use \? in sed regular
- expressions; it doesn't conform to POSIX.
-
-2004-01-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (shadow_unconditionally): New function...
- (handle_source_transform): ... extracted from here.
- (am_install_var): Use shadow_unconditionally to define %DISTVAR%.
- * lib/am/data.am, lib/am/java.am, lib/am/lisp.am, lib/am/python.am,
- lib/am/script.am: Add %DISTVAR% to DIST_COMMON.
- * tests/cond33.test: Make sure all conditional files are distributed.
- Report from Ralf Corsepius.
-
-2004-01-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Append `.' to $(mkdir_p).
- * lib/install-sh: Accept `install-sh -d' with 0..n arguments,
- as well as `install-sh sources... dest' with multiple sources.
- * tests/cond33.test: New file.
- * tests/instsh2.test: Add more checks for install-sh.
- * tests/transform.test: Test for installdirs.
- * tests/Makefile.am (TESTS): Add cond33.test
- Report from Ralf Corsepius.
-
- * automake.in (handle_configure): Skip AC_CONFIG_LINKS items which
- do not look like DEST:SRC.
- * tests/conflnk3.test: Check for AC_CONFIG_LINKS($computed).
-
-2004-01-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/289:
- * automake.in (Automake::Struct::libtool_tag): New attribute. Define
- it for the language that have a Libtool tag.
- (%libtool_tags): New variable.
- (handle_languages, define_compiler_variable)
- (define_linker_variable): Pass --tag=XXX to libtool if supported.
- (scan_autoconf_traces): Scan for _LT_AC_TAGCONFIG and AC_LIBTOOL_TAGS.
- * tests/libtool3.test, tests/subobj9.test: Check that --tag=XXX is
- output.
-
-2003-01-07 Eric Sunshine <sunshine@sunshineco.com> (tiny change)
-
- * lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): Add
- config.status.lineno.
-
-2004-01-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
-
- * doc/automake.texi (Rebuilding): Typo.
-
-2004-01-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/Makefile.am (dist_am_DATA): Really add inst-vars.am.
-
-2004-01-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * THANKS: Add Bruce Korb.
-
-2004-01-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- Mimic Paul Eggert's changes to Autoconf.
- * Makefile.am (automake, aclocal): Use `chmod a-w', not `chmod -w'.
- * lib/Automake/Makefile.am (Config.pm): Likewise.
- * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
-
- * lib/am/inst-vars.am: New file, define am__vpath_adj_setup,
- am__vpath_adj, and am__strip_dir.
- * lib/am/Makefile.am (dist_am_DATA): Add inst-vars.am.
- * lib/am/data.am, lib/am/lisp.am, lib/am/python.am,
- lib/am/scripts.am: Include inst-vars.am, and use $(am__vpath_adj),
- $(am__vpath_adj_setup), and $(am__strip_dir) in install and
- uninstall rules. This fixes installation of nobase_ files in
- VPATH setups with Sun and OSF1/Tru64 Make.
- * lib/am/libs.am, lib/am/ltlib.am: Include inst-vars.am, and use
- $(am__strip_dir) to simplify install and uninstall rules.
- * tests/nobase.test: Augment to check installation from VPATH builds.
-
- * automake.in (%transformed_files): New variable.
- (initialize_per_input): Reset it.
- (make_paragraphs): Fill %transformed_files, and define %FIRST%
- each time a file is transformed for the first time.
- (handle_configure): Do not define %FIRST_CONFIG_HIN%.
- (am_install_var): Do not define %FIRST%.
- * lib/am/remake-hdr.am: Use %?FIRST% instead of %?FIRST_CONFIG_HIN%.
-
-2004-01-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/texinfo.tex: New upstream version.
-
- * m4/mkdirp.m4: Do not use `-m 0755'. This overrides special bits
- and break setups where 775 directories are expected. Just obey
- umask as we did in the past.
- Report from Harlan Stenn.
-
-2004-01-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (scan_texinfo_file): Do not compare $outfile to ''
- as $outfile might not be defined at all.
-
- * lib/Automake/Variable.pm (define): Rework the way we check
- Automake variable definition. Ensure consistent :=/+=/=
- definitions only for variables that have been and are defined by
- Automake, and make it an internal error. Ignore Automake
- attempts to touch a user variable, even with += assignments.
- * tests/txinfo29.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo29.test.
- Reported by Bruce Korb.
-
-2004-01-02 Tom Tromey <tromey@redhat.com>
-
- * automake.in (handle_source_transform): Don't generate dist
- variables when no-dist is set.
- (generate_makefile): Likewise.
- * tests/nodist3.test: Ensure that DIST_SOURCES is not created,
- and that dist target does not exist.
- Reported by Tom Fitzsimmons.
-
-2004-01-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/libtool5.test, tests/ltcond.test, tests/ltcond2.test,
- * tests/ltconv.test: Run automake with --add-missing, because
- the CVS version of libtoolize no longer install config.sub and
- config.guess by default.
-
- Fix for PR automake/319:
- * aclocal.in (scan_m4_files): Scan configure.ac.
- (trace_used_macros, write_aclocal): Remove configure.ac from the
- list of files to include.
- * tests/Makefile.am (TESTS): Add acloca15.test.
- * tests/acloca15.test: New file.
-
- * aclocal.in (%file_includes): New variable.
- (scan_configure_dep): Compile $m4_include_rx and $ac_require_rx once.
- (scan_file): Scan for included files, and process these files
- recursively. Fill %file_includes and %file_contents. Return the
- list of included files, not the contents.
- (scan_m4_files): Adjust calls to scan_files.
- (strip_redundant_includes): New function.
- (trace_used_macros): Call it.
- (write_aclocal): Likewise. Also check the mtime of included files.
- * tests/Makefile.am (TESTS): Add acloca14.test.
- * tests/acloca14.test: New file.
- Report from Phil Edwards.
-
-2004-01-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_languages): Do not define DEP_FILES.
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Extract included
- files with $(DEPDIR) in their name instead of DEP_FILES.
- * tests/depend.test, tests/depend4.test, tests/exsource.test:
- Adjust.
- Suggested by Tom Tromey.
-
- Do not output .lo rules for programs and static libraries objects,
- and do not output .o/.obj rules for libtool libraries. This is
- about explicit rules only, not inference rules.
- * automake.in (handle_single_transform_list): Rename as ...
- (handle_single_transform): ... this. Take a single file
- to transform (it was only called this way) and accept a new
- %transform argument. Fill %lang_specific_files with list
- references instead of strings, and append %transform to each
- of these lists.
- (define_objects_from_sources, handle_source_transform):
- Take a %transform argument, and forward it to &handle_single_transform.
- (handle_languages): Adjust to the new format of
- %lang_specific_files, and honor its %transform part.
- (handle_programs, handle_libraries, handle_ltlibraries): Override
- %NONLIBTOOL% and %LIBTOOL% while calling handle_source_transform.
- (make_paragraphs): Define %NONLIBTOOL% by default. Make sure
- %transform settings override global settings.
- * lib/am/depend2.am (%OBJ%, %OBJOBJ%): Define only if %NONLIBTOOL%.
- * tests/libtool3.test: Augment to check Makefile.ins for unneeded
- rules.
- Suggested by Thomas Fitzsimmons.
-
- * automake.in, aclocal.in: Bump copyright years.
-
------
-
-Copyright (C) 2004-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
-
-;; Variables:
-;; coding: utf-8
-;; End:
diff --git a/old/ChangeLog.09 b/old/ChangeLog.09
deleted file mode 100644
index 0f021d648..000000000
--- a/old/ChangeLog.09
+++ /dev/null
@@ -1,5767 +0,0 @@
-2009-12-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix and complete copyright notices in Makefile.am files.
- * Makefile.am: Use single-`#' comment for copyright notice, so
- that it also appears in the generated Makefile.in file.
- * doc/Makefile.am: Likewise.
- * doc/amhello/Makefile.am: Likewise.
- * doc/amhello/src/Makefile.am: Likewise.
- * lib/Automake/Makefile.am: Likewise.
- * lib/Automake/tests/Makefile.am: Likewise.
- * lib/Makefile.am: Likewise.
- * lib/am/Makefile.am: Likewise.
- * m4/Makefile.am: Likewise.
- * tests/Makefile.am: Add copyright notice.
- Report of missing copyright notice by Stefano Lattarini.
-
-2009-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fixed typo in Makefile.am (extra semicolon removed)
- * Makefile.am (sc_diff_automake_in_automake): Removed an extra
- semicolon in target's rules, which prevented a stdout redirection
- from working.
-
-2009-12-21 Julien Danjou <julien@danjou.info> (tiny change)
-
- Add support for newer python version
- * m4/python.m4 (AM_PATH_PYTHON): Add python3.1 to
- _AM_PYTHON_INTERPRETER_LIST.
-
-2009-12-21 Karl Berry <karl@freefriends.org>
-
- mention ncftpput in gnupload --help
- * lib/gnupload: Mention ncftpput in `--help' output.
- Report by Bruce Korb.
-
-2009-12-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * NEWS: Update.
-
-2009-12-05 Antonio Diaz Diaz <ant_diaz@teleline.es>
-
- Replace unlzma, gunzip, bunzip2 with pack tool -d invocation.
- * lib/am/distdir.am (distcheck): Use lzma -d, gzip -d, bzip2 -d,
- instead of the respective un$tool invocation, to avoid depending
- on another tool.
- * THANKS: Update.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Use $DJDIR rather than $DJGPP to detect running on DJGPP.
- * automake.in (Language): Use $ENV{'DJDIR'} for the
- $ENV{'SHELL'} override.
- * bootstrap: Use $DJDIR for setting BOOTSTRAP_SHELL, to fix
- bootstrapping under MinGW when $DJGPP has been set.
-
- Do not rely on Perl symlink status, for MSYS perl.
- * automake.in (require_file_internal): Ensure presence of
- symlink target file; MSYS perl symlink doesn't return an error
- status when the file could not be created (copied, on this
- system). Fixes symlink.test failure.
-
-2009-12-04 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid Solaris sh `set -e' bug in vala4.test.
- * tests/vala4.test: New variable $cwd, holding the full path of the
- current directory. Use it instead of `pwd` command substitution,
- to avoid Heirloom/Solaris Sh bug with `set -e'.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix requirements of silent8.test.
- * tests/silent8.test: Require makeinfo --html, tex, texi2dvi -o,
- dvips.
-
-2009-12-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- File `automake.in' is not meant to be executed (only to be
- preprocessed into `automake'), so don't leave it executable.
- * automake.in: Remove executable bit.
-
-2009-12-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Don't make the generated Automake's Config.pm executable.
- * lib/Automake/Makefile.am (Config.pm): Don't make the generated
- `Config.pm' file executable.
-
-2009-11-28 Jim Meyering <meyering@redhat.com>
-
- do not put world-writable directories in distribution tarballs
- * lib/am/distdir.am (distdir): Do not make all directories
- group- or world-writable. Instead, use 755.
- * tests/subpkg4.test (test-distdir-is-readable): Check for new,
- more restricted permissions.
-
-2009-11-29 Karl Berry <karl@freefriends.org>
-
- Rewrite `gnupload --help' examples.
- * lib/gnupload: Use GNU style version numbers, a generic package
- name, and more useful examples.
-
-2009-11-28 Jim Meyering <meyering@redhat.com>
-
- avoid a warning from perl-5.11
- * lib/Automake/Wrap.pm (_tab_length): Remove useless use of tr's
- "/d" modifier.
-
-2009-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Distribute the Automake bootstrap script.
- * Makefile.am (EXTRA_DIST): Add bootstrap.
- Report by Jan Engelhardt.
-
-2009-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Coverage for corner cases in derive_suffix.
- Ensure unrelatex SUFFIXES entries and unrelated inference rules
- are ignored silently.
- * tests/ext3.test: New test.
- * tests/Makefile.am: Update.
-
- Coverage for user-provided _LINK variables.
- * tests/link_override.test: New test.
- * tests/Makefile.am: Adjust.
-
- Coverage: warn about substitutions that need EXTRA_PRIMARY.
- * tests/extra9.test: New test.
- * tests/Makefile.am: Adjust.
-
- Coverage: warn about configure substitution in EXTRA_PRIMARY.
- * tests/subst5.test: New test.
- * tests/Makefile.am: Update.
-
- Coverage for syntax errors with conditionals in included fragments.
- * tests/condinc2.test: Amend test.
-
- Coverage: diagnose variables with forbidden dist_ prefix.
- * tests/candist.test: New test.
- * tests/Makefile.am: Update.
-
- Coverage for conditional `else' and `endif' arguments.
- * tests/cond46.test: New test.
- * tests/Makefile.am: Update.
-
-2009-10-31 Jim Meyering <meyering@redhat.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Don't let an envvar setting of "$fail" cause build failure.
- Without this change, in a project using an automake-generated
- Makefile, "make fail=anything" would fail inappropriately,
- due to the `test -z "$$fail"' at the end of this emitted rule:
- * lib/am/subdirs.am ($(RECURSIVE_TARGETS)): Initialize "fail=" to keep
- an envvar setting of that variable from causing unwarranted failure.
- ($(RECURSIVE_CLEAN_TARGETS)): Likewise.
- * tests/subdir10.test: New test.
- * tests/Makefile.am: Update.
-
-2009-10-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Simplify Variable::_check_ambiguous_condition.
- * lib/Automake/Variable.pm (_check_ambiguous_condition): No need
- to check for $def since ambiguous_p returns an empty $message if
- there is no other condition which is ambiguous to $cond.
-
- Coverage for DisjConditions.pm.
- * lib/Automake/tests/DisjConditions.pl (test_basics): Increase
- test coverage: test ->human, ->merge, ->simplify, ->multiply.
- * lib/Automake/tests/DisjConditions-t.pl (test_basics): Likewise
- changes, but including state copies across thread creation.
- * lib/Automake/tests/DisjCon2.pl: New test.
- * lib/Automake/tests/DisjCon3.pl: Likewise.
- * lib/Automake/tests/Makefile.am (TESTS, XFAIL_TESTS): Adjust.
-
- Coverage and fixes for Condition.pm.
- * lib/Automake/Condition.pm (new): Catch common programming
- errors better by checking type of passed argument before
- munging them to all be strings through split.
- * lib/Automake/tests/Condition.pl (test_basics): Also test
- ->human.
- (test_merge): New function, test ->merge, ->merge_conds,
- ->strip.
- * lib/Automake/tests/Condition-t.pl (test_basics, test_merge):
- Likewise changes, but including state copies across thread
- creation.
- * lib/Automake/tests/Cond2.pl: New test for programming error.
- * lib/Automake/tests/Cond3.pl: Likewise.
- * lib/Automake/tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
- Coverage for Wrap.pm.
- * lib/Automake/tests/Wrap.pl (@tests): Add test for word with
- trailing space.
- (test_makefile_wrap, @makefile_tests): New function, new list of
- tests, to test makefile_wrap.
-
- Coverage for Version.pm.
- * lib/Automake/tests/Version.pl (test_version_compare): Also
- try Automake::Version::check for the version pairs, taking into
- account the special-case naming of code forks.
- (@tests): Add more test cases.
- (test_bad_versions, @bad_versions): New function, new test cases,
- to ensure bad version strings are rejected.
- * lib/Automake/tests/Version2.pl: New test.
- * lib/Automake/tests/Version3.pl: Likewise.
- * lib/Automake/tests/Makefile.am (TESTS): Add tests here ...
- (XFAIL_TESTS): ... and here, new.
-
- Pod coverage for Perl modules.
- * lib/Automake/ChannelDefs.pm (parse_warnings): Fix
- typo in Pod documentation.
- * lib/Automake/Condition.pm: Add a couple of missing `=back'
- lines.
- (_has): Renamed from ...
- (has): ... this, as this is an internal method.
- (strip, false, true_when): Adjust callers.
- * lib/Automake/Configure_ac.pm: Add Pod `Functions' section with
- documentation for find_configure_ac and require_configure_ac.
- * lib/Automake/Location.pm: Fix typo in Pod. Add `Methods'
- section, document methods.
- * lib/Automake/RuleDef.pm: New `Methods' Pod section.
- * lib/Automake/VarDef.pm: Document `raw_value'.
- * lib/Automake/Wrap.pm (_tab_length): Rename from ...
- (tab_length): ... this, as this is an internal method.
- (wrap): Adjust callers.
- * lib/Automake/XFile.pm: Reorganize Pod a bit, add `Methods'
- section.
-
-2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Perl coverage support using Devel::Cover.
- This introduces makefile rules to run the testsuite with Perl
- coverage enabled. It skips tests that use perl ithreads, by
- unsetting AUTOMAKE_JOBS and setting WANT_NO_THREADS to make the
- threaded tests skip.
- * Makefile.am (PERL_COVERAGE_DB, PERL_COVERAGE_FLAGS)
- (PERL_COVER): New variables.
- (check-coverage, recheck-coverage, clean-coverage): New phony
- targets.
- (check-coverage-run, recheck-coverage-run): New phony helper
- targets.
- (clean-local): New, depend on clean-coverage.
- * lib/Automake/tests/Condition-t.pl: Skip if WANT_NO_THREADS is
- set.
- * lib/Automake/tests/DisjConditions-t.pl: Likewise.
- * tests/defs.in: New required entry 'perl-threads'.
- * tests/parallel-am.test: Use it to skip if WANT_NO_THREADS is
- set.
- * tests/parallel-am2.test: Likewise.
- * tests/parallel-am3.test: Likewise.
-
- Add convenience `recheck' target to our toplevel Makefile.am.
- * Makefile.am (recheck): New convenience target.
- * tests/README: Give examples for running only failed or
- outdated or otherwise selected tests.
-
- dist: allow running several compressors in parallel.
- * lib/am/distdir.am (am__post_remove_distdir): New internal
- variable.
- (DIST_TARGETS): New variable, set to list of chosen distribution
- formats. Order formats by expected duration, slowest first, for
- better parallelism.
- (dist-gzip, dist-bzip2, dist-lzma, dist-xz, dist-tarZ)
- (dist-shar, dist-zip): Use $(am__post_remove_distdir).
- (dist, dist-all): Do not depend on distdir. Instead of
- replicating each compression command, use a recursive invocation
- to allow running all $(DIST_TARGETS) in parallel.
- * NEWS: Update.
- Report by Peter Breitenlohner.
-
- Fix license headers of cscope tests to be GPLv2+.
- * tests/cscope.test: Revert to GPL version 2.
- * tests/cscope2.test: Likewise.
- * tests/cscope3.test: Likewise.
-
- Sync auxiliary files from upstream.
- * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: Sync from upstream.
-
- Doc and comment typos.
- * automake.in (handle_ltlibraries): Fix typo in comment.
- * tests/distcom7.test: Likewise.
- * tests/lisp5.test: Likewise.
- * doc/automake.texi (Usage of Conditionals): Fix typo.
-
-2009-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix race condition in werror2.test due to sanity sleep change.
- * tests/werror2.test: Generate Makefile.in before configure so
- that a Makefile.am update after configure has run is guaranteed
- to be newer than Makefile.in.
- * tests/subdir5.test: Document why this test does not need to be
- fixed.
- * tests/subdir8.test: Likewise.
-
- Improve description of the various *LINK variables.
- * doc/automake.texi (Program and Library Variables): _LINK also
- receives libraries to link against. _LINK may be generated.
- (Program Variables): Document reasons when per-target _LINK is
- used instead of LINK.
- (How the Linker is Chosen): Document how a per-target _LINK
- variable and per-target link flags override linker selection.
- * THANKS: Update.
- Report by Dave Korn against gcc/libstdc++-v3.
-
- Allow variable override of, rather than by, silent variables.
- When overriding variables, check the VAR_SILENT status of the
- old condition, not the new one: we allow non-silent overrides
- of silent variables (these do not hit ordering bugs in the
- automake output), but there is no use case for doing so the
- other way round. Fixes conditional overrides of variables
- annotated AM_SUBST_NOTMAKE in configure.ac.
- * lib/Automake/Variable.pm (_check_ambiguous_condition): Check
- for VAR_SILENT in $ambig_cond not $cond.
- * tests/cond44.test, tests/cond45.test: New tests, analogous to
- cond23.test and cond24.test.
- * tests/Makefile.am: Update.
- Spotted originally in binutils/bfd.
-
- Fix `make clean check' for the Automake package.
- * lib/Automake/Makefile.am (SUBDIRS): Add `.' before `tests',
- so that Config.pm is built first.
-
- Fix in-tree `recheck' after failed test that runs `check'.
- If a test like pr401b-p.test fails for some reason, a `make
- recheck' would cause another reason for failure because it sets
- AM_MAKEFLAGS which gets propagated into the test and causes its
- `make check' to fail.
- * tests/defs.in: Also unset AM_MAKEFLAGS.
-
-2009-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Updated code enabling Bourne-compatibility in test scripts.
- * tests/defs.in: updated the code enabling Bourne-compatibility
- mode in the shell (now it's copied from autoconf 2.64).
-
- Avoid leaking TEST_LOG_COMPILER in environment of test scripts.
- * tests/defs.in: Unset variable `TEST_LOG_COMPILER'.
-
-2009-10-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Testsuite: do not use `chmod -R' when cleaning up.
- * tests/Makefile.am (clean-local-check): Do not use `chmod -R' on
- the test directories, as that may change or try to change the mode
- of installed files: the test directory may contain symlinks to
- ltmain.sh files from a Libtool installation, and Solaris `chmod -R'
- touches symlink targets. Instead, use the cleanup strategy used
- in distdir.am (which is also employed in tests/defs.in).
-
-2009-10-06 Bruno Haible <bruno@clisp.org>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix 'compile' script to not call mv when target equals source.
- * lib/compile: Don't attempt to move the generated file to its
- target destination when it is already at the target destination.
- Avoids an mv failure with subdir-objects.
- * tests/ccnoco3.test: New test.
- * tests/Makefile.am: Adjust.
-
-2009-10-01 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- Fix recommended way to run automake's test scripts with Zsh.
- * tests/README (Supported shells): Changed the recommended way
- to run automake's test scripts with Zsh. Now we tell to use
- the Zsh's command line option `-o no_function_argzero', not
- `--no-function-argzero', since the latter does not work with
- versions 3.x of Zsh.
-
-2009-09-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fixups and tests for cscope functionality.
- It seems cscope is not able to take into account relative
- file names of included cscope.files files, but it is able to
- canonicalize file names containing '../' sequences.
- This patch makes the cscope references relative again, and
- fixes some corner cases.
- * NEWS: Reword a bit.
- * THANKS: Update.
- * automake.in (handle_tags): Use $(am__cd). Provide default
- empty rule for the `cscope' target, for empty sources.
- * lib/am/tags.am (cscopelist): Construct relative path to files
- in $(srcdir) if $(srcdir) is relative.
- [TOPDIR_P] (cscope): Do not depend on cscope-clean. Only invoke
- $(CSCOPE) if cscope.files is nonemtpy.
- (clean-cscope): Rename from ...
- (cscopeclean): ... this.
- (cscope.files): Depend on clean-cscope.
- (distclean-tags) [!TOPDIR_P]: No need to remove cscope files
- here.
- * tests/cscope.test, tests/cscope2.test, tests/cscope3.test: New
- tests.
- * tests/Makefile.am: Adjust.
-
-2009-09-25 Debarshi Ray <rishi@gnu.org>
-
- New target to generate cscope database.
- * automake.in (handle_tags): Handle cscope.
- * doc/automake.texi (Tags): Document cscope.
- * lib/am/tags.am (CSCOPE): New macro.
- [TOPDIR_P] (AM_RECURSIVE_TARGETS): Add cscope.
- (cscope): New target.
- (cscopeclean): Likewise.
- (cscope.files): Likewise.
- (cscopelist): Likewise.
- (distclean-tags): Remove `cscope.out', `cscope.in.out',
- `cscope.po.out' and `cscope.files'.
- * NEWS: Update.
- Based upon earlier patch from Jesse Barnes.
-
-2009-09-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Use silent-rules for building the Automake package.
- * configure.ac (AM_INIT_AUTOMAKE): Add silent-rules option.
- * Makefile.am (automake, aclocal, INSTALL): Add silencing
- variables to recipe.
- * doc/Makefile.am (update_mans, $(srcdir)/aclocal.1)
- ($(srcdir)/automake.1, $(srcdir)/amhello-1.0.tar.gz): Likewise.
- * lib/Automake/Makefile.am (Config.pm): Likewise.
- * tests/Makefile.am ($(srcdir)/parallel-tests.am)
- ($(parallel_tests), defs-p): Likewise.
-
-2009-09-25 Jack Kelly <endgame.dos@gmail.com>
-
- Add silent rules support for texinfo outputs.
- * automake.in (define_verbose_texinfo): Define several new verbose
- tagvars and verbose vars.
- (define_verbose_tagvar): Increase spacing to 8 to accommodate
- MAKEINFO, TEXI2DVI, TEXI2PDF.
- (handle_texinfo): Additional substitution for silencing dvips.
- (output_texinfo_build_rules): Additional substitutions for
- silencing texi2dvi and texi2pdf.
- * lib/am/texibuild.am: Add silencing to makeinfo, makeinfo --html,
- texi2dvi and texi2pdf rules.
- * lib/am/texinfos.am: Add silencing to .dvi.ps rule.
- * tests/Makefile.am: Add silent8.test.
- * tests/silent8.test: New test: tests that silent texinfo rules
- produce quiet messages.
- * NEWS: Update.
-
-2009-09-18 Peter Johansson <trojkan@gmail.com> (tiny change)
-
- Fix link to "Recursive Make Considered Harmful" paper.
- * doc/automake.texi (Alternative): Fix broken URL.
-
-2009-09-11 Reuben Thomas <rrt@sc3d.org> (tiny patch)
-
- Fix outdated reference to sh-utils in the manual.
- * doc/automake.texi (Options): The reference to `sh-utils'
- should be to `coreutils'.
-
-2009-09-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid sleeping for one second most of the time in sanity check.
- * m4/sanity.m4 (AM_SANITY_CHECK): Try sanity check first without
- sleeping for a second, and only if that failed, sleep and try
- again, to avoid the delay in the common case of a configure
- script that is older than a second, or a system with sub-second
- time stamp granularity.
- Report and different patch by Jim Meyering.
-
-2009-09-06 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- tests/README: warn about zsh incompatibilities.
- * tests/README (User interface, Getting details from failures):
- Explicitly state that every test is a "shell script", not just
- a "script", and that it's run by `/bin/sh' by default.
- * tests/README (User interface, Supported shells): New subsection,
- telling about expected portability of the automake test scripts,
- describing a zsh incompatibility (w.r.t. $0), and a workaround to
- it (with the `--no-function-argzero' option).
-
- testsuite: fix a minor glitch.
- * tests/defs.in (exit trap): Use `$me', not `$as_me', as the
- name of the current test (used in error messages).
- * THANKS: Update.
-
-2009-07-08 Jim Meyering <meyering@redhat.com>
-
- manual: fix a trivial grammar error.
- * doc/automake.texi (Invoking aclocal): Fix grammar.
-
-2009-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- AM_PROG_GCJ: use AC_CHECK_TOOLS for gcj, for cross compilation.
- * m4/gcj.m4 (AM_PROG_GCJ): Use AC_CHECK_TOOLS, rather than
- AC_CHECK_PROGS, when searching for `gcj'.
- * NEWS: Update.
- Report by Jack Kelly.
-
-2009-05-24 Jack Kelly <endgame.dos@gmail.com> (tiny change)
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- AM_PROG_GCJ currently fails to define OBJEXT and EXEEXT.
- * tests/gcj6.test: New test.
- * tests/Makefile.am: Update; mark gcj6.test as XFAIL.
- * THANKS: Update.
-
-2009-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: avoid GNU make 3.80 substitution bug.
- * lib/am/check.am [PARALLEL_TESTS] (check-TESTS): Remove any
- `.log' entries from `$(TEST_LOGS)' even if the list is nonempty,
- to work around GNU make 3.80 substitution reference issue with
- trailing white space in the variable.
- * tests/parallel-tests10.test: New test.
- * tests/parallel-tests6.test: Update comment.
- * tests/Makefile.am: Update.
- * NEWS: Update.
- Report by Bob Friesenhahn.
-
-2009-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- testsuite: unset installation directory variables.
- * tests/defs.in: Before test execution, be sure to unset all
- installation directory variables, so they cannot have an effect
- on a `make -e install' command within a test.
- Report by Dagobert Michelsen.
-
- testsuite: do not change the mode of installed Libtool files.
- * tests/defs.in: Do not use `chmod -R' on the test directory, as
- that may change or try to change the mode of installed files:
- the test directory may contain symlinks to ltmain.sh files from
- a Libtool installation, and Solaris `chmod -R' touches symlink
- targets. Instead, use the cleanup strategy used in distdir.am.
- * NEWS: Update.
- Report by Dagobert Michelsen.
-
- testsuite: do not fail in cleanup code.
- * tests/defs.in: Turn off errexit in the cleanup trap, to avoid
- a test failure due to a nonzero command.
- * THANKS: Update.
- Report by Dagobert Michelsen.
-
-2009-05-23 Peter O'Gorman <peter@pogma.com>
-
- python: do not install in system directories on Darwin 9.
- On Darwin 9, get_python_lib returns a path below `/Library/Python'
- regardless of the `prefix' argument it was passed, causing `make
- install' to target the system directories regardless of `--prefix'
- argument used. Work around this Darwin bug by ignoring the result
- of get_python_lib if it points outside of the passed prefix, and
- the prefix was not a system directory.
- * m4/python.m4 (AM_PATH_PYTHON): If the prefix does not match the
- initial portion of the pythondir returned by get_python_lib, then
- ignore it unless the configured prefix is `/usr' or starts with
- `/System'. Fixes instmany-python.test failure on Mac OS X 10.5.7.
- * NEWS: Update.
-
-2009-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Clarify how to enable `silent-rules' and other global options.
- * doc/automake.texi (Options): When introducing options, be more
- careful to note that not all of them can be specified in
- AUTOMAKE_OPTIONS statements, and that some do not make sense in
- subdirectories. Note more prominently that `silent-rules' can
- only be specified in configure.ac.
- * lib/Automake/Options.pm (_process_option_list): Improve error
- message for `silent-rules', `tar-v7', `tar-ustar', `tar-pax'
- options specified in Makefile.am files.
- Report by Bruno Haible.
-
-2009-05-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Skip specflg10.test without a C++ compiler.
- * tests/specflg10.test: Require g++.
- Report by Thien-Thi Nguyen.
-
-2009-05-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Revert last patch, IRIX has an editor named `jot'.
- * tests/instmany-mans.test: Do not try `jot'.
- * tests/instmany-python.test: Likewise.
- * tests/instmany.test: Likewise.
- Report by Peter O'Gorman.
-
-2009-05-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- testsuite: also try `jot' as `seq' replacement.
- * tests/instmany-mans.test: Try BSD `jot' before resorting to a
- slow but portable shell loop.
- * tests/instmany-python.test: Likewise.
- * tests/instmany.test: Likewise.
- Suggestion by Peter O'Gorman.
-
- Fix test failure when pkg.m4 is not found, only pkg-config.
- * tests/vala5.test: Update comment, this test is not expected to
- fail any more. Require valac version 0.7.0. Skip if configure
- fails, could be due to unexpanded PKG_CHECK_MODULES or too old
- valac.
- Report by Simon Josefsson.
-
-2009-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Post-release version bump.
- * configure.ac, NEWS: Bump version to 1.11a.
-
-2009-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Automake 1.11.
- * configure.ac: Bump version to 1.11.
- * doc/automake.texi (Releases): Add line for 1.11. Remove line
- for 1.10b.
-
- Fix maintainer-check failures.
- * automake.in (lang_vala_finish_target): Use `$(am__cd)' instead
- of plain `cd'.
- * tests/vala2.test: Use `rm -f' instead of `rm'.
-
- Revert Automake license to GPLv2+.
- Automake will move to GPLv3+ once the Exception statement has
- been rewritten to use the new GPLv3 exception language. This
- change does not impact the COPYING file that may be installed
- by `automake --add-missing'.
- * COPYING: Revert to GPLv2. All uses changed.
- * NEWS: Update.
-
- Rewrite NEWS for 1.11.
- * NEWS: Rewrite, merging 1.10b and 1.10c entries.
-
- Sync auxiliary files from upstream.
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from
- upstream.
-
- Update release statistics, improve release-stats rule.
- * Makefile.am (release-stats): Output stderr of pstops in
- addition to catching it, for better debugging.
- * doc/automake.texi (Releases): Add line for 1.10.2.
-
- Cope with parallel BSD make -jN semantics.
- When BSD `make -jN' is used without `-B' which enables backwards
- compatible semantics, it may reuse the same shell for several
- commands within a rule; so ensure we do not leave it in a
- different directory, nor `exit 0' early in a multi-command rule.
- * lib/am/distdir.am (distcheck): After running `distcleancheck',
- change back to original working directory.
- * lib/am/remake-hdr.am (%CONFIG_HIN%): Run autoheader in a
- subshell.
- * lib/am/mans.am (uninstall-man%SECTION%): Do not `exit 0' early
- in a rule that consists of several shell invocations. Parallel
- NetBSD `make -jN' without `-B' will use only one shell for all
- commands, but won't respawn one after `exit 0'. Fixes
- notrans.test failure.
- * tests/makej2.test: New test.
- * tests/Makefile.am: Update.
-
- Fix typo in comment.
- * lib/am/install.am: Fix typo.
-
-2009-05-17 Matthias Klose <doko@ubuntu.com> (tiny change)
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Let AM_PATH_PYTHON honor python's idea about the site directory.
- * m4/python.m4 (AM_PATH_PYTHON): When computing pythondir and
- pyexecdir, pass the expanded prefix resp. exec_prefix as `prefix'
- to get_python_lib, so python can determine the name of the site
- directory depending on the install location. Afterwards, replace
- the directory names with the unexpanded values of $PYTHON_PREFIX
- resp. $PYTHON_EXEC_PREFIX again, to allow override according to
- the documentation. Fixes site directory computation for Debian
- and Ubuntu (`dist-packages' for a prefix of `/usr' or `/usr/local',
- `site-packages' elsewhere).
- * NEWS, THANKS: Update.
-
-2009-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Vala: for now, require GNU make.
- * doc/automake.texi (Vala Support): GNU make is currently
- required for Vala sources.
- * tests/vala2.test, tests/vala3.test, tests/vala5.test: Require
- GNU make.
-
-2009-05-17 Jürg Billeter <j@bitron.ch>
-
- Vala: Use $(srcdir) in rebuild rules.
- valac is always run in srcdir as the generated files are distributed.
- So srcdir needs to be taken into account in the rebuild rules to not
- wrongly trigger a rebuild in the wrong directory.
- * automake.in (lang_vala_finish_target): Rebuild files in
- $(srcdir).
- * tests/vala2.test: Test rebuild rules from VPATH build.
-
- Vala: Add and test rebuild rules for generated header and vapi files.
- valac will generate additional files when using, for example, -H in
- VALAFLAGS. We need to recognize these options and add appropriate
- rebuild rules to fix parallel build.
- * automake.in (lang_vala_finish_target): Recognize -H, -h,
- --header, --internal-header, --vapi, --internal-api, --gir flags
- to valac and rebuild rules for generated headers; distribute
- and maintainer-clean them.
- * tests/vala2.test: Test rebuild rules.
-
-2009-05-17 Jürg Billeter <j@bitron.ch>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Vala: Fix build when using per-target VALAFLAGS.
- This does not yet implement full per-target support for VALAFLAGS,
- however, this change at least fixes building when there is only one
- target per source file, which is the most common situation.
- * automake.in: Remove `VALAFLAGS' from `flags' in language struct.
- (lang_vala_finish_target): Handle `*_VALAFLAGS rewriting' manually
- here; check `VALAFLAGS' user variables.
- * tests/Makefile.am (XFAIL_TESTS): Remove vala5.test.
- * doc/automake.texi (Vala Support): Document per-target flag
- limitations.
-
-2009-05-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- For PR automake/540:
- Document some formatting restrictions for Makefile.am files.
- * doc/automake.texi (General Operation, Usage of Conditionals):
- Variable assignments should not be indented by TABs, rule commands
- should. Conditional keyword statements should not be indented.
- * THANKS: Update.
- Report by Luo Yi.
-
-2009-05-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix copyright years in *.am files.
- * lib/am/check.am, lib/am/check2.am, lib/am/distdir.am,
- lib/am/program.am, lib/am/tags.am: Fix copyright years.
-
- distdir: avoid duplicate `find' traversal with subpackages.
- * lib/am/distdir.am (distdir) [%?SUBDIRS%]: When recursing, set
- `am__skip_mode_fix'.
- [%?TOPDIR_P%]: When `$(am__skip_mode_fix)' is set, avoid tree
- walk.
- * tests/subpkg4.test: New test, to ensure that we still walk the
- whole tree while fixing permissions. We don't ensure it is
- walked once only.
- * tests/Makefile.am: Update.
-
- Disable test cleanup trap with OSF1/Tru64 sh.
- * configure.ac: Test whether /bin/sh has working 'set -e'
- in conjunction with an exit trap. Set $am_cv_sh_errexit_works
- accordingly, substitute sh_errexit_works, and warn about
- leftover test directories with broken shells like Tru64 /bin/sh.
- * tests/defs.in: Do not install any traps with broken shells.
-
-2009-05-02 Bruno Haible <bruno@clisp.org>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Recommend *-local hooks without commands, for extensibility.
- * doc/automake.texi (Clean): Show how to write the clean-local
- extension with separate phony target.
- * tests/Makefile.am (clean-local-check): Practice what we preach
- by marking this phony. For consistency, rename from ...
- (check-clean-local): ... this.
-
-2009-04-28 Eric Blake <ebb9@byu.net>
-
- scripts: normalize all timestamps to UTC
- * lib/compile (scriptversion): Update emacs hook.
- * lib/depcomp (scriptversion): Likewise.
- * lib/elisp-comp (scriptversion): Likewise.
- * lib/gnupload (scriptversion): Likewise.
- * lib/install-sh (scriptversion): Likewise.
- * lib/mdate-sh (scriptversion): Likewise.
- * lib/missing (scriptversion): Likewise.
- * lib/mkinstalldirs (scriptversion): Likewise.
- * lib/py-compile (scriptversion): Likewise.
- * lib/ylwrap (scriptversion): Likewise.
-
-2009-04-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- silent-rules: fix alignment of less verbose output.
- * automake.in (define_verbose_var): Define `$silent_var' as
- VAR_ASIS, not VAR_PRETTY, to avoid squashing of multiple
- adjacent spaces.
- * tests/silent.test: Amend test.
- Report by Jan Engelhardt.
-
-2009-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- manual: fix trivial grammar errors.
- * doc/automake.texi (Subpackages, Vala Support, Java)
- (Checking the Distribution, Timeline): Fix `a' vs. `an' errors
- and duplicate `the'.
- Report by Eric Blake.
-
- Indent rule commands consistently with a TAB.
- * lib/am/check.am ($(TEST_SUITE_LOG)): Consistently use TAB, not
- spaces, for indentation of commands, even if indentation may not
- be needed at all.
- * lib/am/texinfos.am (install-info-am): Likewise.
- * THANKS: Update.
- Prompted by report from John Calcote.
-
- parallel-tests: fix recheck* targets for non-GNU make.
- * lib/am/check.am (recheck recheck-html): Override AM_MAKEFLAGS
- to portably transport the TEST_LOGS settings through the
- recursive `make' invocations. Fixes parallel-tests9.test
- failure with Solaris make.
- * tests/parallel-tests9.test: Also ensure that the test
- summary is correct for `recheck'.
- Suggestion by Akim Demaille.
-
-2009-04-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid racy depmodes with universal builds.
- * m4/depend.m4 (_AM_DEPENDENCIES): If universal builds are used,
- avoid racy depmodes.
- * lib/depcomp: Ignore `-arch' argument for makedepend depmode.
- Report by Bruno Haible, analysis by Bruno Haible, Peter O'Gorman,
- and Eric Blake.
-
-2009-04-21 Fabian Alenius <fabian.alenius@gmail.com> (tiny change)
-
- Fix link to autotools tutorial.
- * doc/automake.texi (Autotools Introduction): Fix broken link.
- * THANKS: Update.
-
-2009-04-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- testsuite: minor w32 fixes.
- * tests/depend5.test: Don't fail if the system or file system
- cannot handle weird characters, instead just try a few.
- * tests/parallel-tests3.test: Really wait until the serial test
- has finished, before letting the cleanup trap do its work.
- Report by Bruno Haible.
-
- Avoid nonportable `./FILE' instead of `FILE' in test.
- * tests/libtool3.test: Do not use `$(top_builddir)/sub/libname.la'
- in *_LDADD entry if `$(top_builddir)' is `.'. Fixes test failure
- with parallel NetBSD make.
-
- Detect make `include' style also with parallel non-GNU make.
- Parallel NetBSD make outputs `--- $target ---' messages,
- parallel HP-UX make outputs `Making target"$target"'. Just
- ignore all additional output for the include test.
- * m4/make.m4 (AM_MAKE_INCLUDE): Ignore additional output
- produced by `make' to relax `include' style detection.
-
- manual: add FAQ `Debugging Make Rules'.
- * doc/automake.texi (Debugging Make Rules): New FAQ section.
- (Top, FAQ): Adjust menus, and capitalization of the description
- of the `Hard-Coded Install Paths' node.
- (Multiple Outputs): Add comment to restore font-lock for vim.
- Suggestion by Karl Berry.
-
- Let XFile::lock warn and fail with parallel non-GNU make, too.
- * lib/Automake/XFile.pm (lock): Also match `-j' for parallel BSD
- make, and `-P' for parallel HP-UX make.
-
- Fix AM_PROG_VALAC version requirement detection.
- * m4/vala.m4 (AM_PROG_VALAC): Remove `Vala ' from valac
- --version string before comparing versions.
- * tests/vala2.test: Require version 0.7.0 for the test.
- Fixes failures of vala2.test and vala3.test with older valac.
-
- Correctly treat all assignments with bogus trailing comments.
- Before this patch, automake would silently fail to diagnose and
- to copy into the output those variable assignments which are
- preceded by a comment, and end in backslash newline comment.
- * automake.in (read_am_file): When determining whether an
- escaped newline followed by a comment is an error, correctly use
- the parser state, not the contents of a saved comment, which
- could still be carried over from a comment before an assignment.
- * NEWS: Update.
- * tests/commen11.test: New test.
- * tests/Makefile.am: Update.
- Report by Karl Berry.
-
-2009-04-14 Karl Berry <karl@freefriends.org>
-
- manual: improve markup: itemize list in `Extending'.
- * doc/automake.texi (Extending): Use `@item's for user override
- semantics.
-
-2009-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- bin_PROGRAMS = $(EXTRA_PROGRAMS) should work.
- * automake.in (am_install_var): For `PROGRAMS' primary, strip
- `$(EXEEXT)' here already, so the name uniquifying works even
- when we look at names repeatedly, with inconsistent executable
- extension; through variable references, we might have added
- the extension ourselves earlier.
- (handle_programs): No need to strip `$(EXEEXT)' here any more.
- * tests/extra8.test: New test.
- * tests/Makefile.am: Update.
- * THANKS: Update.
- Report by Daniel Richard G.
-
-2009-04-10 Jim Meyering <meyering@redhat.com>
-
- Fix grammar in comments and documentation.
- * doc/automake.texi (API versioning): Fix grammar.
- * automake.in: Fix grammar in comment.
- * lib/Automake/ChannelDefs.pm: Likewise.
- * tests/ext2.test: Likewise.
-
-2009-04-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- More minor fixups to vala support.
- * automake.in (lang_vala_finish_target): Fix typo in comment.
- * doc/automake.texi (Vala Support): Fix typo. Declare vala
- support as "initial".
- * NEWS: Likewise, declare vala support as "initial".
-
-2009-04-05 Jürg Billeter <j@bitron.ch>
-
- Improve Vala support.
- * automake.in: Update to Vala 0.7.0 semantics, recover from removal
- of built sources, support silent-rules, drop _PKGNAME variables
- * doc/automake.texi, NEWS: Update.
- * lib/am/vala.am: Bump copyright years.
- * m4/vala.m4: Likewise.
- * tests/vala.test: Remove obsolete grep tests.
- * tests/vala1.test: Likewise.
- * tests/vala2.test: Test full build, distcheck, and distclean.
- * tests/vala3.test: Likewise, also test with subdir-objects.
- * tests/vala4.test: Bump copyright years.
- * tests/vala5.test: New test for per-target flags, expected to fail.
- * tests/Makefile.am: Update.
- * THANKS: Update.
-
-2008-10-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Minor fixups for Vala support.
- * automake.in: $(VALAFLAGS) comes after $(AM_VALAFLAGS).
- * doc/automake.texi (Vala Support): Add some references,
- document AM_VALAFLAGS, streamline a bit.
- * lib/am/vala.am: Copyright blurb.
- * m4/vala.m4 (AM_PROG_VALAC): Rewrite using AS_VERSION_COMPARE.
- * tests/vala.test: Fix minor nits.
- * tests/vala1.test: Likewise.
- * tests/vala2.test: Likewise.
- * tests/vala3.test: Likewise.
- * tests/vala4.test: New test, for version argument of
- AM_PROG_VALAC.
- * tests/Makefile.am: Update.
-
-2008-10-09 Mathias Hasselmann <mathias.hasselmann@gmx.de>
-
- * automake.in: Support Vala in non-recursive builds. Make sure
- foo_VALAFLAGS really use used. Inject --library switch when building
- Vala libraries.
- * doc/automake.texi, NEWS: Document Vala support.
- * m4/vala.m4: Rename AC_PROG_VALAC to AM_PROG_VALAC.
- * tests/Makefile.am: Additional Vala tests.
- * tests/vala.test: Also test VALAFLAGS support.
- * tests/vala1.test: Test non-recursive Vala support.
- * tests/vala2.test: Test _PKGNAME variables.
- * tests/vala3.test: Test compiling of C code generated by Vala.
-
-2008-10-09 Mathias Hasselmann <mathias.hasselmann@gmx.de>
-
- Initial support for the vala programming language.
- * automake.in: Add %known_libraries, lang_vala_rewrite,
- lang_vala_finish and lang_vala_target_hook to support the Vala
- programming language. Register Vala language hooks.
- * lib/am/vala.am: Empty rules file to prevent creation of depend2
- based rules for Vala code.
- * lib/am/Makefile.am (dist_am_DATA): Add vala.am.
- * m4/vala.m4: Provide AC_PROG_VALAC for detecting the Vala compiler.
- * m4/Makefile.am (dist_m4data_DATA): Add vala.m4.
- * tests/vala.test: Test Vala support.
- * tests/Makefile.am: Update.
-
-2009-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- testsuite: do not fail on systems without read permissions.
- * tests/instfail-info.test: Do not use the `non-root'
- requirement for testing whether files may be made unreadable;
- instead use `test -r' and skip the test if that still works.
- * tests/instfail-java.test: Likewise.
- * tests/instfail-libtool.test: Likewise.
- * tests/instfail.test: Likewise.
- * tests/instmany-mans.test: Likewise.
- * tests/instmany-python.test: Likewise.
- * tests/instmany.test: Likewise.
- * tests/parallel-tests9.test: Likewise.
-
- testsuite: parallel make fixes.
- This patch fixes a couple of testsuite bugs exposed with
- `MAKE=make\ -jN make check'.
- * tests/libtoo10.test: Do not run `clean' in same $MAKE
- invocation as `all check'. Fixes test failure with parallel
- NetBSD `make -jN'.
- * tests/nobase.test: Be sure to create a directory before
- creating files in it. Fixes test failure with MAKE=`make -jN'
- for NetBSD make. This issue is hidden with parallel GNU make
- due to its parallel breadth first update order.
- * tests/parallel-tests3.test: Skip if $MAKE contains `-j',
- GNU make will use the environment variable $MAKE for recursion
- and thus run in parallel even if `$MAKE -j1' was used on the
- command line in the test. Also, after running the test proper,
- wait long enough so that background jobs have finished and there
- are no open files left when the cleanup code runs.
-
-2009-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- silent-rules reorganization, --enable-silent-rules switch.
- This patch introduces a configure-time option to set the default
- verbosity. Since configure now needs to know whether the
- `silent-rules' automake option was set, the latter can only be
- set within AM_INIT_AUTOMAKE, or with a new AM_SILENT_RULES macro
- but not any more through AUTOMAKE_OPTIONS or the automake
- command line option `--silent-rules'.
- * automake.in (define_verbose_var): Define the default verbose
- variable in terms of `$(AM_DEFAULT_VERBOSITY)'.
- (handle_configure): Do not pass `--silent-rules' to automake.
- (scan_autoconf_traces): Trace `AM_SILENT_RULES'. If seen,
- enable global `silent-rules' option.
- (usage): Do not document `--silent-rules'.
- (parse_arguments): Do not accept `--silent-rules'.
- * doc/automake.texi (Options): Overhaul. Document
- AM_SILENT_RULES, --enable-silent-rules, --disable-silent-rules,
- AM_DEFAULT_VERBOSITY. Show an example for user-added variables
- for less verbose output.
- (Invoking Automake): Remove documentation for `--silent-rules'.
- (Public Macros): Document `AM_SILENT_RULES'.
- * NEWS: Update.
- * lib/Automake/Options.pm (_process_option_list): Accept
- `silent-rules' only as option in configure.ac.
- * m4/init.m4 (AM_INIT_AUTOMAKE): If the `silent-rules' option
- was enabled, require `AM_SILENT_RULES'; move AM_BACKSLASH
- initialization to ...
- * m4/silent.m4 (AM_SILENT_RULES): ... this new file, new macro.
- Deal with `--enable-silent-rules' switch; define
- AM_DEFAULT_VERBOSITY.
- * m4/Makefile.am (dist_m4data_DATA): Add silent.m4.
- * tests/dollarvar.test: Remove tests for `--silent-rules', use
- `AM_SILENT_RULES'.
- * tests/flavor.test: Remove test for `--silent-rules'.
- * tests/silent.test: Use `AM_SILENT_RULES' instead of
- `AUTOMAKE_OPTIONS = silent-rules'; use `--enable-silent-rules'.
- * tests/silent2.test: Likewise.
- * tests/silent3.test: Likewise.
- * tests/silent4.test: Likewise.
- * tests/silent5.test: Likewise.
- * tests/silent6.test: Likewise. Test `AM_SILENT_RULES' as well
- as `AM_INIT_AUTOMAKE([silent-rules])' instead of
- `--silent-rules'.
- * tests/silent7.test: Use `AM_SILENT_RULES' instead of
- `AUTOMAKE_OPTIONS = silent-rules'; ensure the latter is rejected.
- Test combinations of --enable-silent-rules and
- --disable-silent-rules with `make V=0' and `make V=1'.
- Suggestion for configure-time switch by Bob Friesenhahn.
-
- manual: Add note about parallelism and tests ordering.
- * doc/automake.texi (Simple Tests using parallel-tests):
- Dependencies between test logs work for tests with known
- extensions only. Hint that tests should be prepared to be run
- in parallel.
-
- Fix maintainer-check failure.
- * tests/suffix13.test: Use Exit not exit.
-
-2009-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: more testsuite exposure.
- * tests/parallel-tests.test: Also test overriding TEST_LOGS and
- TESTS.
-
- parallel-tests: let VERBOSE=yes output appear before summary.
- * lib/am/check.am ($(TEST_SUITE_LOG)): In `VERBOSE=yes' mode,
- output contents of `$(TEST_SUITE_LOG)' before, rather than after
- the test suite summary. This ensures that the email address
- appears near the end of the output; also, the log file already
- starts with a result summary anyway.
-
- parallel-tests: `clean recheck' should not rerun all tests.
- * lib/am/check.am (recheck, recheck-html): Do not rerun all
- tests if `$(TEST_SUITE_LOG)' does not exist.
- * tests/parallel-tests2.test: Adjust recheck test.
- * tests/parallel-tests9.test: Adjust recheck-html test.
- * NEWS: Update.
- Suggestion by Akim Demaille.
-
-2009-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Eric Blake <ebb9@byu.net>
-
- parallel-tests: Fix driver for nonempty executable extension.
- * automake.in (handle_tests): New substitution `%am__EXEEXT%',
- defined as 'FALSE' for non-generic rules, or if no programs are
- built at all. Otherwise, define it as configure conditional.
- * lib/am/check2.am [%am__EXEEXT%] (%EXT%$(EXEEXT).log): New
- conditional generic rule.
- * m4/init.m4: Hook an m4_provide of `_AM_COMPILER_EXEEXT' onto
- Autoconf's `_AC_COMPILER_EXEEXT' macro.
- (AM_INIT_AUTOMAKE): If `_AM_COMPILER_EXEEXT' has been provided
- at `AC_CONFIG_COMMANDS_PRE' time, then introduce a conditional
- `am__EXEEXT', defined to true iff `$EXEEXT' is nonempty.
- * tests/check5.test: Only match `_EXEEXT_[1-9]' here, to avoid
- false positives stemming from `@am__EXEEXT_TRUE@'.
- * NEWS: Update.
-
-2009-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix a couple of $(EXEEXT)-related testsuite failure.
- * tests/check8.test: Allow executable extensions in test suite
- output.
- * tests/check9.test: Add `$(EXEEXT)' manually to @substituted@
- XFAIL_TESTS entries.
-
- * NEWS: Update for last patch.
-
-2009-04-07 Florian Briegel <briegel@zone42.de> (tiny change)
- Stepan Kasal <skasal@redhat.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix renamed objects with subdir-objects and other languages.
- * automake.in: Fixed bug when building with renamed objects
- and foreign languages.
- * tests/suffix13.test: New test.
- * tests/Makefile.am: Adjust.
- * THANKS: Update.
- Reports by Florian Briegel and Stepan Kasal.
-
-2009-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Do not remove texinfo outputs upon mostlyclean.
- * lib/am/texinfos.am: New substitutions %MOSTLYCLEAN%,
- %MAINTCLEAN%.
- (clean-aminfo): New target, remove %TEXICLEAN% if nonemtpy,
- declare phony. Hook this target to ...
- (clean-am): ... this and ...
- (?CYGNUS?clean-info): ... this.
- (maintainer-clean-aminfo): Remove %MAINTCLEAN% if nonempty,
- for later.
- (mostlyclean-aminfo): Remove %MOSTLYCLEAN%.
- * automake.in (handle_texinfo_helper): Return three arrays
- $MOSTLYCLEAN, $TEXICLEAN, $MAINTCLEAN, instead of one array.
- Only put LaTeX helper files in $MOSTLYCLEAN, the rest in
- $TEXICLEAN for now.
- (handle_texinfo): Accept these, chop off extra newline, and
- substitute them in `texinfos.am'.
- * NEWS: Update.
- * tests/txinfo33.test: New test.
- * tests/Makefile.am: Update.
- Report by Bruno Haible.
-
-2009-04-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- testsuite: unset TESTS, TEST_LOGS, to avoid interference.
- * tests/defs.in: Unset TESTS, TEST_LOGS.
-
- testsuite: generate $(parallel_tests) just when needed.
- * tests/Makefile.am (check_SCRIPTS): No need to list
- $(parallel_tests) here, they can be generated as needed during
- the test run, following our recommendation in the manual.
-
- Remove superfluous line from recheck recheck-html.
- * lib/am/check.am (recheck recheck-html): Remove superfluous
- line, introduced bogusly in last commit.
-
-2009-04-06 Akim Demaille <akim@lrde.epita.fr>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: redo check-html, recheck, recheck-html.
- * lib/am/check.am (recheck, recheck-am): Remove.
- (recheck-TESTS): Rename to ...
- (recheck): ... this and rewrite, factored ...
- (recheck-html): ... with this rule. Pass TEST_LOGS rather than
- RECHECK_LOGS to `check' and `check-html', respectively, to avoid
- running outdated tests. Invoking the public macros ensures
- `check_SCRIPTS' etc. are created in time. Do not output errors
- for tests that were not run yet. If the testsuite has not run
- at all, run all tests.
- (check-html): Run `check' target, not `check-TESTS', to ensure
- `check_SCRIPTS' etc. are created in time.
- (.PHONY, .MAKE, AM_RECURSIVE_TARGETS): Adjust contents.
- * tests/parallel-tests2.test: Expose the check-html and
- recheck-html issues.
- * tests/parallel-tests9.test: Expose the recheck issues.
- Bugs in previous version pointed out by Akim, who already had
- them fixed in his original version.
-
-2009-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: LOG_COMPILER for tests without known extension.
- * automake.in (handle_tests): If we don't match a known
- extension, define `LOG_COMPILER' as `$(LOG_COMPILE)
- $(AM_LOG_FLAGS) $(LOG_FLAGS)' and use it as %COMPILE% in check2.
- * doc/automake.texi (Simple Tests using parallel-tests):
- Document it. In the examples, suggest using the AM_*LOG_FLAGS
- flags in Makefile.am rather than the variables without `AM_'
- prefix.
- * lib/Automake/tests/Makefile.am (AM_PL_LOG_FLAGS): Renamed from
- (PL_LOG_FLAGS): ... this variable, intended for the user.
- * tests/parallel-tests7.test: Extend test.
- * NEWS: Update.
- Suggestion by Akim Demaille.
-
- More node renaming in the manual.
- * doc/automake.texi (Top): Adjust menu to ...
- (API Versioning): ... this node being renamed from ...
- (API versioning): ... this, and ...
- (Wildcards): ... this being renamed from ...
- (wildcards): ... this.
- Report by Karl Berry.
-
-2009-04-03 Andreas Schwab <schwab@linux-m68k.org>
-
- * tests/instdir-java.test: Don't require gcj. Skip if javac is
- not available.
-
-2009-04-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix testsuite failures due to nonexistent `dirlist' entries.
- * tests/defs.in: When parsing `$aclocaldir/dirlist', only add
- existing directories D to aclocal `-I D' flags, as aclocal
- errors on nonexisting directories.
- Report and analysis by Andreas Schwab.
-
-2009-03-31 Akim Demaille <akim@lrde.epita.fr>
-
- Fix typo in manual.
- * doc/automake.texi (Simple Tests using parallel-tests): Fix
- typo.
-
-2009-03-31 Jim Meyering <meyering@redhat.com>
-
- Avoid test failure due to paranoid TAR_OPTIONS envvar setting.
- * tests/txinfo18.test: Don't let a TAR_OPTIONS=--keep-old-files
- environment variable setting cause test failure. Fixed in
- texi2dvi 4.13.
-
- Use more common spelling in diagnostic: s/canonic/canonical/.
- * automake.in (check_typos): s/canonic/canonical/.
-
-2009-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac, NEWS: Bump version to 1.10c.
-
-2009-03-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac, NEWS: Bump version to 1.10b.
- * doc/automake.texi (Releases): Add statistics for 1.10b.
-
- * NEWS: Minor update.
-
- Reorganize nodes in the manual.
- Avoid texinfo sectioning commands without nodes, by either
- introducing new nodes along with menus, or using headings
- commands. Adjust all references.
- * doc/automake.texi: Throughout the manual, adjust references to
- new or changed node names. Rename `non-configured' to
- `unconfigured', capitalize headings and section names better.
- (Top): List new menus and nodes introduced below.
- (Length Limitations): Renamed from ...
- (Length limitations): ... this.
- (aclocal Options): Renamed from ...
- (aclocal options): ... this.
- (Macro Search Path): Renamed from ...
- (Macro search path): ... this. Rename subsubsections to
- subsubheadings.
- (Public Macros, Obsolete Macros, Private Macros): Renamed from
- (Public macros, Obsolete macros, Private macros): ... these.
- (Conditional Subdirectories): Introduce sub menu and split ...
- (SUBDIRS vs DIST_SUBDIRS, Subdirectories with AM_CONDITIONAL)
- (Subdirectories with AC_SUBST, Unconfigured Subdirectories):
- ... into these new nodes. Adjust subsection names to node
- names.
- (Conditional Sources): Rename subsubsections to subsubheadings.
- (Conditional Programs): Likewise.
- (Program Variables): Renamed from ...
- (Program variables): ... this.
- (Libtool Issues): Introduce sub menu and split into ...
- (Required file ltmain.sh not found)
- (Objects created both with libtool and without): ... these new
- nodes.
- (Other Objects, Built Sources): Renamed from ...
- (Other objects, Built sources): ... these.
- (Built Sources Example): Renamed from ...
- (Built sources example): this. Rename unnumberedsubsecs to
- subsubheadings.
- (Man Pages): Renamed from ...
- (Man pages): ... this.
- (Install): Introduce sub menu and split into ...
- (Basics of Installation, The Two Parts of Install)
- (Extending Installation, Staged Installs)
- (Install Rules for the User): ... these new nodes.
- (Dist): Introduce sub menu and split into ...
- (Basics of Distribution, Fine-grained Distribution Control)
- (The dist Hook, Checking the Distribution)
- (The Types of Distributions): ... these new nodes.
- (Tests): Introduce sub menu and split into ...
- (Simple Tests, Simple Tests using parallel-tests, DejaGnu Tests)
- (Install Tests): ... these new nodes.
- (Conditionals): Move the portability paragraph up, introduce sub
- menu and split into ...
- (Usage of Conditionals, Limits of Conditionals): ... these new
- nodes. Link to several sections throughout the manual that deal
- with specific usage of conditionals.
- (CVS): Rename subsections to subheadings.
- (maintainer-mode): Likewise.
- (Limitations on File Names): Renamed from ...
- (limitations on file names): ... this.
- (Flag Variables Ordering): Rename subsections to subheadings.
- (Renamed Objects): Renamed from ...
- (Renamed objects): ... this.
- (Dependency Tracking Evolution): Introduce sub menu and split
- into ...
- (First Take on Dependencies, Dependencies As Side Effects)
- (Dependencies for the User, Techniques for Dependencies)
- (Recommendations for Tool Writers)
- (Future Directions for Dependencies): ... these new nodes.
- Report by Karl Berry.
-
-2009-03-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Update AM_RECURSIVE_TARGETS for parallel-tests.
- * lib/am/check.am [PARALLEL_TESTS] (AM_RECURSIVE_TARGETS):
- Add check, recheck, check-html, recheck-html.
-
-2009-03-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Akim Demaille <akim@lrde.epita.fr>
-
- parallel-tests: New target recheck-html.
- * lib/am/check.am [PARALLEL_TESTS] (recheck-html): New phony,
- recursive target. Factor common implementation with
- `check-html'.
- * doc/automake.texi (Tests): Document recheck-html.
- * tests/parallel-tests2.test: Test it.
-
-2009-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Akim Demaille <akim@lrde.epita.fr>
-
- parallel-tests: redo lazy checking: recheck and RECHECK_LOGS.
- Replace the LAZY_TEST_SUITE API with a simpler yet more powerful
- one: RECHECK_LOGS specifies those tests which are to be removed
- in any case before testing. Provide a `recheck' convenience
- target to set RECHECK_LOGS to all failed and unexpectedly passed
- tests. Document several ways to limit the set of tests run.
- * lib/am/check.am [PARALLEL_TESTS] (RECHECK_LOGS): New variable,
- default to $(TESTS_LOGS).
- (check-TESTS): Remove $(RECHECK_LOGS) not $(TEST_LOGS). Drop use
- of LAZY_TEST_SUITE.
- ($(TEST_SUITE_LOG)): Do not output note about lazy rerun, as
- LAZY_TEST_SUITE is gone.
- (recheck): New target.
- (recheck-am, recheck-TESTS): New internal targets.
- * doc/automake.texi (Tests): Update @vindex for TESTS and
- TEST_LOGS. Replace description of LAZY_TEST_SUITE with a list
- of ways the set of tests to be run can be modified. Document
- RECHECK_LOGS and the recheck target.
- * tests/defs.in: Unset RECHECK_LOGS not LAZY_TEST_SUITE.
- * tests/parallel-tests.test: Adjust, replacing LAZY_TEST_SUITE
- with corresponding RECHECK_LOGS settings.
- * tests/parallel-tests9.test: New tests.
- * tests/Makefile.am: Update.
- Suggestion and different implementation by Akim Demaille.
-
- parallel-tests: do not mark check-TESTS as `.MAKE'.
- * lib/am/check.am [PARALLEL_TESTS] (.MAKE): Remove check-TESTS.
- This rule removes files, which should not be executed with BSD
- `make -n'.
-
- parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS.
- * automake.in (handle_tests): Warn about portability issue
- concerning generated TESTS files listed with a `$(srcdir)/'
- or `$(top_srcdir)/' prefix.
- * doc/automake.texi (TESTS): Document this issue. Mention that
- the parallel-tests driver is still experimental.
- * tests/parallel-tests8.test: New test.
- * tests/Makefile.am: Update.
-
- check-html: Always create HTML output, note conversion failure.
- * lib/am/check.am (check-html): Create `$(TEST_SUITE_HTML)' in
- any case. Exit unsuccessfully if HTML creation failed.
- * tests/parallel-tests2.test: Amend test to expose this.
-
-2009-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: per-extension test driver: <EXT>_LOG_COMPILER.
- For test files with extension <ext>, introduce the internal
- variable <EXT>_LOG_COMPILE, which expands to
- $(<EXT>_LOG_COMPILER) $(AM_<EXT>_LOG_FLAGS) $(<EXT>_LOG_FLAGS).
- Turn also the lib/Automake/tests testsuite over to the new
- test driver.
- * doc/automake.texi (Tests): Document `EXT_LOG_COMPILER' and
- `EXT_LOG_FLAGS'.
- * lib/am/check2.am: Insert `%COMPILE%' right before test.
- * automake.in (handle_tests): Substitute `COMPILE' for check2,
- empty for tests without extension, and `$(ext_LOG_COMPILE)' for
- extension `ext'. In the latter case, define it from the public
- components.
- * configure.ac (AM_INIT_AUTOMAKE): Use `parallel-test' globally.
- * tests/Makefile.am (AUTOMAKE_OPTIONS): Remove, not needed here
- any more.
- * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Split ...
- (PL_LOG_COMPILER, PL_LOG_FLAGS): ... into these new variables.
- (TESTS_EXTENSIONS): New variable, initialize to `.pl'.
- * tests/parallel-tests7.test: New test.
- * tests/Makefile.am: Update.
- Suggestion by Akim Demaille.
-
-2009-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: also record logs of SKIPped tests.
- * lib/am/check.am [PARALLEL_TESTS] ($(TEST_SUITE_LOG)): Record
- SKIPs as well.
- Suggested by Jim Meyering.
-
- Minor optimization in parallel-tests text box creation.
- * lib/am/check.am [PARALLEL-TESTS] (am__text_box): Use only one
- awk invocation, rather than several tools, to create a text box.
- Suggestion from Akim Demaille.
-
-2009-03-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Rewrite maintainer-check in separate tests, parallelizable.
- * Makefile.am (sc_diff_automake_in_automake, sc_perl_syntax)
- (sc_no_brace_variable_expansions, sc_rm_minus_f)
- (sc_no_for_variable_in_macro, sc_mkinstalldirs)
- (sc_pre_normal_post_install_uninstall, sc_perl_no_undef)
- (sc_perl_no_split_regex_space, sc_cd_in_backquotes)
- (sc_cd_relative_dir, sc_perl_at_uscore_in_scalar_context)
- (sc_perl_local_no_parens, sc_perl_local)
- (sc_AMDEP_TRUE_in_automake_in, sc_tests_make_without_am_makeflags)
- (sc_tests_plain_make, sc_tests_plain_autoconf)
- (sc_tests_plain_autoupdate, sc_tests_plain_automake)
- (sc_tests_here_document_format, sc_tests_Exit_not_exit)
- (sc_tests_automake_fails, sc_tests_plain_aclocal)
- (sc_tests_plain_perl, sc_tests_required_after_defs)
- (sc_tests_overriding_macros_on_cmdline, sc_tests_plain_sleep)
- (sc_tests_plain_egrep_fgrep, sc_mkdir_p, sc_perl_at_substs)
- (sc_unquoted_DESTDIR, sc_tabs_in_texi, sc_at_in_texi): New rules,
- all phony, all listed in ...
- (syntax_check_rules): ... this new variable and split out from ...
- (maintainer-check): ... this rule. Depend on $(syntax_check_rules).
-
- * Makefile.am (maintainer-check): Do not complain if DESTDIR is
- passed as argument to `make'.
-
- * doc/automake.texi (Cross-Compilation): Fix underfull hbox.
-
- Sync auxiliary files from upstream.
- * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: Sync from upstream.
-
-2009-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- manual: minor cleanups.
- * doc/automake.texi (Yacc and Lex): Adjust spacing in example.
- (Mixing Fortran 77 With C and C++): Drop unneeded @page breaks.
-
- Sane (un)install for empty directory variables.
- This patch fixes all install and uninstall rules to behave
- sanely when $(wheredir) is the empty string, but $(where_HOW) is
- nonempty, for all kinds of values of `where' and `HOW'.
- * lib/am/data.am (install-%DIR%%PRIMARY%, uninstall-%DIR%%PRIMARY%):
- Do not touch the install tree if the corresponding directory variable
- $(%NDIR%dir) is empty.
- * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): Likewise.
- * lib/am/libs.am (install-%DIR%LIBRARIES, uninstall-%DIR%LIBRARIES):
- Likewise.
- * lib/am/lisp.am (install-%DIR%LISP, uninstall-%DIR%LISP): Likewise.
- * lib/am/ltlib.am (install-%DIR%LTLIBRARIES, uninstall-%DIR%LTLIBRARIES):
- Likewise.
- * lib/am/mans.am (install-man%SECTION%, uninstall-man%SECTION%):
- Likewise.
- * lib/am/progs.am (install-%DIR%PROGRAMS, uninstall-%DIR%PROGRAMS):
- Likewise.
- * lib/am/python.am (install-%DIR%PYTHON, uninstall-%DIR%PYTHON):
- Likewise.
- * lib/am/scripts.am (install-%DIR%SCRIPTS, uninstall-%DIR%SCRIPTS):
- Likewise.
- * lib/am/texinfos.am (install-dvi-am, install-html-am, install-pdf-am)
- (install-ps-am, uninstall-dvi-am, uninstall-html-am, uninstall-pdf-am)
- (uninstall-ps-am): Likewise.
- * tests/instdir2.test, tests/instdir-java.test,
- tests/instdir-lisp.test, tests/instdir-ltlib.test,
- tests/instdir-prog.test, tests/instdir-python.test,
- tests/instdir-texi.test: New tests.
- * tests/Makefile.am: Update.
- * NEWS: Update.
- Suggestion by Akim Demaille.
-
- Ensure that empty directory variables work with empty content variables.
- This test ensures that, if both $(wheredir) and $(where_HOW) are
- the empty string, then the `install' and `uninstall' rules behave
- sanely, for several directory variables `wheredir' and several
- primaries `HOW'.
- * tests/instdir.test: New test.
- * tests/Makefile.am: Update.
-
-2009-03-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Use --tag=FC with libtool also for .f90 files.
- * automake.in: Set 'libtool_tag' for language `fc'.
- * tests/fort5.test: Grep for the tag.
- * THANKS: Update.
- Report by John R. Cary.
-
-2009-03-22 Peter Breitenlohner <peb@mppmu.mpg.de>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- For PR automake/533:
- DISTFILES containing a directory and files in that directory.
- When the source tree contains non-writable files or directories
- (as happens during distcheck), and directories or entries
- thereof are listed multiple times in variables to be
- distributed, then the corresponding directories below $(distdir)
- need to be made writable recursively. Since file modes should
- not change, they need to be copied recursively using `cp -f'.
- * lib/am/distdir.am: Handle this situation.
- * tests/distdir.test: Extend test to those cases.
- * NEWS: Update.
- Report by Peter Breitenlohner.
-
-2009-03-22 Jim Meyering <meyering@redhat.com>
-
- Fix a documentation typo.
- * doc/automake.texi (Headers): Clarify the note telling when it's
- better not to use noinst_HEADERS.
-
-2009-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Define AM_RECURSIVE_TARGETS, for gnulib's GNUmakefile.
- This new macro lists all public targets which invoke `make'
- recursively, or depend on targets which do so. It allows to
- prevent parallelism selectively, when multiple targets are
- passed on the `make' command line.
- * lib/am/distdir.am [%?SUBDIRS%] (AM_RECURSIVE_TARGETS): New
- macro.
- * lib/am/subdirs.am (AM_RECURSIVE_TARGETS): Likewise.
- * lib/am/tags.am [%?SUBDIRS%] (AM_RECURSIVE_TARGETS):
- Likewise.
-
-2009-03-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix LAZY_TEST_SUITE handling and $(TEST_SUITE_LOG) recreation.
- * lib/am/check.am (check-TESTS): Expand `$(TEST_LOGS)' only once
- in the rule command, for systems with low command line limits.
- Remove $(TEST_SUITE_LOG) even in LAZY_TEST_SUITE mode.
- ($(TEST_SUITE_LOG)): Always recreate $(TEST_SUITE_LOG). Mention
- lazy mode in the summary output.
- * tests/parallel-tests.test: Test LAZY_TEST_SUITE semantics.
-
-2009-03-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix parallel-tests with empty $(TESTS) for BSD make.
- * lib/am/check.am [PARALLEL_TESTS] ($(TEST_SUITE_LOG)): Ignore
- empty line stemming from empty $(TEST_LOGS), to avoid counting
- zero tests as one.
- (check-TESTS): If `$(TESTS)' is empty, override TEST_LOGS to be
- empty, rather than `.log', for BSD make.
- * tests/parallel-tests6.test: New test.
- * tests/Makefile.am: Update.
-
- Mark check-html and check-TESTS as recursive for BSD make.
- * lib/am/check.am [PARALLEL_TESTS] (.MAKE): Add check-TESTS
- and check-html prerequisites.
-
- Match XFAIL_TESTS correctly with Solaris make.
- * lib/am/check.am [PARALLEL_TESTS]: VPATH rewriting may have
- changed test names, so srcdir needs to be taken into account
- explicitly when checking against the list of tests expected
- to fail. Fixes spurious FAILures from XFAIL_TESTS.
-
- Use append mode to capture parallel test output.
- * tests/lisp8.test: Use append mode for output from `make -j',
- to avoid dropped lines.
- * tests/parallel-tests3.test: Likewise.
-
- parallel-tests: Fix summary output.
- * lib/am/check.am (am__text_box): Fix unportable sed script,
- replacing `\n' in the right hand side of an `s' command with
- a literal newline. Kudos to Bruno Haible for the newline idea.
- * tests/parallel-tests.test: Update test to expose this.
-
-2009-03-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Overhaul of tests/README.
- * tests/README: General overhaul. Mention parallel test suite
- execution, the test-suite.log file; document `Exit' vs. `exit',
- `defs' vs. `defs-p', the naming of `parallel-tests' tests.
- * README: Simplify, point to tests/README.
-
- Documentation for the parallel-tests driver.
- * doc/automake.texi (Tests, Options): Document the `parallel-tests'
- option, including new features of the test driver.
- * NEWS: Update.
-
- New tests for `parallel-tests'.
- * tests/parallel-tests.test: New file, to expose a bunch of
- features of `parallel-tests': VERBOSE, clean, TEST_SUITE_LOG,
- test dependencies, DISABLE_HARD_ERRORS.
- * tests/parallel-tests2.test: New file, test check-html.
- * tests/parallel-tests3.test: New file, test concurrency.
- * tests/parallel-tests4.test: New file, test suffix rules.
- * tests/parallel-tests5.test: New file, demonstrate compile/test
- concurrency.
- * tests/defs.in: Add a `required' check for rst2html.
- * tests/Makefile.am: Update.
-
- parallel-tests: Ensure backward-compatible semantics.
- For each test in Automake's test suite that uses TESTS, generate
- an identical one that uses the `parallel-tests' option, for
- coverage of backward-compatible functionality.
- * tests/gen-parallel-tests: New file, generates distributed
- Makefile.am snippet tests/parallel-tests.am to list all tests
- that use the TESTS interface but not yet the `parallel-tests'
- option, with names mangled to use suffix `-p.test', in ...
- (parallel_tests): ... this new make macro.
- * tests/Makefile.am ($(srcdir)/parallel-tests.am)
- ($(parallel_tests), defs-p): New rules.
- (TESTS): Add check11.test and $(parallel_tests).
- (check_SCRIPTS): Add defs-p, $(parallel_tests).
- (check-clean-local): Remove `defs-p'.
- (EXTRA_DIST): Distribute gen-parallel-tests.
- (MAINTAINERCLEANFILES): New variable, remove $(parallel_tests).
- * bootstrap: Generate parallel-tests.am.
- * tests/check8.test: Check for circular dependencies in rules.
- * tests/check11.test: New test, check that SKIPs are not counted
- as passed tests.
- * tests/defs.in: Unset DISABLE_HARD_ERRORS, LAZY_TEST_SUITE,
- VERBOSE, so the tests are not influenced by the way our test
- suite is invoked.
-
-2009-03-08 Akim Demaille <akim@lrde.epita.fr>
- Jim Meyering <jim@meyering.net>
- Benoit Sigoure <tsuna@lrde.epita.fr>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Parallel test execution: new option `parallel-tests'.
- * automake.in (handle_tests): Set new conditional PARALLEL_TESTS
- when reading check.am. Handle option `parallel-tests' and all
- its new semantics. Define macros TEST_SUFFIXES, TEST_SUITE_LOG,
- TEST_SUITE_HTML, TEST_LOGS, TEST_LOGS_TMP, suffix rules if
- applicable, and per-target rules for other tests. Add all log
- files to %clean_files at the `MOSTLY_CLEAN' level.
- * lib/Automake/Options.pm (_process_option_list): Accept
- `parallel-tests'.
- * lib/am/check.am [!PARALLEL_TESTS] (check-TESTS): Move existing
- testsuite driver under this new conditional.
- [PARALLEL_TESTS]
- (am__rst_title, am__rst_section, am__text_box am__sh_e_setup)
- (am__check_pre, am__check_post): New internal macros.
- ($(TEST_SUITE_LOG), check-TESTS, .log.html, check-html): New
- rules.
- * lib/am/check2.am: New file.
- * lib/am/Makefile.am (dist_am_DATA): Add check2.am.
- * tests/Makefile.am (AUTOMAKE_OPTIONS): Use `parallel-tests'.
- (clean-local): Renamed from distclean-local.
- * tests/defs.in: Drop VERBOSE handling, not needed here any more.
-
-2009-03-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Rename `silent' mode to `silent-rules' mode.
- * automake.in (define_verbose_var, verbose_flag)
- (define_verbose_tagvar, handle_options, handle_languages)
- (handle_configure, parse_arguments): Rename the `silent' option
- to `silent-rules', so it coincides with the `--silent-rules'
- command line option; adjust all code and comments.
- * lib/Automake/Options.pm (_process_option_list): Likewise.
- * doc/automake.texi (Invoking Automake, Libtool Flags, Options):
- Likewise.
- * NEWS: Adjust.
- * tests/dollarvar.test, tests/silent.test, tests/silent2.test,
- tests/silent3.test, tests/silent4.test, tests/silent5.test,
- tests/silent6.test, tests/silent7.test: Likewise.
- Suggestion by Jan Engelhardt.
-
-2009-03-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- `silent' mode unconditionally overrides portability-recursive.
- * automake.in (parse_arguments): Don't handle a global `silent'
- option here; instead, ...
- (handle_options): ... handle the "normal" `silent' option here.
- Override `portability-recursive' here, at the last point we deal
- with options, instead ...
- * lib/Automake/Options.pm (_process_option_list): ... of here.
- * tests/silent6.test: Replace unportable make snippet, remove
- FIXME note, add more test cases of options passed in the various
- locations.
-
- Drop extra line from compile rules when `silent' is not used.
- * lib/am/depend2.am [!%FASTDEP%]: Only use the `%VERBOSE%
- @AM_BACKSLASH@' extra line if ?VERBOSE?.
- Report by Ralf Corsepius.
-
-2009-03-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Keep `--silent-rules' across triggered automake reruns.
- * automake.in (usage): Reformat to be a bit clearer.
- (handle_configure): Remove substitutions %STRICTNESS% and
- %USE-DEPS% in favor of a new substitution %AUTOMAKE-OPTIONS%
- that carries over all needed flags.
- * lib/am/configure.am (%MAKEFILE-IN%): Adjust rule.
- * tests/flavor.test: New test, to ensure --$flavor (gnu,
- gnits, foreign, cygnus), --ignore-deps, and --silent-rules are
- preserved across automake reruns.
- * tests/Makefile.am: Update.
-
-2009-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Provide variables for silencing of user rules.
- * automake.in (handle_languages): Always define `AM_V_GEN' and
- `AM_V_at'.
- * doc/automake.texi (Options): Document these flags.
- * tests/silent7.test: New test.
- * tests/Makefile.am: Update.
-
- Redo variable naming for `silent' machinery.
- The public variables are named `AM_V_' plus the compiler
- short-hand now, e.g.: AM_V_CC, AM_V_CXXLD, AM_V_GEN. The
- dispatch variables are internal details and begin with
- `am__v_'.
- * automake.in (verbose_var): Update comment.
- (verbose_private_var): New function. Order functions so that
- ones not needed outside this section are listed first.
- (verbose_dispatch): Remove, no need to factor this.
- (define_verbose_var, define_verbose_libtool): Use
- verbose_private_var.
- (define_verbose_tagvar): Likewise; and simplify.
- Report by Jan Engelhardt.
-
- Let -Wportability turn on/off the portability-recursive channel.
- * lib/Automake/ChannelDefs.pm (switch_warning): switch
- `portability-recursive' channel as well if changing the
- `portability' channel.
- * tests/dollarvar2.test: New test.
- * tests/Makefile.am: Update.
-
-2009-03-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- New automake command line option `--silent-rules'.
- * automake.in (parse_arguments): Accept `--silent-rules; let it
- override command line warning settings.
- (usage): Document it.
- * doc/automake.texi (Invoking Automake): Document it.
- * NEWS: Update.
- * tests/dollarvar.test: Also test `--silent-rules'.
- * tests/pr300-ltlib.test: Use `$MAKE V=1' to enable verbose
- output, which is matched later in the test.
- * tests/silent6.test: New test.
- * tests/Makefile.am: Update.
-
- Documentation and tests for the `silent' option.
- * NEWS: Update.
- * doc/automake.texi (Invoking Automake): `silent' turns off some
- portability warnings.
- (Libtool Flags): `silent' silences libtool.
- (Options): Document the `silent' flag.
- * tests/dollarvar.test, tests/silent.test, tests/silent2.test,
- tests/silent3.test, tests/silent4.test, tests/silent5.test: New
- tests.
- * tests/Makefile.am: Update.
- * Makefile.am (maintainer-check): Ignore `DESTDIR' and `V' when
- checking for make variables that should not be overridden from
- the command line.
-
-2009-03-07 Jan Engelhardt <jengelh@medozas.de>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Implement `silent' build rules.
- * automake.in (ccer): New field in the language structure.
- Initialize it for all registered languages.
- (verbose_var, verbose_flag, verbose_dispatch)
- (silent_flag, define_verbose_var, define_verbose_tagvar)
- (define_verbose_libtool): New functions.
- (handle_languages, handle_programs, handle_libraries)
- (handle_ltlibraries, handle_configure)
- (define_compiler_variable, define_linker_variable)
- (define_per_target_linker_variable): Use them where appropriate
- to define variables to implement the silent output machinery.
- * lib/Automake/Options.pm (_process_option_list): Accept
- `silent', turning off `portability-recursive'.
- * lib/am/depend2.am: Add %VERBOSE% and %SILENT% prefixes where
- appropriate.
- * lib/am/lex.am: Likewise.
- * lib/am/library.am: Likewise.
- * lib/am/ltlibrary.am: Likewise.
- * lib/am/program.am: Likewise.
- * lib/am/yacc.am: Likewise.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Substitute, but do not define,
- AM_BACKSLASH.
- * tests/defs.in: Unset `V', to avoid influencing inner tests.
-
-2009-03-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- New channel `portability-recursive'.
- Add new channel for portability warnings about recursive make
- variable expansions `$(var1$(var2))'. Enable it alongside
- `-Wportability'.
- * lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Register
- channel `portability-recursive'.
- * lib/Automake/Variable.pm (_VARIABLE_CHARACTERS)
- (_VARIABLE_RECURSIVE_PATTERN): New variables.
- (check_variable_expansions): Diagnose recursive variable
- expansions through the new channel.
-
-2009-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * NEWS: Update.
-
-2009-03-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Ignore warnings from autom4te about Libtool macros.
- * tests/ltinstloc.test: When testing for presence of warnings,
- filter out any that are not interesting for this test, e.g.,
- warnings about installed files or about bogusly named cache
- variables in libtool.m4, emitted by recent Autoconf when older
- Libtool is used.
-
-2009-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Relax depcomp test for MSVC to not require minuso.
- * m4/depend.m4 (_AM_DEPENDENCIES): When checking the msvisualcpp
- and msvcmsys depmodes, do not require `-c -o' to work just yet.
- It is not needed by the depcomp script for these depmodes, and
- works around the ordering issue between the tests.
- Report by Peter Rosin.
-
-2009-03-09 Peter Rosin <peda@lysator.liu.se>
-
- * tests/compile2.test: Fix typo.
-
-2009-03-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Improve NetBSD 'make -n' output for many standard targets.
- * automake.in (handle_tags): Let .MAKE depend on
- `tags-recursive' and `ctags-recursive' if appropriate.
- (handle_all): Likewise for `all'.
- (do_check_merge_target): Likewise for `check-am' and `check'.
- * lib/am/ansi2knr.am (.MAKE): Depend on %ANSI2KNR-DIR%/ansi2knr.
- * lib/am/install.am [%?maybe_BUILT_SOURCES%] (.MAKE): Depend on
- `install'.
- * tests/maken3.test, tests/maken4.test: New tests.
- * tests/Makefile.am: Update.
-
- Improve `make -n dist' and `make -n distcheck' for GNU make.
- Ensure that `make -n dist' and `make -n distcheck' do not change
- files, due to GNU make executing rules containing `$(MAKE)'.
- * lib/am/distdir.am (distdir): Separate the creation of
- `$(distdir)/$$subdir' for `$(DIST_SUBDIRS)' and the recursion
- into the `$(DIST_SUBDIRS)' in two separate rule commands.
- (distcheck): Exit recursive rule early when run with `make -n',
- as detected by a witness file.
- * tests/maken.test, tests/maken2.test: New tests.
- * tests/Makefile.am: Update.
- * NEWS: Update.
-
-2009-03-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Solaris make testsuite fixes.
- * tests/check10.test: When a rule fails, Solaris make will
- output the complete command that failed; in this case the test
- suite driver. Adjust the test to not bogusly match lines from
- the driver, rather than its output.
- * tests/distcleancheck.test: Avoid triggering VPATH rewriting,
- not desirable in this test.
- * tests/specflg10.test: Use BUILT_SOURCES to specify an
- intermediate target, so Solaris make knows what to do.
-
- testsuite: SKIP compile tests if configure found no compiler.
- * tests/depend6.test: configure will exit 77 if AC_PROG_CC found
- no working compiler. Allow the test to be SKIPped in that case.
- * tests/postproc.test: Likewise.
- * tests/pr243.test: Likewise.
- * tests/pr266.test: Likewise.
-
- Fix maintainer-check fallout.
- * tests/compile2.test: Use `Exit', not `exit'.
-
-2009-03-07 Peter Breitenlohner <peb@mppmu.mpg.de>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Extract correct man section from files in man_MANS.
- * lib/am/mans.am: Extract correct man section in the presence of
- multiple dots in the file base name and/or directory components.
- * tests/man5.test: New test case.
- * tests/Makefile.am: Update.
-
-2009-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (maintainer-mode): Fix logic in
- AM_MAINTAINER_MODE description.
- * THANKS: Update.
- Report by Daniel Kahn Gillmor.
-
-2009-03-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/gnupload: Change conffile name to `.gnuploadrc'.
-
-2009-03-04 William Pursell <bill.pursell@gmail.com>
-
- Replace bare `automake' with `@command{automake}' or `Automake'.
- * doc/automake.texi: Avoid bare `automake' in the manual,
- replacing occurrences with `@command{automake}' when the command
- is meant, and `Automake' when speaking about the software
- package in general.
-
-2009-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/depcomp: Various portability and quoting nits.
-
- reformat gnupload script.
- * lib/gnupload: Reformat and reindent.
-
- gnupload touchups.
- * lib/gnupload (conffile): New variable. Use throughout.
- (dry_run): Use `false' and `:' values. Show, don't execute,
- gpg signing commands upon --dry-run.
- (usage): Typo and formatting fixes. Mention that commands are
- applied in order.
- (argument loop): Factorize a bit, fix quoting.
- (dprint, mkdirective, mksymlink, upload): Formatting and
- portability fixes.
-
-2009-03-04 Sergey Poznyakoff <gray@gnu.org>
-
- Various gnupload improvements.
- Add support for uploading to download.gnu.org.ua.
- Add support for a .gnupload configuration file.
- Support creating and removing symlinks.
- Allow for several operations in a single invocation.
- Add debugging features.
- * lib/gnupload: New options --delete, --symlink, --rmsymlink,
- --symlink-regex, --dry-run; support `--' to separate options and
- commands from files. New target download.gnu.org.ua. Expand
- `.gnupload' file contents before command line arguments.
- (usage): Expand.
- (dprint, mkdirective, mksymlink, upload): New functions.
- * THANKS: Update.
-
-2009-03-03 Peter Rosin <peda@lysator.liu.se>
-
- Add depmode=msvcmsys for Microsoft Visual C++ on MSYS.
- * lib/depcomp [msvisualcpp]: Fork fewer processes. Filter out
- libtool in the preprocessor invocation (as is done in
- depmode=cpp). Silence compiler stderr.
- [msvcmsys]: New depmode as a derivative of depmode=msvisualcpp.
- msvcmsys transforms any backslashes into forward slashes to
- make the grep in depend.m4 match, instead of the "cygpath -u"
- that is used in msvisualcpp.
-
-2009-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Peter Rosin <peda@lysator.liu.se>
-
- Fix w32 path handling in the `compile' script.
- * lib/compile: Handle colons and backslashes in win32 paths.
- * tests/compile2.test: New test.
- * tests/Makefile.am: Update.
- Report and initial patch by Peter Rosin.
-
-2009-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix `use constant' usage for MSYS Perl 5.6.0.
- * automake.in (QUEUE_MESSAGE, QUEUE_CONF_FILE, QUEUE_LOCATION)
- (QUEUE_STRING): Define using one `use constant' each; as perl
- 5.6.0 (on MSYS) does not understand `use constant { ... }'.
- * THANKS: Update.
- Report by Peter Rosin.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix recursive html and install-* doc rules for BSD make.
- * automake.in (%required_targets): Add html-am,
- install-html-am, install-dvi-am, install-pdf-am, install-ps-am,
- install-info-am.
- * tests/txinfo32.test: New test.
- * tests/Makefile.am: Update.
-
- Fix comment typo.
- * lib/am/distdir.am (distcheck): Fix typo in comment.
-
- Ignore generated files below doc/amhello for git.
- * doc/amhello/.gitignore: New file.
-
-2009-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Program variables): Add cross reference to
- `Flag Variables Ordering' node.
- Report by Karl Berry.
-
-2009-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix mmodely.test to work on Solaris 10.
- * tests/mmodely.test: Define yylex, to satisfy needed symbol in
- libfl. Return from main instead of using exit, undeclared.
- * THANKS: Update.
- Report by Chris Hoogendyk.
-
-2009-01-30 Karl Berry <karl@freefriends.org>
-
- * lib/gnupload: Add download URL to --help output.
-
-2009-01-23 Eric Blake <ebb9@byu.net>
-
- Use no-arg macros via AC_REQUIRE for consistency.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require, rather than directly
- expand, AM_PROG_INSTALL_SH and AM_PROG_INSTALL_STRIP.
- * configure: Regenerate.
-
-2009-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Bump copyright years.
- * aclocal.in (write_aclocal, version): Bump copyright years.
- * automake.in (gen_copyright, version): Likewise.
- * doc/automake.texi: Likewise.
-
-2008-12-29 Chris Pickett <chris.pickett@mail.mcgill.ca> (tiny change)
-
- * doc/automake.texi (LIBOBJS): Clarify overriding of
- `*_DEPENDENCIES'.
- * THANKS: Update.
-
-2008-12-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Revamp semantics for `missing help2man' and manpage distribution.
- Previously, `missing help2man' would create a missing man page
- containing an error message, and exit 1. This does not play
- well with `make': the next run will see this particular man page
- as being up to date, and will only error out on the next
- generated man page, if any; repeat until all pages are done.
- This patch changes `missing' to exit successfully in this case,
- but `make dist' will ensure that no such man pages are packaged.
- * lib/missing: Exit successfully even if we create a replacement
- page due to missing help2man.
- * automake.in (make_paragraphs): Define %HAVE-MANS% to be true
- if this makefile deals with man pages.
- * lib/am/distdir.am (distdir): If %INSTALL-MAN% and %HAVE-MANS%,
- check that no man page in $(MANS) contains the replacement text
- from `missing'.
- * tests/man4.test: New test.
- * tests/Makefile.am: Update.
- * NEWS: Reorder a bit, update.
- * THANKS: Update.
- Report by Werner Lemberg and Karl Berry.
-
- Do not use 'global' for makefile-wide settings.
- * doc/automake.texi (Linking, Libtool Flags)
- (Program and Library Variables, Flag Variables Ordering):
- Reword instances of `global variables' that really mean
- makefile-wide ones.
- * THANKS: Update.
- Report by Andreas Bergmeier.
-
- Fix config.status depfiles failure.
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Commands are
- again a single shell brace group, so they are correctly skipped
- when dependencies are turned off. The failure is noisy with
- ksh only.
- * tests/depend6.test: New test.
- * tests/Makefile.am: Adjust.
- * THANKS: Update.
- Report and different suggested patch by Markus Duft.
-
-2008-12-21 Zoltan Rado <z.rado@chello.hu> (tiny change)
-
- * doc/automake.texi (DESTDIR): Fix a couple of typos.
- * THANKS: Update.
-
-2008-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix nonportable sed script in 'missing'.
- * lib/missing: In sed script, do not use ';' after 't' commands.
-
-2008-12-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR automake/531:
- * doc/automake.texi (amhello Explained)
- (Mixing Fortran 77 With C and C++): Fix broken links to
- Autoconf manual.
- Report by Michael Ploujnikov.
-
-2008-12-07 Michael Ploujnikov <ploujj@gmail.com> (tiny change)
-
- * doc/automake.texi (Optional, Future of aclocal): Various
- spelling and grammar fixes.
- * THANKS: Update.
-
-2008-12-03 William Pursell <bill.pursell@gmail.com>
-
- Simple typographical and grammar errors in automake.texi.
- * doc/automake.texi: Fix object/article consistency (eg "an
- flag" becomes "a flag"), correct minor punctuation errors, etc.
-
- * doc/automake.texi (Auxiliary Programs, Python, Rebuilding):
- Replace 'configure' with '@command{configure}' as appropriate.
-
-2008-11-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fixup release rules.
- * Makefile.am (cvs-diff): Remove.
- (git-dist): Do not use clcommit any more. Use new-style tag
- name. Pass $(AM_MAKEFLAGS) to $(MAKE).
- (git-diff): Adjust.
- (git-release): Do not upload to sources.redhat.com.
-
-2008-11-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix portability issues in distcleancheck_listfiles doc example.
- * doc/automake.texi (Dist): In the `distcleancheck_listfiles'
- code example, add `.' path, for Solaris `find', also rewrite so
- `{}' appears only once and as separate argument, for Posix.
- * tests/distcleancheck.test: New test.
- * tests/Makefile.am: Update.
- * THANKS: Update.
- Report by Jan Engelhardt and Andreas Schwab.
-
-2008-11-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Jim Meyering <jim@meyering.net>
-
- Cope with whitespace in $MISSING and $install_sh.
- * configure.ac (am_AUTOHEADER): New substitution, save the value
- of $AUTOHEADER before AM_INIT_AUTOMAKE may add $MISSING.
- * tests/defs.in: Use am_AUTOHEADER.
- * lib/am/install.am: Fix typo.
- * m4/install-sh.m4 (AM_PROG_INSTALL_SH): Add suitable
- single-quote quoting to install_sh, but only if needed.
- * m4/missing.m4 (AM_MISSING_HAS_RUN): Add suitable double-quote
- quoting to MISSING, but only if needed.
- * m4/sanity.m4 (AM_SANITY_CHECK): Abort configure if `pwd` or
- $srcdir contain shell meta-characters that cannot be handled;
- space and tab are allowed in the former only.
- * tests/sanity.test: New test.
- * tests/Makefile.am: Adjust.
- * NEWS: Update.
- Reports by Jim Meyering and others.
-
-2008-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Let `missing' also work with versioned and prefixed programs.
- * lib/missing: Ignore prefixes of `gnu-', `gnu', and `g' when
- testing for known programs; also, ignore suffixes.
- * tests/missing.test: Amend test.
- * NEWS, THANKS: Update.
- Report by Tim Rice.
-
-2008-11-23 William Pursell <bill.pursell@gmail.com>
-
- * doc/automake.texi (Macro search path, Extending aclocal)
- (Local Macros, Serials, Public macros, Directories)
- (Conditional Subdirectories, Nesting Packages)
- (Building a program, Libtool Modules)
- (Program and Library Variables, Default _SOURCES, LIBOBJS):
- Correct verb/object tense agreement, swap some words,
- and general trivial cleanup.
-
-2008-11-22 William Pursell <bill.pursell@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (VPATH Builds, Nested Packages)
- (Length limitations, Auxiliary Programs, Invoking Automake)
- (Requirements, Optional): Fix typos and grammaros, correct URL
- to 'config' source repository. Rewrite description of AC_SUBST.
- (true): Cross-reference to `Default _SOURCES' node.
-
-2008-11-22 William Pursell <bill.pursell@gmail.com>
-
- * configure.ac: Quote APIVERSION.
-
-2008-11-22 Jim Meyering <meyering@redhat.com>
-
- * tests/xz.test: Fix typo introduced by Ralf in last patch.
-
- Add xz compression support.
- * NEWS: Mention xz as well as lzma (xz will displace lzma).
- * automake.in (handle_dist): Recognize dist-xz.
- (make_paragraphs): Map XZ to dist-xz.
- * doc/automake.texi (Dist): Add dist-xz.
- (Options): Likewise.
- * lib/Automake/Options.pm (_process_option_list): Accept
- dist-xz.
- * lib/am/distdir.am (dist-xz): New rule.
- (dist dist-all): Add command to create an xz-compressed tarball.
- (distcheck): Handle xz-compressed tarballs just like the others.
- * tests/xz.test: New file, based on nogzip.test.
- * tests/Makefile.am (TESTS): Add xz.test.
-
-2008-11-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- When installing COPYING, recommend adding the file to VCS.
- * automake.in (require_file_internal): If installing `COPYING',
- mention that we install the GPLv3 file and recommend adding the
- file to version control.
- * doc/automake.texi (Invoking Automake): Point to `Gnits' node
- for `--add-missing'.
- (Gnits): Clarify semantics: that for strictness gnu or higher,
- INSTALL is installed, and that COPYING is installed as GPLv3
- if no COPYING file exists.
- * tests/license2.test: New test.
- * tests/Makefile.am: Update.
- * NEWS, THANKS: Update.
- Report by Brian Cameron.
-
-2008-11-20 William Pursell <bill.pursell@gmail.com>
-
- * doc/automake.texi (Timeline): Fix typos and grammaros.
-
-2008-11-12 Karl Berry <karl@freefriends.org>
-
- New gnupload option --delete to remove archive files.
- * lib/gnupload: Accept --delete to remove files from
- alpha.gnu.org or ftp.gnu.org.
-
-2008-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Testsuite fixes for ksh.
- * tests/check10.test: Add ':' as last command in subshell, for
- zero exit status of the subshell.
- * tests/parallel-am.test: Do not let failing 'unset' of
- nonexistent variable exit the test.
- * tests/parallel-am2.test: Likewise.
- * tests/parallel-am3.test: Likewise.
-
-2008-11-11 Charles Wilson <libtool@cwilson.fastmail.fm> (tiny change)
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Cleanup config.lt in case LT_OUTPUT is in use.
- * lib/am/libtool.am [TOPDIR_P] (distclean-libtool): clean up
- config.lt as well as libtool.
- * tests/libtoo11.test: New test.
- * tests/Makefile.am: Update.
- * NEWS: Update.
-
-2008-11-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: Sync from upstream.
-
-2008-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Update to GFDL 1.3.
- * doc/fdl.texi: Update to GFDL 1.3.
- * doc/automake.texi (GNU Free Documentation License): Adjust.
- * NEWS: Update.
-
- * NEWS: Fix typos.
- * automake.in: Fix typos in comments. Remove extraneous
- whitespace.
-
-2008-11-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Cope with absent Perl modules threads and Thread::Queue.
- * automake.in: Instead of `use threads', use `require threads;
- import threads' inside a BEGIN section. Likewise for
- Thread::Queue.
- * lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Likewise.
- * lib/Automake/tests/Condition-t.pl: Likewise.
- * lib/Automake/tests/DisjConditions-t.pl: Likewise.
- * configure.ac: Likewise, use `require' and `import'.
- Report by Eric Blake, fix suggested by Ben Pfaff.
-
-2008-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Multiple 'make uninstall' should not fail even for TEXINFOS.
- * lib/am/texinfos.am (uninstall-info-am): Do not fail due to
- install-info if the installed file does not exist (any more).
- * tests/txinfo26.test: Issue multiple `make uninstall'.
- * tests/instmany-mans.test: Likewise.
- * tests/instmany-python.test: Likewise.
- * tests/instmany.test: Likewise.
- * tests/txinfo26.test: Likewise.
- * NEWS: Update.
-
-2008-11-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- New public macro AM_SUBST_NOTMAKE.
- * m4/substnot.m4 (AM_SUBST_NOTMAKE): New public macro; invoke
- _AM_SUBST_NOTMAKE with arguments.
- * doc/automake.texi (Optional): Document it.
- * NEWS: Update.
- * tests/subst4.test: New test.
- * tests/Makefile.am: Update.
- Suggestion by Bruno Haible.
-
- Fix regression introduced by AM_DEFAULT_SOURCE_EXT.
- * automake.in (handle_source_transform): Use the right variable
- when determining whether to apply the old rule for the libtool
- library default source name.
- Testsuite failure exposed by Bob Proulx' build daemon.
-
-2008-11-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- New maintainer target release-stats.
- * Makefile.am (release-stats): New target, to help computing the
- entries in the statistics table in automake.texi.
- * doc/automake.texi (Releases): Reformat a bit. Add number of
- generated files. Add entry for 1.10.1.
-
- Choose default source extension: AM_DEFAULT_SOURCE_EXT.
- * automake.in (handle_source_transform): Accept unconditional
- literal extension in AM_DEFAULT_SOURCE_EXT as override for the
- default source extension `.c'. If set, ignore the old default
- source rule for libtool libraries.
- * doc/automake.texi (Default _SOURCES): Document this.
- * NEWS: Update.
- * tests/specflg10.test: New test.
- * tests/Makefile.am: Update.
- Suggestion by Akim Demaille.
-
- Fix maintainer-check failure.
- * tests/parallel-am.test: Rename variable to not match pattern
- used in maintainer-check.
-
-2008-10-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * NEWS: Fix typo.
- Spotted by Jim Meyering.
-
-2008-10-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Parallel automake --add-missing: serialized file installs.
- * automake.in (QUEUE_CONF_FILE, QUEUE_LOCATION, QUEUE_STRING):
- New serialization keys.
- ($required_conf_file_queue): New file global.
- (queue_required_conf_file, require_queued_conf_file): New
- functions, to queue and dequeue requirements for aux dir files.
- (require_conf_file): Enqueue if needed.
- (get_number_of_threads): Can do threads with --add-missing now.
- (handle_makefiles_threaded): Let worker threads enqueue, let
- master attend to queued requirements at the right time.
- * tests/parallel-am.test: Explain the purpose of the include
- chain used here.
- * tests/parallel-am2.test: Also cope with --add-missing.
- * tests/parallel-am3.test: New test, test absence of races with
- concurrent same-file installs stemming from --add-missing.
- * tests/Makefile.am: Adjust.
-
- Implement serialization for Locations.
- * lib/Automake/Location.pm (serialize, deserialize): New
- functions. They allows to serialize a Location in an array, and
- to restore a Location from a thread queue. The API is
- unsymmetric (array vs. queue) because enqueuing data needs to
- happen atomically.
-
- Parallel automake: ordered output messages.
- * lib/Automake/Channels.pm (%_default_options): New options
- `ordered' default enabled, `queue', default zero (no queue),
- `queue_key' default undefined.
- (_merge_options): Ensure `ordered' channels cannot have fatal
- messages or backtrace output.
- (_enqueue, _dequeue): New functions, to push messages onto a
- Thread::Queue, and output messages from such a queue, suitably
- weeded for duplicates in the same manner as _print_message.
- (_print_message): If the channel is ordered and has an
- associated queue, then enqueue messages instead of printing
- them.
- (setup_channel_queue, pop_channel_queue): New functions,
- to set a Thread::Queue for channels, and to flush a queue.
- * lib/Automake/ChannelDefs.pm: Unset channel option `ordered'
- for fatal, automake, and verb channels.
- * automake.in (QUEUE_MESSAGE): New global constant, used as
- serialization key.
- (handle_makefiles_threaded): Create message queues for each
- input file; workers queue messages, and the master outputs them
- ordered, using the new Channels.pm functions.
- * tests/parallel-am.test: Also check for ordered output (in the
- absence of --add-missing races).
- * tests/parallel-am2.test: New test; check for ordered output of
- warning and (regular) error messages.
- * tests/Makefile.am: Adjust.
-
- Parallel automake execution: AUTOMAKE_JOBS.
- * lib/Automake/Config.in (perl_threads): New global.
- * automake.in: Use it. If the perl supports interpreter-based
- threading, then use `threads' and `Thread::Queue'.
- (handle_makefile, handle_makefiles_serial): New functions,
- factored out from main.
- (get_number_of_threads): New function, compute number of threads
- to use, based on environment variable `AUTOMAKE_JOBS' and number
- of independent makefiles.
- (handle_makefiles_threaded): New function. Spawn threads, use
- thread queue to distribute handling the different makefiles.
- Collect $exit_code values from threads.
- (main): Use new functions.
- * aclocal.in: No threads here.
- * configure.ac: Substitute PERL_THREADS; enabled with perl >=
- 5.7.2 and when ithreads are available.
- * bootstrap (dosubst): Likewise.
- * Makefile.am (do_subst): Likewise.
- * lib/Automake/Makefile.am (do_subst): Likewise.
- * lib/Automake/ChannelDefs.pm: Use `Automake::Config' and
- `threads'.
- (verb): Prepend thread ID (tid) to verbose messages.
- * lib/Automake/Channels.pm (msg): Before exiting, flush stderr,
- needed for worker threads.
- * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also
- include the build tree path, so Config.pm is found.
- * tests/parallel-am.test: New test.
- * tests/Makefile.am: Update.
- * doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS.
- * NEWS, THANKS: Update.
- Report about long execution times by Joakim Tjernlund and others.
-
-2008-10-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Minor file checking optimization: set_dir_cache_file.
- * lib/Automake/FileUtils.pm (set_dir_cache_file): New function.
- * automake.in (require_file_internal): Instead of resetting the
- cache when a file has been installed, simply correct the cache
- using set_dir_cache_file.
-
- No uniquifying for fatal, prog_error, and verbose messages.
- There is no point in dropping critical messages, even if they
- are duplicates (unlikely to happen unless they have been sent
- as non-critical messages before), and verbose messages should
- enable to show progress, even using duplicate statements.
- * lib/Automake/ChannelDefs.pm (fatal, automake, verb): Set
- `uniq_part' to `UP_NONE' when registering these channels.
-
- Fix 'config.status --file=... depfiles' with new Autoconf.
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Eval
- $CONFIG_STATUS contents if we detect the quoting used by
- Autoconf 2.62 and newer for --file=.
- * tests/depend5.test: New test.
- * tests/Makefile.am: Update.
- * NEWS, THANKS: Update.
- Report by Sam Steingold against gnulib.
-
-2008-10-26 Johan Dahlin <jdahlin@async.com.br>
-
- Support for Python 3.0, drop support for pre-2.0.
- * lib/py-compile: Do not import string; use sys.stdout.write
- instead of print, files.split instead of string.split.
- * m4/python.m4 (AM_PATH_PYTHON): Also look for python3 and
- phython3.0; do not look for python1.5. Use sys.stdout.write.
- (AM_PYTHON_CHECK_VERSION): Do not use string; adjust to xrange
- removal in Python 3.0, and changed semantics of map.
- * doc/automake.texi (Python, Hard-Coded Install Paths): Update
- Python versions mentioned in the manual, using 2.5 everywhere.
- * NEWS, THANKS: Update.
-
-2008-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/Automake/Channels.pm (@chain): Drop unused variable.
-
- Cleanup of per-input global variables in automake.in.
- * automake.in ($output_vars, $output_all, $output_header)
- ($output_rules, $output_trailer): Fix comment, and sort
- declarations in the order they will appear in the output.
- ($all_target): Unused variable, remove.
- (Variables not reset by &initialize_per_input.): New section,
- clarify that %am_file_cache is not reset.
- (initialize_per_input): Reset $am_file_name, $am_relative_dir,
- $in_file_name, $relative_dir, and $topsrcdir to `undef' rather
- than the empty string; $topsrcdir was not reset at all. Sort
- remaining variables in the same order as in the section
- `Variables reset by &initialize_per_input'.
-
- Let stderr output end up on fd 2 in testsuite.
- * tests/defs.in (AUTOMAKE_run): Output recorded stderr on file
- descriptor 2.
- * tests/getopt.test: Fix erroneous multiple redirection,
- uncovered by above change.
-
-2008-10-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix DisjConditions module to be thread-safe for perl >= 5.7.2.
- Self-hashes of blessed references are not correctly transported
- through thread creation. This patch fixes that by recreating
- the hashes upon thread creation with a CLONE special subroutine,
- which is automatically invoked by new enough Perl versions.
- * lib/Automake/DisjConditions.pm (CLONE): New special
- subroutine to fix self hashes upon thread creation.
- * lib/Automake/tests/Condition-t.pl: New, sister test to
- Condition.pl, but spawns a new threads after each creation of a
- new condition; skip test if perl is too old or ithreads are not
- available.
- * lib/Automake/tests/DisjConditions-t.pl: Likewise.
- * lib/Automake/tests/Makefile.am (TESTS): Add them.
-
-2008-10-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix comment typos.
- * automake.in (require_file_internal): Fix typos in comments.
- * m4/amversion.in: Likewise.
- * lib/Automake/Variable.pm: Likewise.
- * lib/Automake/XFile.pm: Likewise.
-
- Diagnose unsupported uses of `backname' helper function.
- * automake.in (backname): Error out if the path points outside
- the directory it started in.
-
-2008-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Nicer 'make dist' output.
- * lib/am/distdir.am (distdir): Hide the complex script
- used for computing the relative subdirs; echo the sub-make
- command.
-
-2008-10-12 William Pursell <bill.pursell@gmail.com> (tiny patch)
-
- * tests/defs.in: Fix comment typo.
-
-2008-10-12 William Pursell <bill.pursell@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix grammar w.r.t. plurals in test reports.
- * lib/am/check.am: Fix singular/plural forms in test reports.
- * tests/check10.test: New test.
- * tests/Makefile.am: Update.
-
-2008-10-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Require texi2dvi in tests, makeinfo may not be enough.
- * tests/txinfo16.test: RHEL 5.2 has makeinfo and texi2dvi in
- separate packages, so also list the latter as required, as the
- test generates DVI and/or PDF output (through distcheck).
- * tests/txinfo18.test: Likewise.
- * tests/txinfo21.test: Likewise.
- * tests/txinfo22.test: Likewise.
- * tests/txinfo3.test: Likewise.
- * tests/version7.test: Likewise.
- * THANKS: Update.
- Report by Alexander Martens.
-
- Fix bootstrap to remove read-only directories right.
- * bootstrap: Remove automake-$APIVERSION correctly.
-
-2008-10-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Improve test coverage of current TESTS semantics.
- * tests/check8.test: New test, for subdir tests and setting of
- $srcdir.
- * tests/check9.test: New test, check @substituted@ TESTS.
- * tests/Makefile.am: Update.
-
-2008-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/minuso.m4 (AM_PROG_CC_C_O): Work around shell quoting issue
- with AIX sh; fixes depcomp6.test failure.
- * NEWS, THANKS: Update.
- Report by Rainer Tammer.
-
- Print captured output before failing.
- * tests/acloca14.test, tests/acloca17.test, tests/acloca18.test,
- tests/aclocal.test, tests/acsilent.test, tests/alpha.test,
- tests/check4.test, tests/color.test, tests/fn99.test,
- tests/fn99subdir.test, tests/help.test, tests/init.test,
- tests/lisp8.test, tests/missing3.test, tests/pr220.test,
- tests/python11.test, tests/python4.test, tests/python5.test,
- tests/unused.test, tests/version8.test: When Exit is called
- after a command that has stdout or stderr redirected to a file
- for later inspection, output the file before failing the test.
-
- Fix some comment typos.
- * automake.in: Fix some comment typos.
- * lib/Automake/Condition.pm: Likewise.
- * lib/Automake/DisjConditions.pm: Likewise.
- * lib/Automake/Variable.pm: Likewise.
- * lib/Automake/tests/DisjConditions.pl: Likewise.
-
-2008-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/aclibobj.test: Fix race condition.
-
-2008-09-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix man page creation without installed files.
- * doc/Makefile.am (update_mans): Use wrappers in tests/
- directory.
- ($(srcdir)/aclocal-$(APIVERSION).1): Use versioned wrapper as
- input program to help2man.
- ($(srcdir)/automake-$(APIVERSION).1): Likewise.
- Report by Eric Blake.
-
-2008-09-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Remove unneeded per-rule *INSTALL variables.
- * NEWS: Update.
- * lib/am/data.am (%DIR%%PRIMARY%_INSTALL): Remove.
- (install-%DIR%%PRIMARY%): Adjust.
- * lib/am/libs.am (%DIR%LIBRARIES_INSTALL): Remove.
- (install-%DIR%LIBRARIES): Adjust.
- * lib/am/ltlibs.am (%DIR%LTLIBRARIES_INSTALL): Remove.
- (install-%DIR%LTLIBRARIES): Adjust.
- * lib/am/progs.am (%DIR%PROGRAMS_INSTALL): Remove.
- (install-%DIR%PROGRAMS): Adjust.
- * lib/am/python.am (%DIR%PYTHON_INSTALL): Remove.
- (install-%DIR%PYTHON): Adjust.
- * lib/am/scripts.am (%DIR%SCRIPT_INSTALL): Remove.
- (install-%DIR%SCRIPTS): Adjust.
-
- Compactify program rules using ternary operators.
- * lib/am/progs.am (install-%DIR%PROGRAMS): Uglify^WCompactify
- using ternary operators `%KEY?TRUE:FALSE%'.
- (uninstall-%DIR%PROGRAMS): Likewise.
-
- New doc section about command line length limits.
- * doc/automake.texi (Length limitations): New node.
- (Alternative): `nobase_' is not always equivalent to several
- base variables.
- (Install): Mention multi-file install.
- * NEWS: Expand on the issue, list some more user-visible
- consequences.
-
- Install nobase_lib_LTLIBRARIES before bin_PROGRAMS.
- * automake.in (generate_makefile): If nobase_lib_LTLIBRARIES are
- used, add an ugly hack to install them before bin_PROGRAMS, just
- like done with lib_LTLIBRARIES.
- * tests/ltorder.test: Add program, to expose this.
-
- Do not reorder nobase ltlib installation.
- This patch changes back the order of installation of nobase
- LTLIBRARIES to that in which files are listed in the variables.
- It does not fix the issue of strict dependency ordering, as
- implied by *_LIBADD, but as before allows to steer the order by
- listing the libraries in nobase_*_LTLIBRARIES appropriately.
- As an advantage over the state of 1.10, multiple consecutive
- nobase libraries to be installed in the same directory are
- passed to libtool in one invocation.
- * lib/am/ltlib.am (install-%DIR%LTLIBRARIES) [!%?BASE%]: Do not
- reorder libraries upon installation. Remove spurious empty
- line.
- * tests/ltorder.test: New test.
- * tests/Makefile.am: Update.
-
- Fix -rpath arguments for nobase_*_LTLIBRARIES.
- * automake.in (handle_ltlibraries): New hash %instsubdirs to
- track the dirname of nobase ltlibraries, and tack it onto the
- end of the -rpath argument. Also, fix the warning about ltlibs
- installed in multiple locations to fit a bit better.
- * tests/pr300-ltlib.test: Expose this bug here.
- * tests/ltinstloc.test: New test.
- * tests/Makefile.am: Update.
- * NEWS: Update.
-
- Man pages for automake and aclocal.
- * configure.ac (HELP2MAN): New substitution.
- * doc/Makefile.am (dist_man1_MANS, MAINTAINERCLEANFILES)
- (update_mans): New macros.
- ($(srcdir)/aclocal-$(APIVERSION).1)
- ($(srcdir)/automake-$(APIVERSION).1): New rules, generate
- man pages from the command line help with help2man.
- ($(srcdir)/aclocal.1, $(srcdir)/automake.1): New rules, for
- `.so' man page links to the versioned pages.
- * NEWS: Update.
-
-2008-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Faster install for libtool outputs.
- * lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Invoke `libtool
- --mode=install' with multiple libraries at once.
- (%DIR%LTLIBRARIES_INSTALL): No need to use install_sh any more.
- * lib/am/progs.am (install-%DIR%PROGRAMS): Likewise, remove much
- of the libtool special-casing by invoking it for multiple
- programs at once.
-
-2008-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fast install and uninstall for SCRIPTS.
- * lib/am/scripts.am [%?INSTALL%]: Include inst-vars.am
- independent of `%?BASE%'.
- (install-%DIR%SCRIPTS): Install multiple scripts at once,
- using awk and a number of sed scripts.
- (uninstall-%DIR%SCRIPTS): Compute the installed names, and
- remove them, all at once.
- (%DIR%SCRIPT_INSTALL) [!BASE]: No need to use install-sh any
- more.
-
- Multi-file install for PROGRAMS.
- * lib/am/progs.am (install-%DIR%PROGRAMS): Allow to install
- several programs with one install invocation, when not using
- libtool; employs some trickery to cater for nobase_, $(EXEEXT),
- create needed directories, libtool, while only forking a
- constant number of times in the fast path; uses awk and sed also
- in the default path.
- (%DIR%PROGRAMS_INSTALL) [!BASE]: No need to use install-sh any
- more.
-
- Enhance cleaning of programs in libtool mode.
- * lib/am/progs.am (clean-%DIR%PROGRAMS) [?LIBTOOL?]: Fork less
- often, avoid removing programs twice if $(EXEEXT) is empty.
- * tests/nobase-libtool.test: Also test PROGRAMS, in order to
- exercise the code path.
- * THANKS: Update.
- Report by Toralf Förster.
-
-2008-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Jim Meyering <jim@meyering.net>
-
- Reliable multi-file install for man pages.
- * lib/am/mans.am: Include inst-vars.am.
- (install-man%SECTION%): Gather lists of man pages to install,
- and install up to 40 of those that do not have to be renamed
- at once. Fail if installation of any file fails.
- (uninstall-man%SECTION%): Rewrite to use fewer sed invocations.
- * doc/automake.texi (Man pages): Hint the user to the fast path.
- Indentation fix.
- * tests/instmany-mans.test: New test.
- * tests/Makefile.am: Update.
-
-2008-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Faster `make uninstall'; fast install for JAVA.
- * lib/am/inst-vars.am (am__nobase_strip_setup)
- (am__nobase_strip): New macros.
- (am__nobase_list): Factorize.
- * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use them, for a
- constant number of forks per uninstall.
- * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
- * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
- * lib/am/progs.am (uninstall-%DIR%PROGRAMS): Fast uninstall.
- * lib/am/python.am (uninstall-%DIR%PYTHON): Fast uninstall.
- Echo all `rm' commands that are are executed.
- * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA):
- Fast install and uninstall.
-
- AIX ranlib dislikes spaces in the argument.
- * lib/am/libs.am (install-%DIR%LIBRARIES): Fix instsh.test
- failure on AIX due to ranlib and whitespace in the directory.
- * THANKS: Update.
- Report by John F Trudeau.
-
- Fail upon install or ranlib failure, part two.
- * lib/am/java.am (install-%DIR%JAVA): Fail upon install failure.
- * lib/am/lisp.am (install-%DIR%LISP): Likewise.
- * lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Likewise.
- * lib/am/libs.am (install-%DIR%LIBRARIES): Likewise, for
- `install' as well as `ranlib'.
- * lib/am/progs.am (install-%DIR%PROGRAMS): If `install' fails,
- return its exit failure, not 1.
- * tests/instfail.test: New test, for PROGRAMS (without libtool),
- LIBRARIES, including nobase variants.
- * tests/instfail-info.test: Likewise, for TEXINFOS.
- * tests/instfail-java.test: Likewise, for JAVA.
- * tests/instfail-libtool.test: Likewise, for PROGRAMS (with
- libtool) and LTLIBRARIES.
- * tests/Makefile.am: Adjust.
-
- Exit upon `install' failure, part one.
- * lib/am/data.am (install-%DIR%%PRIMARY%): Exit if any install
- command fails.
- * lib/am/python.am (install-%DIR%PYTHON): Likewise.
- * lib/am/scripts.am (install-%DIR%SCRIPTS): Likewise.
- * lib/am/texinfos.am (install-dvi-am, install-html-am)
- (install-info-am:, install-pdf-am): Likewise.
- * tests/instmany.test: New test, for SCRIPTS, DATA, and HEADERS.
- * tests/instmany-python.test: New test, for PYTHON.
- * tests/Makefile.am: Adjust.
-
-2008-09-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix multi-file installation for files in srcdir.
- For files that can live in the build tree or the source tree,
- we have to expect that prepending `$(srcdir)/' to each name
- will let the install command line exceed length limitations.
- Thus use a new macro, $(am__base_list), to install in chunks
- of 40 files, similar to what we do for nobase_* files. There,
- lower the limit to 40, too.
- * lib/am/inst-vars.am (am__install_max): Lower to 40.
- (am__base_list): New macro.
- * lib/am/data.am (install-%DIR%%PRIMARY%) [%?BASE%]: Use it.
- * lib/am/texinfos.am (install-dvi-am, install-html-am)
- (install-info-am, install-pdf-am, install-ps-am): Likewise.
-
-2008-09-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Use `Exit' instead of `exit' in test suite.
- Cater to Bourne shells like Solaris sh that do not pass the
- `exit' argument as status to the cleanup trap.
- * Makefile.am (maintainer-check): Check that here-documents
- use only `END' or `EOF' as delimiter in the test suite.
- Check that, outside of here-documents, the tests do not use
- `exit' with an argument, but use `Exit' instead.
- * tests/defs.in (Exit): New function. Use it throughout,
- starting with the introduction of the exit trap.
- * tests/aclibobj.test, tests/acloca10.test, tests/acloca11.test,
- tests/acloca12.test, tests/acloca13.test, tests/acloca14.test,
- tests/acloca15.test, tests/acloca16.test, tests/acloca17.test,
- tests/acloca18.test, tests/acloca19.test, tests/acloca20.test,
- tests/acloca21.test, tests/acloca22.test, tests/aclocal.test,
- tests/aclocal3.test, tests/aclocal4.test, tests/aclocal5.test,
- tests/aclocal6.test, tests/aclocal7.test, tests/aclocal8.test,
- tests/aclocal9.test, tests/acoutbs.test, tests/acoutbs2.test,
- tests/acoutnoq.test, tests/acoutpt.test, tests/acoutpt2.test,
- tests/acoutqnl.test, tests/acsilent.test, tests/acsubst.test,
- tests/acsubst2.test, tests/all.test, tests/alloca.test,
- tests/alloca2.test, tests/alpha.test, tests/alpha2.test,
- tests/amassign.test, tests/ammissing.test, tests/amopt.test,
- tests/amsubst.test, tests/ansi.test, tests/ansi10.test,
- tests/ansi2.test, tests/ansi3.test, tests/ansi3b.test,
- tests/ansi4.test, tests/ansi5.test, tests/ansi6.test,
- tests/ansi7.test, tests/ansi8.test, tests/ansi9.test (main),
- tests/ar.test, tests/ar2.test, tests/asm.test, tests/asm2.test,
- tests/asm3.test, tests/automake.test, tests/auxdir.test,
- tests/auxdir2.test, tests/auxdir3.test, tests/auxdir4.test,
- tests/backsl.test, tests/backsl2.test, tests/backsl3.test,
- tests/backsl4.test, tests/badline.test, tests/badopt.test,
- tests/badprog.test, tests/block.test, tests/bsource.test,
- tests/canon-name.test, tests/canon.test, tests/canon2.test,
- tests/canon3.test, tests/canon4.test, tests/canon5.test,
- tests/ccnoco.test, tests/ccnoco2.test, tests/check.test,
- tests/check2.test, tests/check3.test, tests/check4.test,
- tests/check5.test, tests/check6.test, tests/check7.test,
- tests/checkall.test, tests/clean.test, tests/clean2.test,
- tests/colneq.test, tests/colneq2.test, tests/colon.test,
- tests/colon2.test, tests/colon3.test, tests/colon4.test,
- tests/colon5.test, tests/colon6.test, tests/colon7.test,
- tests/color.test (test_no_color), tests/commen10.test,
- tests/comment.test, tests/comment2.test, tests/comment3.test,
- tests/comment4.test, tests/comment5.test, tests/comment6.test,
- tests/comment7.test, tests/comment8.test, tests/comment9.test,
- tests/compile.test, tests/compile_f90_c_cxx.test,
- tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test,
- tests/cond11.test, tests/cond13.test, tests/cond14.test,
- tests/cond15.test, tests/cond16.test, tests/cond17.test,
- tests/cond18.test, tests/cond19.test, tests/cond2.test,
- tests/cond20.test, tests/cond21.test, tests/cond22.test,
- tests/cond27.test, tests/cond3.test, tests/cond37.test,
- tests/cond39.test, tests/cond4.test, tests/cond40.test,
- tests/cond41.test, tests/cond5.test, tests/cond6.test,
- tests/cond7.test (AC_INIT), tests/cond8.test, tests/cond9.test,
- tests/condd.test, tests/condhook.test, tests/condinc.test,
- tests/condinc2.test, tests/condlib.test, tests/condman.test,
- tests/condman2.test, tests/conf2.test, tests/confdeps.test,
- tests/conff.test, tests/conff2.test, tests/confh.test,
- tests/confh4.test, tests/confh5.test, tests/config.test,
- tests/confincl.test, tests/conflnk.test, tests/conflnk2.test,
- tests/conflnk3.test, tests/conflnk4.test, tests/confsub.test,
- tests/confvar.test, tests/confvar2.test, tests/copy.test,
- tests/ctarget1.test, tests/cxx.test, tests/cxx2.test,
- tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test,
- tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test,
- tests/cygwin32.test, tests/dash.test, tests/defs.in (else),
- tests/defun.test, tests/defun2.test, tests/dejagnu.test,
- tests/dejagnu2.test, tests/dejagnu3.test, tests/dejagnu4.test,
- tests/dejagnu5.test, tests/dejagnu6.test, tests/dejagnu7.test,
- tests/depacl2.test, tests/depcomp.test, tests/depcomp2.test,
- tests/depcomp3.test, tests/depcomp4.test, tests/depcomp5.test,
- tests/depcomp6.test, tests/depcomp7.test, tests/depdist.test,
- tests/depend.test, tests/depend2.test, tests/depend3.test,
- tests/depend4.test, tests/destdir.test, tests/dirforbid.test,
- tests/dirlist.test, tests/dirlist2.test, tests/discover.test,
- tests/distcom2.test, tests/distcom3.test, tests/distcom4.test,
- tests/distcom5.test, tests/distcom6.test, tests/distcom7.test,
- tests/distdir.test, tests/distname.test, tests/dollar.test,
- tests/double.test, tests/dup2.test, tests/else.test,
- tests/empty.test, tests/empty2.test, tests/empty3.test,
- tests/empty4.test, tests/exdir.test, tests/exdir2.test,
- tests/exdir3.test, tests/exeext.test, tests/exeext2.test,
- tests/exeext3.test, tests/exeext4.test, tests/exsource.test,
- tests/ext.test, tests/extra.test, tests/extra2.test,
- tests/extra3.test, tests/extra4.test, tests/extra5.test,
- tests/extra6.test, tests/extra7.test, tests/f90only.test,
- tests/flibs.test, tests/fn99.test, tests/fn99subdir.test,
- tests/fnoc.test, tests/fo.test, tests/fonly.test,
- tests/fort1.test, tests/fort2.test, tests/fort4.test,
- tests/fort5.test, tests/fortdep.test, tests/fpinst2.test,
- tests/fpinstall.test, tests/gcj.test, tests/gcj2.test,
- tests/gcj3.test, tests/gcj4.test, tests/gcj5.test,
- tests/getopt.test, tests/gettext.test, tests/gettext2.test,
- tests/gettext3.test, tests/gnits.test, tests/gnits2.test (main),
- tests/gnits3.test, tests/gnumake.test, tests/gnuwarn.test,
- tests/gnuwarn2.test, tests/header.test, tests/help.test,
- tests/hosts.test, tests/implicit.test, tests/include.test,
- tests/include2.test, tests/info.test, tests/init.test,
- tests/insh2.test, tests/install2.test, tests/installdir.test,
- tests/instdat.test, tests/instdat2.test, tests/instexec.test,
- tests/insthook.test, tests/instman.test, tests/instman2.test,
- tests/instsh.test, tests/instsh2.test, tests/instsh3.test,
- tests/instspc.test, tests/interp.test, tests/interp2.test,
- tests/java.test, tests/java2.test, tests/java3.test,
- tests/javaprim.test, tests/javasubst.test, tests/ldadd.test,
- tests/ldflags.test, tests/lex.test, tests/lex2.test,
- tests/lex3.test, tests/lex4.test, tests/lex5.test (main),
- tests/libexec.test, tests/libobj10.test, tests/libobj11.test,
- tests/libobj12.test, tests/libobj13.test, tests/libobj2.test,
- tests/libobj3.test, tests/libobj4.test, tests/libobj5.test,
- tests/libobj7.test, tests/libobj8.test, tests/library.test,
- tests/library2.test, tests/library3.test, tests/libtoo10.test,
- tests/libtool.test, tests/libtool2.test, tests/libtool3.test
- (main), tests/libtool4.test, tests/libtool5.test,
- tests/libtool6.test, tests/libtool7.test, tests/libtool8.test,
- tests/libtool9.test (main), tests/license.test,
- tests/link_c_cxx.test, tests/link_dist.test,
- tests/link_f90_only.test, tests/link_f_only.test,
- tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test,
- tests/lisp2.test, tests/lisp3.test, tests/lisp4.test,
- tests/lisp5.test, tests/lisp6.test, tests/lisp7.test,
- tests/lisp8.test, tests/listval.test, tests/location.test,
- tests/longlin2.test, tests/longline.test, tests/ltcond.test,
- tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test,
- tests/ltlibobjs.test, tests/ltlibsrc.test, tests/lzma.test,
- tests/maintclean.test, tests/make.test, tests/makej.test,
- tests/makevars.test, tests/man.test, tests/man2.test,
- tests/man3.test, tests/mclean.test, tests/mdate.test,
- tests/mdate2.test, tests/mdate3.test, tests/mdate4.test,
- tests/mdate5.test, tests/missing.test, tests/missing2.test,
- tests/missing3.test, tests/missing4.test, tests/missing5.test,
- tests/missing6.test, tests/mkinst2.test, tests/mkinst3.test,
- tests/mkinstall.test, tests/mmode.test, tests/mmodely.test,
- tests/multlib.test, tests/nobase-libtool.test,
- tests/nobase-python.test, tests/nobase.test, tests/nodef.test,
- tests/nodef2.test, tests/nodep.test, tests/nodep2.test,
- tests/nodepcomp.test, tests/nodist.test, tests/nodist2.test,
- tests/nodist3.test, tests/nogzip.test, tests/nogzip2.test,
- tests/noinst.test, tests/noinstdir.test, tests/nolink.test,
- tests/nostdinc.test, tests/notrans.test, tests/number.test,
- tests/objc.test, tests/objc2.test, tests/obsolete.test,
- tests/order.test, tests/outdir.test, tests/output-order.test,
- tests/output.test, tests/output10.test, tests/output11.test,
- tests/output12.test, tests/output13.test, tests/output2.test,
- tests/output3.test, tests/output4.test, tests/output5.test,
- tests/output6.test, tests/output7.test, tests/output8.test,
- tests/output9.test, tests/overrid.test, tests/parse.test,
- tests/pluseq.test, tests/pluseq10.test, tests/pluseq2.test,
- tests/pluseq3.test, tests/pluseq4.test, tests/pluseq5.test,
- tests/pluseq6.test, tests/pluseq7.test, tests/pluseq8.test,
- tests/pluseq9.test, tests/postproc.test, tests/ppf77.test,
- tests/pr2.test, tests/pr204.test, tests/pr211.test,
- tests/pr220.test, tests/pr224.test, tests/pr229.test,
- tests/pr243.test, tests/pr266.test, tests/pr279-2.test,
- tests/pr279.test, tests/pr287.test, tests/pr300-lib.test,
- tests/pr300-ltlib.test, tests/pr300-prog.test, tests/pr307.test,
- tests/pr401.test, tests/pr401b.test, tests/pr401c.test,
- tests/pr72.test, tests/pr87.test, tests/pr9.test,
- tests/prefix.test, tests/primary.test, tests/primary2.test,
- tests/primary3.test, tests/proginst.test, tests/python.test,
- tests/python10.test, tests/python11.test, tests/python12.test,
- tests/python2.test, tests/python3.test, tests/python4.test,
- tests/python5.test, tests/python6.test, tests/python7.test,
- tests/python8.test, tests/python9.test, tests/recurs.test,
- tests/recurs2.test, tests/regex.test, tests/remake.test,
- tests/remake2.test, tests/remake3.test, tests/remake4.test,
- tests/remake5.test, tests/remake6.test, tests/remake7.test,
- tests/req.test, tests/reqd.test, tests/reqd2.test,
- tests/rulepat.test, tests/scripts.test, tests/seenc.test,
- tests/sinclude.test, tests/space.test, tests/specflg.test,
- tests/specflg2.test, tests/specflg3.test, tests/specflg6.test,
- tests/specflg7.test, tests/specflg8.test, tests/specflg9.test,
- tests/spell.test, tests/spell2.test, tests/spell3.test,
- tests/spelling.test, tests/spy.test, tests/srcsub.test,
- tests/srcsub2.test, tests/stamph2.test, tests/stdinc.test,
- tests/stdlib.test, tests/stdlib2.test, tests/strip.test,
- tests/subcond.test, tests/subcond2.test, tests/subcond3.test,
- tests/subdir.test, tests/subdir2.test, tests/subdir3.test,
- tests/subdir4.test, tests/subdir5.test, tests/subdir6.test,
- tests/subdir7.test, tests/subdir8.test, tests/subdir9.test,
- tests/subdirbuiltsources.test, tests/subobj.test,
- tests/subobj10.test, tests/subobj2.test, tests/subobj3.test,
- tests/subobj4.test, tests/subobj5.test, tests/subobj6.test,
- tests/subobj7.test, tests/subobj8.test, tests/subobj9.test,
- tests/subobjname.test, tests/subpkg.test, tests/subpkg2.test,
- tests/subpkg3.test, tests/subst.test, tests/subst2.test,
- tests/subst3.test, tests/substre2.test, tests/substref.test,
- tests/substtarg.test, tests/suffix.test, tests/suffix10.test,
- tests/suffix11.test, tests/suffix12.test, tests/suffix2.test,
- tests/suffix3.test, tests/suffix4.test, tests/suffix5.test,
- tests/suffix6.test, tests/suffix7.test, tests/suffix8.test,
- tests/suffix9.test, tests/symlink.test, tests/symlink2.test,
- tests/symlink3.test, tests/syntax.test, tests/tags.test,
- tests/tagsub.test, tests/tar.test, tests/tar2.test,
- tests/tar3.test, tests/target-cflags.test,
- tests/targetclash.test, tests/transform.test, tests/txinfo.test,
- tests/txinfo10.test, tests/txinfo13.test, tests/txinfo16.test,
- tests/txinfo17.test, tests/txinfo18.test, tests/txinfo19.test,
- tests/txinfo2.test, tests/txinfo20.test, tests/txinfo21.test,
- tests/txinfo22.test, tests/txinfo23.test, tests/txinfo24.test,
- tests/txinfo25.test, tests/txinfo26.test, tests/txinfo27.test,
- tests/txinfo28.test, tests/txinfo29.test, tests/txinfo3.test,
- tests/txinfo30.test, tests/txinfo31.test, tests/txinfo4.test,
- tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test,
- tests/txinfo8.test, tests/txinfo9.test, tests/unused.test,
- tests/upc.test, tests/upc2.test, tests/upc3.test,
- tests/vars.test, tests/vars3.test, tests/vartar.test,
- tests/version.test, tests/version2.test, tests/version3.test,
- tests/version4.test, tests/version6.test, tests/version7.test,
- tests/version8.test, tests/vpath.test, tests/vtexi.test,
- tests/vtexi2.test, tests/warnopts.test, tests/werror.test,
- tests/werror2.test, tests/whoami.test, tests/xsource.test,
- tests/yacc.test, tests/yacc2.test, tests/yacc3.test,
- tests/yacc4.test, tests/yacc5.test, tests/yacc6.test,
- tests/yacc7.test, tests/yacc8.test, tests/yaccpp.test,
- tests/yaccvpath.test: Use `Exit $arg' instead of `exit $arg'
- throughout, except inside created files.
-
-2008-09-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid Heisenbug with verbose testing on HP-UX.
- * tests/output-order.test: Remove spurious redirection line
- from output for comparison.
-
- For all possibly-relative subdirs, use $(am__cd).
- Up to now, $(am__cd) was only used within backquotes, to avoid
- extraneous output. This patch also uses it for every `cd' to a
- relative subdir, to prevent CDPATH from entering an unwanted
- directory.
- * Makefile.am (maintainer-check): Fix current check for
- $(am__cd) within backquotes a bit. Add new check for `cd' to a
- relative subdir.
- * automake.in (handle_tags, handle_configure): Adjust rules.
- * lib/am/ansi2knr.am: Likewise.
- * lib/am/configure.am: Likewise.
- * lib/am/distdir.am: Likewise.
- * lib/am/remake-hdr.am: Likewise.
- * lib/am/subdirs.am: Likewise.
- * lib/am/tags.am: Likewise.
- * lib/am/texibuild.am: Likewise.
-
- Fix nobase-python.test for BSD make.
- * tests/nobase-python.test: Listing a dependency to be found
- via VPATH search explicitly, without the path, as a target,
- will turn off VPATH search for FreeBSD make. So move the
- creation of the files outside of the Makefile.
-
-2008-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Implement AM_MAINTAINER_MODE([DEFAULT-MODE]).
- * m4/maintainer.m4 (AM_MAINTAINER_MODE): Allow for an optional
- first argument of `enable' or `disable', setting the default.
- * doc/automake.texi (Optional, maintainer-mode): Document.
- * tests/mmode.test: New test.
- * tests/Makefile.am: Adjust.
- * NEWS: Update.
- Suggestion by Vincent Lefevre.
-
-2008-08-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Copyright year updates.
- * lib/am/header-vars.am: Update copyright years.
- * lib/am/remake-hdr.am: Likewise.
- * lib/am/tags.am: Likewise.
-
-2008-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * THANKS: Use Cyrillic name instead of ASCII transcription.
-
-2008-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix rebuilding of removed subdir/Makefile.in files.
- * lib/am/configure.am (%MAKEFILE-IN%) [?!TOPDIR_P?]: If
- subdir/Makefile.in was removed, am--refresh would not update
- it. Fix up for it by running the per-directory rebuild rule.
- * tests/remake6.test, tests/remake7.test: New tests.
- * tests/Makefile.am: Adjust.
- * NEWS, THANKS: Update.
- Report and initial patch by Ilya N. Golubev.
-
-2008-08-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/notrans.test: Use multiple man files of each type.
-
- Fix maintainer-check failures.
- * doc/automake.texi (Conditionals): Drop TAB.
- * tests/missing6.test: Use 'rm -f'.
-
-2008-08-19 Reuben Thomas <rrt@sc3d.org> (tiny patch)
-
- * doc/automake.texi (Flag Variables Ordering, Per-Object Flags):
- Fix grammaros.
-
-2008-08-02 Karl Berry <karl@freefriends.org>
-
- * lib/gnupload: Provide also a simple example.
-
-2008-06-25 Thien-Thi Nguyen <ttn@gnuvola.org>
-
- Small doc fix.
- * doc/automake.texi (Public Macros): Close open paren.
-
-2008-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Introduce macro $(am__mv) to facilitate 'libtool --dry-run'.
- * lib/am/depend.am (am__mv): New macro, set to 'mv -f'.
- * lib/am/depend2.am: Use throughout to move the temporary
- depfile *.Tpo to its final destination *.Po.
-
-2008-06-18 Rafael Espindola <espindola@google.com>
-
- * lib/config-ml.in: don't handle --enable-shared and --enable-static.
-
-2008-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/inst-vars.am (am__install_max): New variable.
- (am__nobase_list): Use it.
-
- Fix conditional rules competing with config.status rules.
- * automake.in (handle_configure): Teach targets about the
- conditional config.status rule.
- * tests/cond39.test: Adjust test to expose this.
-
- For AC_CONFIG_LINKS(X,X), do not clean X in a non-VPATH build.
- * automake.in (rewrite_inputs_into_dependencies): Do distribute
- inputs where input and output name are equal. This relies on
- the assumption that it only happens with AC_CONFIG_LINKS.
- (handle_configure) <CONFIG_CLEAN_VPATH_FILES>: New variable, for
- links where source and dest are equal.
- * lib/am/clean.am (distclean-generic): Remove, if build tree not
- equal source tree.
- * tests/conflnk4.test: New test.
- * tests/Makefile.am: Adjust.
- * NEWS: Update.
-
-2008-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Extending): Fix ambivalent wording.
- Report by Ben Pfaff.
-
-2008-06-04 Karl Berry <karl@freefriends.org>
-
- * doc/automake.texi (Install, Hard-Coded Install Paths): Fix
- punctuation and markup.
- (Extending): Improve wording and clarify order semantics of
- *-local and *-hook targets.
-
-2008-06-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Extending): Fix grammar.
- Report by Karl Berry.
-
-2008-05-13 Stepan Kasal <skasal@redhat.com>
-
- Fix typos.
- * doc/automake.texi (Timeline): Reported by Reuben Thomas.
- * lib/am/remake-hdr.am: A few typos in comments.
-
-2008-04-10 Eric Blake <ebb9@byu.net>
-
- Prefer a released version of autoconf.
- * NEWS: Bump requirement to autoconf 2.62.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Likewise.
- * configure.ac: Likewise.
- (AC_PREREQ): Remove check, done by AM_INIT_AUTOMAKE instead.
-
- AC_AUTOCONF_VERSION can inadvertently expand to a macro name.
- * m4/amversion.in (AM_SET_CURRENT_AUTOMAKE_VERSION): Use proper
- m4 quoting.
- * aclocal.in (write_aclocal): Likewise.
- * tests/missing6.test: New test.
- * tests/Makefile.am (TESTS): Run it.
- * tests/missing4.test: Adjust.
-
-2008-04-02 Eric Blake <ebb9@byu.net>
-
- Make gnupload friendlier for VPATH usage.
- * lib/gnupload: Allow uploads from separate directory.
-
-2008-03-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Implement conditional AC_CONFIG_FILES: AM_COND_IF.
- * automake.in (%ac_config_files_condition): New.
- (scan_autoconf_config_files): Record condition if any.
- (scan_autoconf_traces): Trace _AM_COND_IF, _AM_COND_ELSE,
- _AM_COND_ENDIF, updating @cond_stack as appropriate.
- (handle_configure): Prefix config.status rule with condition.
- Check that m4 quotation is done consistently.
- * m4/cond.m4 (AM_CONDITION): Define `_AM_COND_VALUE_name'
- with `name' being the name of the condition, to its shell
- condition.
- * m4/cond-if.m4: New file.
- (_AM_COND_IF, _AM_COND_ELSE, _AM_COND_ENDIF): New trace helpers.
- (AM_COND_IF): New macro, implements conditionals.
- * m4/Makefile.am: Adjust.
- * doc/automake.texi (Requirements, Optional, Conditionals):
- Document AM_COND_IF.
- * NEWS: Update.
- * tests/cond39.test, tests/cond40.test, tests/cond41.test,
- tests/cond42.test, tests/cond43.test: New tests.
- * tests/Makefile.am: Adjust.
-
-2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (@ovar): New macro, from autoconf.texi.
- (Python): Use it.
- Suggestion by Eric Blake.
-
-2008-03-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/texinfo.tex: Sync from upstream.
-
-2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Requirements, Linking, Extending):
- Fix underfull and overfull lines, fix wording a bit.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from
- upstream.
-
- * Makefile.am (WGET_SV_GIT_CF): New.
- (fetch): Pull config.guess and config.sub from git repo now.
-
- * lib/Autom4te/FileUtils.pm (handle_exec_errors): New argument
- $hint, show if the executing program does not exist.
- (xsystem_hint): New function, like xsystem but allows to pass
- a hint.
-
-2008-03-11 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- Implement the `notrans_' prefix for untransformed manpages.
- * automake.in (handle_man_pages), lib/am/mans.am: Implement
- notrans_ prefix for MANS primary and rework dependencies for
- install-man%SECTION%; use only vars defined in Makefile.am.
- * doc/automake.texi (Renaming, Uniform, Man pages):
- Document notrans_ prefix.
- * NEWS: Update.
- * tests/notrans.test: New test.
- * tests/Makefile.am: Update.
-
- * automake.in (handle_man_pages): Reindent, for next patch.
-
-2008-03-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Use `install' with multiple files at once for some primaries.
- With nobase targets, at most 50 files are installed at once,
- to avoid quadratic string concatenation and line length limits.
- This isn't yet done with base targets. One hope is that there,
- the typical file name length is lower. If this turns out to be
- a problem, it should be revisited.
-
- * lib/am/inst-vars.am (am__nobase_list): New helper macro for
- installation of multiple nobase files at once: sorts and lists
- files keyed by their target directory.
- * lib/am/data.am (%DIR%%PRIMARY%_INSTALL): No need to set it to
- $(install_sh_DATA) any more, not even for nobase targets.
- (install-%DIR%%PRIMARY%): Split base and nobase cases.
- Rewrite to pass lists of files which all go in the same
- directory to `install'. In the nobase case, make use of
- $(am__nobase_list) and $(MKDIR_P) each directory before
- populating it. Take care of files in source and build trees,
- and avoid creating directories where no files are to be
- installed.
- * lib/am/libs.am (%DIR%LIBRARIES_INSTALL): Likewise.
- (install-%DIR%LIBRARIES): Likewise.
- * lib/am/python.am (%DIR%PYTHON_INSTALL): Likewise.
- (install-%DIR%PYTHON): Likewise. Also take care to keep note of
- a list for byte compilation after installation.
- * lib/am/texinfos.am (install-dvi-am, install-html-am)
- (install-info-am, install-pdf-am, install-ps-am): Use file lists
- to install multiple files at once.
- * NEWS: Update.
- Suggested by Akim Demaille.
-
-2008-03-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Require unreleased Autoconf for fixed AC_PROG_INSTALL.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Bump AC_PREREQ to 2.61-341,
- regenerate files.
- * configure.ac: Also require Autoconf 2.61-341, to catch
- failure early and provide a sensible error message.
-
- Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT.
- * tests/ansi4.test: Drop AC_OBJEXT and AC_EXEEXT.
- * tests/ansi6.test: Likewise.
- * tests/ansi7.test: Likewise.
- * tests/condlib.test: Likewise.
- * tests/cygwin32.test: Likewise.
- * tests/exeext2.test: Likewise.
- * tests/libobj11.test: Likewise.
- * tests/library.test: Likewise.
- * tests/txinfo5.test: Likewise.
-
-2008-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Skip instsh3.test if `touch -t' does not work.
- * tests/instsh3.test: Test for `touch -t', fails with Solaris
- /usr/ucb/touch.
- * THANKS: Update.
- Report by Younes Younes.
-
-2008-02-27 Reuben Thomas <rrt@sc3d.org>
-
- * doc/automake.texi (wildcards): Improve "Why doesn't Automake
- support wildcards" node's English and sense.
-
-2008-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/check.am (check-TESTS): In the case patterns for
- XFAILed tests, add literal bracket expression for matching
- whitespace, as NetBSD 4.99.54 ksh does not understand a
- bracket expression resulting from variable expansion.
- * README: Explain how to run the Automake test suite, including
- setting MAKE to test gmake.
- Report by Patrick Welche.
-
-2008-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR automake/498
- * m4/options.m4 (_AM_SET_OPTIONS): Use m4_foreach_w instead of
- obsolete AC_FOREACH.
- Report by NightStrike and gurganbl@rose-hulman.edu.
-
-2008-02-17 Colin Watson <cjwatson@debian.org> (tiny change)
-
- * lib/am/tags.am (ID): Fix typo in workaround for old awk.
-
-2008-02-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/.gitignore: Ignore files generated by `make ps pdf html'.
-
-2008-02-05 Reuben Thomas <rrt@sc3d.org>
-
- * doc/automake.texi (CVS): configure.ac will appear newer, not
- older, than configure. Use `lexical' instead of `alphabetical'.
-
-2008-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/man3.test: Avoid `make VAR=value'.
-
- * tests/subst3.test: New test.
- * tests/Makefile.am: Update.
-
- * tests/instsh2.test: Split off testing of `install-sh -C' ...
- * tests/instsh3.test: ... to this new test, requiring non-root.
- * tests/Makefile.am: Adjust.
- * THANKS: Update.
- Report by Theodoros V. Kalamatianos.
-
-2008-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/nobase.test: Extend test to generated files.
-
- * tests/nobase-python.test: New test, nobase for python files.
- * tests/Makefile.am: Update.
-
- * tests/nobase.test: Split off libtool part of nobase.test for
- increased test exposure, to ...
- * tests/nobase-libtool.test: ... this new test.
- * tests/Makefile.am: Update.
-
-2008-01-23 Eric Blake <ebb9@byu.net>
-
- Fix color.test when using BSD grep.
- * tests/color.test: Ensure that grep can handle non-printing
- characters.
-
-2008-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/lisp3.test: Fix typo.
-
-2008-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/mans.am (install-man%SECTION%): Prefer generated manpages
- over distributed ones.
- Report and patch by Peter Breitenlohner.
- * tests/man3.test: New test.
- * tests/Makefile.am: Update.
-
-2008-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/tar.test: Skip if no appropriate tar was found.
-
-2008-01-19 NightStrike <nightstrike@gmail.com>
-
- * doc/automake.texi (Dependency Tracking): Fix typo.
-
-2008-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/config-ml.in, lib/config.guess, lib/config.sub,
- lib/symlink-tree: Sync from upstream.
-
- * Makefile.am (WGET_SV_CVS): Renamed from WGETSGO.
- (WGET_SV_GIT_AC, WGET_SV_GIT_GL, WGET_GCC): New.
- (fetch): Update to match current upstream locations.
-
-2008-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (DESTDIR, Built sources example): Fix wording.
- * THANKS: Update.
- Reports and suggestions by William Pursell and nightstrike@gmail.com.
-
-2008-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Do not fail if `autoupdate' is not present.
- * tests/obsolete.test: Check for presence of autoupdate. Apparently,
- FreeBSD may install the other Autoconf programs without a version
- suffix but not autoupdate.
-
- Fix Heisenbug trying to unset a sometimes-not-set variable.
- * tests/check5.test: Do not error out upon `unset TESTS' due to
- `set -e', in case TESTS was not set.
- * tests/color.test: Likewise.
-
- * doc/automake.texi (amhello Explained): Fix odd sentence.
- Report by nightstrike@gmail.com.
-
-2008-01-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/init.m4 (_AC_AM_CONFIG_HEADER_HOOK): Rewrite to be more
- resistant to different quoting styles of $1.
-
- Clarify texinfo.tex and TEXINFO_TEX semantics.
- * doc/automake.texi (Texinfo): Clarify that by default,
- texinfo.tex is searched in the same directory as the Makefile.am
- that needs it. Clarify that TEXINFO_TEX has precedence over
- AC_CONFIG_AUX_DIR, and that it requires the user to install and
- distribute it.
- * tests/txinfo22.test: Ensure TEXINFO_TEX is not distributed.
- * THANKS: Update.
- Reports by Dilyan Palauzov and Roumen Petrov.
-
-2008-01-11 Bruno Haible <bruno@clisp.org>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/output-order.test: New test, for the stable output fix.
- * tests/Makefile.am: Update.
-
-2008-01-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (dist-hook): New, ensure world-executable tests.
- * THANKS: Update.
- Report by Arto C. Nirkko.
-
- * tests/acloca20.test: Use `--force' with the second $AUTOCONF,
- to force update on fast machines where both autoconf invocations
- happen within the same second.
- Report by Greg Schafer.
-
-2008-01-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (scan_autoconf_files): Sort loop over
- %required_aux_file, for stable verbose output.
- Report by Bruno Haible.
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from
- upstream.
-
- * tests/ccnoco.test (Mycomp): Use a tighter match for -c -o,
- to avoid matching for example `LDFLAGS=-Wl,--sort-common'.
- * THANKS: Update.
- Report and analysis by Carsten Lohrke and Mike Frysinger.
-
-2008-01-07 Stepan Kasal <skasal@redhat.com>
-
- * automake.in (handle_texinfo_helper, handle_lib_objects): Fix
- typos in comments.
-
-2008-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Bump copyright years.
- * aclocal.in (write_aclocal, version): Likewise.
- * automake.in ($gen_copyright, version): Likewise.
- * doc/automake.texi: Likewise.
-
-2007-12-18 Jim Meyering <meyering@redhat.com>
-
- * lib/gnupload (GPG): Don't use an absolute path.
- This reverts part of the 2004-01-28 change.
-
-2007-12-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/Automake/FileUtils.pm (open_quote): New function.
- (update_file, contents): Use it.
-
- Reword the copyright notices to match what's suggested in GPLv3.
-
-2007-12-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/defs.in: Quote $srcdir, $PATH; skip libtool and gettext
- tests if the absolute source or build tree name contain whitespace.
-
- Modify some tests for absolute trees containing whitespace.
- * tests/missing.test: Use "./missing" instead of "`pwd`/missing".
- * tests/missing2.test: Likewise.
- * tests/mmodely.test: Add `pwd` to $PATH instead of absolute
- references to myyacc.sh and mylex.sh.
- * tests/multlib.test: Likewise for mycc.
- * tests/txinfo26.test: Skip if `pwd` contains whitespace, as
- an absolute --srcdir does not work there.
-
- * INSTALL, lib/INSTALL, lib/config-ml.in, lib/config.guess,
- lib/config.sub, lib/texinfo.tex: Sync from upstream.
-
- Fix the distdir target to cope with spaces in absolute file names.
- * lib/am/distdir.am: Quote all instances of $(distdir) and
- $(top_distdir). They could contain white space, coming from
- a toplevel package bootstrapped with an older Automake version.
- (am__relativize): New macro, taken from gnulib code, written by
- Bruno Haible.
- (distdir): Use it to compute relative paths to distdir and
- top_distdir for enclosed subpackages.
- Also, quote $(distuninstallcheck_dir).
- * lib/am/texinfos.am: Likewise, quote $(distdir).
-
-2007-11-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Quote file names in tests that can be absolute.
- * tests/auxdir.test, tests/check3.test, tests/check4.test,
- tests/compile.test, tests/cond33.test, tests/condhook.test,
- tests/distdir.test, tests/dollar.test, tests/empty.test,
- tests/gnits2.test, tests/gnits3.test, tests/include2.test,
- tests/insthook.test, tests/java.test, tests/libtool7.test,
- tests/lisp4.test, tests/lisp5.test, tests/lisp6.test,
- tests/ltcond.test, tests/ltconv.test, tests/mkinst2.test,
- tests/multlib.test, tests/nobase.test, tests/nodist2.test,
- tests/obsolete.test, tests/pr287.test, tests/pr300-lib.test,
- tests/pr300-ltlib.test, tests/pr300-prog.test, tests/python10.test,
- tests/python3.test, tests/strip.test, tests/transform.test,
- tests/txinfo13.test, tests/txinfo19.test, tests/txinfo22.test,
- tests/txinfo23.test, tests/txinfo26.test, tests/txinfo27.test:
- Likewise.
-
- Quote @abs_top_builddir@ and @abs_top_srcdir@.
- * tests/aclocal.in: Likewise.
- * tests/automake.in: Likewise.
-
- Fix TAGS and GTAGS rules to cope with whitespace in `pwd`.
- * lib/am/tags.am (TAGS): Use positional parameters to avoid
- the need to quote absolute file names.
- (GTAGS): Quote absolute file name.
- (CTAGS): Simplify, dropping unused variable `$tags'.
-
-2007-11-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/ltlib.am (uninstall-%DIR%LTLIBRARIES): Fix another instance
- of am__strip_dir. Fixes nobase and pr300-ltlib test failures.
-
-2007-11-25 Akim Demaille <akim@lrde.epita.fr>
-
- Several *-local in a rule do not work.
- * tests/all.test: Check this case.
- Use set -e.
- * tests/Makefile.am (XFAIL_TESTS): Add it.
-
-2007-11-25 Akim Demaille <akim@lrde.epita.fr>
-
- Fix uses of am__strip_dir.
- * lib/am/libs.am, lib/am/ltlib.am: Catch up with the change of
- definition of am__strip_dir.
-
-2007-11-25 Akim Demaille <akim@lrde.epita.fr>
-
- Define and use register_action.
- * lib/Automake/Rule.pm: Fix a few typos in the doc.
- (&rule): Use || to simplify the code.
- (&register_action): New.
- Export it.
- * automake.in (&handle_factored_dependencies, &file_contents_internal):
- Use it.
-
-2007-11-25 Akim Demaille <akim@lrde.epita.fr>
-
- * bootstrap: Fix typos on redirections.
-
-2007-11-24 Akim Demaille <akim@lrde.epita.fr>
-
- Skip comments and empty lines in dirlist in the tests.
- * defs.in (extra_includes): Skip comments and empty lines in dirlist.
-
-2007-11-24 Akim Demaille <akim@lrde.epita.fr>
-
- Ternary operator in lib/am files.
- * automake.in (&transform_token): New.
- (&transform): Use it.
- Support %KEY?TRUE:FALSE%.
- (&make_paragraphs): Adjust the regexp to call %transform.
- * lib/am/data.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am,
- * lib/am/progs.am, lib/am/python.am, lib/am/scripts.am:
- Use %KEY?TRUE:FALSE%.
- * lib/am/inst-vars.am (am__strip_dir): Assign the result to f
- to be more alike am__vpath_adj.
- Adjust dependencies.
-
-2007-11-24 Akim Demaille <demaille@gostai.com>
-
- * automake.in: Normalize white spaces.
-
-2007-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (ACLOCAL, AUTOMAKE): Fix quoting for rebuilding
- rules, if the absolute build directory name contains white space.
-
-2007-11-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.in (trace_used_macros): Quote input files.
-
- * lib/ylwrap: Cope with white space in `PROGRAM' and `pwd`.
-
- * lib/am/tags.am (ID, TAGS, CTAGS): Make awk scripts portable again.
- (CTAGS): Drop unneeded variable `here'.
-
-2007-11-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/output13.test: New test.
- * tests/Makefile.am: Adjust.
- Prompted by report from Bruno Haible in
- <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00479.html>.
-
- Fix signal handling in aclocal.
- * aclocal.in (unlink_tmp): If invoked by a signal, note so
- in verbose mode. Reinstall default signal handler and reraise,
- to transport the interrupt information.
-
-2007-11-13 Bob Proulx <bob@proulx.com>
-
- Fix color test failure on dumb (and other) terminals.
- * tests/color.test: Set TERM to `ansi'.
-
-2007-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid spurious test failure with `make check TESTS=check5.test'.
- * tests/check5.test: unset TESTS.
-
- Fix maintainer-check failure.
- * tests/color.test: unset TESTS, use `make -e' rather than
- `make MACRO=val'.
-
-2007-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AM_INIT_AUTOMAKE): Require version 1.10a.
-
- * automake.in (handle_tests): Remove debugging leftover.
-
- Run each test in a process-private subdirectory.
- * tests/defs.in: Employ a trap to clean up at the end of the
- test in case the test succeeded. This needs to be revisited
- because we would like to keep the output of XPASSing tests.
- Also, note when we were interrupted by a signal. Code taken
- from Autoconf's _AC_INIT_PREPARE.
- If $keep_testdirs is set, keep them even for successful tests.
- * tests/Makefile.am (check-clean-local): New target. Remove all
- tests subdirs, but also make them writable first. The latter
- was already needed without per-test subdirs.
- (distclean-local): Depend upon check-clean-local.
- * tests/Makefile.in: Regenerate.
- * tests/.cvsignore, tests/.gitignore: Adjust.
-
- Fix default includes ordering to be `-I. -I$(srcdir) ...' again.
- * automake.in (handle_compile): Put -I$(srcdir) before include
- paths for config headers, as was done before Automake 1.10, but
- keep uniquified list without multiple adjacent spaces.
- * doc/automake.texi (Program variables): List include paths
- in order.
- * NEWS: Mention 1.10 regression.
- * tests/stdinc.test: New test.
- * tests/Makefile.am: Adjust.
- * THANKS: Update.
- Report by Kent Boortz.
-
-2007-11-08 Akim Demaille <akim@lrde.epita.fr>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Bob Proulx <bob@proulx.com>
-
- Implement colorized test output.
- * automake.in (handle_tests): Set COLOR depending on `color-tests'.
- * configure.ac (AM_INIT_AUTOMAKE): Use `color-tests'.
- * doc/automake.texi (Tests, Options): Document test results,
- document new option, document AM_COLOR_TESTS.
- * lib/Automake/Options.pm (_process_option_list): Handle it.
- * lib/am/check.am (am__tty_colors): New variable. Enable colored
- output if TERM is not dumb and depending on AM_COLOR_TESTS and
- whether stdout is connected to a terminal.
- (check-TESTS): Use am__tty_colors.
- * NEWS: Mention color-tests.
- * tests/color.test: New test.
- * tests/Makefile.am: Adjust.
-
-2007-11-08 NightStrike <nightstrike@gmail.com> (tiny change)
-
- For PR automake/526:
- * doc/automake.texi (Basic Installation): Fix typo.
-
-2007-10-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Accommodate for new macro AC_AUTOCONF_VERSION.
- * aclocal.in (write_aclocal): Use AC_AUTOCONF_VERSION rather
- than m4_PACKAGE_VERSION. Define the former if not defined.
- * m4/amversion.in (AM_SET_CURRENT_AUTOMAKE_VERSION): Likewise.
- * tests/missing4.test: Use AC_AUTOCONF_VERSION.
-
-2007-10-29 Bruno Haible <bruno@clisp.org>
-
- * doc/automake.texi (Program variables): Clarify that
- Automake does not put DEFAULT_INCLUDES in AM_CPPFLAGS, but
- passes it directly to compilation commands.
-
-2007-10-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Move to git as primary source repository.
- * Makefile.am (git-dist, git-release): Renamed and adjusted from ...
- (cvs-dist, cvs-release): ... these.
- (git-diff): New target, taken and adjusted from cvs-diff.
- * Makefile.in: Regenerate.
- * bootstrap: Adjust.
- * NEWS: Announce change.
- * doc/automake.texi (General Operation): cvs-dist is git-dist now.
- (Timeline): Mention change.
-
-2007-10-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in: Treat extension .sx also like preprocessed
- assembler (.S), following GCC.
- * NEWS: Update.
- * doc/automake.texi (Assembly Support): Adjust.
- * tests/asm3.test: New test.
- * tests/Makefile.am: Update.
-
-2007-10-09 Jim Meyering <meyering@redhat.com>
-
- Add lzma compression support.
- * NEWS: Mention it.
- * automake.in (handle_dist): Recognize dist-lzma.
- (make_paragraphs): Map LZMA to dist-lzma.
- * doc/automake.texi (Dist): Add dist-lzma.
- (Options): Likewise.
- * lib/Automake/Options.pm (_process_option_list):
- (dist dist-all): Add command to create an lzma-compressed tarball.
- (distcheck): Handle lzma-compressed tarballs just like the others.
- * tests/defs.in: Test for lzma, too.
- * tests/lzma.test: New file, based on nogzip.test.
- * tests/Makefile.am (TESTS): Add lzma.test.
- Suggestion from Karl Berry.
-
-2007-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (TARGET_PATTERN): Allow leading digit.
- * tests/exeext3.test: Adjust to expose this.
- Report by Claudio Fontana and Laurence Finston.
-
-2007-08-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/defs.in (required): For gcj, check whether `gcj -v'
- works, to avoid broken installations without libgcj.spec.
- Export $GCJ.
- * tests/gcj4.test: Setting GCJ not needed any more.
- * THANKS: Update.
- Report by Jesse Chisholm.
-
-2007-08-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/config-ml.in, lib/config.guess, lib/config.sub,
- lib/symlink-tree, lib/texinfo.tex: New upstream versions.
-
-2007-08-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (gettext): Fix link to gettext manual.
-
-2007-08-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- In ChangeLog files, use more-permissive notice rather than GPL,
- as per usual GNU standards these days.
-
-2007-08-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (handle_programs): Also clean .libs/_libs
- directory for _PROGRAMS.
- * tests/libtoo10.test: New test.
- * tests/Makefile.am: Update.
- * THANKS: Update.
- Report by Guillermo Ontañón.
-
-2007-08-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac: Actually require version 2.60 in the test for
- Autoconf, and recommend it in the error messages.
- * THANKS: Update.
- Report by Robert Swafford.
-
-2007-07-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (VPATH Builds): Fix wording.
- Report by Reuben Thomas.
-
-2007-07-22 Noah Misch <noah@cs.caltech.edu>
-
- * tests/subst.test: Move the AC_SUBST into a macro definition.
- Avoids an error from CVS Autoconf.
- * THANKS: Update.
- Report by Benoit Sigoure.
-
-2007-07-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/configure.am (%?REGEN-ACLOCAL-M4%): New target
- $(am__aclocal_m4_deps) without any dependencies, to avoid the
- "deleted .m4 file" problem.
- * tests/acloca22.test: New test.
- * tests/Makefile.am: Update.
- * NEWS: Update.
-
-2007-07-22 Francesco Salvestrini <salvestrini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/ltlib.am (install-%DIR%LTLIBRARIES)
- (uninstall-%DIR%LTLIBRARIES): Use $(AM_LIBTOOLFLAGS) and
- $(LIBTOOLFLAGS).
- * lib/am/progs.am (install-%DIR%PROGRAMS)
- (uninstall-%DIR%PROGRAMS): Likewise.
- * tests/libtool7.test: Update test for `install' and
- `uninstall' cases.
- * NEWS, THANKS: Update.
-
-2007-07-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi: Remove Front-Cover and Back-Cover Texts,
- this manual is not printed by the FSF.
-
-2007-07-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * NEWS: Clarify that COPYING files are not updated.
-
-2007-07-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi: New Back-Cover Text.
- Report by Karl Berry.
-
-2007-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.in (version): Fix output to match GCS requirements.
- * automake.in (version): Likewise.
- Report by Eric Blake.
-
- * COPYING, lib/COPYING: Update to GPLv3. All uses changed.
- * NEWS: Update.
-
-2007-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/gnupload: Fix shell portability issues with for loops.
- Report by Karl Berry.
-
-2007-06-23 Paul Eggert <eggert@cs.ucla.edu>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.in (write_aclocal): Warn about autoconf
- incompatibilities instead of making them fatal.
- * tests/missing4.test: Adjust.
- * NEWS: Update.
- Problem reported by Bruno Haible in
- <http://lists.gnu.org/archive/html/bug-automake/2007-06/msg00010.html>.
-
-2007-05-03 Stepan Kasal <kasal@ucw.cz>
-
- * doc/automake.texi, lib/Automake/Rule.pm: Fix typos.
- * automake.in: Likewise.
- (am_primary_prefixes): Keep the intentional typo there.
-
-2007-04-25 Eric Blake <ebb9@byu.net>
-
- * doc/stamp-vti: Remove generated file from revision control.
- * doc/version.texi: Likewise.
-
-2007-04-23 Reuben Thomas <rrt@sc3d.org> (tiny change)
-
- * doc/automake.texi (Python): Fix typo.
-
-2007-03-30 Eric Blake <ebb9@byu.net>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/mdate-sh (ls_command): Use -n when available to avoid
- problems with spaces in user/group names.
- * tests/mdate5.test: New test.
- * tests/Makefile.am: Adjust.
-
-2007-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (handle_tests): Rewrite XFAIL_TESTS just like
- TESTS, appending $(EXEEXT), so that matching continues to work
- on w32.
- * NEWS: Mention this.
- * doc/automake.texi (EXEEXT, Extending): Update.
- * tests/check7.test: New test.
- * tests/Makefile.am: Adjust.
- Bug report by Ed Hartnett.
-
-2007-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Again search
- the whole file, but use sed to reduce the line length.
- Fixes 1.10 regression. Report by David Byron.
- * THANKS, NEWS: Update.
-
-2007-03-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/depcomp (aix): Rewrite depmode in the spirit of the tru64
- one. Fixes failure to catch dependencies with libtool and xlc
- in case of enable_static=no (which is the default on AIX without
- runtimelinking).
- * tests/depcomp7.test: Run test once with --disable-shared and
- once with --disable-static, to expose failure systematically.
- * NEWS: Update.
-
-2007-03-29 Stepan Kasal <kasal@ucw.cz>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (handle_LIBOBJS_or_ALLOCA): Fix the error message.
- * tests/pr401.test: Update to expose the error.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
-
-2007-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (scan_autoconf_config_files): Warn about leading
- `./' in config file names.
- * tests/canon-name.test: New test.
- * tests/Makefile.am: Update.
- * THANKS: Update.
- Suggestion by Claudio Fontana.
-
- * tests/yacc6.test: Add the generated headers to `BUILT_SOURCES'
- as documented in the manual. Fixes parallel make failure.
- Report by Dieter Jurzitza.
- * THANKS: Update.
-
- * ChangeLog, TODO, tests/exdir3.test: Fix copyright notice.
-
- * TODO: Kill a couple of outdated items.
- * tests/exdir3.test: New test.
- * tests/Makefile.am: Update.
-
-2007-01-27 Bruno Haible <bruno@clisp.org>
-
- * doc/automake.texi (Multiple Outputs): Fix the multiple outputs
- with locking example.
-
-2007-01-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Subpackages): Fix ambiguous wording.
- Report and suggestions by Reuben Thomas.
- * THANKS: Update.
-
-2007-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/defs.in (is_newest): Cope with multiple newer files.
- * NEWS: mention `install-sh -C'.
-
-2006-12-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh (initialize_posix_glob): New var.
- Use it instead of setting posix_glob inline.
- (posix_glob): Use '?'/''/: instead of ''/yes/no, for convenience.
- (cmpprog, CMPPROG): New vars, since we use cmp rather than the diff
- of Akim's patch.
- Use LC_ALL before invoking 'ls' when we depend on its output format.
- Don't use awk; just use the shell's builtin features.
- Clean up $dsttmp if -C detects no installation is needed.
- * tests/defs.in (is_newest): Renamed from is_younger; the new
- name is more accurate. All uses changed.
- (old_timestamp): New var.
- * tests/instsh2.test: Rewrite to avoid the need for sleeping.
-
-2006-12-25 Akim Demaille <akim@epita.fr>
-
- * lib/install-sh: Implement install-sh -C.
- (This patch is the remaining part of the patch proposed in
- <http://lists.gnu.org/archive/html/automake-patches/2006-10/msg00077.html>.)
- (usage): Document it.
- (copy_on_change): New var.
- * tests/defs.in (is_younger): New function.
- * tests/instsh2.test: Check install-sh -C.
-
-2006-12-24 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh: Fix typo in previous patch for handling --.
- Use more-consistent style for ';;'.
- Prefer || to if-then-else-:.
- * tests/install2.test: Rework to avoid set -e problems.
-
-2006-12-24 Akim Demaille <akim@epita.fr>
-
- Simplify install-sh and its test. This shouldn't change any behavior.
- (This patch is a subset of the patch proposed in
- <http://lists.gnu.org/archive/html/automake-patches/2006-10/msg00077.html>.)
- * lib/install-sh (usage): Use usual GNU style.
- (dstarg): Rename as...
- (dst_arg): this for consistency.
- Simplify quoting of assignments.
- Sort them.
- Don't use '\' to continue commands: && suffices.
- Remove useless "continue" in the argument processing,
- and factor the shifts.
- * tests/defs.in: Some improvements to make it set -e clean.
- Use the traditional ":" trick to protect loops from being empty.
- Remove an empty straightforward piece of code prepared to define
- additional variables.
- Use test instead of [], for consistency.
- * tests/install2.test: Use set -e, to simplify code.
-
-2006-12-20 Reuben Thomas <rrt@sc3d.org> (tiny change)
-
- * doc/automake.texi: Fix typo.
-
-2006-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/Makefile.am: Use $(MAKE) $(AM_MAKEFLAGS) for building
- amhello, to prevent gmake from invoking make with MAKEFLAGS
- it does not understand.
- Report by Patrick Welche.
-
- * lib/gnupload: Revert last change. Add pointer to upload
- instructions of the GNU Maintenance Instructions.
- Suggestion by Karl Berry.
-
-2006-11-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/gnupload: Add missing 'gnu' to example URL.
- Report by Karl Berry.
-
-2006-10-28 Bobby Jack <bobbykjack@yahoo.co.uk> (tiny change)
-
- * doc/automake.texi (amhello Explained): autoconf creates
- configure, not configure.ac.
- * THANKS: Update.
-
-2006-10-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Dist, Dependency Tracking Evolution):
- Fix some typos.
- * lib/Automake/Condition.pm: Likewise.
- * lib/Automake/DisjConditions.pm: Likewise.
- * lib/Automake/ItemDef.pm: Likewise.
- * lib/Automake/Options.pm: Likewise.
- * lib/Automake/Rule.pm: Likewise.
- * lib/Automake/VarDef.pm: Likewise.
- * lib/Automake/Variable.pm: Likewise.
- * lib/Automake/Wrap.pm: Likewise.
- * lib/Automake/XFile.pm: Likewise.
- * m4/substnot.m4: Likewise.
-
-2006-10-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/gnupload: Update to version 1.1 of directive file.
-
-2006-10-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/depend2.am (%SOURCEFLAG%): New substitution, goes
- right before the expanded source file name.
- * automake.in (%sourceflags): New global: per-extension flag
- to denote that the next compiler argument is the source file.
- (scan_autoconf_traces): Trace AC_FC_SRCEXT; initialize
- %sourceflags accordingly.
- (handle_single_transform): Store source file extension in...
- (%lang_specific_files): ...this and...
- (handle_languages): ...adjust here. Pass flag in SOURCEFLAG.
- * doc/automake.texi (Optional): Add AC_FC_SRCEXT.
- (Fortran 9x Support): Update.
- * tests/fort2.test: New test.
- * tests/Makefile.am: Adjust.
- * NEWS, THANKS: Update.
- Suggested by Steven G. Johnson.
-
- For PR automake/480.
- * automake.in (lang_f77_rewrite, lang_fc_rewrite)
- (lang_ppfc_rewrite, lang_ppf77_rewrite, lang_ratfor_rewrite):
- return `lang_sub_obj' to support subdir-object mode for the
- Fortran dialects.
- * tests/fort4.test, tests/fort5.test: New tests.
- * tests/Makefile.am: Update.
- * NEWS, THANKS: Update.
- Report by Davyd Madeley and Shannon L. Brown.
-
- * lib/am/header-vars.am (pkglibexecdir): New variable.
- * automake.in (%standard_prefix): Add it.
- * doc/automake.texi (Uniform): Document it.
- (Program Sources): Adjust.
- * NEWS: Update.
- * tests/libexec.test: New test.
- * tests/Makefile.am: Update.
- Suggested by Eric Blake.
-
-2006-10-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/gnupload: Update to version 1.1 of directive file.
-
- * configure.ac, NEWS: Bump version to 1.10a.
-
- * configure.ac, NEWS: Bump version to 1.10.
- * doc/automake.texi (Releases): Update for 1.10.
-
- * lib/config.sub, lib/texinfo.tex: New upstream versions.
-
- * lib/am/depend2.am: Typo.
- * lib/depcomp (scriptversion): Bump, to account for recent changes.
-
- * doc/automake.texi (Examples): Introduce the example, and point
- to Hello World.
- (Hello): Remove this obsolete node.
-
-2006-10-15 Hans Ulrich Niedermann <hun@n-dimensional.de>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- For PR automake/507:
- * lib/am/distdir.am (distdir): filename-length-max check is not
- done in sub-packages.
- * doc/automake.texi (Options): Document this.
- * tests/fn99subdir.test: New test.
- * tests/Makefile.am: Update.
- * THANKS: Update.
-
-2006-10-14 Alfred M. Szmidt <ams@gnu.org> (tiny change)
-
- * doc/automake.texi (Third-Party Makefiles): Fix typo.
- * THANKS: Update.
-
-2006-10-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.in (write_aclocal): Improve warning for mismatched
- Autoconf version.
-
- * automake.in: For preprocessed assembler, add `$(DEFS)
- $(DEFAULT_INCLUDES) $(INCLUDES)' to the compile rule.
- * doc/automake.texi (Assembly Support): Update.
- * NEWS: Update.
- Suggested by Thomas Schwinge and Ralf Corsepius.
-
- For PR automake/492.
- * automake.in (output_flag): Set to `-o' for Assembler and
- preprocessed Assembler, assuming that all understand `-c -o'.
- * THANKS, NEWS: Update.
- * tests/subobj10.test: New test.
- * tests/Makefile.am: Update.
- Report by Thomas Schwinge.
-
- * automake.in (%_macro_for_cond): New variable.
- (cond_stack_if): Use it for better error message about
- missing dependency tracking conditionals.
- * tests/asm2.test: New test, modelled after asm.test.
- * tests/Makefile.am: Adjust.
- Report by Ralf Corsepius.
-
- * doc/automake.texi (Options): `no-dependencies' is similar
- to `--ignore-deps', not `--include-deps'.
- * m4/as.m4 (AM_PROG_AS): If `no-dependencies', do not invoke
- _AM_DEPENDENCIES.
- * tests/nodep2.test: New test.
- * tests/Makefile.am: Adjust.
-
- * automake.in (handle_LIBOBJS_or_ALLOCA): If we are in the
- LIBOBJDIR, then we should not add a DEPDIR prefix.
- * tests/pr401.test: Update test.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- Report by Jim Meyering and Eric Blake.
-
- * lib/depcomp (gcc3): Put dependency extraction flags before the
- `-c' flag, so they appear at the same position as in %FASTDEP%
- mode in depend2.am. Fixes build failure for FreeBSD's c89,
- which ignores unknown options only after the first non-option.
- Bug report against M4 by Nelson H. F. Beebe.
-
-2006-10-14 Bruno Haible <bruno@clisp.org>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in ($seen_gettext_intl): New variable.
- (handle_gettext): Consider it.
- (scan_autoconf_traces): Add AM_GNU_GETTEXT_INTL_SUBDIR to the list.
- Set $seen_gettext_intl when it is seen.
- * doc/automake.texi (gettext, Optional): Update.
- * tests/gettext3.test: New test.
- * tests/Makefile.am: Update.
-
-2006-10-14 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
- which incorrectly sets the mode of an existing destination
- directory. In some cases the unpatched install-sh could do the
- equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
- system. We hope this is rare in practice, but it's clearly worth
- fixing. Problem reported by Alex Unleashed in
- <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
- Also, don't bother to check for -m bugs unless we're using -m;
- suggested by Stepan Kasal.
-
-2006-10-14 Geoffrey Keating <geoffk@apple.com> (tiny change)
-
- * m4/multi.m4: Non-default multilibs may be cross compilation.
-
-2006-10-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in: Fix some typos in comments.
- * lib/Automake/Variable.pm: Likewise.
-
-2006-10-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (handle_compile): Use subst, for maintainer-check.
-
-2006-10-09 Andreas Köhler <andi5.py@gmx.net> (tiny change)
-
- For PR automake/505:
- * lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES):
- Fix typo: `config.status.lineno', not `configure.status.lineno'.
-
-2006-09-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * NEWS: Mention that `install-sh' needs executable permissions.
- * tests/nobase.test: Adjust.
- Report by Patrick Welche.
-
-2006-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/check.am (check-TESTS): Fix matching of XFAIL_TESTS
- against currently running test for the first and last element
- of $(TESTS): add spacing so Solaris make does VPATH expansion
- on these words, too.
- * tests/check6.test: Update.
-
-2006-08-30 Paul Eggert <eggert@cs.ucla.edu>
-
- For PR automake/501:
- * lib/am/depend2.am (?GENERIC?%EXT%.o, ?!GENERIC?%OBJ%):
- Abbreviate output a bit by not bothering to quote the .Po file
- name (the quoting doesn't suffice in general anyway), and by not
- bothering to remove junk .Tpo files (as they'll be removed later).
- This also lets 'make' run faster by avoiding a subshell.
-
-2006-08-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in: Fortran 77 and Fortran should require variables
- F77 resp. FC to be defined, and suggest the respective Autoconf
- macros otherwise.
- * tests/fort1.test: New test.
- * tests/Makefile.am: Update.
-
- * tests/ext.test: Add extensions f95, F90, F95.
-
-2006-08-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/500:
- * automake.in (handle_compile) <$default_includes>: Do not output
- the same -I twice. Use @am__isrc@ instead of ` -I$(srcdir)'.
- * m4/init.m4: Define am__isrc as ` -I$(srcdir)' only in
- non-VPATH builds since we always have `-I.'.
- * tests/subpkg.test: Make sure config headers are found in VPATH
- and non-VPATH builds.
-
-2006-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi, lib/Automake/Rule.pm: Fix some typos.
- * NEWS: Likewise. Clarify that only one LIBOBJDIR is supported.
-
-2006-08-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/ChannelDefs.pm (usage): Mention that -Wportability
- is enabled by default with gnu and gnits strictness.
- Report from Bruno Haible.
-
-2006-08-22 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Mark de-ANSI-fication as being obsolete.
- * doc/automake.texi: Likewise.
-
-2006-08-21 Stepan Kasal <kasal@ucw.cz>
-
- * Makefile.am, THANKS: Fix typos.
-
-2006-08-20 Alexandre Duret-Lutz <adl@gnu.org>
-
- * NEWS, configure.ac: Bump version to 1.9c.
-
- * NEWS, configure.ac: Bump version to 1.9b.
-
- * Makefile.am (maintainer-check): Check for mkdir_p in automake.in
- too.
- * automake.in (require_build_directory): Use MKDIR_P, not mkdir_p.
-
- * m4/mkdirp.m4: Typo in previous patch.
-
- * Makefile.am (maintainer-check): Fine-tune the "Unescaped @"
- check so it doesn't complain about the '@ 's in node "Standard
- Directory Variables".
-
- * INSTALL, lib/INSTALL, lib/texinfo.tex, lib/config.sub: New
- upstream versions.
-
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Prefix mkdir_p with
- $(top_builddir)/ if it is a relative directory.
-
-2006-08-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/lex.am, lib/am/yacc.am: Drop the inline rules, always use
- ylwrap. Suggested by Akim Demaille long ago, to ease maintenance.
- * automake.in (handle_languages): Do not define MORE-THAN-ONE.
- (yacc_lex_finish_helper, lang_yacc_finish, lang_lex_finish): Always
- require ylwrap.
- * doc/automake.texi (Auxiliary Programs, Yacc and Lex): Update the
- documentation of ylwrap.
- * tests/lex.test, tests/lex4.test, tests/mmodely.test,
- tests/yacc.test, tests/yacc2.test, tests/yacc3.test,
- tests/yaccpp.test: Adjust.
-
- * doc/automake.texi (Releases): Update statistics until 1.9.6.
-
- * Makefile.am (maintainer-check): Check for mkdir_p.
- * automake.texi (Obsolete macros): Document AM_PROG_MKDIR_P.
- * lib/am/data.am, lib/am/distdir.am, lib/am/install.am,
- lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am,
- lib/am/mans.am, lib/am/progs.am, lib/am/python.am,
- lib/am/scripts.am, lib/am/texinfos.am: Use MKDIR_P instead of mkdir_p.
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Define mkdir_p using $MKDIR_P, not
- as '$(MKDIR_P)', otherwise it will break `Makefile.in's that use
- mkdir_p without defining MKDIR_P.
- * tests/distdir.test, tests/instman.test, tests/txinfo21.test:
- Adjust.
-
- * Makefile.am (SUBDIRS): Build lib first, for lib/Automake/Config.pm.
- * configure.ac (ACLOCAL): Use --acdir=m4 in addition to
- -I m4. Running aclocal during the rebuild rules will fail
- if the default acdir does not exist.
-
- * NEWS, configure.ac, m4/init.m4, m4/lispdir.m4, m4/mkdirp.m4:
- Require Autoconf 2.60 instead of some intermediate development
- version.
-
- * doc/automake.texi (Standard Directory Variables): Fix multitable
- width.
- (Autotools Introduction): Fix @uref usage.
-
-2006-08-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi: Fix some typos in the introduction,
- adjust some spacing; spell `GNU Build System' consistently.
- (menu): Unify node naming.
- (Standard Directory Variables): Clarify that this list is not
- exhaustive.
- (DESTDIR): Fix example.
-
-2006-08-19 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Autotools Introduction) New chapter.
- Thanks to Ben Pfaff and Ralf Wildenhues for comments.
- (Auxiliary Programs, Install, Dist, Third-Party Makefiles)
- (distcleancheck): More cross references.
- * doc/amhello/configure.ac, doc/amhello/README,
- doc/amhello/Makefile.am, doc/amhello/src/Makefile.am,
- doc/amhello/src/main.c: New files.
- * doc/Makefile.am (dist_noinst_DATA): Distribute them.
- ($(srcdir)/amhello-1.0.tar.gz): New rule.
- (dist_doc_DATA): Install amhello-1.0.tar.gz.
- * Makefile.am (SUBDIRS): Update comment.
-
-2006-08-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi: Fix some typos.
-
-2006-08-14 Jonathan Higa <jthiga@gmail.com>
-
- * automake.in: Register "Unified Parallel C" as language.
- (lang_upc_rewrite): New function.
- (resolve_linker): Consider UPCLINK.
- * lib/Automake/Variable.pm (%_ac_macro_for_var): Suggest
- AM_PROG_UPC for UPC and UPCFLAGS.
- * m4/upc.m4: New file.
- * m4/depend.m4 (_AM_DEPENDENCIES): Add UPC case.
- * m4/Makefile.am (dist_m4data_DATA): Add upc.m4.
- * doc/automake.texi (Unified Parallel C Support): New node.
- (Public macros): Mention AM_PROG_UPC.
- (Program and Library Variables, Flag Variables Ordering):
- Mention UPCFLAGS.
- * tests/upc.test, tests/upc2.test, tests/upc3.test: New file.
- * tests/Makefile.am (TESTS): Add them.
- * tests/ext.test: Also test upc files.
-
-2006-08-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Scripts): Fix some errors in previous patch.
-
- * doc/automake.texi (Scripts): Revamp. Show an example of script
- built from configure.ac. Discuss CLEANFILES and EXTRA_DIST for
- other built scripts.
-
- * m4/init.m4: Suggest fixing the call to AC_INIT when
- AC_PACKAGE_NAME or AC_PACKAGE_VERSION is undefined. This is for
- newcomers who call AC_INIT and AM_INIT_AUTOMAKE without arguments.
- * tests/init.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
-2006-08-04 Stepan Kasal <kasal@ucw.cz>
-
- * automake.in (dist_dirs, fill_dist_dirs): Remove.
- * lib/am/distdir.am (DISTDIRS): Remove.
- * tests/distdir.test, tests/pr2.test: Do not grep, use
- `make distdir' instead.
-
-2006-08-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Conditionals): Split in two sections, "Usage"
- and "Portability", and add a third one, "Limits" to explain how
- conditional definitions inside multi-lines definitions can be
- handled.
- * automake.in (handle_options): Do not assume that
- AUTOMAKE_OPTIONS is defined in TRUE, but diagnose conditional
- definitions of AUTOMAKE_OPTIONS.
- Report from Bas Wijnen.
- * tests/amopt.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
- * aclocal.in (install_file): Cannot use /dev/null while diffing
- new files, because Tru64's diff do not handle /dev/null. So
- create an empty destination file before running diff on a new
- file, and erase it afterward. Fall back to using /dev/null only
- if we cannot create this file.
- Report and initial patch from Ralf Wildenhues.
- (unlink_tmp): New function.
- * test/acloca18.test: Make sure the empty file has been erased.
-
-2006-08-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (handle_LIBOBJS_or_ALLOCA): With subdir-objects,
- do not prefix `$(top_builddir)/' aka `./' to nonempty LIBOBJDIR,
- to help BSD Make find the files also in a VPATH build.
- Also return the same path, possibly prefixed, for correct
- depdir computation.
- * tests/pr401.test: Update to expose wrong depdir computation.
- Rewrite to not use the same file name for library object and
- main program.
- * tests/pr401b.test, tests/pr401c.test: Likewise.
-
-2006-07-09 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh: Don't incorrectly claim that this implementation
- can install only one file at a time.
- (doit_exec): New var, for using 'exec' if possible, to save a process.
- (test_mode, intermediate_mode): Remove.
- (mode): Check for IFS or globbing characters in mode, since they might
- cause weird behavior with the other changes below. All later uses
- of '"$mode"' changed to '$mode', since the ""s no longer matter.
- Use octal modes if the invoker specifies an octal mode, and use
- octal umask values if 'umask' outputs octal values; this is more
- likely to work with older operating systems since Automake uses
- octal modes, and also works around a bug with HP-UX 11.23
- 'mkdir -p -m u=rwx,g=rx,o=rx,u+wx' reported by Ralf Wildenhues in
- <http://lists.gnu.org/archive/html/bug-automake/2006-06/msg00024.html>.
- (cp_umask, mkdir_umask): New variables, to avoid
- temporarily creating files or directories with too-permissive modes.
- (mkdir_mode): Use the FreeBSD 'install' method for computing modes of
- intermediate directories; this is safer.
- (posix_mkdir): Also test mkdir -p -m ... by making a directory in
- /tmp and checking the resulting mode with 'ls', to catch a bug in
- HP-UX 11.23 and IRIX 6.5 mkdir reported by Ralf in the same message.
- Use ':' for true, not 'true'; this is a bit faster on
- traditional implementations.
-
-2006-07-09 Jim Meyering <jim@meyering.net>
-
- * lib/depcomp: "in in" -> "in" in comment.
-
-2006-07-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/defs.in (AUTOMAKE_run): Redirect stdout before stderr,
- for consistency with the recommendation prompted by this report:
- <http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00225.html>.
-
-2006-06-24 Stepan Kasal <kasal@ucw.cz>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Set `mkdir_p' to
- `'$(MKDIR_P)'', so that it retains the per-directory value
- computed by config.status.
- * lib/am/distdir.am (distdir): do not use `$(mkdir_p)' from
- a changed directory. Bugs reported by Ralf Menzel.
- * THANKS: Update.
-
-2006-06-24 Eric Dorland <eric@debian.org>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (scan_texinfo_file): Fix matching file extension.
- * tests/txinfo31.test: New test.
- * tests/Makefile.am: Update.
-
-2006-06-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (handle_LIBOBJS): Don't rely on the caller defining $1.
-
-2006-06-07 Stepan Kasal <kasal@ucw.cz>
-
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Rewrite using AC_PROG_MKDIR_P.
-
-2006-06-06 Stepan Kasal <kasal@ucw.cz>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/distdir.am: Do not call $(mkdir_p) for each
- distributed file, collect them and create them in one run,
- and strip $(srcdir) and $(top_srcdir) all at once.
- Fix some comment typos.
-
-2006-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/depend.m4 (_AM_DEPENDENCIES): The IRIX MIPSpro compiler
- 7.4.4m may omit the first included header dependency information
- with `-MDupdate'. Refine test to catch this.
-
- * configure.ac (ACLOCAL): Use `-I m4' to match `./bootstrap'
- procedure.
-
- * tests/gettext.test: AM_PROG_GETTEXT of gettext >= 0.14.3
- requires `config.rpath' to be present, and automake now enforces
- this. Test this, but only if the gettext installation works and
- is recent enough to provide this diagnosis.
- * tests/gettext.test: Provide a dummy `config.rpath' for all
- subsequent checks.
- * tests/gettext2.test, tests/subcond.test: Likewise.
-
- * tests/pr401.test: Replace "perl -i" with sed and mv, for
- MinGW perl.
- * tests/pr401b.test, tests/pr401c.test, tests/python11.test,
- * tests/yacc6.test, tests/yacc8.test: Likewise.
-
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Do not use
- plain `grep' on the Makefile, as its line length may exceed that
- for grep. Bug report against coreutils by Sam Sirlin.
- * THANKS: Update.
-
-2006-05-26 Sergey Poznyakoff <gray@Mirddin.farlep.net> (tiny change)
-
- * doc/automake.texi (Options): Add anchor `tar-formats'.
-
-2006-05-25 Noah Misch <noah@cs.caltech.edu>
-
- * lib/Automake/XFile.pm (lock): Allow EOPNOTSUPP, besides
- ENOLCK. Only mention `make -j' when applicable. Only raise
- fatal errors when `make -j' is involved. Improve error message.
-
-2006-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/Automake/Configure_ac.pm (find_configure_ac): Use
- `$configure_in' instead of `configure.in', to preserve
- directory component.
- * lib/Automake/Configure_ac.pm: Add note that Automake owns
- this file.
- * lib/Automake/Channels.pm: Likewise.
- * lib/Automake/FileUtils.pm: Likewise.
- * lib/Automake/Struct.pm: Likewise.
-
-2006-05-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * INSTALL, lib/config.guess, lib/config.sub, lib/texinfo.tex:
- New upstream versions.
-
-2006-05-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Auxiliary Programs): Fix URL to GCC
- repository, they use SVN now.
-
-2006-05-13 Werner Lemberg <wl@gnu.org>
-
- * lib/gnupload: Add support for savannah.gnu.org and
- savannah.nongnu.org.
-
-2006-05-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/Automake/Channels.pm, lib/Automake/Condition.pm,
- lib/Automake/DisjConditions.pm, lib/Automake/Options.pm,
- lib/Automake/VarDef.pm, lib/Automake/Wrap.pm: Fix some typos.
-
-2006-05-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh: Sync from Autoconf, as follows:
- Don't use 'path' to talk about file names,
- as per GNU coding standards. Close a race condition reported by Ralf
- Wildenhues and Stepan Kasal. There is still a race condition
- on hosts that predate Posix 1003.1-1992, but we can't help this.
- Don't mishandle weird characters like space on pre-Posix hosts.
- Invoke mkdir at most once per dir arg on pre-Posix hosts.
-
-2006-05-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/missing.test, tests/missing2.test: Do not require
- GNUmake.
- * Makefile.am (maintainer-check): Make sure `required=' does not
- follow `. ./defs' in the tests.
-
- * tests/ansi10.test: Use AC_PROG_CC_STDC. Fix test that
- ac_cv_prog_cc_stdc isn't just used by Automake code in
- `configure'.
- * tests/ansi6.test, tests/ansi7.test: Likewise.
- * tests/ansi9.test: Likewise. Do not override by setting
- $U and $(ANSI2KNR) at `make' time; that will be fragile.
- * tests/libobj8.test: Use AC_PROG_CC_STDC.
- * tests/subobj3.test: Likewise. Use `set -e'.
-
- * lib/install-sh: Initialize IFS, so field splitting isn't
- turned off later.
- * lib/mkinstalldirs: Likewise.
-
- * lib/am/java.am (class%DIR%.stamp): Do not assume `$?' has
- the path of the prerequisite added; IRIX 6.5 make does not add
- it, Solaris 2.6 make is inconsistent about adding it. Fixes
- java.test failure.
-
- * tests/distdir.test: Do not use leading `./' in EXTRA_DIST for
- files in the source tree. Fixes failures with HP-UX and Tru64
- make.
-
- * lib/am/ansi2knr.am (ansi2knr): Rename target as...
- (./ansi2knr): ...this, for BSD make.
- (%ANSI2KNR-DIR%/ansi2knr): Adjust.
-
-2006-05-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/depcomp6.test, tests/depcomp7.test: Cater for OpenBSD
- /bin/sh -e issue with failing commands in if clauses.
-
- * tests/defs.in (Be Bourne compatible): Update from current
- Autoconf.
-
- * configure.ac: Recommend perl-5.8.2.
- * tests/automake.test: Do not fail because of buggy Getopt::Long
- in perl < 5.8.2.
-
- * tests/longlin2.test: Do not use `grep' on Makefile.am:
- it has long lines and is thus not a text file; AIX 5.1 grep
- fails to scan non-plain patterns from long lines.
-
- * tests/overrid.test: Change all regexes for warning messages to
- match after a colon, so that the prepended file names do not
- cause false matches. Tighten overrides regex. Fix typo
- `cleam-am-local' -> `clean-am-local'.
-
- * tests/java.test: `configure' uses a trap, so use `(exit 77);
- exit 77' to portably set the exit status similar to AS_EXIT.
- * tests/fn99.test: propagate nonzero exit status from subshell.
-
- * tests/mkinst3.test: Fix `mkdir' wrapper to not be confused
- if ``pwd`' contains the string `-p'. Create the wrapper in a
- subdirectory so that `.' in $PATH does not lead to an endless
- loop.
-
- * lib/depcomp (ia64hp): Rename dependency style to..
- (hp2): ..this, as it works with aCC on HPPA, too; adjust
- comment. Report by Olivier Fourdan (PR automake/481).
- * THANKS: Update.
-
- * tests/aclocal7.test: Add `$sleep's between file touching
- and automake resp aclocal+automake invocations, to ensure
- they complete with a time stamp strictly later than the touched
- file.
-
- * lib/missing: Remove superfluous quotes. Replace all uses of
- `[' by `test', for consistency, and for..
- * tests/missing5.test: ..this new test.
- * tests/Makefile.am: Update.
-
- * lib/missing (sed_minuso, sed_output): New variables.
- (autom4te, help2man, makeinfo): Use them. Unifies detection of
- `-o FILE', `--output FILE', `--output=FILE', stricter regex.
- Fixes `missing' to detect `--output' for help2man. Fixes
- PR automake/483. Report by Dennis J. Linse.
- (autom4te): Document in `missing --help'.
- * THANKS: Update.
-
-2006-04-26 Thien-Thi Nguyen <ttn@gnu.org> (tiny change)
-
- * doc/automake.texi (Dependency Tracking Evolution): Fix typo.
-
-2006-04-25 Stepan Kasal <kasal@ucw.cz>
-
- * lib/install-sh: Simplify the expr implementation of dirname.
-
-2006-04-24 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh: Handle --, and diagnose unknown options.
- * m4/mkdirp.m4 (AM_PROG_MKDIR_P): In the normal case, set
- mkdir_p='mkdir -p', not to 'mkdir -p --', for consistency with
- the other ways that mkdir_p might be set.
-
-2006-04-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/amversion.in (_AM_AUTOCONF_VERSION): New macro.
- (AM_SET_CURRENT_AUTOMAKE_VERSION): Call it.
- * aclocal.in (trace_used_macros): Trace _AM_AUTOCONF_VERSION.
- (write_aclocal): Output a check for Autoconf's version in aclocal.m4.
- Doing so ensures that users cannot build configure and Makefiles
- with two different autoconf versions. Report from Noah Misch.
- * tests/missing4.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
-2006-04-20 Paul Lunau <temp@lunau.me.uk> (tiny change)
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/dejagnu.am (check-DEJAGNU): Fail when at least one test
- failed, instead of when the last one failed (PR automake/488).
- Report from Paul Lunau.
- * tests/dejagnu4.test: Update to expose this.
- * THANKS: Update.
-
-2006-04-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/check.am (check-TESTS): Match XFAIL_TESTS delimited by
- TABs as well as spaces. Fixes PR automake/490.
- * tests/check6.test: New test.
- * tests/Makefile.am, THANKS: Update.
- Report from Diab Jerius <djerius@cfa.harvard.edu>.
-
-2006-04-17 Stepan Kasal <kasal@ucw.cz>
-
- * lib/Autom4te/FileUtils.pm (find_file): Fix a typo in the
- description; eliminate the duplicate error message.
- * doc/automake.texi (@direntry): `Invoking Automake' is the name
- of the usage node for `automake'
- * lib/Automake/Variable.pm (%_gen_varname): Fix typos in the
- comment.
-
-2006-04-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Require Autoconf 2.59c,
- because it uses `datarootdir'. Bump copyright year and serial.
-
-2006-04-10 Stepan Kasal <kasal@ucw.cz>
-
- * NEWS: Fix typo.
-
-2006-04-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (_hash_varname, _hash_values): New functions.
- (_gen_varname): Use _hash_values, and return a flag indicating whether
- the variable name was generated or reused.
- (transform_variable_recursively): Do not redefine variables that
- are reused, and try to reuse the variable being transformed.
- * tests/check2.test: Make sure TESTS hasn't been redefined.
- * tests/check5.test, tests/exeext4.test: Make sure variables have
- been reused.
- * tests/subst2.test: Make sure bin_PROGRAMS gets rewritten.
-
- * automake.in (%ignored_configure_vars): New variable.
- (scan_autoconf_traces): Trace for _AM_SUBST_NOTMAKE and fill
- %ignored_configure_vars.
- (define_configure_variable): Declare ignored configure variables
- as VAR_SILENT. Do not special-case AMDEPBACKSLASH and ANSI2KNR
- w.r.t. VAR_SILENT.
- * m4/substign.m4: New file.
- * m4/Makefile.am (dist_m4data_DATA): Add substign.m4.
- * m4/cond.m4: _AM_SUBST_NOTMAKE $1_TRUE and $1_FALSE (PR automake/477).
- * m4/depend.m4: _AM_SUBST_NOTMAKE AMDEPBACKSLASH.
- * m4/protos.m4: _AM_SUBST_NOTMAKE ANSI2KNR.
- * tests/cond.test: Make sure TEST_FALSE and TEST_TRUE are not defined.
- * tests/amsubst.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
-2006-04-09 Stepan Kasal <kasal@ucw.cz>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * automake.in (handle_single_transform): Preserve directories in
- direct suffix rules.
- * tests/suffix12.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- Report from John Ratliff.
-
-2006-03-25 Mike Frysinger <vapier@gentoo.org> (tiny change)
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in ($m4_include_rx): Do not recognize `include', and
- adjust scan_configure_dep and scan_file accordingly.
- (scan_configure_dep): Do not search white lines.
- (scan_file): Strip comments from current line after checking
- for serial, so that aclocal does not trip on `m4_include' macros
- in comments. Report from Mike Frysinger.
- * tests/acloca21.test: New file.
- * tests/Makefile.am (TESTS): Add it.
-
-2006-03-24 Stepan Kasal <kasal@ucw.cz>
-
- * tests/mmodely.test: Fix the test on systems with no lex.
-
-2006-03-23 Stepan Kasal <kasal@ucw.cz>
-
- * automake.in (libtool_new_api): Fix a typo in the comment.
- * lib/Automake/Makefile.am (Config.pm): Likewise.
- * lib/am/depend2.am: Likewise.
- * tests/xsource.test: With `set -e', `|| exit 1' is no longer
- needed.
-
-2006-03-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/depcomp6.test, tests/depcomp7.test: Change back to
- using `$MAKE && exit 1', but make sure the last command in the
- test is successful.
-
-2006-03-21 Clifford Wolf <clifford@clifford.at> (tiny change)
- Stepan Kasal <kasal@ucw.cz>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.in (parse_arguments): Added wildcard support to the
- dirlist parser.
- * doc/automake.texi (Macro search path): Document it.
- * tests/dirlist2.test: New test.
- * m4/dirlist, tests/Makefile.am: Adjust.
-
-2006-03-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * m4/init.m4 (AM_INIT_AUTOMAKE): Add `_AM_DEPENDENCIES(OBJC)'
- to `AC_PROG_OBJC' if provided, to fix Objective C depmode
- handling.
- * lib/Automake/Variable.pm (%_ac_macro_for_var): Add entries for
- OBJC and OBJCFLAGS.
- * tests/ext.test: Adjust.
- * tests/objc.test, tests/objc2.test: New tests.
- * tests/Makefile.am: Adjust.
- * doc/automake.texi (Objective C Support): New node.
- (Support for Other Languages): Adjust.
-
-2006-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/Automake/RuleDef.pm (DESCRIPTION): Typo.
-
- * tests/depcomp6.test, tests/depcomp7.test: Fix failure logic
- to work with `set -e'.
-
- * tests/depcomp6.test, tests/depcomp7.test: New tests,
- for general `depcomp' functionality, with and without
- `subdir-objects', with and without `libtool'.
- * tests/Makefile.am: Adjust.
-
- * aclocal.in (write_aclocal): Unlink `aclocal.m4' before
- writing into it, to break a symlinked file.
- * tests/acloca20.test: New test.
- * tests/Makefile.am: Updated.
-
-2006-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Allow package trees (packages with subpackages) to share
- common distributed auxiliary files (and directories) that
- reside within a subpackage.
-
- * lib/am/distdir.am (distdir %?TOPDIR_P%): Do not fail if
- `$(distdir)' already exists.
- (%?SUBDIRS%): Set `am__remove_distdir' to `:' to prevent
- removal of subpackage trees for distribution.
- * tests/subpkg3.test: New test.
- * tests/Makefile.am: Update.
-
-2006-03-18 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/check5.test, tests/nobast.test: Fix $MAKE and rm
- invocations to please maintainer-check.
-
-2006-03-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (lang_c_rewrite): Typo in previous change.
- * tests/ccnoco2.test: New file.
- * tests/Makefile.am (TESTS): Add ccnoco2.test.
-
- * automake.in (lang_c_rewrite): Make the AM_PROG_CC_C_O requirement
- a 'portability' warning, so that people can ignore it. Suggested
- by Ralf Wildenhues.
-
- * lib/Automake/ChannelDefs.pm: Make -Wportability the default in
- gnu and gnits modes.
- * doc/automake.texi (Invoking Automake): Adjust.
-
-2006-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/automake.texi (Yacc and Lex): Document that `.ypp' and
- `.lpp' file extensions are recognized.
-
-2006-02-21 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Complete, Extending aclocal, Public macros)
- (Python, Conditionals, API versioning): Always quote macro arguments.
- Report from Stepan Kasal.
-
-2006-02-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Python): More examples.
-
-2006-02-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (distcleancheck): Fix bad wording. Report
- from Bob Rossi.
- (Man pages): Show dist_man_MANS, not EXTRA_DIST = $(man_MANS).
-
-2006-01-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- Append $(EXEEXT) to programs that may be listed in TESTS.
- Report from Simon Josefsson.
-
- * automake.in (%known_programs): New global.
- (initialize_per_input): Reset it.
- (append_exeext): Take a predicate as first argument to select
- the filename to rewrite.
- (handle_programs): Fill %known_programs.
- (handle_tests): Append $(EXEEXT) to all tests that are in
- %known_programs.
- (am_install_var): Update call to append_exeext.
- * doc/automake.texi (EXEEXT): TESTS is also rewritten.
- (Tests): More about the difference between check_PROGRAMS and TESTS.
- Give an example of TEST_ENVIRONMENT.
- * tests/cond32.test: Augment with a nested condition.
- * tests/exeext4.test: Also check TESTS.
- * tests/check5.test: New file.
- * tests/Makefile.am (TESTS): Add check5.test.
-
-2006-01-12 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh (dstdir): Don't use semicolons inside { } in
- sed scripts, as Posix says it's not portable.
- * lib/missing (file): Likewise.
- * lib/am/distdir.am (distcheck): Likewise.
- * tests/comment7.test, tests/comment9.test, tests/confh.test: Likewise
- * tests/distcom2.test, tests/distcom3.test: Likewise.
- * tests/distcom4.test, tests/distcom5.test: Likewise.
- * tests/distcom6.test, tests/include.test, tests/pluseq8.test: Likewise.
-
-2006-01-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * ChangeLog: Move 2004's entries to ...
- * ChangeLog.04: ... this new file.
- * Makefile.am (EXTRA_DIST): Add ChangeLog.04.
-
- * tests/txinfo13.test: Test fix below.
-
-2006-01-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/texinfos.am (dist-info): Tighten glob to avoid unwanted
- extra files in distribution. Reported by Vincent Lefevre.
-
-2006-01-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Linking, Program and Library Variables):
- Mention the file extensions that usually appear in _DEPENDENCIES,
- and point to BUILT_SOURCES and example of _DEPENDENCIES uses. A
- couple of people have been listing sources files in _DEPENDENCIES
- lately.
-
- * doc/automake.texi: Bump copyright year.
- * automake.in ($gen_copyright, version): Likewise.
- * aclocal.in (write_aclocal, version): Likewise.
-
-2006-01-05 Stepan Kasal <kasal@ucw.cz>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (topsrcdir): New global.
- (generate_makefile): Compute it.
- (fill_dist_dirs): New function extracted from handle_dist.
- (handle_dist, handle_configure): Use fill_dist_dirs.
- * tests/distdir.test: Test for cases where $(top_srcdir) or
- $(srcdir) appear in EXTRA_DIST. Report from Sander Niemeijer.
-
-2006-01-05 Zack Weinberg <zackw@panix.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/depcomp: Add 'ia64hp' dependency style.
- Zack's original patch was contributed to GCC on 2005-06-13.
- (tru64): Typo.
-
-2005-11-01 Stepan Kasal <kasal@ucw.cz>
-
- * lib/install-sh: Use "trap '' 0" instead of "trap - 0", so that
- the code is portable to both POSIX and pre-POSIX shells.
-
-2005-10-17 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/nobase.test: Use `chmod a-x' instead of `chmod -x',
- suggested by Eric Blake.
-
-2005-10-17 Stepan Kasal <kasal@ucw.cz>
-
- * doc/automake.texi (Program and Library Variables): Typo.
- * lib/Automake/Variable.pm (transform_variable_recursively): Typo
- in a comment.
-
-2005-10-03 Stepan Kasal <kasal@ucw.cz>
-
- * ChangeLog.03, automake.in, tests/overrid.test: Typos.
-
-2005-10-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/nobase.test: Exercise previous patch.
-
-2005-10-03 Peter O'Gorman <peter@pogma.com> (tiny change)
-
- * lib/am/distdir.am: Remove $(SHELL) when calling install_sh
- * m4/strip.m4: Ditto.
- * m4/install-sh.m4: Add $(SHELL) to the definition of install_sh
-
-2005-09-13 Paul Eggert <eggert@cs.ucla.edu>
-
- * doc/automake.texi (limitations on file names): New section.
- * lib/install-sh: Rewrite to support '*' in file names.
- Also, tune so that we don't invoke so many commands in the usual case.
- This has the side effect of fixing `install-sh -d' to not fail if it
- loses the race in creating the last path component against another
- process.
- * tests/instspc.test: The "*" test is now fixed.
-
-2005-09-13 Stepan Kasal <kasal@ucw.cz>
-
- * automake.in (Languages) <cppasm>: Fix typo in the comment.
-
-2005-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * lib/am/ltlib.am (uninstall-%DIR%LTLIBRARIES): Do not put
- shell in verbose mode.
-
-2005-08-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (variable_value): Do not read the TRUE
- value of a conditionally defined variable.
- Report from Juergen Leising.
-
- * automake.in (lang_yacc_target_hook): Use AM_MAKEFLAGS in recursive
- $(MAKE) invocations.
- * lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
- Likewise.
- * lib/am/texi-vers.am (%STAMPVTI%): Likewise.
- * lib/am/remake-hdr.am (%CONFIG_H%): Likewise.
- * Makefile.am (maintainer-check): Check for this.
- Report from Stepan Kasal.
-
- * m4/mkdirp.m4: Update misleading comment about `mkdir -p .'.
- Prompted by Stepan Kasal.
-
-2005-08-07 Stepan Kasal <kasal@ucw.cz>
-
- * lib/am/texinfos.am (uninstall-info-am): Call install-info only if
- the $(infodir) exists.
-
-2005-07-31 Stepan Kasal <kasal@ucw.cz>
-
- * tests/library3.test: Fix a typo which made the test fail.
-
-2005-07-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Linking, Program and Library Variables):
- Suggest reserving -l for third-party libraries.
-
- * lib/Automake/Variable.pm (require_variables): Mention aclocal's
- search path when suggesting to add a macro in configure.ac.
- People are confused when Automake suggests adding a macro (such as
- AC_PROG_LIBTOOL) that is already in configure.ac.
- * automake.in (require_file_internal): Suggest `automake --add-missing'
- for missing files that can be installed.
- * tests/library3.test: Adjust.
-
-2005-07-27 Stepan Kasal <kasal@ucw.cz>
-
- * tests/defs.in: When required matches both `*libtool*' and
- `*gettext*', check for both m4 files.
-
- * doc/automake.texi (Auxiliary Programs): Fix a typo.
- * tests/suffix11.test: Fix a typo.
- * tests/colon3.test: s/EGREP/FGREP/.
-
-2005-07-19 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/instspc.test: Major rewrite to test for many other
- problematic file names, e.g., '$', '"', '('. Automake and
- Autoconf can't handle many of them, so do not report a failure
- if the usual candidates show up.
-
-2005-07-19 Stepan Kasal <kasal@ucw.cz>
-
- * Makefile.am (automake, aclocal): Merge the rules.
-
-2005-07-10 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
- versions.
-
-2005-07-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/install-sh: Use IFS=/ to split directories on /, don't translate
- / into % as it prevents directory names using %...
-
-2005-07-09 Stepan Kasal <kasal@ucw.cz>
-
- * doc/automake.texi (Public macros): Typo.
- * aclocal.in: Typo in comment.
-
-2005-07-09 Zack Weinberg <zack@codesourcery.com> (tiny change)
-
- * lib/depcomp: Handle "#line" markers as well as "# " markers in
- "cpp" style, so it can work with newer HP compilers (for their
- ia64 systems).
-
-2005-07-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Public macros) <AM_WITH_DMALLOC>: Reword to
- fix an underful hbox.
- * lib/INSTALL, lib/config.guess, lib/config.sub, lib/texinfo.tex:
- New upstream versions.
-
-2005-07-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add python2.5.
-
-2005-06-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (make_paragraphs): Do not define %TOPDIR%, now that
- lib/am/header-vars.am no longer uses it.
- * lib/am/libtool.am (distclean-am, distclean-libtool): Define
- if TOPDIR_P is true, not TOPDIR.
- Suggested by Stepan Kasal.
-
- * automake.in (read_am_file): Correctly diagnose comments following
- trailing backslash.
- * tests/commen10.test: New file.
- * tests/Makefile.am (TESTS): Add commen10.test.
- Report from Harald Dunkel.
-
- * automake.in (scan_autoconf_traces): Scan AC_SUBST_TRACE instead
- of AC_SUBST.
- * lib/am/header-vars.am (srcdir, top_srcdir, top_builddir, INSTALL):
- Do not define, they are AC_SUBST_TRACEd by Autoconf.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf 2.59c.
- * tests/include.test: Call AC_OUTPUT.
-
-2005-06-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/mkinstalldirs: Fix support for directory name with spaces if
- `mkdir -p' does not work.
- * tests/Makefile.am (TESTS): Add mkinst3.test.
- * tests/mkinst3.test: New file.
- Report from Noah Friedman.
-
- * doc/automake.texi (Include, Extending aclocal): Typos.
- Report from Karl Berry.
-
-2005-06-28 Stepan Kasal <kasal@ucw.cz>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/mdate-sh: Avoid infinite loop with GNU ls when TIME_STYLE is set.
- * tests/txinfo28.test: Set TIME_STYLE.
- Report from Vincent Lefevre and James Youngman.
-
-2005-06-24 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/Automake/Variable.pm (define, _new): Remember the helper
- variable created for the last conditional += on each variable, and
- only append further += in the same condition to this last helper
- variable, not to older helper variables. This way the order of
- the items appended to the variable is preserved.
- * tests/cond21.test: Adjust.
- * tests/cond38.test: New file.
- * tests/Makefile.am (TESTS): Add cond38.test.
- Report from Ed Hartnett.
-
-2005-06-22 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/aclocal5.test: Adjust to recent CVS Autoconf changes.
-
- * automake.in (handle_footer): Do not output an unformatted
- definition of SOURCES, it is already done correctly in
- generate_makefile. This superfluous definition introduced long
- lines in some Makefiles, hence breakages in tools with a limited
- line length. Report from Mathias Froehlich.
-
-2005-06-11 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
- Fix redirections in previous patch.
-
-2005-06-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
- Do not backup any file if makeinfo is not installed.
- * lib/missing (makeinfo): Do not touch a missing info file.
- * tests/txinfo30.test: New file.
- * tests/Makefile.am (TESTS): Add txinfo30.test.
- Report from Bob Proulx.
-
- * doc/automake.texi (Extending aclocal): Typo.
-
-2005-05-24 Brian Gough <bjg@network-theory.co.uk> (tiny change)
-
- * lib/am/texinfos.am (.dvi.ps): Add $(am__TEXINFO_TEX_DIR) to TEXINPUTS.
-
-2005-05-15 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix PR automake/461:
- * automake.in (require_build_directory): Canonicalize directories
- with different names, such as `foo/bar' and `./foo//bar'.
- * tests/subobj9.test: Augment to test that.
- Report from Tom Tromey.
-
-2005-05-14 Alexandre Duret-Lutz <adl@gnu.org>
-
- * COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02,
- ChangeLog.03, ChangeLog.96, ChangeLog.98, HACKING, Makefile.am,
- NEWS, README, TODO, aclocal.in, automake.in, bootstrap, configure,
- configure.ac, doc/Makefile.am, doc/fdl.texi, lib/COPYING,
- lib/Makefile.am, lib/acinstall, lib/compile, lib/config-ml.in,
- lib/config.guess, lib/config.sub, lib/depcomp, lib/elisp-comp,
- lib/gnupload, lib/mdate-sh, lib/missing, lib/py-compile,
- lib/symlink-tree, lib/texinfo.tex, lib/ylwrap,
- lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
- lib/Automake/Condition.pm, lib/Automake/Config.in,
- lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm,
- lib/Automake/FileUtils.pm, lib/Automake/General.pm,
- lib/Automake/Item.pm, lib/Automake/ItemDef.pm,
- lib/Automake/Location.pm, lib/Automake/Makefile.am,
- lib/Automake/Options.pm, lib/Automake/Rule.pm,
- lib/Automake/RuleDef.pm, lib/Automake/Struct.pm,
- lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
- lib/Automake/Version.pm, lib/Automake/Wrap.pm,
- lib/Automake/XFile.pm, lib/Automake/tests/Condition.pl,
- lib/Automake/tests/DisjConditions.pl,
- lib/Automake/tests/Makefile.am, lib/Automake/tests/Version.pl,
- lib/Automake/tests/Wrap.pl, lib/am/Makefile.am,
- lib/am/ansi2knr.am, lib/am/check.am, lib/am/clean-hdr.am,
- lib/am/clean.am, lib/am/compile.am, lib/am/configure.am,
- lib/am/data.am, lib/am/dejagnu.am, lib/am/depend.am,
- lib/am/depend2.am, lib/am/distdir.am, lib/am/footer.am,
- lib/am/header-vars.am, lib/am/header.am, lib/am/inst-vars.am,
- lib/am/install.am, lib/am/java.am, lib/am/lang-compile.am,
- lib/am/lex.am, lib/am/library.am, lib/am/libs.am,
- lib/am/libtool.am, lib/am/lisp.am, lib/am/ltlib.am,
- lib/am/ltlibrary.am, lib/am/mans-vars.am, lib/am/mans.am,
- lib/am/multilib.am, lib/am/program.am, lib/am/progs.am,
- lib/am/python.am, lib/am/remake-hdr.am, lib/am/scripts.am,
- lib/am/subdirs.am, lib/am/tags.am, lib/am/texi-vers.am,
- lib/am/texibuild.am, lib/am/texinfos.am, lib/am/yacc.am,
- m4/Makefile.am, tests/aclibobj.test, tests/acloca10.test,
- tests/acloca11.test, tests/acloca12.test, tests/acloca13.test,
- tests/acloca14.test, tests/acloca15.test, tests/acloca16.test,
- tests/acloca17.test, tests/acloca18.test, tests/acloca19.test,
- tests/aclocal.test, tests/aclocal3.test, tests/aclocal4.test,
- tests/aclocal5.test, tests/aclocal6.test, tests/aclocal7.test,
- tests/aclocal8.test, tests/aclocal9.test, tests/acoutbs.test,
- tests/acoutbs2.test, tests/acoutnoq.test, tests/acoutpt.test,
- tests/acoutpt2.test, tests/acoutqnl.test, tests/acsilent.test,
- tests/acsubst.test, tests/acsubst2.test, tests/all.test,
- tests/alloca.test, tests/alloca2.test, tests/alpha.test,
- tests/alpha2.test, tests/amassign.test, tests/ammissing.test,
- tests/ansi.test, tests/ansi10.test, tests/ansi2.test,
- tests/ansi3.test, tests/ansi3b.test, tests/ansi4.test,
- tests/ansi5.test, tests/ansi6.test, tests/ansi7.test,
- tests/ansi8.test, tests/ansi9.test, tests/ar.test, tests/ar2.test,
- tests/asm.test, tests/autohdr.test, tests/autohdr2.test,
- tests/autohdr3.test, tests/autohdr4.test, tests/automake.test,
- tests/auxdir.test, tests/auxdir2.test, tests/auxdir3.test,
- tests/auxdir4.test, tests/backsl.test, tests/backsl2.test,
- tests/backsl3.test, tests/backsl4.test, tests/badline.test,
- tests/badopt.test, tests/badprog.test, tests/block.test,
- tests/bsource.test, tests/canon.test, tests/canon2.test,
- tests/canon3.test, tests/canon4.test, tests/canon5.test,
- tests/ccnoco.test, tests/check.test, tests/check2.test,
- tests/check3.test, tests/check4.test, tests/checkall.test,
- tests/clean.test, tests/clean2.test, tests/colneq.test,
- tests/colneq2.test, tests/colon.test, tests/colon2.test,
- tests/colon3.test, tests/colon4.test, tests/colon5.test,
- tests/colon6.test, tests/colon7.test, tests/comment.test,
- tests/comment2.test, tests/comment3.test, tests/comment4.test,
- tests/comment5.test, tests/comment6.test, tests/comment7.test,
- tests/comment8.test, tests/comment9.test, tests/compile.test,
- tests/compile_f90_c_cxx.test, tests/compile_f_c_cxx.test,
- tests/cond.test, tests/cond10.test, tests/cond11.test,
- tests/cond13.test, tests/cond14.test, tests/cond15.test,
- tests/cond16.test, tests/cond17.test, tests/cond18.test,
- tests/cond19.test, tests/cond2.test, tests/cond20.test,
- tests/cond21.test, tests/cond22.test, tests/cond23.test,
- tests/cond24.test, tests/cond25.test, tests/cond26.test,
- tests/cond27.test, tests/cond28.test, tests/cond29.test,
- tests/cond3.test, tests/cond30.test, tests/cond31.test,
- tests/cond32.test, tests/cond33.test, tests/cond34.test,
- tests/cond35.test, tests/cond36.test, tests/cond37.test,
- tests/cond4.test, tests/cond5.test, tests/cond6.test,
- tests/cond7.test, tests/cond8.test, tests/cond9.test,
- tests/condd.test, tests/condhook.test, tests/condinc.test,
- tests/condinc2.test, tests/condlib.test, tests/condman.test,
- tests/condman2.test, tests/conf2.test, tests/confdeps.test,
- tests/conff.test, tests/conff2.test, tests/confh.test,
- tests/confh4.test, tests/confh5.test, tests/config.test,
- tests/confincl.test, tests/conflnk.test, tests/conflnk2.test,
- tests/conflnk3.test, tests/confsub.test, tests/confvar.test,
- tests/confvar2.test, tests/copy.test, tests/ctarget1.test,
- tests/cxx.test, tests/cxx2.test, tests/cxxansi.test,
- tests/cxxcpp.test, tests/cxxlibobj.test, tests/cxxlink.test,
- tests/cxxnoc.test, tests/cxxo.test, tests/cygwin32.test,
- tests/dash.test, tests/defs.in, tests/defun.test,
- tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test,
- tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test,
- tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test,
- tests/depcomp.test, tests/depcomp2.test, tests/depcomp3.test,
- tests/depcomp4.test, tests/depcomp5.test, tests/depdist.test,
- tests/depend.test, tests/depend2.test, tests/depend3.test,
- tests/depend4.test, tests/destdir.test, tests/dirforbid.test,
- tests/dirlist.test, tests/discover.test, tests/distcom2.test,
- tests/distcom3.test, tests/distcom4.test, tests/distcom5.test,
- tests/distcom6.test, tests/distcom7.test, tests/distdir.test,
- tests/distname.test, tests/dollar.test, tests/double.test,
- tests/dup2.test, tests/else.test, tests/empty.test,
- tests/empty2.test, tests/empty3.test, tests/empty4.test,
- tests/exdir.test, tests/exdir2.test, tests/exeext.test,
- tests/exeext2.test, tests/exeext3.test, tests/exeext4.test,
- tests/exsource.test, tests/ext.test, tests/ext2.test,
- tests/extra.test, tests/extra2.test, tests/extra3.test,
- tests/extra4.test, tests/extra5.test, tests/extra6.test,
- tests/extra7.test, tests/f90only.test, tests/flibs.test,
- tests/fn99.test, tests/fnoc.test, tests/fo.test, tests/fonly.test,
- tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test,
- tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test,
- tests/gcj5.test, tests/getopt.test, tests/gettext.test,
- tests/gettext2.test, tests/gnits.test, tests/gnits2.test,
- tests/gnits3.test, tests/gnumake.test, tests/gnuwarn.test,
- tests/gnuwarn2.test, tests/header.test, tests/help.test,
- tests/hfs.test, tests/hosts.test, tests/implicit.test,
- tests/include.test, tests/include2.test, tests/info.test,
- tests/insh2.test, tests/install2.test, tests/installdir.test,
- tests/instdat.test, tests/instdat2.test, tests/instexec.test,
- tests/insthook.test, tests/instman.test, tests/instman2.test,
- tests/instsh.test, tests/instsh2.test, tests/instspc.test,
- tests/interp.test, tests/interp2.test, tests/java.test,
- tests/java2.test, tests/java3.test, tests/javaprim.test,
- tests/javasubst.test, tests/ldadd.test, tests/ldflags.test,
- tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test,
- tests/lex5.test, tests/libobj10.test, tests/libobj11.test,
- tests/libobj12.test, tests/libobj13.test, tests/libobj14.test,
- tests/libobj2.test, tests/libobj3.test, tests/libobj4.test,
- tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
- tests/library.test, tests/library2.test, tests/library3.test,
- tests/libtool.test, tests/libtool2.test, tests/libtool3.test,
- tests/libtool4.test, tests/libtool5.test, tests/libtool6.test,
- tests/libtool7.test, tests/libtool8.test, tests/libtool9.test,
- tests/license.test, tests/link_c_cxx.test, tests/link_dist.test,
- tests/link_f90_only.test, tests/link_f_only.test,
- tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test,
- tests/lisp2.test, tests/lisp3.test, tests/lisp4.test,
- tests/lisp5.test, tests/lisp6.test, tests/lisp7.test,
- tests/lisp8.test, tests/listval.test, tests/location.test,
- tests/longlin2.test, tests/longline.test, tests/ltcond.test,
- tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test,
- tests/ltlibobjs.test, tests/ltlibsrc.test, tests/maintclean.test,
- tests/make.test, tests/makej.test, tests/makevars.test,
- tests/man.test, tests/man2.test, tests/mclean.test,
- tests/mdate.test, tests/mdate2.test, tests/mdate3.test,
- tests/mdate4.test, tests/missing.test, tests/missing2.test,
- tests/missing3.test, tests/mkinst2.test, tests/mkinstall.test,
- tests/mmodely.test, tests/multlib.test, tests/nobase.test,
- tests/nodef.test, tests/nodef2.test, tests/nodep.test,
- tests/nodepcomp.test, tests/nodist.test, tests/nodist2.test,
- tests/nodist3.test, tests/nogzip.test, tests/nogzip2.test,
- tests/noinst.test, tests/noinstdir.test, tests/nolink.test,
- tests/nostdinc.test, tests/number.test, tests/obsolete.test,
- tests/order.test, tests/outdir.test, tests/output.test,
- tests/output10.test, tests/output11.test, tests/output12.test,
- tests/output2.test, tests/output3.test, tests/output4.test,
- tests/output5.test, tests/output6.test, tests/output7.test,
- tests/output8.test, tests/output9.test, tests/overrid.test,
- tests/parse.test, tests/percent.test, tests/percent2.test,
- tests/phony.test, tests/pluseq.test, tests/pluseq10.test,
- tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test,
- tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test,
- tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test,
- tests/ppf77.test, tests/pr2.test, tests/pr204.test,
- tests/pr211.test, tests/pr220.test, tests/pr224.test,
- tests/pr229.test, tests/pr243.test, tests/pr266.test,
- tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
- tests/pr300-lib.test, tests/pr300-ltlib.test,
- tests/pr300-prog.test, tests/pr307.test, tests/pr401.test,
- tests/pr401b.test, tests/pr401c.test, tests/pr72.test,
- tests/pr87.test, tests/pr9.test, tests/prefix.test,
- tests/primary.test, tests/primary2.test, tests/primary3.test,
- tests/proginst.test, tests/python.test, tests/python10.test,
- tests/python11.test, tests/python12.test, tests/python2.test,
- tests/python3.test, tests/python4.test, tests/python5.test,
- tests/python6.test, tests/python7.test, tests/python8.test,
- tests/python9.test, tests/recurs.test, tests/recurs2.test,
- tests/regex.test, tests/remake.test, tests/remake2.test,
- tests/remake3.test, tests/remake4.test, tests/remake5.test,
- tests/req.test, tests/reqd.test, tests/reqd2.test,
- tests/rulepat.test, tests/scripts.test, tests/seenc.test,
- tests/sinclude.test, tests/space.test, tests/specflg.test,
- tests/specflg2.test, tests/specflg3.test, tests/specflg6.test,
- tests/specflg7.test, tests/specflg8.test, tests/specflg9.test,
- tests/spell.test, tests/spell2.test, tests/spell3.test,
- tests/spelling.test, tests/spy.test, tests/srcsub.test,
- tests/srcsub2.test, tests/stamph2.test, tests/stdlib.test,
- tests/stdlib2.test, tests/strip.test, tests/subcond.test,
- tests/subcond2.test, tests/subcond3.test, tests/subdir.test,
- tests/subdir2.test, tests/subdir3.test, tests/subdir4.test,
- tests/subdir5.test, tests/subdir6.test, tests/subdir7.test,
- tests/subdir8.test, tests/subdir9.test,
- tests/subdirbuiltsources.test, tests/subobj.test,
- tests/subobj2.test, tests/subobj3.test, tests/subobj4.test,
- tests/subobj5.test, tests/subobj6.test, tests/subobj7.test,
- tests/subobj8.test, tests/subobj9.test, tests/subobjname.test,
- tests/subpkg.test, tests/subpkg2.test, tests/subst.test,
- tests/subst2.test, tests/substre2.test, tests/substref.test,
- tests/substtarg.test, tests/suffix.test, tests/suffix10.test,
- tests/suffix11.test, tests/suffix2.test, tests/suffix3.test,
- tests/suffix4.test, tests/suffix5.test, tests/suffix6.test,
- tests/suffix7.test, tests/suffix8.test, tests/suffix9.test,
- tests/symlink.test, tests/symlink2.test, tests/symlink3.test,
- tests/syntax.test, tests/tags.test, tests/tagsub.test,
- tests/tar.test, tests/tar2.test, tests/tar3.test,
- tests/target-cflags.test, tests/targetclash.test,
- tests/transform.test, tests/txinfo.test, tests/txinfo10.test,
- tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test,
- tests/txinfo18.test, tests/txinfo19.test, tests/txinfo2.test,
- tests/txinfo20.test, tests/txinfo21.test, tests/txinfo22.test,
- tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test,
- tests/txinfo26.test, tests/txinfo27.test, tests/txinfo28.test,
- tests/txinfo29.test, tests/txinfo3.test, tests/txinfo4.test,
- tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test,
- tests/txinfo8.test, tests/txinfo9.test, tests/unused.test,
- tests/vars.test, tests/vars3.test, tests/vartar.test,
- tests/version.test, tests/version2.test, tests/version3.test,
- tests/version4.test, tests/version6.test, tests/version7.test,
- tests/version8.test, tests/vpath.test, tests/vtexi.test,
- tests/vtexi2.test, tests/warnopts.test, tests/werror.test,
- tests/werror2.test, tests/whoami.test, tests/xsource.test,
- tests/yacc.test, tests/yacc2.test, tests/yacc3.test,
- tests/yacc4.test, tests/yacc5.test, tests/yacc6.test,
- tests/yacc7.test, tests/yacc8.test, tests/yaccpp.test,
- tests/yaccvpath.test: Update FSF postal mail address.
-
- * tests/cxxnoc.test: Adjust grep pattern for CC, because CVS
- Autoconf currently defines a CCC variable.
-
- * tests/output11.test, tests/output12.test: Use rm -f.
-
-2005-04-25 Gary V. Vaughan <gary@gnu.org>
- Alexandre Duret-Lutz <adl@gnu.org>
-
- Support for remote LIBOBJS (and friends) with subdir-objects.
- Fixes PR automake/401.
-
- * automake.in (config_libobj_dir): New variable.
- (scan_autoconf_traces): Set config_libobj_dir from AC_CONFIG_LIBOBJ_DIR.
- (handle_LIBOBJS_or_ALLOCA, require_libsource_with_macro): New functions.
- (handle_LIBOBJS, handle_ALLOCA): Use them. Adjust location of
- dependency files, possibly in a subdirectory.
- * tests/pr401.test, tests/pr401b.test, tests/pr401c.test: New tests.
- * tests/Makefile.am (TESTS): Add them.
- * doc/automake.texi (Optional) <AC_CONFIG_LIBOBJ_DIR>: Document.
- (LIBOBJS): Document changes in behaviour of
- LIBOBJS, ALLOCA, LTLIBOBJS & LTALLOCA in the presence of
- subdir-objects and an invocation of AC_CONFIG_LIBOBJ_DIR.
-
-2005-04-18 Jim Meyering <jim@meyering.net>
-
- * doc/automake.texi (Dist): Correct English.
-
-2005-03-31 Stepan Kasal <kasal@ucw.cz>
-
- * doc/automake.texi: When the phrase "for instance" introduces a
- sentence, it should be delimited by a comma.
-
- * doc/automake.texi: Fix a few typos.
-
-2005-03-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Uniform): Use xmldir instead of htmldir as
- example, since the GCS now define htmldir.
- (Auxiliary Programs): Mention config-ml.in and symlink-tree.
- Give a URL for texinfo.tex.
- (Public macros): Sort alphabetically, and move obsolete macros...
- (Obsolete macros): ... here.
- Prompted by Karl Berry.
-
-2005-03-29 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Multiple Outputs): Fix mistakes reported by
- Jim Meyering.
-
- * lib/am/lisp.am ($(am__ELCFILES)): Prevent races if the recover
- rule is run with `make -j'.
- * doc/automake.texi (Multiple Outputs): Adjust.
- * tests/lisp6.test: Augment it.
- * tests/lisp8.test: New file.
- * tests/Makefile.am (TESTS): Add lisp8.test.
- Suggested by Bruno Haible.
-
-2005-03-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi: Use @:, @., @!, and @tie{} where appropriate.
-
-2005-03-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/lisp.am ($(am__ELCFILES)): Do not attempt to recover
- a missing *.elc file if it cannot be created because emacs does
- not exist.
- * tests/lisp7.test: New file.
- * tests/Makefile.am (TESTS): Add lisp7.test.
- Report from Greg Schafer.
-
-2005-03-05 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi: Replace wicked whiches by thats.
-
-2005-03-04 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (scan_configure_dep, scan_file): Include file names
- are relative to the directory of configure.ac, not to the
- directory of the file doing the include. Remove code for this
- latter case.
- * tests/acloca13.test: Run distcheck and make sure all macros are
- actually distributed.
-
-2005-03-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- For PR automake/450:
- * aclocal.in (scan_file, scan_configure_dep): Skip missing sincluded
- files.
- * automake.in (scan_autoconf_traces): Likewise.
- * tests/sinclude.test: Augment.
- Report from Peter Breitenlohner.
-
- For PR automake/450:
- * aclocal.in (write_aclocal, trace_used_macros): Do not add/remove
- acinclude.m4 and configure.ac to the include map in these two
- places ...
- (strip_redundant_includes): ... do it here. This completes the
- previous change from 2005-03-01, that did not update
- write_aclocal.
- * tests/acloca19.test: Augment.
- Report from Peter Breitenlohner.
-
-2005-03-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * tests/comment9.test: Typo.
-
-2005-03-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * automake.in (read_am_file): Preserve backslashes preceding ##-lines.
- * tests/comment9.test: New file.
- * tests/Makefile.am (TESTS): Add comment9.test.
- Report from Julien Sopena.
-
- For PR automake/450:
- * aclocal.in (trace_used_macros): Do not explicitly trace files
- included by configure.ac.
- * tests/acloca19.test: New file.
- * tests/Makefile.am (TESTS): Add acloca19.test.
- Report from Peter Breitenlohner.
-
-2005-02-27 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/448:
- * automake.in (handle_factored_dependencies): Flag install-hook as
- an error.
- * tests/insthook.test: Exercise this.
-
- * m4/lispdir.m4: Use datarootdir instead of datadir to match GCS.
- * doc/automake.texi (Hard-Coded Install Paths): Adjust.
-
- * doc/automake.texi: Replace many uses of @samp by @code, and
- vice versa. Use @command, @option, and @env where appropriate.
-
-2005-02-26 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi: "filename" -> "file name", for consistency
- with GNU Coding Standards. See also Paul's change on 2004-08-20
- in Autoconf.
-
- * doc/automake.texi (A Library, Libtool Libraries): Show how to link
- a program with a static or libtool library.
- (Program and Library Variables): Make clearer that _LDADD and
- _LIBADD may also list libraries.
- Prompted by a mail from Bruce Korb.
-
- * doc/automake.texi (Alternative): Show how to rewrite nobase_
- variables using custom directory variables, and link to node
- Uniform. Suggested by Leonardo Boiko.
-
- * doc/automake.texi (Flag Variables Ordering, User Variables):
- Make clearer who the maintainer is, and that he can AC_SUBST AM_
- variables in configure.ac. Suggested by Norman Gray.
- (Uniform, Public macros, Libtool Issues, Java Support,
- Conditionals): Use `---' for em dash, and stick them to the
- enclosing text.
-
- * doc/automake.texi: Reword a few sentences to fix all underflow
- and overflow warnings during `make dvi'.
- (Auxiliary Programs) <configure.guess, config.sub>: Update URL.
- (Public macros) <AM_WITH_DMALLOC>: Likewise.
-
-2005-02-12 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/INSTALL, lib/config-ml.in, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: New upstream versions.
-
- * doc/automake.texi (Hard-Coded Install Paths): New node.
- (Extending, Extending aclocal, Python): Link to it.
- (Extending): Don't show how to install a file in /etc/ directly,
- this is insane.
-
- * automake.in (read_am_file): Define variables containing long
- lines as VAR_PRETTY to work around tools with limited input width.
- * tests/longlin2.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- Report from Albert Chin.
-
-2005-02-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix for PR automake/447:
- * lib/depcomp (tru64) [libtool]: Also check for $dir.libs/$base.o.d.
- Report from Mathias Doreille. Add some old comments from
- Nicolas Joly for reference.
-
-2005-02-08 Stepan Kasal <kasal@ucw.cz>
-
- * lib/mdate-sh: Check the size of the word following the month to
- catch Darwin. This way the filename can contain spaces.
-
- * doc/automake.texi (Requirements, Options): Typos.
-
-2005-02-08 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/missing (makeinfo): Compute the output file if neither -o
- nor @setfilename is used.
- Reported by Miroslaw Dobrzanski-Neumann and Bruno Haible.
-
-2005-02-07 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Requirements): Show one example of
- AC_CONFIG_FILES with multiple outputs, and correct a few typos.
-
- * aclocal.in ($serial_line_rx): Expect at least one space between
- `serial' and the following number.
- Report from Jim Meyering.
-
- * lib/mdate-sh: Cope with Darwin's Day/Month/Year output.
- Report from Peter O'Gorman.
-
-2005-02-06 Alexandre Duret-Lutz <adl@gnu.org>
-
- * aclocal.in (usage, parse_arguments): New --dry-run and --diff
- options.
- (install_file, write_aclocal): Honor --dry-run and --diff.
- * doc/automake.texi (aclocal options): Document --dry-run and --diff.
- (Serials): Mention --diff.
- * lib/Automake/FileUtils.pm (handle_exec_errors): Accept an
- $expected_exit_code argument.
- (xsystem): Take a list of arguments, not a string.
- * tests/acloca18.test: Use --dry-run and --diff.
- Suggested by Paul Eggert.
-
- * doc/automake.texi (aclocal options, Macro search path,
- Extending aclocal, Local Macros, Serials, Future of aclocal): Make
- these subsection of ...
- (Invoking aclocal): ... this.
-
- * aclocal.in ($serial_line_rx): Allow trailing garbage after the
- serial number.
- (scan_file): Explicitly mark the "ill-formed serial" message
- as a warning.
- * doc/automake.texi (aclocal options, Local Macros): Link to...
- (Serials): ... this new section.
-
-2005-02-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/compile: Likewise.
-
-2005-02-02 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/elisp-comp: Use `(exit N); exit N', not `(exit N); exit';
- see 2004-12-17.
- * lib/mdate-sh, lib/py-compile, lib/ylwrap: Exit with nonzero
- status if a write failure occurs with --help or --version option,
- as below.
-
-2005-02-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/depcomp: Exit with nonzero status if a write failure occurs
- with --help or --version option.
- * lib/elisp-comp: Likewise.
- * lib/gnupload: Likewise.
- * lib/install-sh: Likewise.
- * lib/missing: Likewise.
- * lib/mkinstalldirs: Likewise.
-
-2005-02-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (aclocal options): Typo.
-
- * aclocal.in (list_compare): New functions.
- (scan_file): Honor #serial lines.
- * tests/acloca18.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * doc/automake.texi (aclocal options, Local Macros): Document
- #serial.
-
-2005-01-30 Alexandre Duret-Lutz <adl@gnu.org>
-
- Preliminary support for `aclocal --install'.
- This still lacks #serial support.
- * aclocal.in (reset_maps, install_file): New functions.
- (write_aclocal): Copy files if --install.
- (usage, parse_arguments): Recognize --install.
- ("MAIN"): Start aclocal again if some file were installed.
- * tests/acloca10.test: Augment to test --install.
- * tests/aclocal.in, tests/defs.in: Add support for
- ACLOCAL_TESTSUITE_FLAGS, used by acloca10.test.
- * doc/automake.texi (aclocal options, Local Macros): Document
- --install.
- (Future of aclocal): Adjust.
-
- * doc/automake.texi (Macro search path): Using --acdir is not
- obvious, it's erroneous.
-
- * doc/automake.texi (direntry): Let `info Automake' point to the
- manual, and `info automake' to the `Invoking automake' node. Like
- in Autoconf.
-
-2005-01-27 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/Configure_ac.pm: s/filename/file_name/g.
- From Paul Eggert.
-
-2005-01-24 Akim Demaille <akim@epita.fr>
-
- * lib/Automake/FileUtils.pm: Rename filename as file_name to be
- consistent with the terminology of the GNU coding standards.
- From Paul Eggert.
- (update_file): Accept a $force argument, so that --force always
- updates the time stamps.
-
-2005-01-23 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (How the Linker is Chosen): Explain how the
- linker is chosen without diagram, and update to match the code.
- Suggestion from Adrian Bunk.
-
-2005-01-16 Alexandre Duret-Lutz <adl@gnu.org>
-
- * lib/am/subdirs.am ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)):
- Process all words of $MAKEFLAGS when checking for -k.
- * tests/check4.test: New file.
- * tests/Makefile.am (TESTS): Add check4.test.
- Report from Eric Blake.
-
-2005-01-13 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/amversion.in (AM_AUTOMAKE_VERSION): Point users to
- AM_INIT_AUTOMAKE if the version passed is incorrect.
- * tests/version8.test: New file.
- * tests/Makefile.am (TESTS): Add version8.test.
-
-2005-01-09 Alexandre Duret-Lutz <adl@gnu.org>
-
- * m4/amversion.in, m4/as.m4, m4/auxdir.m4, m4/ccstdc.m4,
- m4/cond.m4, m4/depend.m4, m4/depout.m4, m4/dmalloc.m4, m4/gcj.m4,
- m4/header.m4, m4/init.m4, m4/install-sh.m4, m4/lead-dot.m4,
- m4/lex.m4, m4/lispdir.m4, m4/maintainer.m4, m4/make.m4,
- m4/minuso.m4, m4/missing.m4, m4/mkdirp.m4, m4/multi.m4,
- m4/obsol-gt.m4, m4/obsol-lt.m4, m4/obsolete.m4, m4/options.m4,
- m4/protos.m4, m4/python.m4, m4/regex.m4, m4/runlog.m4,
- m4/sanity.m4, m4/strip.m4, m4/tar.m4: Use the same all-permissive
- license that is used in aclocal.m4. Relicensing backed by RMS.
-
- * doc/automake.texi (A Library, LIBOBJS): Mention that empty
- libraries are not portable.
-
-2005-01-05 Akim Demaille <akim@epita.fr>
-
- * aclocal.in ($ac_defun_rx): Match AU_ALIAS.
- * tests/aclocal5.test (MORE_DEFS): Rename as...
- (AM_TEST): this so that undefined macros are caught.
- And make it an alias of AC_SUBST.
- Test AU_ALIAS.
- Reported by Martin Bravenboer.
-
-2005-01-03 Alexandre Duret-Lutz <adl@gnu.org>
-
- Fix handling of per-target flags in link rules.
- * automake.in (define_per_target_linker_variable): New function.
- (handle_programs, handle_ltlibraries): Use it.
- (%link_languages): New map.
- (register_language): Fill it.
- * lib/am/ltlibrary.am (%LTLIBRARY%): Do not append
- $(%XLTLIBRARY%_LDFLAGS) to the command, this is now done by
- define_per_target_linker_variable if needed.
- * lib/am/program.am (%PROGRAM%%EXEEXT%): Likewise with
- $(%XPROGRAM%_LDFLAGS).
- * doc/automake.texi (Program and Library Variables): Mention
- AM_LDFLAGS and AM_LIBTOOLFLAGS in the definition of maude_LDFLAGS
- and maude_LIBTOOLFLAGS.
- * tests/libtool9.test: New file.
- * tests/Makefile.am (TESTS): Add it.
- * NEWS: Explain the backward incompatibility.
- Report from Akim Demaille.
-
-2005-01-01 Alexandre Duret-Lutz <adl@gnu.org>
-
- * doc/automake.texi (Requirements) <AC_CONFIG_FILES>: Discuss
- specifications with shell variables.
- (Optional) <AC_CONFIG_HEADERS, AC_CONFIG_LINKS>: Point to
- AC_CONFIG_FILES for this explanation.
- * automake.in (substitute_ac_subst_variables_worker,
- substitute_ac_subst_variables): Mew functions.
- (rewrite_inputs_into_dependencies): Use substitute_ac_subst_variables
- to ignore dependencies that contain unAC_SUBSTed shell variables.
- (handle_configure): Likewise, do not output rules for
- AC_CONFIG_HEADERS, AC_CONFIG_FILES, and AC_CONFIG_LINKS targets that
- unAC_SUBSTed contain shell variables.
- * tests/autohdr4.test: Use an AC_SUBST variable in a specification.
- * tests/output11.test, tests/output12.test: New files.
- * tests/Makefile.am (TESTS): Add output11.test and output12.test.
-
- * aclocal.in (parse_arguments, write_aclocal): Bump copyright year.
- * automake.in ($gen_copyright, version): Likewise.
-
------
-
-Copyright (C) 2005-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
-
-;; Variables:
-;; coding: utf-8
-;; End:
diff --git a/old/ChangeLog.11 b/old/ChangeLog.11
deleted file mode 100644
index da1f3af42..000000000
--- a/old/ChangeLog.11
+++ /dev/null
@@ -1,13107 +0,0 @@
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: drop unnecessary requirement in 'subpkg.test'
- * tests/subpkg.test ($required): Drop "bison", it is not required
- anymore since commit `v1.11-502-g7e5ae80'.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- gitlog-to-changelog: new auxiliary script, synced from gnulib
-
- We have plans to stop maintaining a version-controlled ChangeLog
- file in the Automake repository, and instead begin to generate it
- automatically from the git log messages. To do so, we will use
- the `gitlog-to-changelog' script from gnulib.
-
- * lib/gitlog-to-changelog: New, synced from gnulib.
- * Makefile.am (fetch): Fetch and sync it.
- * lib/Makefile.am (EXTRA_DIST): Distribute it.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- regex: remove obsolete macro AM_WITH_REGEX
- Today, practically nobody uses the GNU rx library, which, according
- to its own website <http://www.gnu.org/software/rx/rx.html>, has
- been "decommissioned". Consequently, the automake-provided macro
- AM_WITH_REGEX is not used nor required anymore.
- * m4/regex.m4: Delete.
- * m4/Makefile.am (dist_automake_ac_DATA): Do not list it anymore.
- * doc/automake.texi (Obsolete Macros): Remove description, and in
- fact any mention, of `AM_WITH_REGEX'.
- * tests/regex.test: Delete.
- * tests/help-regex.test: Likewise.
- * tests/regex-obsolete.test: Likewise.
- * tests/list-of-tests.mk: Do not list them anymore.
- * NEWS: Update.
- See also commits `v1.11-587-g5f335be' and `v1.11-433-g37b0aee',
- where that macro had been deprecated.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: be more consistent in copyright notices in tests
- * tests/cond39.test: Update the heading copyright notice, to be
- consistent with the formulation used in the other files.
- * tests/cond40.test: Likewise.
- * tests/cond41.test: Likewise.
- * tests/cond42.test: Likewise.
- * tests/cond43.test: Likewise.
- * tests/conflnk4.test: Likewise.
- * tests/extra8.test: Likewise.
- * tests/extra9.test: Likewise.
- * tests/suffix13.test: Likewise.
- * tests/vala.test: Likewise.
- * tests/vala1.test: Likewise.
- * tests/vala2.test: Likewise.
- * tests/vala3.test: Likewise.
- * tests/vala4.test: Likewise.
- * tests/vala5.test: Likewise.
- * lib/Automake/tests/Condition.pl: Likewise.
- * lib/Automake/tests/Condition-t.pl: Likewise.
- * lib/Automake/tests/DisjConditions.pl: Likewise.
- * lib/Automake/tests/DisjConditions-t.pl: Likewise.
- * lib/Automake/tests/Version.pl: Likewise.
- * lib/Automake/tests/Wrap.pl: Likewise.
- * lib/Automake/tests/Cond2.pl: Add copyright notice.
- * lib/Automake/tests/Cond3.pl: Likewise.
- * lib/Automake/tests/DisjCon2.pl: Likewise.
- * lib/Automake/tests/DisjCon3.pl: Likewise.
- * lib/Automake/tests/Version2.pl: Likewise.
- * lib/Automake/tests/Version3.pl: Likewise.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: "Bail out!" recognized also after leading whitespace
- Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1)
- recognize a "Bail out!" directive also when it is prepended by
- leading whitespace; this was not the case for older TAP:Harness
- versions, (e.g., for version 3.17 on Perl 5.12.4), and for our
- TAP driver implemented in awk.
- * lib/tap-driver.sh: Handle the "Bail out!" directive also when
- it is preceded by leading whitespace.
- * tests/tap-spurious.test: Remove the tests checking that a
- "Bail out!" string coming right after leading whitespace does
- not trigger a bailout action.
- * tests/tap-bailout-leading-space.test: New test.
- * tests/list-of-tests.mk: Add it.
- Problem reported by Jim Meyering in automake bug#10374.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure of cond29.test
- * tests/cond29.test: Limit the amount of virtual memory available
- to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
- account for higher (but still acceptable) memory usages on some
- systems (in this case, a Fedora 16 distro on ppc64). To be
- sure not to reduce coverage, increase the number of potential
- combinations of automake conditionals from 2**22 = 4194304 to
- 2**24 = 16777216.
- We have actually verified that the new version of the test case
- catches the Automake 1.7 it is intended to check against, using
- the Automake 1.7.9 tarball downloaded from:
- <http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz>
- Reported by Jim Meyering in automake bug#10374.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: "aclocal --install -I /abs/dir" actually copies files
-
- This change is for automake bug#8407.
-
- In the past, there had been some debate and confusion about
- whether "aclocal --install" should copy third-party .m4 files
- in the first directory passed to the `-I' option even when
- such directory was given as an absolute path, or whether it
- was better to do so only for directories specified with a
- relative path.
-
- The rationale for this latter behaviour was that, before the
- existence of the `ACLOCAL_PATH' variable, the only way (a poor
- way, I might add) for a common user to extend the search path
- of a system-wide installation of aclocal was to export something
- like ACLOCAL="aclocal -I /my/extra/macros" in the environment.
- Today, the correct way to proceed is undoubtedly through the
- use of ACLOCAL_PATH, so we can settle the question once and for
- all, and start verifying the correct behaviour of `-I' with a
- new test.
-
- * tests/aclocal-install-absdir.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * doc/automake.texi (aclocal Options): Be more explicit about
- this part of `--install' semantics.
-
-2011-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: fix node names for automake and aclocal invocations
-
- With the older node names, an "info automake" command issued
- from the command line would have opened the node about the
- invocation of the automake program, rather than the Top node
- of the automake documentation. To invoke the Top node, one
- had to issue the command "info Automake" instead (note the
- different capitalization). This was suboptimal, and certainly
- confusing.
-
- With this change, "info automake" will open the Top node of the
- automake documentation; to access the nodes about the invocation
- of the automake and aclocal program, one has now to issue "info
- automake-invocation" and "info aclocal-invocation" respectively.
-
- This change fixes automake bug#8071.
-
- See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
- the autoconf git repository, which tackled a similar issue.
-
- * doc/automake.texi (@direntry): Rename nodes `aclocal' and
- `automake' to `aclocal-invocation' and `automake-invocation'
- respectively.
- * NEWS: Update.
-
-2011-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: tweak tests on silent-rules for makes without nested vars
- * tests/silent-nested-vars.test: Define $MAKE to `./mymake' in
- the environment, so that it will be automatically picked up by
- configure. Related tweaks and simplifications.
- Remove the checks verifying that silent rules are respected also
- when the 'subdir-objects' option is set, the checks testing the
- old syntax for user-defined silent rules, and the tests using
- the default $MAKE programs: they are redundant w.r.t. other test
- cases. Related simplifications.
- Remove the temporary files used in a sanity check as soon as they
- are not needed anymore.
- Do not capture also the standard error of configure: we only want
- to grep its standard output.
- Consistently use `stdout' for the name of files where to save the
- standard output captured from make and configure, for consistency
- with other tests.
- Make grepping of configure output and of the generated Makefile
- stricter.
- Improve and tweak the `mymake' script a little.
- * tests/silent6.test: Make grepping of make stdout slightly
- stricter. After having configured with silent rules disabled,
- try to force the use silent rules with `make V=1'.
-
-2011-12-25 Paul Eggert <eggert@cs.ucla.edu>
-
- silent-rules: fallback for makes without nested vars
-
- This fixes two problems reported for Automake (Bug#9928, Bug#10237)
- and is in response to a bug report for building coreutils on HP
- NonStop OS (Bug#10234). The problem is that HP NonStop 'make'
- treats a line like "AM_V_CC = $(am__v_CC_$(V))" as one that
- expands a macro with the funny name am__v_CC_$(V instead of the
- desired name am__v_CC_1 or am__v_CC_0, and since the funny macro
- is not defined the line is equivalent to "AM_V_CC = )"; this
- inserts a stray ")" when $(AM_V_CC) is used, which eventually
- causes 'make' to fail.
-
- The basic idea is that instead of generating Makefile.in lines like
- "AM_V_CC = $(am__v_CC_$(V))", we generate
- "AM_V_CC = $(am__v_CC_@AM_V@)". We then AC_SUBST $(V) for @AM_V@
- in the usual case where `make' supports nested variables,
- and substitute 1 (or 0) otherwise. Similarly for usages like
- $(am__v_CC_$(AM_DEFAULT_VERBOSITY)).
-
- With this change, make implementations that doesn't grasp nested
- variable expansions will still be able to run Makefiles generated
- using the silent-rules option. They won't allow the user to
- override the make verbosity at runtime through redefinition of
- $(V) (as in "make V=0"); but this is still an improvement over not
- being able to work at all.
-
- * NEWS: Document this.
- * automake.in (define_verbose_var): When defining the variables,
- use @AM_V@ rather than $(V), and use @AM_DEFAULT_V@ rather than
- $(AM_DEFAULT_VERBOSITY).
- * doc/automake.texi (Automake silent-rules Option): Explain new system.
- * m4/silent.m4 (AM_SILENT_RULES): Check whether `make' supports
- nested variables, and substitute AM_V and AM_DEFAULT_V accordingly.
- * tests/silent-nested-vars.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- gitignore: use only one .gitignore file, in the top-level directory
- * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
- lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
- contents merged into ...
- * .gitignore: ... this top-level file. Since we are at it, improve
- it by anchoring files where it makes sense.
-
-2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: one more fixlet for gettext macros requirement
- * tests/gettext-macros.test (configure.in): Add calls to
- AC_INIT and AC_PROG_CC, to avoid a spurious failure in the
- later aclocal invocation.
- Luckily, this wart wasn't causing any spurious SKIP or FAIL,
- but only the redundant addition to the `-Wno-syntax' option
- to some aclocal invocations in the gettext tests.
-
-2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix handling of gettext macros requirement
-
- The code introduced in the earlier change `v1.11-581-gb7d67d5'
- and aimed at automatically fetching all the .m4 files provided by
- gettext has proven inadequate, since it hasn't managed to truly
- and always get *all* the required .m4 files. For example, it has
- failed to fetch the file `intldir.m4' (present in gettext 0.18.1,
- and where the macro `AM_GNU_GETTEXT_INTL_SUBDIR' is defined),
- which in turn has caused spurious SKIPs of at least the test
- `gettext3.test'.
-
- The reason for this debacle is that autopoint looks at the version
- specified in AM_GNU_GETTEXT_VERSION to decide which version of the
- gettext infrastructure to bring in; since we were unconditionally
- specifying the older 0.10.35 version, the newer `.m4' files weren't
- brought in.
-
- * tests/gettext-macros.test: In AM_GNU_GETTEXT_VERSION, instead
- of unconditionally specifying the older 0.10.35 version, specify
- the version of the available `gettextize' or `autopoint' program,
- dynamically extracted with the help of ...
- (extract_program_version):... this new function, and saved ...
- ($autopoint_version): ... in this new variable.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: automatically handle deps also for generated tests
- * tests/gen-testsuite-part: The test scripts are now scanned for
- automatic dependency generation *after* the auto-generated tests
- have been created, so they too will be scanned. It is a little
- tricky to ensure that the freshly-generated tests are correctly
- scanned, and we do that with the help of ...
- (@generated_tests): ... this new variable.
- Other related minor changes and refactorings.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: auto-generate deps for tests requiring libtool/gettext
- * tests/gen-testsuite-part: Tests requiring libtool (or related
- programs) will need libtool-provided m4 macros, so they should
- be run after `libtool-macros.test'. Similarly for gettext tests.
- So, generate proper declarations of such dependencies.
- * tests/Makefile.am: Remove now-unneeded hand-written declaration
- of those dependencies.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove FIXME comments from tricks to pacify syntax checks
- Originally, I myself had insisted on adding those "FIXME" comments
- near every unusual construct or use of "creative quoting" whose
- only purpose was to avoid false positive from out syntax checks.
- I did that with the expectation that we could have easily and soon
- added a whitelisting capability to our maintainer-specific syntax
- checks. This hasn't been the case unfortunately, and now those
- "FIXME" in the comments are just distracting noise, making it more
- difficult to grep the test cases for stuff that could really use a
- fix or an improvement. So just get rid of them.
- * tests/instdir-ltlib.test: Remove that extra "FIXME".
- * tests/instdir-prog.test: Likewise.
- * tests/parallel-tests3.test: Likewise.
- * tests/parallel-tests-dry-run.test: Likewise.
- * tests/parallel-tests-console-output.test: Likewise.
- * tests/parallel-tests-no-color-in-log.test: Likewise.
- * tests/tap-realtime.test: Likewise.
- * tests/test-trs-recover.test: Likewise.
- * tests/tap-deps.test: Likewise.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: few minor fixlets, improvements and tweakings
- * tests/defs-static.in ($top_testbuilddir): New, for consistency
- and completeness.
- * tests/Makefile.am (do_subst): Substitute @abs_top_testbuilddir@
- as well.
- * tests/java-compile-run-mested.test: Prefer AM_TESTS_ENVIRONMENT
- over TESTS_ENVIRONMENT, now that the former has become available.
- * tests/java-compile-run-flat.test: Correct a botched "FIXME"
- comment.
- * tests/tap-realtime.test: Remove extra whitespace in comments.
- * tests/missing-tar.test: Use `get_shell_script' to bring in the
- `missing' script, to increase coverage. Remove redundant call to
- `set -e'. Fix a typo in comments.
- * tests/get-sysconf.test: Remove redundant definitions of
- `$top_testsrcdir', `testbuilddir' and `$top_testbuilddir'.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant uses of `set -e'
- * tests/deleted-am.test: Do not set the `errexit' shell flag, as
- it is already set by `tests/defs'.
- * tests/deleted-m4.test: Likewise.
- * tests/dist-missing-am.test: Likewise.
- * tests/dist-missing-am.test: Likewise.
- * tests/dist-missing-m4.test: Likewise.
- * tests/dist-missing-included-m4.test: Likewise.
- * tests/get-sysconf.test: Likewise.
- * tests/makefile-deps.test: Likewise.
- * tests/remake-m4-pr10111.test: Likewise.
- * tests/remake-am-pr10111.test: Likewise.
- * tests/remake-deleted-am.test: Likewise.
- * tests/remake-deleted-am2.test: Likewise.
- * tests/remake-deleted-am-subdir.test: Likewise.
- * tests/remake-renamed-am.test: Likewise.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix failure due to debugging code forgotten into a test
- * tests/missing-tar.test: Don't ever call the `missing' script
- with `sh -x'; this was used for debugging, but an instance of
- it slipped into the committed test case. Bug revealed by a
- failure on a Solaris 10 system with GNU tar installed as `gtar'.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'master' into testsuite-work
- * tests/gettext-macros.test: In the generated `get.sh' file,
- use `skip_all_', not `skip_'.
- * tests/libtool-macros.test: Likewise.
- * tests/list-of-tests.mk: Update.
-
-2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid spurious failure of libtool and gettext tests
-
- On Solaris 10 (and presumably earlier), /bin/sh trips up on
- here-documents that contains a command substitution *and* are
- fed to a shell function:
-
- # All as expected.
- $ cat <<END
- `pwd`
- END
- /home/stefano
- $ echo status = $?
- status = 0
-
- # An apparently innocuous function ...
- $ kitty () { cat; }
- # ... but hilarity ensues!
- $ kitty <<END
- `pwd`
- END
- /tmp/sh137723: cannot open
- $ echo status = $?
- status = 1
-
- We need to work around this misbehaviour in a couple of our
- tests (whose failures where causing cascading failures in a
- lot of other tests).
-
- * tests/gettext-macros.test: Avoid the use of command substitution
- in a here-document passed to the `indent' function, by using the
- `echo' builtin instead.
- * tests/libtool-macros.test: Likewise.
-
- See also:
- <http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'maint' into master.
- * m4/regex.m4: Bump serial number by some notches, for good
- measure. Prefer the deprecation message from maint over that
- from master.
- * m4/python.m4: Bump serial number.
- * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
- (canon7.log): Likewise.
- (extradep2.log): Likewise.
- (ar-lib4.log): Likewise.
- (ar-lib6a.log): Likewise.
- (ar-lib6b.log): Likewise.
- (vartypo2): Likewise.
- (posixsubst-ltlibraries.log): Likewise.
- * tests/defs: Adjust the path of the included `get.sh' scripts
- generated by `libtool-macros.test' and `gettext-macros.test'.
- * aclocal.m4: Delete, it's auto-generated now.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * doc/Makefile.in: Likewise.
- * m4/Makefile.in: Likewise.
- * tests/Makefile.in: Likewise.
- * lib/Makefile.in: Likewise.
- * lib/am/Makefile.in: Likewise.
- * lib/Automake/Makefile.in: Likewise.
- * lib/Automake/tests/Makefile.in: Likewise.
- * .gitignore: Correctly ignored the autogenerated files
- that are not committed anymore.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- hacking: distribute it, and mention it in the ChangeLog
- Not distributing the HACKING file might make it more difficult,
- for some random curious user, to get informed about or interested
- in the Automake development process, or to send us patches.
- * Makefile.am (EXTRA_DIST): Add HACKING.
- * HACKING: It's OK to distribute this file, and to mention it in
- the ChangeLog.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- regex: deprecate the obsolete macro AM_WITH_REGEX
- This is a backport of commit v1.11-433-g37b0aee.
- Today, practically nobody uses the GNU rx library, which, according
- to its own website <http://www.gnu.org/software/rx/rx.html>, has
- been "decommissioned". Consequently, the automake-provided macro
- AM_WITH_REGEX is not used nor required anymore. Deprecate it, so
- that it will be possible to safely remove it in the next major
- automake version.
- * m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
- `obsolete' when this macro is used.
- * doc/automake.texi (Public Macros): Move description of
- `AM_WITH_REGEX' from here ...
- (Obsolete Macros): ... to here, and declare it as obsolete
- and "to be removed in a future version".
- * tests/regex-obsolete.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * NEWS: Update.
- See also:
- <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maint: distribute .xz tarballs, not .bz2 ones
- Many GNU packages are moving towards xz-compressed tarballs, so
- let's follow suit, by dropping the creation and distribution of
- a bzip2-compressed tarball and switching to xz instead.
- For compatibility and safeness, we will continue to create and
- distribute a gzip-compressed tarball as well.
- * configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
- `dist-xz'.
- * NEWS: Update
- Suggested by Jim Meyering.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- include: avoid "deleted .am file" problem
- * automake.in (handle_configure): When processing `configure.am',
- also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
- `MAKEFILE-IN-DEPS' is empty or not.
- * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
- (%MAKEFILE-IN-DEPS%): New target without dependencies, to
- avoid the "deleted .am file" problem. Emit this only when
- `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
- "empty" dependency declaration.
- * tests/deleted-am.test: Make grepping of error message stricter.
- * tests/dist-missing-am.test: Likewise.
- * tests/remake-deleted-am.test: New test.
- * tests/remake-deleted-am-2.test: Likewise.
- * tests/remake-deleted-am-subdir.test: Likewise.
- * tests/remake-renamed-am.test: Likewise.
- * tests/makefile-deps.test: Likewise.
- * tests/Makefile.am (TESTS): Add the new tests.
- * NEWS: Update.
- Fixes automake bug#9768.
- Report by Peter Johansson.
- See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
- problem for .m4 files included by configure.ac.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maint: better use of autoconf 2.68 features
- * configure.ac: Now that Automake requires autoconf 2.68 for its
- own bootstrapping and build system, we can assume that PACKAGE_URL
- gets automatically AC_SUBT'd.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: use proper m4 quoting in configure.ac
- * configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
- for its arguments.
- (AC_CONFIG_AUX_DIR): Likewise.
- (AC_PROG_PATH): Likewise.
-
-2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: better handling of gettext and libtool requirements
-
- This change fixes automake bug#9807.
-
- Before this change, the automake testsuite only looked for the
- `.m4' files containing libtool and gettext macros definitions in
- the directory `${prefix}/share/aclocal' (and in the directories
- specified by the `dirlist' file in there, if any), where ${prefix}
- was the configure-time automake installation prefix (defaulting
- to `/usr/local').
-
- This approach had various shortcomings and disadvantages. Let's
- briefly describe the three major ones.
-
- First, on most GNU/Linux systems, a libtool or gettext installed
- from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
- by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
- its ${prefix}; so, trying to run the automake testsuite with a
- simple "./configure && make && make check" would have failed to
- execute the libtool and gettext tests on most GNU/Linux distros.
- It's true that it was quite easy to work around this issue, by
- creating a proper `/usr/local/share/aclocal/dirlist' file with
- an entry pointing to `/usr/share/aclocal' (a workaround in fact
- used by most automake developers); but the typical user wasn't
- aware of the necessity of this trick, so the libtool and gettext
- tests was usually skipped on testsuite runs "in the wild", thus
- needlessly reducing coverage.
-
- Second, the older testsuite behaviour made more difficult for
- the developers to run the testsuite with non-default libtool or
- gettext. For example, assume the developer is working on a system
- that has a default libtool version 1.5 installed in the /usr/local
- hierarchy; to improve coverage, the developer installs also a more
- modern libtool version, say 2.4, in its home directory, let's say
- in ~/libtool-2.4; he then tries to run the automake testsuite with
- this more modern libtool by doing an (apparently) simple:
- $ PATH=$HOME/libtool-2.4:$PATH make check
- But the automake testsuite would still look for libtool macros in
- /usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
- the wrong version of the macros would be picked up, and the tests
- would either fail spuriously or (which would be worse) pass without
- truly covering the libtool version the developers was thinking to
- be testing with.
- Worse again, the automake testsuite would *unconditionally* look
- for libtool macros in /usr/local/share/aclocal, so even something
- like:
- $ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
- $ PATH=$HOME/libtool-2.4:$PATH make check
- wouldn't work.
-
- Third and last, during a "make distcheck", automake is configured
- with a ${prefix} pointing to a proper subdirectory of the build
- directory (usually `pwd`/_inst), which gets created on-the-fly;
- in this case, with the old approach, the automake testsuite never
- found the libtool and gettext macro files, ans so the libtool and
- gettext tests was *always* skipped in a "make distcheck".
-
- * tests/libtool-macros.test: New helper test, looking (with the
- help of the `libtoolize' script) for libtool macro files required
- by most libtool tests, and making them easily accessible.
- * tests/gettext-macros.test: New helper test, looking (with the
- help of the `libtoolize' script) for libtool macro files required
- by most libtool tests, and making them easily accessible.
- * tests/defs.in: Update to make it rely on the results and setups
- of `libtool-macros.test' and `gettext-macros.test'.
- * tests/Makefile.am: Declare dependency of all the logs of libtool
- tests from `libtool-macros.log', and all the logs of gettext tests
- from `gettext-macros.log'.
- (TESTS): Add the new tests.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- fix: typos and grammaros in comments of the new test
- * tests/get-sysconf.test: Fix few typos, grammaros and botched
- wording. Reported by Eric Blake.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: report useful system information in 'test-suite.log'
- It has already happened various times that a user has run the
- automake testsuite, experienced a failure, read the messages
- telling him "See tests/test-suite.log" and "Please report to
- bug-automake@gnu.org", and done exactly that -- sending us only
- the contents of `tests/test-suite.log', which are usually not
- enough to start debugging the reported failure. So we have to
- ask him for more details, and usually also for the `config.log'
- file generated by configure. It's time to fix this recurring
- feedback inefficiency. We do so by creating a dummy test case
- that takes care of copying the contents of `config.log', plus
- other useful system information, in the final `test-suite.log'.
- * tests/get-sysconf.test: New test, gathering system information
- and then always terminating with a SKIP, so that its output gets
- copied in `test-suite.log'.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-12-07 Reuben Thomas <rrt@sc3d.org> (tiny change)
-
- python: remove relics for Python 1.5 support
- * m4/python.m4: The comments in here claim to support only
- Python >= 2.0, yet this file still has specific support for
- Python 1.5. Just remove it, python 1.5 is 12 years old now,
- and practically defunct.
- * NEWS: Update.
- See also commit `Release-1-10-205-gd5bec12', "Support for
- Python 3.0, drop support for pre-2.0."
-
-2011-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- configure: remove extraneous 'eval's from AM_RUN_LOG invocations
- * configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
- for example, instead of "AM_RUN_LOG([eval $PERL --version])",
- simply use "AM_RUN_LOG([$PERL --version])"
-
-2011-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- configure: report TeX version in config.log
- * configure.ac: If possible, report the version of the selected
- TeX program; this should render the logs more informative.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maint: snapshots from `maint' are still development snapshots
- The maintenance-oriented development line in the `maint' branch,
- while being usually pretty stable and 99% backward-compatible,
- is not always right off production-quality; but until now, the
- Automake package version declared in configure.ac hid this fact,
- since it appeared to be the version of a stable release (e.g.,
- 11.1). Fix this.
- * configure.ac (AC_INIT): Bump version to "1.11.0a".
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- configure: print proper message for test releases
- * configure.ac: If the current release is detected to be a test
- release or a development snapshot, print a proper warning for
- the user.
- * README-alpha: Delete, it's obsolete now (and in fact this file
- hasn't been touched in eleven years, since release 1.4b or so).
- * HACKING (Release procedure): Don't say to update README-alpha.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- devel: help in comparing Makefile.in from different commits
- Now that the generated Makefile.in, configure and aclocal.m4 files
- are no longer committed in Automake's git repository, a simple
- "git diff" or "git log" no longer shows if and how a change in
- Automake results in changes to the Makefile.in files and/or
- configure script of its own build system. Still, the ability to
- peek so easily at such differences has proved itself quite useful
- in the past, often revealing inconsistencies and blunders, and
- sometimes even bugs; so it would be a pity to lose that altogether.
- With this change, we add a new maintainer recipe that re-introduces
- much of that capability, by generating and comparing on the fly the
- Makefile.in, configure and aclocal.m4 derived from two arbitrary
- commits of the Automake repository.
- * Makefile.am (autodiffs, compare-autodiffs): New phony targets.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- repo: don't commit generated files in the git repository anymore
- It has been quite some time since autoconf and libtool have stopped
- committing the generated autotools files in their git repositories,
- with no significant ill effects we're aware of. It's true that the
- autoconf bootstrap process has now the minor annoyance that a
- pre-installed autoconf is required to complete it; but luckily
- automake will not have a similar annoyance, since our bootstrap
- script take care, through some hoops, to use the very automake and
- aclocal versions from the current git checkout to generate the
- required aclocal.m4 and Makefile.in files. In fact, this has been
- a necessity also in the past, because automake has been known to
- use in its own build system new development features that hadn't
- been present in any previously released automake distribution.
- * .gitignore: Ignore configure, aclocal.m4, and all the
- Makefile.in files.
- * configure.ac (AC_PREREQ): New macro call, to require the
- latest autoconf (2.68 for the moment).
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- missing: don't try to re-run tar with a munged command line
- * lib/missing: If the default `tar' program fails with the given
- arguments, and GNU tar is not available, don't try to re-run the
- default `tar' with a munged command line (e.g., ditching possibly
- unportable options), as that could be subtly alter the intended
- semantics (and maybe even create a somewhat corrupted tarball).
- Also, it's worth noting that the main purpose of the `missing'
- script is to allow a non-developer to build the package in the
- face of slightly-skewed timestamps, not to provide wrappers for
- all the maintainer tools -- so we don't have to try too hard
- when `missing' is just called to wrap `tar'.
- * tests/missing-tar.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- missing: inform the user if GNU tar is called
- * lib/missing: If the code trying to run GNU tar is reached, it
- means that the previous attempt to run the default tar program
- has failed, very likely producing some error message. At this
- point, just running GNU tar without further comments might be
- confusing.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- missing: if GNU tar exists but fails when called, give up
- * lib/missing: If the code trying to run GNU tar is reached,
- don't continue if the invoked GNU tar program fails, as there
- is little point in doing so (and can even be confusing and
- counter-productive).
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- missing: miscellaneous fixlets
- * lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
- warn about missing programs before performing redirections.
- Therefore, where we have to silently check whether a program
- exists, perform redirections on a subshell.
- Remove redundant uses of double-quotes in variable definitions.
- Delete an extra blank line.
-
-2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maint: remove executable bit from automake.in
- * automake.in: This file is not meant to be executed, only to
- be preprocessed to create the `automake' script; so don't leave
- it executable.
-
-2011-12-20 Peter Rosin <peda@lysator.liu.se>
-
- tests: fix spurious failure on systems lacking unistd.h
- This is for automake bug#10324.
- * tests/silent-lex-generic.test (foo.l): Add a dummy #define of
- YY_NO_UNISTD_H, so that the generated foo.c file won't require
- unistd.h to be present (it is not present when compiling with,
- e.g., MSVC 9).
-
-2011-12-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure on MSYS/MinGW and Cygwin
- * tests/primary-prefix-couples-force-valid.test (Makefile.am):
- Correctly append $(EXEEXT) to the path of built binaries.
-
-2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: hack to support autoconf-wrapper programs
- * tests/defs-static.in ($AUTOCONF): Add a dummy `-B' option to the
- autoconf invocation, so that, when the Debian autoconf wrapper is
- involved, it will correctly dispatch an autoconf >= 2.50 instead of
- defaulting to autoconf 2.13.
- ($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and
- autoreconf respectively.
- Reported by Bruno Haible:
- <http://lists.gnu.org/archive/html/automake/2011-12/msg00039.html>
-
-2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix a minor spurious failure with FreeBSD make
- * tests/remake-am-pr10111.test: Avoid using `#' comments in
- makefile recipes, as these have been confusing FreeBSD make.
- The failure was masked by the fact that this test is currently
- expected to fail.
- Suggested by a report from Bruno Haible.
-
-2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: make two test scripts executable
- * tests/remake-am-pr10111.test: Make executable.
- * tests/remake-m4-pr10111.test: Likewise.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc/lex tests: remove an unneeded workaround for bug#8485
-
- * tests/yacc-d-cxx.test: Remove the workaround previously required
- to avoid spurious failures due to automake bug#8485: that bug has
- been solved with commit `v1.11-512-g40c3432'.
-
-2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc/lex tests: avoid too much failures with FreeBSD make
-
- In various Yacc/Lex tests, we used to run "make distcheck" commands
- whose value was mostly dubious, and, even when it was there, was
- very, very little. The presence of these extra distchecks had two
- disadvantages: it slowed down our already-too-slow testsuite even
- more, and, much worse, caused a lot of extra failures with FreeBSD,
- all due to automake bug#7884, which is already exposed by the test
- case `yacc-dist-nobuild.test'.
-
- We can improve this situation by simply removing "make distcheck"
- calls from a few testcases, or making them conditional to the use
- of GNU make.
-
- * tests/lex-clean-cxx.test: Do not call "make distcheck".
- * tests/lex-clean.test: Likewise.
- * tests/yacc-clean-cxx.test: Likewise.
- * tests/yacc-clean.test: Likewise.
- * tests/yflags-force-override.test: Likewise.
- * tests/yacc-nodist.test: Only run "make distcheck" if make
- is GNU make.
-
-2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'maint' into 'yacc-work'
- * tests/silent-lex.test: Provide a dummy `yywrap()' function, to
- avoid link errors on systems that doesn't provide a "lex library".
- See also commit `v1.11-546-gca0ba5d'.
-
-2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- readme: reference webpages for automake mailing lists
- * README: Rationalize and reorganize the (brief) description of
- the automake mailing lists. In particular, instead of suggesting
- the reader to write to the `-request' addresses to subscribe to
- mailing lists, point him to the relevant webpages, where he can
- also subscribe via a web form.
-
-2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- readme: update advice about testsuite execution
- * README: Now that the automake testsuite uses the parallel-tests
- driver, there is no need for the user to capture the stdout of
- "make check" to determine which tests have failed: a detailed log
- is automatically saved into the `tests/test-suite.log' file.
- Since we are at it, improve the wording by dropping an extra
- "please".
-
-2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- readme: don't reference the old homepage at sources.redhat.com
- * README: Don't reference the old homepage at sources.redhat.com,
- which is no longer active; reference the homepage on www.gnu.org
- instead. See also automake bug#10157 and bug#10248.
- * tests/README: Likewise, and remove related extra-pedantic advice
- about copyright papers for test cases (we'll ask for those papers
- explicitly when we think they are warranted).
-
-2011-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- hacking: some more fixlets
- * HACKING (Release Procedure): Place the list of pre-release
- bootstrap-and-test commands on a line of its own, so it's easy to
- select and then paste it into a terminal window.
- Fix the explanation of "make git-release", as, since the previous
- change, "make git-release" would simply run "make dist" rather
- than "make distcheck".
- Suggestion from Jim Meyering.
-
-2011-12-12 Peter Rosin <peda@lysator.liu.se>
-
- * NEWS: Fix typo in 'make dist-bzip2' description.
-
-2011-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- release: don't run "make distcheck" automatically
- * Makefile.am (git-dist): The developers should test extensively
- before finally creating the release tarball; so don't run "make
- distcheck" on their behalf here; instead ...
- * HACKING (Release procedure): ... state here that "make check"
- and "make distcheck" should be run before calling "make git-dist".
-
-2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'color2.test'
- * tests/color2.test: (expect-make): Add an "expect eof" directive,
- so that the collected output from the spawned make program will be
- displayed on stdout, as desired.
- Since we are at it, also correctly remove a temporary file which
- we was trying to delete using a wrong filename.
- Problem introduced in merge `v1.11-1579-g8d3466c', probably by a
- botched edit or conflict resolution.
-
-2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'lex3.test'
- * tests/lex3.test (foo.l): Remove duplicated definition of
- `yywrap'. Problem introduced in merge `v1.11-1579-g8d3466c'.
-
-2011-12-09 Jim Meyering <meyering@redhat.com>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
- Before the present change, automake-generated `dist-xz' rule used
- a hard-coded `xz -9'. That was a problem because on this front,
- xz differs from gzip and bzip2. While the latter two don't incur
- any run-time decompression penalty for using a higher compression
- level, specifying -9 with xz imposes a potentially fatal virtual
- memory requirement on any client that wants to decompress your
- tar.xz file.
- People have complained that a tarball compressed with -9 cannot
- be uncompressed in a low-memory environment (wrt-based embedded).
- Hence, instead of defaulting to -9, which is useful only for very
- large tarballs, it defaults to -e (equivalent to -6e). This
- limits the default memory requirements imposed on decompressors,
- yet still gives very good compression ratios.
- * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
- it impossible to override. Actually don't default to -9, either,
- since that induced inordinately large virtual memory usage when
- merely decompressing. Instead, use its XZ_OPT envvar, defaulting
- to -e if not defined. Suggested by Lasse Collin.
- (dist-bzip2): Similarly, do not hard-code -9, but do continue to
- use -9 by default. Honor the BZIP2 envvar.
- * NEWS: Update.
- * doc/automake.texi (The Types of Distributions): Describe the
- newly enabled environment variables.
-
-2011-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: Fix typos, grammaros and suboptimal wording.
- Reported by Jim Meyering.
-
-2011-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maint: sync auxiliary files from upstream
- * lib/texinfo.tex: Synced from upstream, by "make fetch".
- * lib/config.guess: Likewise.
- * lib/config.sub: Likewise.
-
-2011-12-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures due to missing 'yywrap()' function
-
- The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
- the "lex library" expected to provide a `yywrap' function (function
- which is required to link most lex-generated programs). On the
- contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
- fail, configure declares that no lex library is needed, and simply
- proceeds with the configuration process -- only for the build to
- possibly fail later, at make time.
-
- This behaviour is intended; the Autoconf manual reads:
- ``You are encouraged to use Flex in your sources, since it is
- both more pleasant to use than plain Lex and the C source it
- produces is portable. In order to ensure portability, however,
- you must either provide a function `yywrap' or, if you don't use
- it (e.g., your scanner has no `#include'-like feature), simply
- include a `%noyywrap' statement in the scanner's source.''
-
- This AC_PROG_LEX behaviour is causing some spurious failures of
- the Automake testsuite in environments which lack a proper library
- providing `yywrap' (this happens for example on Fedora-based
- systems). The proper workaround is to simply provide a fall-back
- implementation of `yywrap' in our lexers.
-
- See also partially-overlapping commit `v1.11-871-geb147a1' (from
- the 'testsuite-work' branch), which was motivated by similar
- spurious failures experienced when cross-compiling.
-
- From a report by Jim Meyering:
- <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
-
- * tests/cond35.test: Provide a dummy `yywrap' function.
- * tests/lex3.test: Likewise.
- * tests/silent-lex-generic.test: Likewise.
- * tests/silent-lex-gcc.test: Likewise.
- * tests/silent-many-generic.test: Likewise.
- * tests/silent-many-gcc.test: Likewise.
-
-2011-12-04 Paul Eggert <eggert@cs.ucla.edu>
-
- depcomp: spelling fix
- * lib/depcomp (-h): Fix misspelling in usage diagnostic.
-
-2011-11-28 Peter Rosin <peda@lysator.liu.se>
-
- tests: fix 'distcheck-override-infodir.test' on Cygwin
- * tests/distcheck-override-infodir.test (Makefile.am): Do not add
- any `/' between $(DESTDIR) and the following paths. Otherwise,
- when $(DESTDIR) is empty, the recipes will try to access files
- with a leading double slash, which have an implementation-defined
- interpretation (e.g., for Cygwin, they mean UNC paths).
-
-2011-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: typofix in comments
- * tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
- * THANKS: Update.
- Reported by Krzysztof Żelechowski.
-
-2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: undistributed '.am' and '.m4' files are diagnosed
- The stub rules emitted to work around the "deleted header problem"
- for `.m4' files (included by autoconf in e.g., configure.ac) and
- for `.am' files (included by automake in e.g., Makefile.am) should
- not prevent "make" from correctly complaining when such a required
- file is missing from a distribution tarball.
- * tests/dist-missing-am.test: New test.
- * tests/dist-missing-m4.test: Likewise.
- * tests/dist-missing-included-m4.test: Likewise.
- * tests/Makefile.am (TESTS): Add them.
- Suggestion by Ralf Wildenhues.
-
-2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: required but missing '.am' and '.m4' files are diagnosed
- The stub rules emitted to work around the "deleted header problem"
- for `.m4' files (included by autoconf in e.g., configure.ac) and
- for `.am' files (included by automake in e.g., Makefile.am) should
- not prevent the remake rules from correctly erroring out when a
- still-required file is missing.
- * tests/deleted-am.test: New test.
- * tests/deleted-m4.test: Likewise.
- * tests/Makefile.am (TESTS): Add them.
-
-2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: expose automake bug#10111 in the testsuite
- * tests/remake-am-pr10111.test: New test, xfailing.
- * tests/remake-m4-pr10111.test: Likewise.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
-
-2011-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- texinfo: work around Solaris 10 xpg4 shell bug in install rules
- * lib/am/texinfos.am (install-html-am): Use an extra variable
- indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
- Bug revealed by a failure of `txinfo21.test'. See also:
- <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
- <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
-
-2011-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- configure: report perl version in config.log
- * configure.ac: Report the version of the selected perl interpreter
- in config.log; this should render the logs more informative.
-
-2011-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure with older install-info
- * tests/install-info-dir.test (foo.texi): Also add proper
- `@settitle', `@dircategory' and `@direntry' directive, otherwise
- older versions of `install-info' (e.g., 4.8) will fail to create
- the `dir' index file in ${infodir}.
- Problem revealed by a failure on NetBSD 5.1.
-
-2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix spurious failure in 'color2.test'
- * tests/color2.test: Avoid creative quoting to avoid a spurious
- failure of the `sc_tests_Exit_not_exit' maintainer check.
-
-2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious error in 'uninstall-fail.test' on Solaris
- * tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
- a line number before the `:' in the error messages issued by shell
- builtins. Account for that in our grepping of make output.
-
-2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix typo in 'uninstall-fail.test'
- * tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
- instead of the bogus `$rm_f_is_silent_on_failure'.
-
-2011-11-19 Paul Eggert <eggert@cs.ucla.edu>
-
- * lib/install-sh: Spelling fix in comment.
-
-2011-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid a spurious failure of 'ltinit.test' MinGW
- * tests/ltinit.test: Be laxer in grepping configure output, to
- avoid spurious failures on systems which lack POSIX dynamic
- linking (e.g., MinGW), or when cross-compiling for such systems.
- See also commit `v1.11-855-ge9e5d4a'.
- Report and suggestion from Peter Rosin.
-
-2011-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: testsuite is now safe to run with dmake in parallel mode
- * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
- and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
- in parallel mode, and which might confuse make processes spawned
- by our testsuite.
-
-2011-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures w.r.t. parallel make and colorization
- * tests/color2.test: Skip the test if the $MAKE program fails to
- consider the standard output as a tty when spawned by `expect'.
- This is required for make implementations, like FreeBSD make and
- Solaris dmake, that redirect the output of recipes to temporary
- files or pipes when run in parallel mode. Since we are at it,
- simplify the detection of a working `expect' program, and throw
- in other minor simplifications.
-
-2011-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'distcheck-override-infodir.test'
- * tests/distcheck-override-infodir.test ($required): Add
- 'install-info'.
-
-2011-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid another failure of 'uninstall-fail.test' on Solaris
- * tests/uninstall-fail.test: On Solaris 10, if `/bin/rm' is run
- with the `-f' option, it doesn't print any error message when
- failing to remove a file (due to e.g., "Permission denied").
- Yikes. Cater to this incompatibility, by relaxing the test when
- a faulty `rm' is detected.
-
-2011-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: various minor tweakings, mostly related to AM_PROG_AR
- * tests/alloca2.test: Ensure we don't experience a spurious failure
- due to a missing `AM_PROG_AR' macro or a missing `ar-lib' auxiliary
- script.
- * tests/libtool4.test: Likewise.
- * tests/ldadd.test: Likewise. Since we are at it, make grepping of
- automake stderr stricter.
- * tests/reqd2.test: Likewise.
- * tests/pr211.test: Ensure automake fails also with `-Wnone', since
- the error we are testing for is an hard error, not a mere warning.
- * tests/syntax.test: Likewise, and ensure we don't fail to other
- errors by removing use of `lib_LTLIBRARIES' in Makefile.am. Since
- we are at it, make grepping of automake stderr stricter.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- ar-lib: fix configure output for "unrecognized archiver interface"
- * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
- to determine the archiver interface kind, the "checking archiver
- interface" message from configure is properly terminated before
- an error message is printed, to avoid slightly garbled output.
- * tests/ar4.test: Enhance.
- * tests/ar5.test: Likewise.
-
-2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- warnings: fix buglets for portability warnings
- * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
- correct implications and inter-dependencies between warnings
- in the categories `portability', `extra-portability' and
- `recursive-portability' are respected. Also add detailed
- explicative comments, and references to the relevant tests.
- * tests/dollarvar2.test: Update and extend. Also, remove
- some unnecessary uses of `--force' option in automake calls.
- * tests/extra-portability3.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: extend tests on 'extra-portability' warning category
- * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
- have complete control over the automake options. Extend by using
- also a setup where no `portability' warning is present (only an
- `extra-portability' warning is). Other minor extensions. Remove
- some redundant, verbose comments about the expected diagnostic.
-
-2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: various minor tweakings, mostly related to AM_PROG_AR
- * tests/alloca.test: Adjust to new portability requirements due
- to the new AM_PROG_AR macro.
- * tests/discover.test: Likewise.
- * tests/libobj3.test: Likewise.
- * tests/pluseq7.test: Likewise. Also, make grepping of automake
- expected error message stricter.
- * tests/stdlib.test: Likewise, and extend the test a bit.
- * tests/parse.test (configure.in): Remove redundant call to
- AC_PROG_RANLIB.
- * tests/library2.test: Adjust to new portability requirements
- due to the new AM_PROG_AR macro. Also ...
- (configure.in): ... add call to AC_PROG_CC, to ensure automake
- really fails for the expected reason.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- ar-lib: fix configure output for "unrecognized archiver interface"
- * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
- to determine the archiver interface kind, the "checking archiver
- interface" message from configure is properly terminated before
- an error message is printed, to avoid slightly garbled output.
- * tests/ar4.test: Enhance.
- * tests/ar5.test: Likewise.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more faithful 'installcheck' support in few tests
- * tests/ar-lib5a.test: Use the `$am_scriptdir' variable instead
- of "$testsrcdir/../lib" or "$top_testsrcdir/lib", to test more
- faithfully under "make installcheck".
- * tests/ar-lib5a.test: Likewise.
- * tests/libobj-basic.test: Likewise.
- * tests/libobj19.test: Likewise.
- * tests/suffix5.test: Likewise.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant settings of `errexit' shell flag
- * tests/aclocal-path-install-serial.test: Do not set the
- `errexit' shell flag, as it is already set by `tests/defs'.
- * tests/ar-lib2.test: Likewise.
- * tests/ar-lib3.test: Likewise.
- * tests/ar-lib4.test: Likewise.
- * tests/ar-lib5a.test: Likewise.
- * tests/ar-lib5b.test: Likewise.
- * tests/ar-lib6a.test: Likewise.
- * tests/ar-lib6b.test: Likewise.
- * tests/ar-lib7.test: Likewise.
- * tests/ar3.test: Likewise.
- * tests/ar4.test: Likewise.
- * tests/ar5.test: Likewise.
- * tests/extra-portability.test: Likewise.
- * tests/extra-portability2.test: Likewise.
- * tests/extra-portability3.test: Likewise.
- * tests/install-info-dir.test: Likewise.
- * tests/maintmode-configure-msg.test: Likewise.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- generated tests: avoid extra "FIXME" comments
- * tests/gen-testsuite-part: Avoid putting too much "FIXME"
- comments in the generated test scripts, since they end up
- being just counter-productive noise when one has to grep
- the test scripts looking for real "FIXME" items.
-
-2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: fix typo in 'prove-runner' script
- * tests/prove-runner: Remove erroneously-repeated word.
- * THANKS: Update.
- Reported by Dave Hart.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'master' into testsuite-work
- * tests/extra-portability.test: Use `$am_original_AUTOMAKE'
- instead of the obsolete `$original_AUTOMAKE'.
- * tests/extra-portability3.test: Likewise.
- * tests/list-of-tests.mk: Update.
-
-2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'msvc' into master
- * tests/extra-portability3.test: Use `$original_AUTOMAKE' instead
- of hackishly extracting the first component of `$AUTOMAKE'.
- * tests/extra-portability.test: Likewise. Also, since we are at
- it, throw in a couple of small extensions and tweakings (suggested
- by the minor merge conflicts).
-
-2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- warnings: fix buglets for portability warnings
- * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
- correct implications and inter-dependencies between warnings
- in the categories `portability', `extra-portability' and
- `recursive-portability' are respected. Also add detailed
- explicative comments, and references to the relevant tests.
- * tests/dollarvar2.test: Update and extend. Also, remove
- some unnecessary uses of `--force' option in automake calls.
- * tests/extra-portability3.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: extend tests on 'extra-portability' warning category
- * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
- have complete control over the automake options. Extend by using
- also a setup where no `portability' warning is present (only an
- `extra-portability' warning is). Other minor extensions. Remove
- some redundant, verbose comments about the expected diagnostic.
-
-2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new functions to analyze configure help screen
- * tests/defs (extract_configure_help, grep_configure_help): New
- functions.
- * tests/maintmode-configure-msg.test: Use them, reducing code
- duplication and test brittleness.
- * tests/help-depend.test: Likewise.
- * tests/help-depend2.test: Likewise.
- * tests/help-dmalloc.test: Likewise.
- * tests/help-lispdir.test: Likewise.
- * tests/help-multilib.test: Likewise.
- * tests/help-python.test: Likewise.
- * tests/help-regex.test: Likewise.
- * tests/help-silent.test: Likewise.
- * tests/help-upc.test: Likewise.
- * tests/help-init.test: Make grepping of configure help screen
- slightly stricter.
- * tests/self-check-configure-help.test: New self test.
- * tests/Makefile.am (TESTS): Add it.
- From a report by Jim Meyering.
-
-2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'master' into testsuite-work
-
- * tests/instspc.tap: Adjust to new portability requirements
- due to the new AM_PROG_AR macro.
- * tests/lex-lib.test: Likewise.
- * tests/extra-portability2.test: Use `$am_original_AUTOMAKE'
- instead of the obsolete `$original_AUTOMAKE'.
- * tests/list-of-tests.mk: Update.
-
-2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: various minor tweakings, mostly related to AM_PROG_AR
- * tests/alloca.test: Adjust to new portability requirements due
- to the new AM_PROG_AR macro.
- * tests/discover.test: Likewise.
- * tests/libobj3.test: Likewise.
- * tests/pluseq7.test: Likewise. Also, make grepping of automake
- expected error message stricter.
- * tests/stdlib.test: Likewise, and extend the test a bit.
- * tests/parse.test (configure.in): Remove redundant call to
- AC_PROG_RANLIB.
- * tests/library2.test: Adjust to new portability requirements
- due to the new AM_PROG_AR macro. Also ...
- (configure.in): ... add call to AC_PROG_CC, to ensure automake
- really fails for the expected reason.
-
-2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Merge branch 'msvc' into master
-
- * tests/instspc-tests.sh: Adjust to new portability requirements
- due to the new AM_PROG_AR macro.
- * tests/libobj-basic.test: Likewise.
- * tests/libobj2.test: Likewise.
- * tests/libobj15a.test: Likewise.
- * tests/libobj15b.test: Likewise.
- * tests/libobj15c.test: Likewise.
- * tests/libobj16a.test: Likewise.
- * tests/libobj16b.test: Likewise.
- * tests/libobj17.test: Likewise.
- * tests/libobj18.test: Likewise.
- * tests/libobj19.test: Likewise.
- * tests/libobj20a.test: Likewise.
- * tests/libobj20b.test: Likewise.
- * tests/libobj20c.test: Likewise.
- * tests/canon6.test: Likewise.
- * tests/canon6.test: Likewise.
- * tests/canon7.tests: Likewise.
- * tests/extra9.test: Likewise.
- * tests/extradep.test: Likewise.
- * tests/extradep2.test: Likewise.
- * tests/posixsubst-ldadd.test: Likewise.
- * tests/posixsubst-libraries.test: Likewise.
- * tests/posixsubst-ltlibraries.test: Likewise.
- * tests/python-virtualenv.test: Likewise.
- * tests/vartypos.test: Likewise.
- * tests/vartypo2.test: Likewise.
- * tests/suffix.test: Update to take into account previous
- master-only changes.
- * tests/suffix2.test: Likewise.
- * tests/libobj7.test: Call automake with the `--add-missing'
- option, instead of creating a dummy `ar-lib' file, since this
- test now also runs "./configure" and "make".
- * tests/suffix5.test: Copy the real `ar-lib' script file,
- instead of creating a dummy one, since this test now also
- runs "./configure" and "make".
- * tests/extra-portability2.test: Fix this test not to rely
- on the older, faulty semantics of "strictness specification
- always reset warning level", which has been fixed in commit
- v1.11-623-g1609491 (see also automake bug#7669 a.k.a. PR/547).
- Since we are at it, throw inf few other minor unrelated
- improvements.
- * tests/extra-portability.test: Explicitly pass `-Wall' to
- automake calls, for clarity.
-
-2011-10-21 Peter Rosin <peda@lysator.liu.se>
-
- warnings: new 'extra-portability' category, for AM_PROG_AR
- * lib/Automake/ChannelDefs.pm: Register new extra-portability
- warning channel.
- (switch_warning): Turn off extra-portability if portability is
- turned off, and turn on portability if extra-portability is
- turned on.
- (set_strictness): Silence extra-portability for --gnits, --gnu
- and --foreign.
- * tests/extra-portability2.test: New test, checking that the
- extra-portability channel is silenced by --gnits, --gnu and
- --foreign.
- * doc/automake.texi (Invoking Automake): Document the new warning
- category and its interaction with the portability category.
- * tests/extra-portability.test: New test, checking the interaction
- between the portability and extra-portability warning categories.
- * automake.in (handle_libraries, handle_ltlibraries): Move the
- AM_PROG_AR warnings to the new extra-portability channel.
- * tests/ar2.test: Adjust to the new warning channel.
- * tests/pr300-lib.test: Likewise.
- * tests/pr300-ltlib.test: Likewise.
- * tests/pr307.test: Likewise.
- * tests/pr401.test: Likewise.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- * tests/pr72.test: Likewise.
- * NEWS: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-10-21 Peter Rosin <peda@lysator.liu.se>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add new 'AM_PROG_AR' macro, triggering the 'ar-lib' script.
- * m4/ar-lib.m4: New macro AM_PROG_AR, which locates an
- archiver and triggers the auxiliary 'ar-lib' script if needed.
- * m4/Makefile.am (dist_m4data_DATA): Update.
- * automake.in ($seen_ar): New variable.
- (scan_autoconf_traces): Set it.
- (handle_libraries, handle_ltlibraries): Require AM_PROG_AR for
- portability.
- * doc/automake.texi (Public Macros): Mention the new
- 'AM_PROG_AR' macro.
- (Subpackages): Add AM_PROG_AR to the example.
- (A Library): Adjust recommendations for AR given the new
- AM_PROG_AR macro.
- * All relevant tests: Adjust to new portability requirements due
- to the new AM_PROG_AR macro.
- * tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers
- install of ar-lib.
- * tests/ar-lib3.test: New test, checking that lib_LIBRARIES
- requires AM_PROG_AR.
- * tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES
- requires AM_PROG_AR.
- * tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers
- use of ar-lib when the archiver is Microsoft lib.
- * tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers
- use of ar-lib when the archiver is a faked lib.
- * tests/ar-lib6a.test: New test, checking the ordering of
- AM_PROG_AR and LT_INIT.
- * tests/ar-lib6b.test: New test, checking the ordering of
- AM_PROG_AR and AC_PROG_LIBTOOL.
- * tests/ar-lib7.test: New test, checking that automake warns
- if ar-lib is missing.
- * tests/ar3.test: New test, checking that AR and ARFLAGS may
- be overridden by the user even if AM_PROG_AR is used.
- * tests/ar4.test: New test, checking that AM_PROG_AR bails out
- if it cannot determine the archiver interface.
- * tests/ar5.test: New test, checking that AM_PROG_AR runs its
- optional argument if it cannot determine the archiver interface.
- * tests/defs.in: New required entry 'lib'.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-11-03 Zack Weinberg <zackw@panix.com> (tiny change)
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maint-mode: fix botched configure messages
- This change fixes automake bug#9890.
- * m4/maintainer.m4 (AM_MAINTAINER_MODE): Fix the "checking ..."
- configure message related to the enabling/disabling of maintainer
- mode.
- * tests/help-maintainer.test: Renamed ...
- * tests/maintmode-configure-msg.test: ... to this, and extended
- to cover the fixed bug. Also, since we are at it, make grepping
- of configure help screens stricter, and throw in some few other
- changes to reduce code duplication and enhance readability.
- * tests/Makefile.am (TESTS): Update.
- * THANKS: Update with Zack's new e-mail address.
- Report and initial patch by Zack Weinberg, test cases added by
- Stefano Lattarini.
-
-2011-10-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- info: allow user to inhibit creation/update of '${infodir}/dir'
- With this change, we allow the user to request the install-info
- rules not to update the `${infodir}/dir' file, by setting the
- environment variable `AM_UPDATE_INFO_DIR' to the value "no".
- This is especially useful to distro packagers, and is a definite
- improvement over our previous hack of looking whether the
- `install-info' program was the Debian or GNU version -- hack
- which had been silently broken with recent versions of debian
- install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
- This change fixes automake bug#9773. See also Debian Bug#543992.
- * lib/am/texinfos.am: Don't look anymore at the output of
- `install-info --version' to decide whether to use it to update
- the `${infodir}/dir' or not; instead, honour the environment
- variable `AM_UPDATE_INFO_DIR'.
- * tests/install-info-dir.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
- interferences from the environment.
- * doc/automake.texi (Texinfo): Update.
- * NEWS: Likewise.
- * THANKS: Likewise.
- Report by Jonathan Nieder.
-
-2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new function 'am_keeping_testdirs', for better APIs
-
- This change is meant to make it easier for TAP-based test scripts
- to remove files left over by completed (sub)tests, while still
- honoring the user-provided `$keep_testdirs' setting.
-
- * tests/defs (am_keeping_testdirs): New function, telling whether
- we should keep the test directories around, even in case of
- success (by default, we don't).
- (exit trap): Use it.
- * tests/depmod.tap: Likewise.
- * tests/instspc.tap: Likewise. Also, fix some pre-existing
- "copy & paste" bugs, and a typo in comments.
-
-2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant `set -e', and other minor improvements
- * tests/dejagnu-absolute-builddir.test: Do not set the `errexit'
- shell flag, as it is already set by `tests/defs'.
- * tests/dejagnu-relative-srcdir.test: Likewise.
- * tests/dejagnu-siteexp-append.test: Likewise.
- * tests/dejagnu-siteexp-useredit.test: Likewise, and fix a typo
- in comments.
- * tests/dejagnu-siteexp-extend.test: Likewise, and prefer the
- use of `$distdir' over hard-coded `$me-1.0'. Also ...
- (write_check_for): ... use `unindent' when writing from an
- here-doc, for better code indentation.
-
-2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- deps: partially revert commit `v1.11-512-geeee551'
- This change partly reverts commit "Create subdirs for generated
- sources even when not dep tracking", of 2011-04-02.
- That commit had caused the bugs #8485 and #8526. Since we are
- nearing the bug-fixing automake release 1.11.2, the safest policy
- at the moment is to just revert the problematic hunks: an older,
- known bug is better than a regression.
- * automake.in (handle_single_transform): Don't add a dirstamp
- dependency, even when $object is derived and lands in a subdir.
- * tests/Makefile.am (XFAIL_TESTS): Add lex-subobj-nodep.test,
- remove yacc-dist-nobuild-subdir.test.
-
-2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: few improvements to some `ar-lib' related tests
-
- * tests/ar-lib5a.test (Makefile.am): Also check that the target
- library has truly been created.
- (ar-lib): Use the real `ar-lib' script (mildly patched) rather
- than a dummy one, to ensure better "real-life coverage". Fix
- botched shebang line.
- * tests/ar-lib5b.test: Extend the PATH variable to make the dummy
- `lib' script accessible, instead of explicitly calling it by its
- relative/absolute path.
- (ar-lib): Fix botched shebang line.
- (bin/lib): Likewise. Also, add explicative comments, and make
- slightly stricter.
-
-2011-10-24 Peter Rosin <peda@lysator.liu.se>
-
- Merge branch 'maint' into msvc
-
- * tests/subpkg-yacc.test: Adjust to new portability requirements due
- to the new AM_PROG_AR macro.
-
-2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dejagnu: allow the package developer to extend site.exp
- Fixes automake bug#7873.
- * lib/am/dejagnu.am (site.exp): Depend from the files listed in
- $(EXTRA_DEJAGNU_SITE_CONFIG), if any. Append their contents to
- the generated site.exp (still preserving user edits).
- * doc/automake.texi (Dejagnu Tests): Update.
- * tests/dejagnu-siteexp-append.test: New test.
- * tests/dejagnu-siteexp-extend.test: Likewise.
- * tests/dejagnu-siteexp-useredit.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
- Suggestion by Rainer Orth.
-
-2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dejagnu: ensure 'srcdir' is defined as a relative directory
- This change fixes automake bug#7833.
- * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir)
- over calculating and using the absolute path of $(srcdir).
- * tests/dejagnu-relative-srcdir.test: New test.
- * tests/dejagnu-absolute-builddir.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- Report by Ian Lance Taylor. Suggestions by Ralf Wildenhues.
-
-2010-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix testsuite failure of check12.test without DejaGNU.
- * tests/check12.test: Require runtest.
-
-2010-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extend and improve tests on DejaGnu support.
- * tests/dejagnu.test: Do not create useless dummy test script.
- Add trailing `:' command. In heading comments, add reference
- to ...
- * tests/check12.test: ... this new "semantic" test, covering
- concurrent use of dejagnu tests, simple tests and `check-local'
- target.
- * tests/dejagnu2.test: Make test more reliable, by avoid weak
- grepping of make output. Prefer `cat' over `echo' to append
- to configure.in. Quote literal dots in grep regexps. Prefer
- `grep -c ...' over `grep ... | wc -l'. Make grepping of
- automake stderr slightly stricter. Add trailing `:' command.
- * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
- configure.in. Check stderr of expected-to-fail "make" call.
- Remove extra blank lines from Makefile.am.
- * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
- configure.in. Prefer `mv -f' over plain `mv' when the target
- file already exists. Avoid extra mkdir calls by creating more
- directories at once. Better use of blank lines. Check that
- the `*.log' and `*.sum' files are created by runtest also when
- "make check" fails.
- * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
- configure.in. Better use of blank lines. Add a trailing `:'
- command.
- * tests/dejagnu6.test: Likewise, and give the dejagnu test a
- more descriptive name.
- * tests/dejagnu5.test: Likewise. Also, simply define package
- name to `$me' rather than using a non-obvious sed script to
- extract it from `AC_INIT', and write the Makefile.am with only
- one command.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-10-21 Peter Rosin <peda@lysator.liu.se>
-
- * THANKS: Fix whitespace issue.
-
-2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures due to missing 'yywrap()' function
-
- The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
- the "lex library" expected to provide a `yywrap' function (function
- which is required to link most lex-generated programs). On the
- contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
- fail, configure declares that no lex library is needed, and simply
- proceeds with the configuration process -- only for the build to
- possibly fail later, at make time.
-
- This behaviour is intended; the Autoconf manual reads:
- ``You are encouraged to use Flex in your sources, since it is
- both more pleasant to use than plain Lex and the C source it
- produces is portable. In order to ensure portability, however,
- you must either provide a function `yywrap' or, if you don't use
- it (e.g., your scanner has no `#include'-like feature), simply
- include a `%noyywrap' statement in the scanner's source.''
-
- This AC_PROG_LEX behaviour is causing some spurious failures of
- the Automake testsuite in environments which lack a proper library
- providing `yywrap' (this happens for example on Fedora-based
- systems). The proper workaround is to simply provide a fall-back
- implementation of `yywrap' in our lexers.
-
- See also partially-overlapping commit `v1.11-871-geb147a1' (from
- the 'testsuite-work' branch), which was motivated by similar
- spurious failures experienced when cross-compiling.
-
- Reported by Jim Meyering:
- <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
-
- * tests/cond35.test: Provide a dummy `yywrap' function.
- * tests/lex3.test: Likewise.
- * tests/lexvpath.test: Likewise.
- * tests/silent-lex-generic.test: Likewise.
- * tests/silent-lex-gcc.test: Likewise.
-
-2011-10-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more faithful 'installcheck' support in few tests
- * tests/test-driver-acsubst.test: Use the `$am_scriptdir'
- variable instead of `$testsrcdir/../lib', to test more
- faithfully under "make installcheck".
- * tests/test-driver-cond.test: Likewise.
- * tests/dist-auxfile.test: Likewise, and add one more use
- of `fatal_' to report hard errors.
- * tests/tests/dist-auxdir-many-subdirs.test: Likewise.
-
-2011-10-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant settings of `errexit' shell flag
- * tests/aclocal-path-install-serial.test: Do not set the
- `errexit' shell flag, as it is already set by `tests/defs'.
- * tests/aclocal-path-install.test: Likewise.
- * tests/aclocal-path-nonexistent.test: Likewise.
- * tests/aclocal-path-precedence.test: Likewise.
- * tests/aclocal-path.test: Likewise.
- * tests/dist-auxfile-2.test: Likewise.
- * tests/dist-auxfile.test: Likewise.
- * tests/distcheck-pr9579.test: Likewise.
- * tests/javadir-undefined.test: Likewise.
- * tests/subpkg-yacc.test: Likewise.
- * tests/test-extensions-cond.test: Likewise.
- * tests/test-extensions.test: Likewise.
- * tests/uninstall-fail.test: Likewise.
- * tests/uninstall-pr9578.test: Likewise.
- * tests/distcheck-override-infodir.test: Likewise. Also,
- fix typo in heading comments since we are at it.
-
-2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- fixup: add forgotten test scripts to $(TESTS)
- * tests/list-of-tests.mk: Add various test scripts that are in
- the git repository but weren't correctly listed in $(TESTS).
- The inconsistency had been caused by botched/incomplete merges,
- and revealed by the "maintainer-check-list-of-tests" target.
-
-2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure with FreeBSD make and Yacc in VPATH
- * tests/subpkg.test: Some cosmetic adjustments. Move the tests
- checking that $(YLWRAP) is defined and installed properly when
- ylwrap is in a default auxdir found in a parent package ...
- * tests/subpkg-yacc.test: ... into this new test, which carefully
- avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc
- plus VPATH build).
- * tests/Makefile.am (TESTS): Update.
-
-2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid spurious failure in 'parallel-tests3.test'
- This fixes automake bug#8788.
- * tests/parallel-tests3.test: To ensure that the serial run of
- the dummy testsuite is still ongoing when the parallel run has
- terminated, use `kill -0', not a bare `kill'. This will prevent
- a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD
- 8.2. Also, since we are at it, try harder to avoid possible
- hangs of the script in other unusual situations.
-
-2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures with "chatty" make implementations
- * tests/distcheck-missing-m4.test: On failure, some make
- implementations (such as Solaris make) print the whole failed
- recipe on standard output. This was causing a spurious failure
- in the checks grepping the output from make. Work around this.
- * tests/distcheck-outdated-m4.test: Likewise.
-
-2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure on fast machines
- * tests/aclocal-path-precedence.test: Also remove the `configure'
- script between different test runs, to ensure it is always remade
- by autoconf. Add proper explicative comments.
-
-2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
- * tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh,
- /bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a
- directory with the `cd' builtin, print a message like:
- "sh: /root: permission denied"
- which doesn't report the `cd' builtin anywhere. Relax the grepping
- of the error message accordingly.
-
-2011-10-20 Jim Meyering <meyering@redhat.com>
-
- tests: fix aclocal-print-acdir.test
- * tests/aclocal-print-acdir.test: Adjust to pass.
-
-2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
- * tests/uninstall-fail.test: Be sure to really skip this test
- on systems that allows files to be removed from unwritable
- directories. Motivated by a spurious failure on Cygwin 1.5.
-
-2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure with autoconf 2.62
- * tests/aclocal-path-precedence.test: Rewrite configure.in,
- rather than appending to it, to avoid spurious failures (at
- least with autoconf 2.62) due to repeated calls to AC_INIT.
- Also, add package name and version arguments to AC_INIT, to
- avoid spurious errors from automake.
-
-2011-10-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: avoid using colon character inside arguments of @pxref
- Fixes automake bug#9753
- * doc/automake.texi (VPATH Builds): Avoid using colon character
- `:' inside arguments of @pxref, as this can cause problems in
- the generated `.info' files, and such an usage will be explicitly
- forbidden by future texinfo documentation.
- * THANKS: Update.
- Reported by ДилÑн Палаузов.
-
-2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- refactor: improve signature of 'check_directory' sub in automake
- * automake.in (check_directory): Take the relative directory
- the directory to be checked is expected to be found into as
- an optional parameter, rather than reading it from the global
- variable `$relative_dir'.
- (scan_autoconf_traces, check_directories_in_var): Adjust.
-
-2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: remove obsolete comment
- * automake.in (push_required_file): Remove "FIXME" comment stating
- that the special handling of `$config_aux_dir' breaks threaded
- automake: this is not true anymore after the recent commits (see
- in particular commit `v1.11-1225-gf672944').
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure with Solaris /bin/sh
- * tests/dist-auxfile.test: Don't use redirected `:' in a loop,
- it hits a bug in Solaris 10 /bin/sh.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- threaded-am: better serialization for required config files
- With this change, we make serialization/de-serialization of
- required config files installs more granular, and in the process
- fix the bug introduced by commit `v1.11-1219-g326ecba'.
- * automake.in ($required_conf_file_queue): Move its declaration
- earlier.
- (require_file_internal): Add a new argument telling whether the
- function should act immediately or queue its action for the master
- thread to handle.
- (queue_required_conf_file): Renamed ...
- (queue_required_file_check_or_copy): ... to this.
- (require_queued_conf_file): Renamed ...
- (require_queued_file_check_or_copy): ... to this, and make it call
- `required_file_check_or_copy' instead of `require_file_internal'.
- (require_conf_file, handle_makefiles_threaded): Adjust and simplify
- accordingly.
- * tests/Makefile.am (XFAIL_TESTS): Remove `parallel-am.test'.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake: refactor, break up 'require_file_internal'
- This refactoring is only required in view of future changes.
- * automake.in (require_file_internal): Move the guts of this
- function ...
- (required_file_check_or_copy): ... into this new function. This
- ensures that calls to `push_required_file' and code that copies
- required files are placed in separate functions; this will be
- very useful for reorganizing de-serialization of file installs
- in future changes.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dist: separate auxiliary file instantiation from DIST_COMMON update
- This change simplifies the automake internals dealing with the
- checking, copying and distributing of required auxiliary files.
- With this change, a required auxiliary file is *unconditionally*
- added to the contents of the DIST_COMMON variable in the generated
- Makefile.in, before checking whether it exists, or trying to copy
- it (if `--add-missing' is in use). This shouldn't be a problem,
- since if the checking or copying of the file fails, automake will
- bail out, the Makefile.in won't be created, and thus its content
- will not matter. OK, this is not completely true when threaded
- automake is in use, but then, such a situation was also possible
- before this patch, so no regression here, which is enough for us.
- This change is the first of a series of steps aimed at fixing
- the regression introduced in threaded automake usage by commit
- `v1.11-1219-g326ecba'.
- * automake.in (require_file_internal): Add the required file to
- DIST_COMMON unconditionally.
- * tests/missing-auxfile-stops-makefiles-creation.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- refactor: rename a subroutine to a more proper name
- * automake.in (maybe_push_require_file): Renamed ...
- (push_required_file): ... to this.
- All callers adjusted.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dist: truly always distribute files in AC_REQUIRE_AUX_FILE
- This change fixes automake bug#9651.
- * automake.in (handle_dist): Files whose distribution is required
- by configure.ac are now correctly distributed even if the build-aux
- directory coincides with the top-level directory.
- * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'.
- * NEWS: Update.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dist: simplify automake code accordingly to the previous changes
- After the previous change `v1.11-1219-g326ecba', every Makefile.am
- requiring a file in the "config auxdir" will cause it to be listed
- in the DIST_COMMON variable of the corresponding generated
- Makefile.in, not only of the top-level Makefile.in. Thus we don't
- need to worry anymore about trying to distribute files in the
- config auxdir from the top-level Makefile or the Makefile in
- config auxdir (if any). This allows us to carry out some useful
- simplifications in the automake script.
- This will however cause some changes in the generated Makefile;
- for example, if the `PROGRAMS' primary is used only in a subdir
- Makefile.am, the `depcomp' script will be distributed only by
- `subdir/Makefile', not by the top-level Makefile. This change
- can be seen as an internal detail though, and definitely warranted
- by the nice simplifications the current commit provides.
- * automake.in ($automake_will_process_aux_dir): Variable removed.
- (scan_autoconf_files): Adjust and simplify.
- (handle_makefiles_threaded): Likewise.
- (get_number_of_threads): Likewise.
- (require_file_internal): Likewise.
- (maybe_push_required_file): Its return value is not used anymore,
- so return nothing. Add special handling for distributed files from
- `$config_libobj_dir'. Also, catch "this can't happen" situations,
- and abort accordingly. Fix function description to better fit its
- new role.
- * tests/libobj19.test: Extend to also check situations where the
- Makefile.am using $(LIBOBJS) is not the top-level one.
- * tests/distcom6.test: Delete, merged into ...
- * tests/distcom2.test: ... this test, which has been update to
- account for the changed automake semantics.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- dist: auxiliary files can be distributed from subdir Makefiles
- With this change, we make it possible for a subdir Makefile.am
- to distribute files in the config auxdir; while this means that
- some files might be copied multiple times, it simplify some logic
- in the automake script, and fix at least one important bug. In
- fact, before this change, the auxiliary script `test-driver' was
- not being distributed as expected when TESTS was defined only in
- a subdir Makefile (which is a pretty common setup indeed). Now
- this does not happen anymore: so the present change fixes automake
- bug#9546.
- Another welcome collateral effect is that `dist-auxfile-2.test'
- now passes.
- OTOH, the present changes *breaks threaded automake*. The reason
- is that automake needs to serialize file installations spawned
- by `--add-missing' (this isn't for cosmetic reasons, but is
- really needed to avoid possible race conditions and botched output
- files). Currently the code that installs required files is
- intertwined with the code that declares the DIST_COMMON variables;
- so, upon de-serialization, the definition of DIST_COMMON might get
- emitted in the wrong Makefile.in.
- Some follow-up refactoring in automake will soon take care of
- remedying this situation. For the moment, we just declare some
- "parallel-am" tests as xfailing.
- * automake.in (maybe_push_required_file): Add ad-hoc handling for
- the case where the directory part of the required file is different
- from the subdir where the current Makefile.am resides, but is equal
- to the "config-aux directory" ($config_auxdir). This is needed to
- allow a construct in a non-top-level Makefile.am to require a file
- in the config-aux directory.
- * tests/test-driver-is-distributed.test: Extend and adjust. This
- test now passes.
- * tests/java-compile-run-nested.test: Call automake with the `-a'
- option to ensure that the `test-driver' auxiliary script gets
- correctly installed. This test now passes.
- * tests/distcom-subdir.test: New test.
- * tests/dist-readonly.test: Likewise.
- * tests/dist-repeated.test: Likewise.
- * tests/dist-auxdir-many-subdirs.test: Likewise.
- * tests/distcom7.test: Removed, it's obsolete now.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
-2011-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: conditional contents in LOG_DRIVER variables
- * tests/test-driver-cond.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: LOG_DRIVER variables can be defined through AC_SUBST
- * tests/test-driver-acsubst.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-10-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: warn on conditional TEST_EXTENSIONS definition
- Before this change, automake would have still bailed out, but
- with a confusing error message (about an invalid redefinition
- of TEST_EXTENSIONS).
- * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS
- has conditional contents.
- * tests/test-extensions-con.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * NEWS: Update.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
- Even after the last commit `v1.11-476-g90bea64', the checks
- performed by automake on entries in $(TEST_EXTENSIONS) tried to
- allow for @substitited@ stuff. This however ends up allowing
- quite brittle setups, which, most importantly, are of no real
- practical usefulness anyway. So it's better to just disallow
- @substitutions@ in TEST_EXTENSIONS altogether, offering a clear
- error message, instead of risking weird bugs and unexpected
- behaviors in the generated Makefile.in.
- * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular
- expression ...
- (is_valid_test_extension): ... into this subroutine. Don't allow
- generic @substitutions@ anymore (possibly making an exception for
- `@EXEEXT@' under the proper circumstances).
- * tests/test-extensions.test: Adjust and extend. This test does
- not cause any internal error in automake anymore now.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'insthook.test'
- * tests/insthook.test (Makefile.am): Add a proper `uninstall-hook'
- target to remove the symlink created by the `install-exec-hook'
- target; this prevents "make distcheck" from failing spuriously.
- Since we are at it, delete an extra blank line, and add a trailing
- `:' command.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix spurious failure
- * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
- complaints from the `sc_no_brace_variable_expansions' maintainer
- check.
-
-2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * tests/yacc-dist-nobuild.test: Add reference to relevant bug#7884.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious error in 'test-extensions.test'
- * tests/test-extensions.test: Call automake with the option
- `--add-missing', to ensure the required script `test-driver'
- gets installed. Note that the test still fails due to an
- internal error in automake, though.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid few useless uses of the `-e' make option
- * tests/python12.test: Using `make -e' is not required to override
- the DESTDIR variable, since this variable shouldn't be defined in
- any automake-generated Makefile.in file.
- * tests/man2.test: Likewise.
- * tests/man5.test: Likewise.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- fix: make a test script executable
- * tests/nobase-nodist.test: Make executable.
-
-2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: expose automake bug#9651
- * tests/dist-auxfile.test: New test, xfailing.
- * tests/dist-auxfile-2.test: Likewise.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
-
-2011-10-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: automake error our on invalid TEST_EXTENSIONS
- This change fixes automake bug#9400.
- * automake.in (handle_tests): Bail out if a suffix specified in
- TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER'
- variable or an invalid suffix rule. Before this change, automake
- would have issued a confusing error messages (about invalid or
- non-POSIX variables being defined), and in some situations would
- have even produced a broken `Makefile.in' file.
- ($TEST_EXTENSION_PATTERN): New helper variable.
- * doc/automake.texi (Simple Tests using parallel-tests): Document
- the limitations on TEST_EXTENSIONS explicitly.
- * NEWS: Update.
- * tests/test-extensions.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: don't suggest installing `.m4' files in hard-coded location
- This change fixes automake bug#7988.
- * doc/automake.texi (aclocal Options): State that the use of
- the `--print-ac-dir' option to determine the directory where
- third-party packages can install their `.m4' files is discouraged
- now.
- (Extending aclocal): Suggest telling the user about ACLOCAL_PATH.
- * THANKS: Update.
- Report by Peter Johansson.
-
-2011-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- distuninstallcheck: fail also when only one file is left installed
- This change fixes automake bug#9579.
- * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring
- a potential `dir' file created by install-info and left installed.
- Also, be more careful about "this can't happen" kind of errors.
- (am__distuninstallcheck_listfiles): New internal helper macro.
- * tests/distcheck-pr9579.test: New test.
- * tests/distcheck-override-infodir.test: Likewise.
- * tests/Makefile.am (TESTS): Add them.
- * NEWS, THANKS: Update.
- Report by Nick Bowler.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: improve comments about Korn shell signal handling issues
- * lib/tap-driver.sh: Link an Austin Group discussion about how
- shells are allowed, and even encouraged, to set the special
- variable `$?' to values greater than 256 to report termination
- of a child by a signal. Improve and extend comments about our
- workarounds for unusual korn shell signals' propagation.
- Thanks to Eric Blake for the pointers.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix usage of `cd' instead of `$(am__cd)'
- * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use
- `$(am__cd)', not plain `cd'.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: account for unusual korn shell signal handling behaviour
- This change has been motivated by a testsuite failure on Debian
- with the AT&T Korn Shell version 93u-1.
- * lib/tap-driver.sh: Temporarily ignore some common signals when
- waiting for the test command to complete, to avoid premature exit
- in Korn shells that propagate to themselves signals that have
- killed a child process.
- See also related commit `v1.11-1342-g6321ad3'.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: handle exit statuses > 256 (seen on few korn shells)
- Some Korn shells, when a child process die due to signal number
- n, can leave in $? an exit status of 256+n instead of the more
- standard 128+n. Apparently, both behaviours are allowed by
- POSIX, so be prepared to handle them both.
- This change has been motivated by a testsuite failure on Debian
- with the AT&T Korn Shell version 93u-1.
- * lib/tap-driver.sh (get_test_exit_message): Handle the described
- Korn Shell behaviour too.
- ($scriptversion): Update.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant workaround for Solaris /bin/sh
- After previous commit `v1.11-1424-g27a399a', some workarounds for
- Solaris 10 /bin/sh are no more required, and in fact they have
- started causing XPASS results on Solaris.
- * tests/tap-signal.tap: Remove unneeded workarounds for Solaris 10
- /bin/sh. Some related minor code reorganizations.
-
-2011-09-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- uninstall: "make uninstall" before "make install" works
- This change fixes automake bug#9578.
- * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal
- macro, that defines a shell code fragment to uninstall files from
- a given directory.
- * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code
- duplication and improve consistency and correctness.
- * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
- * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
- * lib/am/mans.am (uninstall-man%SECTION%): Likewise.
- * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise.
- * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise.
- * tests/uninstall-pr9578.test: New test.
- * tests/uninstall-fail.test: New test.
- * tests/Makefile.am (TESTS): Add them.
- * NEWS, THANKS: Update.
- Report by Nick Bowler.
-
-2011-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix tests on aclocal search path precedences
- * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
- proper overridden system acdir.
-
-2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in tests on TAP + signals
- * tests/tap-signal.tap: Write the dummy test scripts as perl
- scripts, not as shell scripts, to work around unportabilities
- in the handling of signals. In fact, even with bash, the older
- script were unable to properly deliver a SIGQUIT to themselves
- consistently.
-
-2011-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in test on ACLOCAL_PATH precedences
- * tests/aclocal-path-precedence.test: Do not merely append to
- `configure.in', it should be created from scratch. Pass package
- name and version to AC_INIT as arguments, otherwise autoconf will
- complain.
-
-2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: remove mention of deprecated option `--acdir'
- * doc/automake.texi (aclocal Options): Remove mention of
- deprecated `--acdir' option.
-
-2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: Cleanup after botched merges.
-
-2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: Fix typo.
-
-2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: document planned precedence changes in aclocal search path
- * doc/automake.texi (Macro Search Path): Explicitly state that the
- lookup order for extra directories of `.m4' files will be changed
- in the next major release.
- * NEWS: Likewise.
-
-2011-09-19 Paolo Bonzini <bonzini@gnu.org>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- aclocal: handle ACLOCAL_PATH environment variable
- * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH
- as a colon-separated list of directories to be included in the
- search path.
- * doc/automake.texi (Macro Search Path): Document new behavior and
- the precedence rules for various elements of the search path.
- * tests/aclocal-path.test: New test.
- * tests/aclocal-path-install.test: Likewise.
- * tests/aclocal-path-install-serial.test: Likewise.
- * tests/aclocal-path-precedence.test: Likewise.
- * tests/aclocal-path-nonexistent.test: Likewise.
- * tests/Makefile.am (TESTS): Add them.
- * NEWS: Update.
- * tests/distcheck-missing-m4.test: Extend by also checking
- interactions with ACLOCAL_PATH.
- * tests/distcheck-outdated-m4.test: Likewise, and fix a couple
- of botched comments since we are at it.
-
-2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'primary-prefix-valid-couples.test'
- * tests/primary-prefix-valid-couples.test: After commit
- v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary
- combination by default anymore: one has to explicitly define
- $(javadir) to make it so. So just drop `java_JAVA' from our
- Makefile.am Also, since we are at it, ...
- (configure.in): ... remove AM_PROG_GCJ from here, as it's not
- really required.
-
-2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: deprecate JAVA primary
- * doc/automake.texi (Java): Deprecate the JAVA primary, stating
- that it will become obsolete in automake 1.12 and probably removed
- altogether in automake 1.13. Reflect this in the section title,
- by appending the string "(deprecated feature)".
- (@menu, @detailmenu): Update.
- (Java Support with gcj): The cross-referenced support for bytecode
- compilation with the JAVA primary is rudimentary and deprecated.
- State that explicitly.
-
-2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: clearer distinction between `.java' with javac and with gcj
- * doc/automake.texi (Java support): Rename this node ...
- (Java support with gcj): ... to this, and change its title from
- "Compiling Java sources" to "Compiling Java sources using gcj".
- (@detailmenu, @menu, @cindex): Update and make more precise.
- (Java): Change the title of this node from simply "Java" to
- "Java bytecode compilation".
- (@detailmenu, @menu, @cindex): Update and make more precise.
-
-2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java: complain if java_JAVA is used but $(javadir) is undefined
- Fixes automake bug#8461.
- * automake.in (handle_java): Remove inappropriate "java" argument
- from the calls to `&am_install_var' and `&am_primary_prefixes'.
- * tests/instdir-java.test (Makefile.am): Define `$(javadir)'.
- * tests/javadir-undefined.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * NEWS: Update.
-
-2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: expose automake bug#9546
- * tests/test-driver-is-distributed.test: New test.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
-
-2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- py-compile tests: more faithful 'installcheck' support
- * tests/py-compile-basedir.test: Use the `$am_scriptsdir' variable
- instead of `$testsrcdir/../lib', to test more faithfully under
- "make installcheck". More uses of the `fatal_' subroutine to
- diagnose hard errors.
- * tests/py-compile-basic.test: Likewise.
- * tests/py-compile-basic2.test: Likewise.
- * tests/py-compile-destdir.test: Likewise.
- * tests/py-compile-env.test: Likewise.
- * tests/py-compile-option-terminate.test: Likewise.
- * tests/py-compile-usage.test: Likewise.
-
-2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant settings of `errexit' shell flag
- * tests/aclocal-acdir.test: Do not set the `errexit' shell
- flag, as it is already set by `tests/defs'.
- * tests/aclocal-print-acdir.test: Likewise.
- * tests/distcheck-missing-m4.test: Likewise.
- * tests/distcheck-outdated-m4.test: Likewise.
- * tests/java-clean.test: Likewise.
- * tests/java-compile-install.test: Likewise.
- * tests/java-compile-run-flat.test: Likewise.
- * tests/java-compile-run-nested.test: Likewise.
- * tests/java-mix.test: Likewise.
- * tests/java-no-duplicate.test: Likewise.
- * tests/java-nobase.test: Likewise.
- * tests/java-rebuild.test: Likewise.
- * tests/java-sources.test: Likewise.
- * tests/java-uninstall.test: Likewise.
- * tests/javaflags.test: Likewise.
- * tests/nobase-nodist.test: Likewise.
- * tests/py-compile-basedir.test: Likewise.
- * tests/py-compile-basic.test: Likewise.
- * tests/py-compile-basic2.test: Likewise.
- * tests/py-compile-destdir.test: Likewise.
- * tests/py-compile-env.test: Likewise.
- * tests/py-compile-option-terminate.test: Likewise.
- * tests/py-compile-usage.test: Likewise. Since we are at it,
- add an extra blank line, for clarity.
-
-2011-09-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake: remove special handling of `ANSI2KNR' make variable
- * automake.in (define_configure_variable): Remove special-cased
- handling of `ANSI2KNR' variable. Related minor simplifications.
-
-2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: test interactions of `nobase_' and `nodist_'
- * tests/nobase-nodist.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java: fix various blunders in test 'java-mix.test'
- * tests/java-mix.test: Add missing call to `set -e'. Fix inverted
- semantics (`.java' files are expected *not* to be distributed by
- default, not the other way round). Fix various typos in the name
- of the `.java' files. Correct other minor blunders. Improve some
- comments.
-
-2011-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake: remove code duplication in 'handle_tests'
- * automake.in (handle_tests): Factor out some code dealing with
- test extensions and rules for generation of `.log' files into ...
- (handle_per_suffix_test): ... this new subroutine.
- * tests/parallel-tests-exeext.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-09-13 Peter Rosin <peda@lysator.liu.se>
-
- * tests/defs [$sh_errexit_works = yes]: Output 'SIGINT' for signal 2.
-
-2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: work around 'unset' spurious non-zero return value
- * tests/self-check-exit.tap ($init): Unset the possibly already
- unset variable `am_explicit_skips' when the `errexit' shell flag
- is not yet active, for the benefit of shell that return a non-zero
- status when unsetting an already-unset variable.
-
-2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: an explicative comment on signal-related woes
- * tests/self-check-exit.tap: Add pointer to a bug-autoconf
- discussion explaining why this test needs to temporarily block
- SIGINT.
-
-2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: also trap SIGQUIT; other fixes
- Some shells seems to just ignore SIGQUIT under some circumstances,
- even when it is not blocked; however, if the signal it trapped,
- the trap gets correctly executed.
- * tests/defs [$sh_errexit_works = yes]: Also trap SIGQUIT. Add
- extensive explanation of why we do so.
- * tests/self-check-cleanup.tap: Improve and fix to ensure that an
- earlier failure does not prevent the rest of the test to execute.
- Problem revealed by a failure in `self-check-cleanup.tap'.
-
-2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: work around weird ksh behaviour w.r.t. signal handling
- * tests/defs (is_blocked_signal): Use perl to determine whether a
- signal is trapped, since trying to do it portably within the shell
- means opening a nasty can of worms.
- For more information and background, see:
- <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
- <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
- <http://www.cons.org/cracauer/sigint.html>
-
-2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: fix various typos and grammaros
- * NEWS: Fix typos.
- * tests/py-compile-basic.test: Likewise.
- * tests/py-compile-basedir.test: Fix botched wording in comments.
- * tests/py-compile-option-terminate.test: Fix typo and incomplete
- comment.
- Suggestions by Peter Rosin.
-
-2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant line from a test script
- * tests/test-log.test (fail.test): Remove extra `echo' command,
- probably due to a past copy&paste blunder.
-
-2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: convert another test to TAP
- * tests/primary-prefix-invalid-couples.test: Renamed ...
- * tests/primary-prefix-invalid-couples.tap: ... to this, and
- converted to the use of the TAP protocols (this requires only
- very minimal changes this time).
- * tests/list-of-tests.mk: Update.
-
-2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure on fast machines
- * tests/aclocal-acdir.test: Avoid spurious failures due to caching
- issues, by cleaning the autom4te cache between all the aclocal
- invocations, and by always calling autoconf with the `--force'
- flag.
-
-2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: minor optimizations/simplifications in some aclocal tests
- * acloca11.test: Instead of running ./configure and then grepping
- the file it has produced, directly grep configure. Add trailing
- `:' command.
- * acloca12.test: Likewise.
- * acloca10.test: Likewise. Also, remove the autom4te caches
- by hand, instead of sleeping to ensure they get outdated and
- ignored.
- * aclocal9.test: Likewise.
- * acloca18.test: Likewise. Also, do not remove file `foo',
- which is not being created anymore.
- * acloca20.test: The test makes sense only if the system support
- real symlinks, so skip it if this is not the case. This allows
- for various simplifications.
-
-2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- prove: avoid weird signal-related bug
- * tests/defs (trap): In the trap code dealing with SIGPIPE
- signal, ignore further signals of the same kind.
- See also Test::Harness issue [rt.cpan.org #70855], archived at
- <https://rt.cpan.org/Ticket/Display.html?id=70855>
-
-2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: allow use of `prove' to run automake testsuite
- * tests/prove-runner: New helper script; mostly it wraps
- our `*.test' test scripts to make them runnable by the
- `prove' utility.
- * tests/Makefile.am (EXTRA_DIST): Distribute it.
- (PROVE, AM_PROVEFLAGS, AM_PROVECMD): New variables.
- (prove, installprove): New targets, used run the automake
- testsuite through the `prove' utility.
- * tests/gen-testsuite-part: For any considered dependency,
- generate a variables that groups all the tests depending on
- it. This is especially useful for use in the new `prove'
- and `installprove' targets, which cannot rely on make for
- inter-test dependencies, and have to handle them "by hand".
-
-2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: more namespace-safeness
- ($using_tap): Renamed ...
- ($am_using_tap): ... to this.
- ($parallel_tests): Renamed ...
- ($am_parallel_tests): ... to this.
- ($test_prefer_config_shell): Renamed ...
- ($am_test_prefer_config_shell): ... to this.
- ($original_AUTOMAKE): Renamed ...
- ($am_original_AUTOMAKE): ... to this.
- ($original_ACLOCAL): Renamed ...
- ($am_original_ACLOCAL): ... to this.
- * tests/defs, tests/defs-static.in, tests/gen-testsuite-part,
- tests/README, and all callers: Adjusted.
- * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Adjust, and rewrite
- to make future adjustments easier.
- * tests/defs (funcs_file_): Renamed ...
- (am_funcs_file): ... to this.
- * Makefile.am (sc_tests_obsolete_variables): New maintainer
- check.
- (syntax_check_rules): Add it.
-
-2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- aclocal: better URL reference in error message
- * aclocal.in (scan_file): In the error message about underquoted
- definitions, reference the automake page at `www.gnu.org', not
- at `sources.redhat.com'.
-
-2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid creating useless files in some test directories
- * tests/aclocal.test: Define `$am_create_testdir' to "empty"
- before sourcing ./defs, to avoid bringing in unused auxiliary
- files. Related adjustments.
- * tests/aclocal3.test: Likewise.
- * tests/aclocal8.test: Likewise.
- * tests/aclocal9.test: Likewise.
- * tests/acloca10.test: Likewise.
- * tests/acloca11.test: Likewise.
- * tests/acloca12.test: Likewise.
- * tests/acloca15.test: Likewise.
- * tests/acloca16.test: Likewise.
- * tests/acloca17.test: Likewise.
- * tests/acloca18.test: Likewise.
- * tests/acloca20.test: Likewise.
- * tests/acloca21.test: Likewise.
- * tests/acloca23.test: Likewise.
- * tests/aclocal-print-acdir.test: Likewise.
- * tests/ar-lib.test: Likewise.
- * tests/compile.test: Likewise.
- * tests/compile2.test: Likewise.
- * tests/compile3.test: Likewise.
- * tests/compile6.test: Likewise.
- * tests/instsh2.test: Likewise.
- * tests/instsh3.test: Likewise.
- * tests/mdate5.test: Likewise.
- * tests/mdate6.test: Likewise.
- * tests/missing3.test: Likewise.
- * tests/missing5.test: Likewise.
- * tests/mkinst3.test: Likewise.
- * tests/self-check-explicit-skips.test: Likewise.
- * tests/self-check-report.test: Likewise.
- * tests/self-check-sanity.test: Likewise.
- * tests/tap-driver-stderr.test: Likewise.
-
-2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: more environment cleanup
- * tests/defs: Also unset the XFAIL_TESTS, and various
- LOG_DRIVER, LOG_COMPILER variables (and corresponding
- flags variable).
-
-2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: allow depmod.tap to only run a subset of its tests
- * tests/depmod.tap: If command-line arguments are passed to the
- tests, they are now taken as the list of test names for which the
- checks are to be run.
-
-2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: allow instspc.tap to only run a subset of its tests
- * tests/instspc.tap: If command-line arguments are passed to the
- tests, they are now taken as the list of test names for which the
- checks are to be run.
-
-2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: distcheck-hook to catch missing/outdated *.m4 files
- Related to automake bug#9037.
- * tests/distcheck-missing-m4.test: New test.
- * tests/distcheck-outdated-m4.test: Likewise.
- * tests/distcheck-hook-m4.am: New data file, used by the new
- tests.
- * tests/Makefile.am (distcheck-m4-missing.log,
- distcheck-m4-outdated.log): Depend on it.
- (EXTRA_DIST): Distribute it.
- (TESTS): Add the new tests.
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more granularity in variables for tools overriding
- Among the other things, this change makes it possible to use, at
- the same time, an autoconf version in the automake testsuite and
- another one in the automake build system; even more importantly, it
- makes it possible to use, say, a non-GNU make implementation in the
- test scripts, while at the same time using GNU make to drive the
- execution of the automake's test suite.
- * tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
- AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
- original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
- through corresponding `AM_TESTSUITE_..' variables; for example,
- $GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix `skip_row_' subroutine in tap-functions.sh
- * tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
- be portable to non-GNU systems.
- Bug revealed by a testsuite error on Solaris.
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- installcheck: support it in our own testsuite
- * NEWS: Update.
- * tests/defs-static.in ($am_running_installcheck): New variable.
- Initialize it to a default of "no", and sanity-check its value.
- ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
- $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
- initialized from AC_SUBST'ed values which are adaptively chosen
- depending on whether the testsuite is running in "simple" mode
- or in "installcheck" mode.
- ($MISSING): Remove, it's not really required by the testsuite.
- ($PATH): Update using `$am_bindir', not `$testbuilddir'.
- * Makefile.am (installcheck-local): New target.
- * lib/Automake/tests/Makefile.am (installcheck-local): New target.
- (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
- `-I' flags for perl based on whether the tests are being run by
- "make check" or "make installcheck".
- * tests/Makefile.am (installcheck-local): New target.
- (defs-static): Generate it at make time, not at configure time,
- in order to correctly resolve all the indirections in the
- AC_SUBST'd variables; done with the help of ...
- (do_subst): ... this new macro.
- (EXTRA_DIST): Explicitly distribute `defs-static.in'.
- (CLEANFILES): Remove `defs-static'.
- * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
- (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
- `scriptdir' and `amdir' to proper values.
- * lib/Makefile.am (scriptdir): Don't explicitly define anymore.
- * lib/am/Makefile.am (amdir): Likewise.
- * m4/acdir/dirlist: Remove, it's not needed anymore. Instead
- use ...
- * m4/acdir/.placeholder: ... this file.
- * m4/Makefile.am (EXTRA_DIST): Update.
- (automake_acdir, system_acdir): Don't explicitly define anymore.
- * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
- instead of hard-coding values with $testsrcdir and $testbuilddir,
- to test more faithfully under "make installcheck".
- * tests/amhello-binpkg.test: Likewise.
- * tests/amhello-cflags.test: Likewise.
- * tests/amhello-cross-compile.test: Likewise.
- * tests/ansi2knr-no-more.test: Likewise.
- * tests/autodist-stamp-vti.test: Likewise.
- * tests/auxdir.test: Likewise.
- * tests/check2.test: Likewise.
- * tests/copy.test: Likewise.
- * tests/multlib.test: Likewise.
- * tests/obsolete.test: Likewise.
- * tests/parallel-tests-interrupt.test: Likewise.
- * tests/repeated-options.test: Likewise.
- * tests/suffix5.test: Likewise.
- * tests/tap-doc2.test: Likewise.
- * tests/txinfo22.test: Likewise.
- * tests/vtexi3.test: Likewise.
- * tests/defs: Likewise. Also, print the values of `$using_tap'
- and `$am_running_installcheck', to simplify debugging, and do
- some related code movings and tweakings.
- * tests/aclocal3.test: Update to avoid possible spurious failures
- when running under "make installcheck".
- * tests/warnings-unknown.test: Likewise.
- * tests/location.test: Likewise, and improve debugging input since
- we are at it.
- * tests/acloca10.test: Adapt and tweak to work also during a
- "make installcheck", and not to require a pre-populated `dirlist'
- file.
- * tests/acloca18.test: Likewise.
- * tests/dirlist2.test: Likewise.
- * tests/dirlist.test: Likewise, and remove an obsolete comment.
- * tests/README: Update.
- * tests/dirlist-abspath.test: New test.
- * tests/list-of-tests.mk: Update.
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix spurious failures
- * tests/gen-testsuite-part (write_wrapper_script): More uses of
- creative quoting in the generated tests, to avoid triggering
- failures in the `sc_tests_Exit_not_exit' maintcheck.
- * Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
- TAP tests that sources an hand-written one not to declare a TAP
- plan: the sourced test will do so.
- * tests/Makefile.am (checked_test_extensions): Don't define
- anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
- (expected_list_of_tests): Don't define anymore, the default
- value `$(TESTS)' is correct now.
-
-2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- aclocal: more granularity in acdir overriding
- Before this change, using the `--acdir' option caused aclocal to
- redefine both the directory of automake-provided m4 macros and the
- directory of third-party system-wide m4 macros. With this change,
- we deprecate the `--acdir' aclocal option, and introduce two new
- options `--automake-acdir' and `--system-acdir', to allow for more
- granularity.
- * aclocal.in (@automake_includes, @system_includes,
- @user_includes): Fix and extend comments.
- (usage): Update.
- (handle_acdir_option): New function.
- (parse_arguments): Recognize new options `--system-acdir' and
- `automake-acdir', and handle `--acdir' using the new function
- above. Simplify logic by assuming that the directory of
- third-party system-wide m4 files always exists.
- * tests/aclocal.in: Update to use the new options, instead of
- the deprecated. `--acdir'.
- * m4/dirlist: Move ...
- * m4/acdir/dirlist: ... here.
- * m4/Makefile.am (EXTRA_DIST): Update.
- (m4datadir): Rename ...
- (automake_acdir): ... to this. Accordingly, ...
- (dist_m4data_DATA): ... rename this ...
- (dist_automake_ac_DATA): ... to this.
- (system_acdir): New, directory.
- (dist_system_ac_DATA): New, defined to an empty value; this will
- ensure that the $(system_acdir) directory will be created by
- "make install".
- * tests/aclocal.test: Remove check about the `--print-ac-dir'
- option of aclocal, it has been moved into ...
- * tests/aclocal-print-acdir.test: ... this new test, and quite
- extended.
- * tests/aclocal-acdir.test: New test.
- * tests/Makefile.am (TESTS): Add the new tests.
- * NEWS, bootstrap: Update.
- * doc/automake.texi (aclocal Options, Macro Search Path): Update.
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetic: rename gen-tests-deps -> gen-testsuite-part
- * tests/gen-tests-deps: Renamed ...
- * tests/gen-testsuite-part: ... to this.
- * bootstrap: Update.
- * tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
- nor include this ...
- ($(srcdir)/testsuite-part.am): ... do with this instead.
- * tests/.gitignore (tests-deps.am): Don't ignore this ...
- (testsuite-part.am): ... ignore this instead.
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: revamp generation of autogenerated tests
- With this change, we make generated tests be real scripts again
- -- albeit only thin layers around the tests they wrap. It turned
- out that the apparently clever tricks we played by having lots
- of custom (and auto-generated) `..._LOG_COMPILER' variables and
- by having the tests in $(wrap_TESTS) not being real on-file-system
- scripts caused more pain and confusion than expected, for only
- marginal gains. Also, that previous setup didn't interact very
- well with "make check RECHECK_LOGS=", since the log files for
- the "wrappee" tests were always considered out-of-date (which in
- hindsight is natural, since these log files depended on wrappee
- tests that didn't exist -- and weren't created). And finally, it
- wasn't possible to easily and naturally run the wrappee tests
- from the command line -- definitely harmful for debugging and
- sanity checking.
- * tests/gen-wrap-tests: Deleted, its role subsumed into ...
- * tests/gen-tests-deps: ... this script, with the help of
- (unindent, atomic_write, build_matcher, write_wrapper_script,
- %test_generators): ... these new functions and variables.
- Other few minor fixlets and improvements.
- * tests/wrap-tests.sh: Delete, not needed anymore.
- * tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
- nor include anymore.
- (EXTRA_DIST): Update.
- (wrap_TESTS): Renamed to ...
- (generated_TESTS): ... this.
- ($(generated_TESTS)): Must have the same dependencies of
- `$(srcdir)/tests-deps.am'.
- Other minor related reordering and adjustments.
- * bootstrap: Do not generate `wrap-tests.am' anymore.
- * tests/.gitignore (wrap-tests.am): Don't ignore anymore.
- (*-w.test, *-w.tap): Ignore.
- * tests/README: Update paragraph on automatically-generated
- tests.
-
-2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: automatize generation of dependencies for tests
- * tests/gen-test-deps: New script, automatically generates
- dependencies for the tests.
- * tests/Makefile.am (EXTRA_DIST): Distribute it.
- ($(srcdir)/tests-deps.am): New rule.
- (include $(srcdir)/tests-deps.am): New inclusion.
- Remove hand-written dependencies for tests. Other related
- updates.
- * tests/list-of-tests (tap_with_common_setup_TESTS,
- tap_other_TESTS): Delete, their content merged back into ...
- (handwritten_TESTS): ... this.
- * tests/.gitignore (tests-deps.am): New ignored file.
- * bootstrap: Generate `tests/tests-deps.am'.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid spurious failure due to bug in older TAP::Parser
- Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
- number `0' into `1'; do not let this bug cause a spurious failure
- in our testsuite.
- * tests/tap-test-number-0.test: Skip if the aforementioned
- TAP::Parser bug is detected.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/perl: be more portable to older perl versions
- * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
- the three-args version of the `open' builtin, it is not well
- supported by older perl versions (at least perl 5.6.2).
- (start): Add a no-op statement to pacify a "possible typo ... used
- only once" perl warning.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/perl: be more portable to older TAP::Parser versions
- * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
- on our TAP parser: it is not supported in older TAP::Parser
- versions (e.g., 3.10), and is not really required by our usage of
- the parser object.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious Cygwin failure of a test on TAP support
- * tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
- When trying to run it, redirect its output to /dev/null, to
- avoid confusing automake's testsuite own TAP driver.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: fix glitch in TAP version of `warn_' function
- * tests/tap-functions.sh (warn_): Do not display the warning
- message two times.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix another spurious failure due to ignored signals
- * tests/tap-signal.test: Renamed ...
- * tests/tap-signal.tap: ... to this, converted to the use of the
- TAP protocol, and improved not to try to use/trap signals that
- are ignored by the parent shell (they will be forcibly ignored
- by all the child processes too). Extend the test a bit since we
- are at it.
- * tests/list-of-tests.mk: Update.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix a spurious failure due to lacking Fortran compilers
- * tests/silent-many-generic.test (configure.in): Cause the test
- to be skipped if `configure' fails to find working C++, Fortran
- and Fortran 77 compilers.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: more use of TAP
- * tests/self-check-reexec.test: Renamed ...
- * tests/self-check-reexec.tap: ... to this, converted to the
- use of TAP protocol, and extended a bit.
- * tests/self-check-seq.test: Renamed ...
- * tests/self-check-seq.tap: ... to this, and converted to the
- use of TAP protocol.
- * tests/list-of-tests.mk: Update.
-
-2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: fix spurious failures when /bin/ksh do not exists
- * tests/self-check-reexec.test: Ensure that the non-bash shells
- we look do really exists. Since we are at it, also try the name
- `ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
-
-2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more use of TAP in our own testsuite
- * tests/parallel-tests-interrupt.test: Renamed ...
- * tests/parallel-tests-interrupt.tap: ... to this, and converted
- to the use of TAP protocol.
- * tests/self-check-cleanup.test: Renamed ...
- * tests/self-check-cleanup.tap: ... to this, and converted to the
- use of TAP protocol.
- * tests/self-check-dir.test: Renamed ...
- * tests/self-check-dir.tap: ... to this, and converted to the use
- of TAP protocol.
- * tests/self-check-is_newest.test: Renamed ...
- * tests/self-check-is_newest.tap: ... to this, and converted to
- the use of TAP protocol.
- * tests/self-check-unindent.test: Renamed ...
- * tests/self-check-unindent.tap: ... to this, and converted to
- the use of TAP protocol.
- * tests/list-of-tests.mk: Update.
-
-2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: sanity check on 'is_blocked_signal' function
- * tests/self-check-is-blocked-signal.tap: New test.
- * tests/list-of-tests.mk: Update.
-
-2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures due to ignored signals
- * tests/defs (is_blocked_signal): New function.
- * tests/parallel-tests-interrupt.test: Do not try to use/trap
- signals that are ignored by the parent shell: they will be
- ignored by all the child processes too.
- * tests/self-check-exit.test: Likewise.
- * tests/self-check-cleanup.test: Likewise, and do few minor
- improvements and extensions since we are at it.
-
-2011-09-05 Peter Rosin <peda@lysator.liu.se>
-
- * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
-
-2011-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- fix: list test 'vala-vpath.test' in XFAIL_TESTS
- * tests/Makefile.am (XFAIL_TESTS): Update.
-
-2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: simplify wrapper for aclocal
- * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
- extra `-I' flags; they are not really required, since the file
- `m4/amversion.m4' is generated in the srcdir anyway.
- * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
- * tests/acloca18.test: Likewise.
- * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
- not export it.
-
-2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant settings of `errexit' shell flag
- * doc-parsing-buglets-colneq-subst.test: Do not set the
- `errexit' shell flag, as it is already set by `tests/defs'.
- * doc-parsing-buglets-tabs.test: Likewise.
- * java-empty-classpath.test: Likewise.
- * vala-vpath.test: Likewise.
-
-2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more uses of `$top_testsrcdir', in the `amhello' tests
- * tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
- of `$testsrcdir/..'.
- * tests/amhello-cflags.test: Likewise.
- * tests/amhello-cross-compile.test: Likewise.
-
-2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid creating useless files in the `amhello' tests
- * tests/amhello-binpkg.test: Define `$am_create_testdir' to
- "empty" before sourcing ./defs, to avoid bringing in unused
- auxiliary files.
- * tests/amhello-cflags.test: Likewise.
- * tests/amhello-cross-compile.test: Likewise.
-
-2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: vala support failing for VPATH from-scratch builds
- * tests/vala-vpath.test: New test, xfailing.
- * tests/Makefile.am (TESTS): Update.
- * THANKS: Update.
- From a report by Zbigniew Jędrzejewski-Szmek.
- Related to automake bug#8753.
-
-2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: report few more automake parsing limitations
- Partly motivated by automake bug#8360.
- * doc/automake.texi (General Operation): Report few more automake
- limitations w.r.t. parsing of unusual makefile constructs. Related
- minor reorderings.
- * tests/doc-parsing-buglets-colneq-subst.test: New test.
- * tests/doc-parsing-buglets-tabs.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake: fix regression due to de-ansification support removal
- The last change `v1.11-947-g136b489' removed code that automake
- was using to decide whether binary objects were built by the
- generated Makefile.in, so that it could avoid to emit unneeded
- code when this was not the case. Re-introduce such code in a
- less-obfuscated form, and add a test to ensure we don't regress
- again.
- * automake.in ($must_handle_compiled_objects): New global
- variable, telling whether the generated Makefile has to build
- compiled objects.
- (initialize_per_input): Reset it.
- (handle_programs, handle_libraries, handle_ltlibraries): Set
- it to a true value when required.
- (handle_compile): Don't generate any code if the variable
- `$must_handle_compiled_objects' is not set to a true value.
- * tests/no-extra-makefile-code.test: New test.
- * tests/Makefile.am (TESTS): Add it.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake: cleanups after de-ansification support removal (2)
- * automake.in ($get_object_extension_was_run): Remove, it's not
- really needed anymore.
- (&get_object_extension): Remove, it's a no-op now.
- All callers adjusted.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake: cleanups after de-ansification support removal (1)
- * automake.in (lang_c_rewrite, handle_single_transform): Rename
- variable `$nonansi_obj' to `$obj'.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- ansi: remove obsolete code/files for de-ANSI-fication support
- * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
- * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
- * lib/am/ansi2knr.am: Delete.
- * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
- * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
- `ANSI2KNR' and `U'.
- * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
- about possible definition of the `$U' variable.
- * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
- (struct): Remove scalar field `ansi'.
- All callers adjusted.
- (&lang_c_finish, %de_ansi_files): Remove, they're not required
- anymore.
- All callers adjusted.
- ($get_object_extension_was_run): Fix typo in comment.
- (&get_object_extension): Drop code dealing with de-ansification;
- this function basically a no-op now, but is required to properly
- initialize `$get_object_extension_was_run' variable.
- (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
- dealing with de-ansification.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- ansi: reject attempts to use automatic de-ANSI-fication support
- * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
- * lib/Automake/Options.pm (_process_option_list ): Error out
- with a proper error message when the `ansi2knr' option is used.
- Related updates to comments.
- * tests/depacl2.test: Update.
- * tests/ansi2knr-no-more.test: New test.
- * tests/Makefile.am (TESTS): Add it.
- * NEWS: Update.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove tests about obsolete de-ANSI-fication support
- * tests/ansi.test: Delete.
- * tests/ansi10.test: Likewise.
- * tests/ansi2.test: Likewise.
- * tests/ansi2knr-deprecation.test: Likewise.
- * tests/ansi3.test: Likewise.
- * tests/ansi3b.test: Likewise.
- * tests/ansi4.test: Likewise.
- * tests/ansi5.test: Likewise.
- * tests/ansi6.test: Likewise.
- * tests/ansi7.test: Likewise.
- * tests/ansi8.test: Likewise.
- * tests/ansi9.test: Likewise.
- * tests/cxxansi.test: Likewise.
- * tests/libobj8.test: Likewise.
- * tests/subobj3.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: remove description of de-ANSI-fication support from manual
- * doc/automake.texi (Auxiliary Programs): Remove mention of
- `ansi2knr.c' and `ansi2knr.1'.
- (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'. Do not
- index it nor variables `ANSI2KNR' and `U' anymore.
- (List of Automake options): Remove mention of `ansi2knr' option,
- and obsolete entries for concept and option indexes.
- (Optional): Remove entry about `AM_C_PROTOTYPES'.
- (@c LocalWords): Remove `ansi' and `knr'.
- (@menu, @detailmenu): Remove entries about de-ANSI-fication
- support.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: better respect of TAP usage in wrapped tests
- * tests/gen-wrap-tests: Partial rewrite to take into account the
- possibility that the wrapped test uses the TAP protocol. This
- complicates the code quite a bit, but is essential to ensure real
- correctness in all the wrapped scripts.
- * tests/wrap-tests.sh: Update, and add few more sanity checks.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: use both perl and awk implementations for tests on TAP
- * tests/gen-wrap-tests (get_list_for_pltap): New function, gets
- the list of tests that check the Automake TAP support.
- ($defines_for_pltap): New variable.
- ($wrapper_type_list): Add "pltap".
- * tests/defs-static.in: Check that `$am_tap_implementation' is
- not exported in the environment.
- * tests/self-check-env-sanitize.tap: Update.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: two single auxiliary scripts to run/generate wrapped tests
- * tests/config-shell-tests.sh, tests/parallel-tests.sh,
- tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
- their roles taken over by ...
- * tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
- general scripts.
- * tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
- do not distribute the obsolete ones anymore.
- ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
- not include nor generate anymore, they have been superseded by ...
- ($(srcdir)/wrap-tests.am): ... this new fragment, automatically
- generated by `gen-wrap-tests'.
- (PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
- defined in the new `wrap-tests.am' makefile fragment.
- (TEST_EXTENSIONS): Do not append to it anymore, that is now done
- by the new `wrap-tests.am' makefile fragment above.
- ($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
- $(parallel_tests), $(config_shell_tests): Remove this dependencies,
- superseded by ...
- ($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
- (MAINTAINERCLEANFILES): Delete, it's not used anymore.
- (TESTS): Do not contain anymore `$(config_shell_tests)' nor
- `$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
- by `$(srcdir)/wrap-tests.am'.
- Other related minor edits and reorderings.
- * bootstrap, tests/.gitignore, tests/README: Update.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: list of tests placed in a separate Makefile fragment
- This change allows us to easily use make instead of by-hand (and
- more fragile) grepping to extract the list of hand-written tests
- from our Makefiles.
- * bootstrap (BOOTSTRAP_MAKE): New variable.
- Use it to run make in order to extract the list of hand-written
- tests from ...
- * tests/list-of-tests.mk: ... this new file, where they are
- listed in ...
- (handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
- ... these variables, extracted respectively from ...
- * tests/Makefile.am (handwritten_tests, tap_other_tests,
- tap_with_common_setup_tests): ... these older variables, now
- removed.
- (EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
- names' changes.
- (include $(srcdir)/list-of-tests.mk): New inclusion.
- Remove an overkill indirection, and with it ...
- (tap_with_common_setup_logs): ... this variable.
- ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
- Update to match the new interface of ...
- (gen-parallel-tests, gen-config-shell-tests): ... these scripts,
- that now read the list of tests from the standard input.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: prefer AM_... variables to user-reserved ones in Makefile
- * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
- (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: some minor fixlets w.r.t. TAP-based tests
- The variable that is used by our test scripts to decide whether
- they are "plain" or TAP-based is `using_tap'; however, some
- peripheral sanity checks and sanitization code in our testsuite
- were erroneously using the `use_tap' variable instead. Fix that.
- * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
- not `use_tap'.
- * tests/defs-static.in: Check that `using_tap', not `use_tap',
- is not exported.
- * tests/self-check-env-sanitize.test: Update.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid re-running a test with the 'parallel-tests' option
- * tests/backcompat5.test (parallel_tests): Define to "no", to
- prevent the generation of a sibling test script that uses the
- 'parallel-tests' driver. That would be useless anyway, since
- we manually override the contents of configure.in, thus clobbering
- the `parallel-tests' option in AM_INIT_AUTOMAKE.
- Fix a typo in comments since we are at it.
-
-2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: defaults to awk+shell driver in tests on TAP support
- * tests/defs ($am_tap_implementation): Default to "shell", not
- to "perl".
-
-2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: list "forgotten" test script in TESTS
- * tests/Makefile.am (TESTS): Also list ...
- * tests/java-empty-classpath.test: ... this test. Since we are
- at it, remove trailing whitespace from a couple of lines.
-
-2011-08-25 Eric Blake <eblake@redhat.com>
-
- ylwrap: fix unusual indentation whitespace
- * lib/ylwrap: Convert tabs to spaces.
- Reported by Karl Berry.
-
-2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: different test scripts cannot share the same basename
- If two test scripts have the same basename, they will end up
- sharing the same log file, leading to all sort of undefined and
- undesired behaviours. Add a Makefile check verifying that this
- is not the case.
- * tests/test-logs-repeated.test: New test, verifying previously
- unspecified semantics (in the definition of $(TEST_LOGS) from
- $(TESTS)) that we use in our new check.
- * tests/Makefile.am (TESTS): Update.
- (check-no-repeated-test-name): New .PHONY check.
- (check-local): Depend on it.
-
-2011-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure for awk implementation of TAP driver
- * tests/tap-realtime.test: The awk+shell implementation of the TAP
- driver must "read ahead" of one line in order to catch the exit
- status of the test script it runs. So, in the TAP-producer script
- here, be sure to echo one "dummy" line after each TAP result line
- in order not to cause false positives.
-
-2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: allow escaping of TAP directives
- * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
- directives in a way tat is (mostly) compatible by what is done
- by the TAP::Parser module.
- With this change, the tests `tap-escape-directive.test' and
- `tap-escape-directive-2.test' now also pass with the shell/awk
- implementation of the TAP driver.
-
-2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: more about escaping of TAP directives
- * tests/tap-escape-directive.test: Make grepping of testsuite
- progress output slightly stricter.
- * tests/tap-escape-directive-2.test: New test (failing with the
- awk implementation of the TAP driver).
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: improve syncing between awk+shell and perl implementations
- * lib/tap-driver.pl (stringify_test_result): Renamed ...
- (stringify_result_obj): ... to this. Break up a clause in the
- long "if/elsif/.../else" construct to avoid unaesthetic line
- breaks and to be more synced with the sibling function in
- `tap-driver.sh'. Rename the `$result', `$PASS' and `$FAIL'
- variables to respectively `$result_obj', `$COOKED_PASS' and
- `$COOKED_FAIL', for clarity and better syncing.
- (handle_tap_test): Renamed ...
- (handle_tap_result): ... to this, and change the name of the
- `$test' local variable to `$result_obj'.
- (extract_comment): Reimplement using the simpler `index' and
- `substr' builtins, rather than with more advanced uses of
- regular expressions.
- (%test_results, @test_results): Renamed respectively ...
- (%test_results_seen, @test_results_list): ... to these, and
- related adjustments throughout the `TEST_RESULTS' block.
- (main, get_global_test_result): Refactor and do some cosmetic
- changes to make these functions clearer and better synced with
- sibling code in `tap-driver.sh'.
- Other minor cosmetic and typo fixes.
- * lib/tap-driver.sh (extract_tap_comment): Remove outdated
- "FIXME" comments.
- (get_global_test_result): Small reordering to make it better
- synced with its sibling function in `tap-driver.pl'.
- (stringify_result_obj): Consistently use `result_obj' as the
- parameter name.
- Other minor cosmetic and typo fixes.
-
-2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/perl: don't redirect perl warnings/errors to log files
- With this change, the test `tap-driver-stderr.test' also passes
- with the perl implementation of the TAP driver.
- * lib/tap-driver.pl (start): Save the original stderr into the
- `OLDERR' file handle, and call ...
- (trap_perl_warnings_and_errors): ... this new function, trapping
- the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
- warning and error messages goes to that original stderr stream.
- Since we are at it, be sure to prepend all possible "die" message
- with the name of the script as given by the `$ME' variable.
-
-2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/perl: add copyright notice, version string, and emacs stuff
- * lib/tap-driver.pl: Add proper copyright notice and bug reporting
- address. Remove obsolete heading comments. Add trailing comments
- for emacs w.r.t. code-formatting rules and automatic updating of
- the date-based script version saved into the `$VERSION' variable.
- ($VERSION): Define to the current UTC date.
-
-2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: don't redirect awk stderr to log files
- * lib/tap-driver.sh: Handle the file descriptors redirections
- more smartly, to avoid sending error messages from awk (about
- e.g. syntax or I/O errors) to the log files instead that to the
- console.
- * tests/tap-driver-stderr.test: New test, verifying the improved
- driver behaviour. Notice that this test still fails when using
- the perl implementation of the TAP driver.
- * tests/Makefile.am (tap_other_tests): Update.
-
-2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: remove obsolete "FIXME" comment
- * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
- driver losing the exit status of the tested program; this issue
- has been solved in precedent commit `v1.11-1052-gd630a0d'. Fix
- an unrelated typo in comments since we are at it.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: avoid spurious failure on Solaris
- * tests/tap-signal.test (signal_caught): Fix a regression from
- commit `v1.11-1052-gd630a0d' that was causing this test to fail
- spuriously on Solaris (due to an already worked-around Solaris
- /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use the new awk+shell TAP driver in our own testsuite
- * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
- awk+shell tap driver, which should be complete enough for use in
- a "controlled" production environment.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: handle non-zero exit status from the test command
- * lib/tap-driver.sh (get_test_exit_message): New function in the
- awk script, used to extract the exit status of the test program,
- or at least a good guess of it.
- (write_test_results): Use it, reporting an ERROR result if it
- detects that the test program exited with a non-zero status.
- * tests/tap-signal.test: Account for the differences in the
- error messages generated by the awk and perl TAP drivers. Fix
- an unrelated typo in comments since we are at it.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: prepare to fetch the exit status of the test command
- * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
- to make it possible to read the exit status of the test command
- from the last line of the input stream.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: refactor for future changes
- * lib/tap-driver.sh: Rewrite the awk script so that the parsing
- of the input stream is implemented as a hand-rolled loop in the
- BEGIN block, using the `getline' builtin.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: avoid spurious failure if rst2html program is missing
- * tests/tap-html.test ($required): Require `rst2html'.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: support Solaris /usr/xpg4/bin/awk
- * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
- character in regexps, even when inside double-quoted strings; that
- seems to be more portable to Solaris 10 XPG4 awk.
-
-2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: support Solaris /usr/bin/nawk
- * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
- builtin in there was confusing /usr/bin/nawk from Solaris 10 into
- a syntax error.
- (write_test_results): Simply use `close' on the `*.trs' file, that
- should be enough.
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: correctly extract message from SKIP plans
- * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
- the regex used to extract the skip message from a "1..0" TAP plan.
- * tests/planskip.test: Check for the just-fixed bug.
- * tests/tap-planskip-unplanned-corner.test: Don't be too strict
- w.r.t. the formatting of the "skip whole test" message, to avoid
- failing due to bugs irrelevant for this test (like the one just
- fixed).
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap/awk: support colorized output
- * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
- of the awk script, using ...
- ($init_colors): ... this new variable, which supersedes ...
- ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
- have been consequently removed.
- ($color_tests): We don't have to pass this anymore to the awk
- script, so do not convert it to a numeric boolean.
- (decorate_result): Implement for real.
- With this change, the test 'tap-color.test' now passes.
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: real (but still incomplete) awk implementation of TAP driver
- * lib/tap-driver.sh: Add an incomplete, but mostly working,
- implementation of a TAP parser and driver in awk. It doesn't yet
- support colorized output, fetching of exit status from test
- programs, nor a way to escape TAP directives in TAP result lines,
- but passes all the tests of TAP support in the automake testsuite,
- apart from the following ones:
- - tap-color.test
- - tap-escape-directive.test
- - tap-exit.test
- - tap-missing-plan-and-bad-exit.test
- - tap-passthrough-exit.test
- - tap-planskip-badexit.test
- - tap-planskip-unplanned-corner.test
- - tap-signal.test
- Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
- awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
- `tap-realtime.test' fails, in addition to those listed above).
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix spurious failure due to Solaris 'wc' incompatibility
- * tests/tap-number-wordboundary.test ($planned): Strip any extra
- whitespace from the output of `wc', to cater to Solaris 10.
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: keyword "SKIP" in TAP plan is case-insensitive
- * tests/tap-planskip-case-insensitive.test: New test.
- * tests/tap-planskip.test: Remove now-duplicated checks.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: ambiguous use of TAP "TODO"/"SKIP" directives
- * tests/tap-ambiguous-directive.test: New test.
- * tests/tap-todo-skip-together.test: Reference it in heading
- comments.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: non-directive comments in TAP results are preserved
- * tests/tap-result-comment.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: TAP result number followed by non-whitespace word boundary
- * tests/tap-number-wordboundary.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: a TAP result numbered "0" is always out-of-order
- * tests/tap-test-number-0.test: New, checks that a test result
- numbered as 0 is to be considered out-of-order; this is
- consistent with the behaviour of the `prove' utility.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: fix botched indentation in perl TAP driver
- * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
- improper or botched indentation.
-
-2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: some more tests on corner cases of TAP support
- * tests/tap-no-spurious.test: Extend checks verifying that a line
- matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
- TAP result.
- * tests/tap-no-spurious-numbers.test: New test, checking that our
- TAP driver doesn't spuriously recognize as TAP result numbers what
- is not (even if it seems pretty close).
- * tests/tap-negative-numbers.test: New test, checking that our
- TAP driver doesn't spuriously recognize negative TAP result
- numbers, but correctly interprets them as test descriptions
- instead.
- * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
- New tests, checking how our driver fares in recognizing numbers
- with leading zeroes in TAP results or TAP plans.
- * tests/tap-planskip-malformed.test: New test, checking that a
- malformed TAP plan is not recognized as a valid plan.
- * tests/tap-plan-whitespace.test: New test, checking that a TAP
- plan line with trailing whitespace is recognized and handled
- correctly.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: various fixlets and tweakings
- * tests/seenc.test: Make grepping of automake stderr stricter.
- Add a trailing `:' command.
- * tests/symlink.test: Likewise. Also, define `$am_create_testdir'
- to "empty" to avoid bringing in unused auxiliary files (only to
- have to remove them right away), and use proper m4 quoting in
- `configure.in'.
- * tests/vpath.test: Make grepping of generated `Makefile.in'
- slightly stricter. Prefer trailing `:' over trailing `Exit 0'.
- * tests/suffix6c.test: Unset OBJEXT to avoid interferences from
- the environment.
- * tests/suffix12.test: Do not whitespace-indent `##' comments
- when they are embedded in a makefile rule: having them indented
- is not part of the Automake API, and might cause failures with
- e.g., Tru64 make.
- * tests/syntax.test: Simplify the `Makefile.am' to ensure that
- automake doesn't fail for the wrong reasons. Make grepping of
- automake stderr slightly stricter.
- * tests/test-harness-vpath-rewrite.test: Remove useless variable
- definition from `Makefile.am'.
- * tests/test-driver-custom-multitest.test: Fix typo in comments.
- * tests/self-check-me.tap: Fix minor typo in test description.
- * tests/vars3.test: Make grepping of automake stderr stricter
- and safer.
- * tests/version6.test: Add sanity check, verifying that the
- version number extracted from `automake --version' output seems
- legit.
- * tests/auxdir2.test: Renamed ...
- * tests/auxdir-compauted.tap: ... to this, and converted to the
- use of TAP.
- * tests/auxdir4.test: Renamed ...
- * tests/auxdir-unportable.tap: ... to this, and converted to the
- use of TAP.
- * tests/auxdir3.test: Renamed ...
- * tests/auxdir-misplaced.test: ... to this.
- * tests/auxdir5.test: Renamed ...
- * tests/auxdir-nonexistent.test: ... to this.
- * tests/auxdir9.test: Renamed ...
- * tests/auxdir-autodetect.test: ... to this.
- * tests/Makefile.am (TESTS): Update.
- (XFAIL_TESTS): Remove `auxdir2.test'.
-
-2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix some redundant autotools calls in tests on TAP
- * tests/tap-deps.test: Do not call autotools and configure; there
- is no need to, since this script sources `tap-setup.sh'.
- * tests/tap-empty-diagnostic.test: Likewise.
- * tests/tap-escape-directive.test: Likewise.
- * tests/tap-fancy2.test: Likewise.
- * tests/tap-no-spurious.test: Likewise.
- * tests/tap-out-of-order.test: Likewise.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * THANKS (Daniel Richard G.): Update e-mail address.
-
-2011-08-16 Daniel Richard G. <skunk@iskunk.org> (tiny change)
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java: avoid compilation errors when CLASSPATH is empty
- * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
- do not append an empty component in case the previous value of
- CLASSPATH is empty or unset.
- * tests/java-empty-classpath.test: New test.
- * tests/Makefile.am (TESTS): Update.
- Fixes automake bug#9306.
-
-2011-08-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: no more spurious successes for FreeBSD make
- Work around a bug of FreeBSD make bug that was causing the
- automake-generated "check" target to complete with success
- even if some tests failed; this happened only when FreeBSD
- make was run in concurrent mode (as in, e.g., "make -j2
- check"). The bug is not present in NetBSD make.
- This change fixes automake bug#9245:
- <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
- See also FreeBSD PR bin/159730:
- <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
- * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
- more "safe" (and apparently redundant) idiom to exit with error,
- so that the non-zero exit status is picked up also by FreeBSD
- make when it's running in concurrent mode.
- * NEWS: Update.
- * tests/check-concurrency-bug9245.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- hacking: we now require autoconf 2.68
- * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
- not 2.67, in the examples.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: improve granularity for tests on problematic TAP messages
- * tests/tap-message-0.test: Break up into ...
- * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
- tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
- tests/tap-msg0-bailout.test: ... these new tests, and extend
- a little.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: correctly handle string "0" in TAP messages
- * lib/tap-driver.pl (is_null_string): New function, can be used
- to determine whether a given string variable is empty or undefined.
- Useful to avoid pitfalls like:
- if ($message) { print "$message\n"; }
- which wouldn't print anything if $message is the literal "0".
- (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
- to avoid missing messages composed only by a literal "0" in TAP
- result descriptions and in skip, todo and bailout explanations.
- * tests/tap-message-0.test: Enhance.
- * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: a minor simplification in the perl TAP driver
- * lib/tap-driver.pl: The `--disable-hard-errors' option is a
- no-op, so just ignore it and its argument.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: fix help screen for test driver scripts
- * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
- too.
- * lib/tap-driver.sh (print_usage): Likewise.
- * lib/test-driver (print_usage): Likewise.
- ($scriptversion): Update.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: add a dummy TAP driver script implemented in shell + awk
- The user can also now decide which implementation of the TAP driver
- to use in the testsuite by defining the `$am_tap_implementation'
- variable to either "perl" or "shell". Future enhancements will
- allow the testsuite to automatically run the test scripts on TAP
- support with both the TAP driver implementations, to improve
- coverage.
- * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
- variable to decide which implementation of the TAP driver to fetch.
- ($am_tap_implementation): Default to "perl".
- * tests/tap-common-setup.test: Do not fetch the TAP driver, the
- code in tap-setup.sh does that already (and respecting runtime
- overriding of `$am_tap_implementation').
- * lib/tap-driver: Renamed ...
- * lib/tap-driver.pl: ... to this, and ...
- ($ME): ... adjusted this.
- * doc/automake.texi: Adjust to the renaming.
- * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
- * tests/tap-doc2.test: Likewise.
- * lib/tap-driver.sh: New script, still mostly dummy.
- * lib/Makefile.am (dist_script_DATA): Update, and since we are at
- it, rewrite it to make it easier to add new entries in the future.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: refactor tests on TAP support in view of future changes
- * tests/defs (fetch_tap_driver): New subroutine; it fetches the
- automake-provided TAP driver from the `lib/' directory into the
- current directory, and edits its shebang line so that it will be
- run with the perl interpreter determined at configure time.
- * tests/tap-setup.sh: Use it.
- * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
- anymore, nor to use it in the Makefile to run the TAP driver.
- Also, use the `fetch_tap_driver' function instead of copying the
- `tap-driver' auxiliary script directly.
- * tests/tap-bad-prog.tap: Likewise.
- * tests/tap-diagnostic-custom.test: Likewise.
- * tests/tap-doc.test: Likewise.
- * tests/tap-merge-stdout-stderr.test: Likewise.
- * tests/tap-more.test: Likewise.
- * tests/tap-more2.test: Likewise.
- * tests/tap-recheck.test: Likewise.
- * tests/tap-summary-aux.sh: Likewise.
- * tests/tap-basic.test: Likewise, and fix a grammaro in comments
- since we are at it.
-
-2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: fix typo in comments
- * tests/defs (get_shell_script): Fix typo in the function
- description.
-
-2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: missing tap plan and non-zero exit status
- * tests/tap-missing-plan-and-bad-exit.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix an unportable use of sed
- * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
- sed regular expressions is not portable to (at least) FreeBSD
- sed; do not use it.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: avoid spurious failure if rst2html program is missing
- * tests/test-driver-custom-no-html.test: Account for the
- possibility of a lacking `rst2html' program in our final
- grepping of make output.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: improve diagnosing and reporting of plan mismatches
- Problem exposed by a failure in the test 'tap-plan-errors.test'.
- * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
- (Throughout the file): Use more complex semantics for `$plan_seen',
- which now also remember whether the plan that has been seen is an
- "early" or "late" plan; in turn, this makes ...
- ($tap_stopped): ... this variable redundant; remove it.
- (handle_tap_plan): Adjust to avoid producing spurious or confusing
- error messages about extra or mismatched "late" TAP plans.
- * tests/tap-plan-corned.test: Adjust and extend.
- * tests/tap-color.test: Likewise.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: log all TAP stream, even after a "Bail out!"
- * lib/tap-driver ($bailed_out): New global boolean variable,
- telling whether a "Bail out!" directive has been seen or not.
- (handle_tap_bailout): This function does not anymore stop the
- reading from TAP stream; instead, it sets `$bailed_out' to a
- true value, so that only the subsequent parsing of the input
- TAP stream is stopped.
- (finish): Remove, no more needed, its contents inlined into ...
- (main): ... this function, with related adjustments in the code
- flow.
- (get_test_exit_message): Do not "flush" the input TAP stream
- to fetch the exit status of test script, it is not anymore
- required. Add a sanity check.
- * tests/tap-bailout-and-logging.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: TAP diagnostics after "Bail out!" aren't reported
- This is compatible with the behaviour of the `prove' utility.
- * tests/tap-bailout-suppress-later-diagnostic.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: TAP errors after a "Bail out!" directive aren't reported
- This is compatible with the behaviour of the `prove' utility.
- * tests/tap-bailout-suppress-later-errors.test: New test.
- * tests/tap-bailout-badexit.test: Renamed ...
- * tests/tap-bailout-suppress-badexit.test: ... to this, for
- consistency.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: reorganize tests on TAP plans
- * tests/tap-skip-whole.test: Rename ...
- * tests/tap-planskip.test: ... to this
- * tests/tap-skip-whole-badexit.test: Rename ...
- * tests/tap-planskip-badexit.test: ... to this.
- * tests/tap-skip-whole-bailout.test: Rename ...
- * tests/tap-planskip-bailout.test: ... to this.
- * tests/tap-skip-whole-bailout.test: Rename ...
- * tests/tap-planskip-later-errors.test: ... to this.
- * tests/tap-skip-whole-unplanned.test: Rename ...
- * tests/tap-planskip-unplanned.test: ... to this.
- * tests/tap-skip-whole-whitespace.test: Rename ...
- * tests/tap-planskip-whitespace.test: ... to this.
- * tests/tap-skip-whole-continue.test: Rename ...
- * tests/tap-planskip-and-logging.test: ... to this, extend to try
- more cases, and fix heading comments.
- * tests/tap-skip-whole-lastline.test: Rename ...
- * tests/tap-planskip-late.test: ... to this, fix heading comments,
- and remove some checks that are just a duplication of those already
- performed in the previous script.
- * tests/tap-results-with-planskip.test: Rename to ...
- * tests/tap-planskip-unplanned-corner.test: ... this, and improve
- hading comments.
- * tests/tap-planskip-later-errors.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: more TAP driver consistency w.r.t. 'prove'
- * tests/skip-results-with-planskip.test: New test, verifies that
- test results seen in a TAP stream that has a "plan with SKIP" are
- flagged as errors.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: improve some comments in the TAP driver
- * lib/tap-driver (handle_tap_plan): Improve comments describing
- possible errors in a "plan with SKIP" directive.
-
-2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: non-zero exit status after "Bail out!" should not be reported
- This new behaviour is more consistent with that of the `prove'
- utility. Also, experience with the use of TAP in the Automake's
- own test suite has shown that reporting non-zero exit status from
- a script after it has issued a "Bail out!" directive is mostly
- redundant, more introducing noise rather than conveying useful
- information.
- * lib/tap-driver (finish): Inline the part of it that was getting
- the script exit status ...
- (main): ... in here.
- * tests/tap-bailout-badexit.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: a "plan with SKIP" after test results is an error
- This new behaviour is both more natural and more consistent with
- that of the `prove' utility.
- * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
- a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
- do not print a "SKIP" line if some TAP result has already been
- seen.
- * tests/tap-skip-whole.test: Adapt.
- * tests/tap-skip-whole-lastline.test: Likewise.
- * tests/tap-global-result.test: Adapt and extend.
- * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
- small part of a comment.
- * tests/tap-skip-whole-bailout.test: New test.
- * tests/tap-skip-whole-unplanned.test: Likewise.
- * tests/tap-skip-whole-continue.test: Likewise.
- * tests/Makefile.am (tap_with_common_setup_tests): Update.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: avoid possible fork bomb
- This fixes a regression w.r.t. the master branch, exposed by
- test 'parallel-tests-fork-bomb.test'.
- * lib/am/check.am (am--redo-logs): Detect possible infinite
- recursion due to a test log in $(TEST_LOGS) being the same
- as $(TEST_SUITE_LOG).
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: enhance test against infinite recursion in test harness
- * tests/parallel-tests-fork-bomb.test: Enhance and extend a
- little now, for soon-to-be-implemented more explicit and safer
- semantics.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: possible infinite recursion in the test harness
- Motivated by a regression in the 'test-protocols' branch.
- * tests/parallel-tests-fork-bomb.test: New test, checking that
- if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
- error rather than a make hang or a fork bomb.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: yet more environment cleanup
- * tests/defs: Also unset the TEST_SUITE_LOG variable.
-
-2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: some minor refactoring
- * tests/self-check-exit.tap: Disable the `errexit' shell flag;
- this allow to remove some boilerplate idioms and to make some
- code slightly less cumbersome.
- * tests/self-check-me.tap: Likewise.
-
-2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: look for TAP-based tests without TAP plan
- * Makefile.am (sc_tests_tap_plan): New maintainer check.
- (syntax_check_rules): Add it.
- * tests/suffix10.tap: Declare a TAP plan.
- * tests/add-missing.tap: Likewise.
-
-2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: avoid confusing SKIP messages for errored tests
- * tests/defs [$use_tap] (exit trap): Don't print the test plan
- in case the client script exited with a non-zero status. This
- avoids the display of redundant "SKIP" messages for tests with
- lazy plans that error out before any test is run.
-
-2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: keep more debugging info around in 'add-missing.tap'
- * tests/add-missing.tap: Use a different directory for each test,
- so that in case of failure more information is kept around.
- Since we are at it, remove redundant TAP diagnostic, and define
- `$am_create_testdir' to "empty" to avoid bringing in unused
- auxiliary files.
-
-2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: more granular count of test results in our TAP library
- * tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
- by ...
- ($tap_fail_count_, $tap_xpass_count_): ... these new variables,
- which keep more granular counts.
- ($tap_pass_count_: New variable.
- * tests/defs (exit trap): Adjust and simplify accordingly.
-
-2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fixlets and improvements in two long TAP-based tests
- * tests/depmod.tap: Clean up the subdirectories used by tests that
- passed, to avoid ending up with a too big test directory. This is
- especially important since, on each and every system, at least some
- tests in this script are expected to be skipped (which ones exactly
- depends on the system), thus causing the test directory not to be
- removed when the script terminates.
- * tests/instspc.tap: Likewise (with the difference that tests here
- are not expected to be skipped, but to xfail). Give more explicit
- error message in case of setup failure. Skip the proper number of
- tests when required, to avoid spurious errors due to mismatched
- plan. Also, really avoid to run the unsupported test cases when
- the need to skip them is detected.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: recursive make invocations must use $(AM_MAKEFLAGS)
- * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
- to $(MAKE) when issuing a recursive make call.
- Problem detected by the `sc_tests_make_without_am_makeflags'
- maintainer check.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'suffix-chain.tap'
- * tests/suffix-chain.test: Use more uncommon suffixes that
- don't trigger built-in recipes with FreeBSD make.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: improvements to our shell TAP library and APIs
- These improvements impact only the Automake's own testsuite.
- * tests/tap-functions.sh (plan_): Allow new special arguments
- "unknown" a.k.a. "later" and "lazy" a.k.a. "now". Perform
- sanity check the given arguments. Adjust incorrect comments.
- (lazy_plan_): Removed, superseded by the new version of `plan_'.
- (not): New function, run a command and inverts its exit status.
- (ok_, not_ok_, skip_): These are just shorthands for common
- `result_' usages.
- (xfail_, xpass_, reset_test_count_): Removed, they are not used,
- nor does a legitimate use for them seem in sight.
- (not): New function, to run a command inverting its exit status.
- (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
- (command_ok_): Extended to accept TAP directives.
- * tests/defs (trap): Don't use `late_plan_' anymore, use
- `plan_ "now"' instead.
- * tests/ac-output-old.tap: Update to take advantage of the new
- APIs.
- * tests/self-check-env-sanitize.tap: Likewise.
- * tests/suffix-chain.tap: Likewise.
- * tests/suffix10.tap: Likewise.
- * tests/suffix11.tap: Likewise.
- * tests/suffix3.tap: Likewise.
- * tests/suffix8.tap: Likewise.
- * tests/tap-bad-prog.tap: Likewise.
- * tests/self-check-exit.tap: Likewise, plus a small improvement
- in the name of a variable.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: convert some `suffix*' tests to TAP
- This will allow us to explicitly declare some expected failures
- involving Solaris make as such, instead of partly papering over
- them with skips and partly letting them fail too loudly.
- * tests/suffix-chain.test: Rename ...
- * tests/suffix-chain.tap: ... to this, and convert to the use of
- TAP. Also, fix some bugs since we are at it, and ...
- ($required): ... require `cc'.
- * tests/suffix3.test: Rename ...
- * tests/suffix3.tap: ... to this, and convert to the use of TAP.
- Also, since we are at it, throw in some formatting fixes.
- * tests/suffix8.test: Rename ...
- * tests/suffix8.tap: ... to this, and convert to the use of TAP.
- Also, since we are at it, throw in some formatting fixes.
- * tests/suffix10.test: Rename ...
- * tests/suffix10.tap: ... to this, and convert to the use of TAP.
- * tests/suffix11.test: Rename ...
- * tests/suffix11.tap: ... to this, and convert to the use of TAP.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: don't let a known Solaris make bug poison too many tests
- See automake bug#7670 and bug#7824.
- * tests/defs (make_can_chain_suffix_rules): New function, tell
- whether the make implementation in use can chain suffix rules
- automatically or not.
- * tests/suffix3.test: Use it to avoid issuing calls to make that
- are unportable to make implementations that are not smart enough
- to chain suffix rules automatically.
- * tests/suffix8.test: Use it to avoid issuing calls to make that
- * tests/suffix10.test: Use it to avoid issuing calls to make that
- * tests/suffix11.test: Use it to avoid issuing calls to make that
- * tests/suffix-chain.test: New test, exposes the limitation that
- we have papered over in the tests above.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- gitignore: more use of anchors
- * .gitignore: Anchor files that are intended to be ignored only
- if found in the same directory of the `.gitignore' file, not also
- in its subdirectories.
- * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
- lib/Automake/tests/.gitignore, tests/.gitignore: Likewise. Also,
- where needed, add new entries that were once implied by the
- non-anchored entries in the upper-level `.gitignore' files.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: avoid spurious output on console, and related fixlets
- * tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
- in the self tests, to avoid spurious diagnostic on console.
- * tests/self-check-exit.tap: Only unset `am_explicit_skips' and
- `$stderr_fileno_' in the self tests, not at the global level, it
- is more correct.
- ($init): New variable, to reduce code duplication.
- Some refactoring and adjustments to the name of the tests.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: few more sanity checks
- * tests/defs: Catch some more (very unlikely) set-up or internal
- errors, and diagnose them explicitly. This is intended mostly
- to be a theoretic-only improvement.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: really make them "set -e" clean
- Motivated by a spurious failure of test `instsh3-w.shtst' on
- Solaris 10.
- * tests/defs: Make really "set -e" clean, to avoid spurious
- failures in case this file is sourced by a test script that has
- already set the `errexit' flag. To be sure we don't regress,
- move the `set -e' call much earlier, and make the comment telling
- about the expected "set -e" cleanliness more loud and outstanding.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: register an expected failures with Solaris /bin/sh
- Solaris 10 /bin/sh erroneously exit with success right away when
- the following three conditions are met at the same time:
- 1. the `errexit' flag is active,
- 2. an exit trap is installed, and
- 3. a non-existing command is issued.
- * tests/self-exit.tap: When that bug is detected, issue an XFAIL
- rather than a FAIL. Since we are at it, improve by avoiding
- creation of stray temporary files when testing for non-executable
- commands.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- gitignore: update and improve for the testsuite files
- * tests/.gitignore: Don't ignore temporary partial log files,
- autogenerated tests and makefile fragments that are not used
- anymore. Anchor all the remaining patterns.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: some new uses of TAP, few extensions
- * tests/self-check-me.test: Renamed ...
- * tests/self-check-me.tap: .. to this, and converted to use TAP.
- * tests/self-check-exit.test: Renamed ...
- * tests/self-check-exit.tap: .. to this, and converted to use TAP.
- Set `$stderr_fileno_' to `2', to avoid spurious messages on the
- console. Add a new test, and relax another one.
- * tests/self-check-env-sanitize.test: Renamed ...
- * tests/self-check-env-sanitize.tap: .. to this, and converted to
- the use TAP.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: test directory creation more configurable
- After this change, the individual tests will be able to tell
- `./defs' whether or not to create a temporary test directory
- for them, and if yes, whether or not to pre-populate it.
- * tests/defs: Only create the temporary test directory if the
- variable `$am_create_testdir' is not set to "no". In this
- case, only pre-populate it if that variable is not set to
- `$empty'.
- * tests/defs-static.in: Check that `$am_create_testdir' is not
- exported in the environment.
- * tests/self-check-env-sanitize.test: Update.
- * tests/self-check-dir.test: Extend, and make deeper and more
- robust.
- * tests/README (Section "Writing test cases" subsection "Do"):
- Update.
- * tests/autodist.test: Set `$am_create_testdir' instead of
- removing by hand files created by ./defs.
- * tests/tap-doc2.test: Likewise.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: more uses of the `seq_' function
- * tests/parallel-tests-exit-statuses.test: Use the `seq_' function
- from `tests/defs', instead of duplicating its semantics.
- * tests/testsuite-summary-count.test: Likewise.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: drop redundant environment sanitization
- * tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
- from the environment.
- * tests/defs-static.in: Don't complain if `planned' is set in
- the environment.
- * tests/self-check-env-sanitize.test: Update.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: fix bug in plain version of `skip_all_'
- * tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: small cleanups and tweakings
- * tests/defs: Where possible, prefer `framework_failure_' or
- `fatal_' to `Exit 99'. Try to catch more possible hard errors
- and setup failures. Do not hide expected error messages. Avoid
- a couple of forks when copying files from `$(top_srcdir)/lib'.
- ($signal): Remove, no more needed.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: improve interface for giving early TAP plan
- Since commit `v1.11-976-g4740f56', an early TAP plan can also be
- specified after input lines have already been seen, as long as
- no one of them is a TAP result line. We can now take advantage
- of this in our own testsuite, allowing the TAP-based scripts to
- specify their earlier plan after having included `./defs'. In
- particular, this offers the benefit of allowing those scripts to
- issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
- the inclusion of `./defs', which wasn't possible with the older
- interface (introduced in commit `v1.11-1114-g0286308').
- * tests/defs: Don't try to call `plan_' if `$planned' is defined,
- the calling scripts can do that directly now.
- * tests/ac-output-old.tap: Use `plan_' directly instead of
- setting `$planned' before including `./defs'.
- * tests/automake-cmdline.tap: Likewise.
- * tests/depmod.tap: Likewise.
- * tests/instspc.tap: Likewise.
- * tests/tap-bad-prog.tap: Likewise.
- * tests/add-missing.tap: Don't set `$planned'.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: fix bug in TAP version of `skip_all_'
- * tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
- when called, so that the exit trap won't write another TAP plan.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: fix skip directives to work also with TAP-based tests
- * test/defs: Use `skip_all_', not `skip_', to issue a skip of the
- whole calling test script.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: more environment cleanup
- * tests/defs: Also unset variables AM_COLOR_TESTS and
- AM_TESTS_ENVIRONMENT.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: more minor VPATH-rewrite issues
- * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
- am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
- minimize the risk of unwanted VPATH rewrites.
- (check-TESTS): Likewise, and normalize trailing whitespace
- since we are at it.
- Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: "make -n check" works correctly with Solaris make
- To avoid some recipes being executed with "make -n", we used the
- trick of issuing recursive make calls not directly with $(MAKE),
- but with a simple indirection instead:
- ...
- am__stealth_MAKE = $(MAKE)
- ...
- target:
- ... $(am__stealth_MAKE) ...
- ...
- This hack worked with GNU make, but, unfortunately, not with
- Solaris make. The present change removes the hack, and uses more
- proper idioms to avoid unwanted recipe executions with "make -n".
- Bug exposed by test case `parallel-tests-dry-run.test'.
- * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
- (.log.trs): Break recipe in multiple shell invocations.
- ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
- the recipe to ...
- (am--redo-logs): ... this new internal helper .PHONY target.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure with Solaris make
- * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
- liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
- so introduced, in conjunction with single quotes, might confuse
- Solaris make.
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: fixlet in workaround for VPATH rewrite issue
- Fixes a minor in previous commit `v1.11-983-gfda3de5'.
- * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
- anchor to sed expression. In comments, add reference to ...
- * tests/test-trs-basic.test: ... this test, which has been adapted
- and tightened (and tweaked).
-
-2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: work around a VPATH rewrite issue
- * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
- over by ...
- (am__set_TESTS_bases): ... these new variable.
- ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
- * automake.in (handle_tests): Update the code for the cleanup
- of the `.trs' file to use `$(TEST_LOGS)' instead of
- `$(am__TEST_BASES)'.
- * tests/test-harness-vpath-rewrite.test: New test, better
- exposing the problem fixed by this change
- * tests/Makefile.am (TESTS): Add it.
- * tests/test-trs-basic.test: Update and extend.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: work around Solaris XPG4 make segfault
- Issue exposed by test `posixsubst-tests-p.test', and similar to
- the problem solved by commit `v1.11-159-ge7aa360'.
- * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
- whitespace from $list, to avoid triggering a nasty bug (potential
- segfault) on Solaris XPG4 make and Heirloom make.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix weird spurious failure with Solaris /bin/sh
- Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
- apparently end up exiting with exit status 208, instead of leaving
- the correct wide exit status to the parent. See:
- <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
- Work around this incompatibility.
- * tap-signal.test: Look for the above Solaris bug.
- (signal_caught): Adapt to handle it.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix another spurious failure on Solaris make
- * tests/parallel-tests-log-override-recheck.test: Filter make
- output before grepping it, for make implementations that, like
- Solaris' one, print the whole of the failed recipe on failure.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix two spurious failures on Solaris make
- * tests/tests-environment-and-log-compiler.test: Do not fail if
- "make -n check" fails, as that is issued only for debugging, its
- semantics being tested in other test scripts.
- * tests/test-driver-strip-vpath.test: Likewise.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap driver: refactor and remove dead code
- * lib/tap-driver (get_tap_line): Removed, ...
- (all callers): ... updated to use $parser->next directly instead.
- (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
- used anymore.
- (TAP_PEEKING): Block deleted, all its subroutines and variables
- having been removed.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix spurious failure in a test on TAP support
- * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
- of the TAP driver is used, don't look for a message reporting the
- non-zero exit statuses of tests in the log files; such message is
- not expected to be there anymore. Related simplifications.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: plan location is more liberal w.r.t. non-TAP lines
- With this change, only lines that are TAP results will matter
- w.r.t. the position of the TAP plan in the input; for example,
- this input:
- this is a non-TAP line
- # and this a TAP diagnostic line
- 1..1
- ok 1
- was considered to be an error, diagnosed with a message "test
- plan in middle of output"; as effect of the current change, such
- input is now valid. This is more consistent with the behaviour
- of the `prove' utility.
- * lib/tap-driver ($lineno): Removed, no more needed.
- ($tap_stopped): New global variable.
- (stringify_test_result): Return "ERROR" if a TAP result is found
- when `$tap_stopped' is set to true.
- (handle_tap_test): Diagnose TAP results that comes after a late
- plan. Add a couple of blank lines, for clarity.
- (handle_tap_plan): Set `$tap_stopped' to true after a late plan
- is encountered. Do not complain anymore for extra non-TAP lines
- preceding or following the plan. Adjust comments.
- (main): Don't increment $lineno anymore.
- * tests/tap-plan.test: Extend a bit, and remove stale comment.
- * tests/tap-color.test: Adjust.
- * tests/tap-passthrough.test: Likewise.
- * tests/tap-plan-corner.test: Adjust and extend.
- * tests/tap-plan-errors.test: Likewise.
- * tests/tap-plan-middle.test: New test.
- * tests/tap-plan-corner2.test: Delete, it's obsolete now.
- * tests/Makefile.am (XFAIL_TESTS): Remove it.
- (tap_with_common_setup_tests): Likewise, and add
- `tap-plan-corner.test'.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: remove now-passing test from XFAIL_TESTS
- * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
- which is passing since previous commit `v1.11-974-gc7fa872'.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: get name of TAP-using tests correctly
- This change fixes the names of the temporary directories used
- by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
- rather than `foo.tap.dir'); more importantly, this make the
- variable `$destdir' defined in `tests/defs' usable also in the
- TAP tests.
- ($me): Also strip the any `.tap' suffix from the name of the
- test.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: TAP tests properly decide when to remove tempdirs
- Before this change, the TAP tests in the Automake testsuite were
- removing the temporary test directory even when they failed or
- were skipped, thus making debugging more difficult.
- * tests/tap-functions.sh (incr_tap_count): Removed, superseded
- by ...
- (incr_): ... this function, which can increment the value of any
- variable passed to it.
- (result_): Updated to use `incr_' instead of the now-removed
- `incr_tap_count_'. Keep count of failures, xfailures, xpasses,
- and skips, using ...
- ($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
- these new variables.
- * tests/defs (trap): Try to use their values to decide whether
- the temporary directory being used by the test script should be
- removed or not. Other code reorganizations. And move the code
- for the removal of the temporary directory out to ...
- (rm_rf_): ... this new subroutine.
- (Main code): Use that instead of duplicating the code.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: improve and refactor our custom TAP shell library
- This change is mostly done in preparation for the next one.
- * tests/tap-functions.sh (result_with_directive_): Merge into ...
- (result_): ... this function, which has been greatly extended and
- improved in various ways.
- (ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
- Adjust comments. Remove an extra empty line.
- * tests/instspc.tap: Use the new improved interface of `result_'.
- * tests/tap-bad-prog.tap: Likewise.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: update "user interface" description in tests/README
- * tests/README (Subsection "Interpretation"): Mention the "ERROR"
- outcome.
- (Subsection "Getting details from failures"): Don't tell that the
- test scripts can be run directly, this is not 100% true; anymore;
- instead ...
- (Subsection "About the tests"): ... use this new subsection to
- explain how to run the tests (either simple or TAP-based) by hand.
- (Subsection "Supported shells"): Extend to refer to TAP tests too.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: TAP tests can have early plan now
- * tests/defs: When using TAP, allow the user to specify the number
- of tests through the `$planned' variable.
- (trap): Do not print the auto-generated plan if an explicit one
- has already been printed.
- * tests/defs-static.in: Complain and bail out if the `$planned'
- variable is exported in the environment. Reformat the code to
- facilitate future additions.
- * tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
- * tests/self-check-env-sanitize.test: Update.
- * tests/ac-output-old.tap: Give an explicit TAP plan, by defining
- `$planned' just before including `./defs'.
- * tests/depmode.tap: Likewise.
- * tests/automake-cmdline.tap: Likewise.
- * tests/tap-bad-prog.tap: Likewise.
- * tests/instspc.tap: Likewise, and related adjustments.
- * tests/add-missing.tap: Make it explicit that we have no a-priori
- plan, and tell why.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: run autogenerated tests with $(LOG_COMPILER) too
- This change enhances consistency in the testsuite.
- * tests/Makefile.am: Some cosmetic reordering, to keep the
- definition of FOO_LOG_COMPILER near to the place where `.foo'
- is added to $(TEST_EXTENSIONS).
- (PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
- `$(LOG_COMPILER)', not with `$(SHELL)'.
- (SHTST_LOG_COMPILER): Likewise.
-
-2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
- With this change, it will be easier to override, at make time, the
- shell used to run the tests.
- * tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
- (TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
- (TAP_LOG_COMPILER): Likewise.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: run TAP-based tests explicitly with $(SHELL)
- * tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap driver: handle signals received by the tests being run
- * lib/tap-driver (get_test_exit_message): Also deal with signals,
- by using the `wait' method of the TAP::Parser object instead of
- the `exit' method. This required the use of the standard perl
- module `POSIX'.
- * doc/automake.texi (Use TAP with the Automake test harness):
- Document that `--ignore-exit' has effect also on terminating
- signals. Add a "synchronizing" comment that references the tests
- 'tap-exit.test' and 'tap-signal.test'.
- * tests/tap-signal.test: Extend and adjust.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test driver: a preparatory refactoring (2)
- * lib/tap-driver (finish): Move code to fetch the message about
- the exit status of the test being run to ...
- (get_test_exit_message): ... this new subroutine.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap driver: a preparatory refactoring (1)
- * lib/tap-driver (finish): Do not flush the TAP stream nor
- fetch the exit status of the TAP producer if running with
- the `--ignore-exit' option. Obviously, don't try to write
- such exit status in the test log anymore.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: typofix in the name of a function in the TAP driver
- * lib/tap-driver (testuite_error): Renamed ...
- (testsuite_error): ... to this, and minor related reformatting.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: scripts with a SKIP plan but with exit status != 0 must error
- This change has been motivated by Automake's own testsuite. Some
- TAP tests there were erroring out (due to unexpected, unhandled
- failures) before having encountered TAP result, so that the
- simple-minded shell library implementing TAP generation ended up
- printing a "1..0" trailing test plan; this caused the script to be
- reported as a SKIP rather than an ERROR -- a nasty false negative.
- * lib/tap-driver: Add prototypes for each subroutine, to free up
- the order in which they can be defined and called.
- (main): Move the code checking for a bad exit status of the TAP
- producer ...
- (finish): ... here, and flush the TAP stream to ensure that the
- parser always obtains the producer's exit status.
- * tests/tap-skip-whole-badexit.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Add it.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: fix whitespace munging of diagnostic messages
- * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
- substitution operator, to strip also trailing whitespaces. Fixes
- a failure in test `tap-whitespace-normalization.test'.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: refactor and cleanup 'instspc.tap'
- * tests/instspc.tap (is_in_list): New helper subroutine.
- (expected_to_fail): Re-implement using it.
- (define_problematic_string): Likewise. Also, rename the special
- arguments `build-fail' and 'install-fail' to respectively
- `builddir-fail' and `destdir-fail', and other related changes.
- (Test data definition): Adapt.
- ($instspc_xfail_builds_list): Renamed ...
- ($builddir_xfails): ... to this.
- ($instspc_xfail_installs_list): Renamed ...
- ($destdir_xfails): ... to this.
- ($instspc_names_list): Renamed ...
- ($test_names_list): ... to this.
- ($instspc_test_string): Renamed ...
- ($test_string): ... to this.
- Add some explicative and "FIXME" comments.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use TAP for `depmod*' tests, related simplifications
- * tests/depmod-tests.sh: Delete this complex and multifarious
- script, moving all it checks it used to perform into ...
- * tests/depmod.tap: ... this TAP-based test script. And extend
- it quite a bit, since the new form of the test was papering over
- some pre-existing failures (this was due to the fact that the
- values used for the VPATH were shorter in the new test script).
- * tests/depmod-data.test: Deleted.
- * tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
- nor generate it anymore.
- (EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
- (TEST_EXTENSIONS): Remove '.depmod'.
- (DEPMOD_LOG_COMPILER): Deleted.
- (depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
- dependencies for these files, which are not used anymore.
- ($(depmod_tests)): Delete this dummy dependency declaration.
- (TESTS): Remove $(depmod_tests).
- (handwritten_tests): Remove depmod-data.test, add depmod.tap.
- * bootstrap: Don't generate tests/depmod-tests.am anymore.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use TAP for `instspc*' tests, related simplifications
- * tests/instspc-tests.sh: Delete this complex and multifarious
- script, moving all it checks it used to perform into ...
- * tests/instspc.tap: ... this TAP-based test script.
- * tests/instspc-data.test: Deleted.
- * tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
- nor generate it anymore.
- (EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
- (TEST_EXTENSIONS): Remove '.instspc'.
- (INSTSPC_LOG_COMPILER): Deleted.
- (XFAIL_TESTS): Remove $(instspc_xfail_tests).
- (instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
- dependencies for these files, which are not used anymore.
- ($(instspc_tests)): Delete this dummy dependency declaration.
- (TESTS): Remove $(instspc_tests).
- (handwritten_tests): Remove instspc-data.test, add instspc.tap.
- * bootstrap: Don't generate tests/instspc-tests.am anymore.
-
-2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
- * tests/Makefile.am: The redirections of file descriptors needed
- by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
- variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
- not using an hack involving $(AM_TESTS_ENVIRONMENT). This has
- the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
- again on part of the users.
- * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
- file descriptors.
- (AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
- stderr.
- Comments adjusted.
- * tests/plain-functions.sh ($stderr_fileno_): Update comment.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use custom TAP diagnostic in our own tests
- This change allow us to easily and transparently avoid spurious
- TAP diagnostic in our own testsuite, with the help of the new
- `--diagnostic-string' option of our TAP test driver.
- * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
- `--diagnostic-string' with value `#%#' (necessarily obtained
- through some shell indirections).
- * tests/tap-functions.sh (diag_): Assume that the string denoting
- TAP diagnostic is stored in the `$diag_string_' variable. Update
- comments.
- ($diag_string_): Initialize to "#".
- * tests/defs ($diag_string_): Re-define to "#%#".
- (show_): Remove, it's obsolete now.
- * add-missing.tap: Don't use `show_' anymore to avoid spurious
- TAP diagnostic; `cat' should suffice now.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: fix typo in TAP driver version message
- * lib/tap-driver (anonymous subroutine printing the script version
- message): Add missing trailing newline to the version message.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap docs: we don't support pragma or version directives (yet)
- * doc/automake.texi (Incompatibilities with other TAP parsers
- and drivers): Document that limitation. Normalize an unrelated
- "TODO" item.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: new option to change the string designating TAP diagnostic
- Here we introduce a new option `--diagnostic-string' in our TAP
- test driver, that allows the user to specify which string should
- denote the beginning of a TAP diagnostic line. This change is
- not gratuitous, nor result if over-engineering: it is motivated
- by real issues that have emerged during the use of TAP in the
- Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
- "testsuite: yet more use of TAP, and related extensions").
- * doc/automake.texi (Use TAP with Automake test harness): Document
- the new option.
- (Incompatibilities with other TAP parsers and drivers): Report it
- as a potential source of incompatibility.
- * lib/tap-driver ($diag_string): New global variable, defaulting
- to "#", and whose value can be changed ...
- (Getopt::Long::GetOptions): ... by the newly recognized option
- `--diagnostic-string'.
- (handle_tap_comment): Subroutine removed, some of its simple logic
- inlined ...
- (main): ... in here, where now ...
- (extract_tap_comment): ... this new subroutine is used.
- ($USAGE): Adjust.
- * tests/tap-diagnostic.test: Make one check slightly stricter.
- * tests/tap-diag-custom.test: New test.
- * tests/Makefile.am (tap_other_tests): Add it.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- check: add small "synchronization" comment to `test-driver'
- * lib/test-driver: Add comment to the code initializing ANSI color
- escapes, telling to keep it in sync with the similar initialization
- in `lib/am/check.am'.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix spurious failure w.r.t. use of bare "exit"
- * tests/check12.test: Cosmetic changes to avoid triggering a
- spurious failure of the `sc_tests_Exit_not_exit' maintainer
- check.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- check: update comments to reflect recent heavy changes
- * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
- reflect the recent changes. Remove quite many comments that
- were merely duplicating excerpts from the Automake manual.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- check: small cleanups and refactorings in test harness and drivers
- * lib/tap-driver (yn): New subroutine, converts a boolean value to
- a "yes" or "no" string.
- (write_test_results): Use it, and related reformatting.
- * lib/test-driver (trap): Also remove the `.trs' file on signals,
- for extra safety.
- (fatal): Remove this function, it's never used.
- ($logfile, $trsfile): Renamed ...
- ($log_file, $trs_file): ... to these, for clarity, and in order to
- be more consistent with the `tap-driver' script.
- Improve a couple of comments.
- * automake.in (handle_tests): Don't define anymore the now-obsolete
- make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
- be removed upon "make mostlyclean".
- * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
- tells whether a path refers to an existing, regular, readable file.
- Use it throughout.
- (recheck): Be safer w.r.t. make implementation that run recipes
- with `errexit' shell flag active.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use AM_TESTS_FD_REDIRECT where appropriate
- * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
- AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
- for "make check". Fix botched comment.
-
-2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: some fixlets in documentation on testsuites support
- * doc/automake.texi (Script-based Testsuites): Rename node ...
- (Scripts-based Testsuites): ... to this. Break overly long lines
- in an example (were causing problems with PDF output).
- (Parallel Test Harness): Don't intend paragraphs that come after
- examples or bulleted list.
- (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
- (Declaring Custom Test Drivers): When giving an aside, prefer comma
- to parentheses, as it disrupts the reading flow less.
- (API for Custom Test Drivers): Remove a sentence that was basically
- duplicated from the previous subsection.
- (Command-line arguments for test drivers): Don't intend paragraph
- coming after an itemized list. Clarify wording and fix grammaros.
- Add a couple of cross-references to earlier explanations of `.log'
- and `.trs' files.
- (Links and external resources): Node renamed ...
- (Links and external resources on TAP): ... to this, for clarity.
- Slightly extend and clarify introductory sentence.
-
-2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: be aware of more metadata, simplify test drivers
- * lib/am/check.am ($(TEST_SUITE_LOG)): When producing the
- global test log, take into account the new metadata field
- `:global-test-result:, to write nicely formatted RST section
- titles, instead of leaving this chore to the individual test
- drivers.
- (am_rst_section): Re-introduce this variable, as removed in
- commit `v1.11-870-ga27c9c4'.
- * lib/test-driver, lib/tap-driver: Write the global test result
- as metadata in the `.trs' file, not as (part of) a formatted RST
- subsection title in the `.log' file. Related simplifications;
- in particular, get rid of temporary files usage.
- * doc/automake.texi (Log files generation and test results
- recording): Document the new metadata.
- * tests/check12.test: Update.
- * tests/parallel-tests-harderror.test: Likewise.
- * tests/parallel-tests-interrupt.test: Likewise.
- * tests/parallel-tests-log-override-2.test: Likewise.
- * tests/parallel-tests-log-override-recheck.test: Likewise.
- * tests/parallel-tests-unreadable.test: Likewise.
- * tests/tap-global-result.test: Likewise.
- * tests/test-metadata-results.test: Likewise.
- * tests/test-log.test: Likewise, and another minor unrelated fix.
- * tests/test-metadata-global-result.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: check that also a trailing TAP plan can hold a skip directive
- * tests/tap-skip-whole-lastline.test: New test.
- * tests/Makefile.am (tap_with_common_setup_tests): Add it.
-
-2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: more correct names for a couple of tests
- * tests/parallel-tests-ext-driver.test: Rename ...
- * tests/parallel-tests-log-compiler-1.test: ... to this, and
- adjust heading comments.
- * tests/parallel-tests-ext-driver-prog.test: Rename ...
- * tests/parallel-tests-log-compiler-2.test: ... to this, and
- adjust heading comments.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix another spurious failure
- * tests/parallel-tests-ext-driver.test: Name out custom/dummy
- log compilers as `foo-compiler' rather `foo-driver'; not only
- this is less confusing, it also avoids errors due to the dummy
- log compiler `test-driver' overriding the `test-driver' helper
- script installed by Automake.
- * tests/parallel-tests-ext-driver-prog.test: Adjust heading
- comments.
-
-2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix a spurious failure
- * tests/parallel-tests-ext-driver.test: Exporting of environment
- variables directly from $(LOG_COMPILER) variables is not allowed
- anymore. Adjust to this.
-
-2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: yet more use of TAP, and related extensions
- * tests/defs (show_): New function, display the contents of one or
- more files on stdout, with bells & whistles (both for cosmetic and
- practical reasons, the latter aimed at avoiding spurious TAP
- diagnostic).
- (AUTOMAKE_run): Extend and adapt to make it compatible with TAP
- based tests. Since we are at it, make its implementation more
- namespace-safe, and improve its command-line interface.
- (AUTOMAKE_fails): Adapt to the new command-line interface of
- `AUTOMAKE_run'.
- * tests/add-missing.test: Renamed ...
- * tests/add-missing.tap: ... to this, and converted to the use
- of the TAP protocol, and of the new `show_' function.
- * tests/automake.test: Renamed ...
- * tests/automake-cmdline.tap: ... to this, and converted to the
- use of the TAP protocol.
- * tests/getopt.test: Adapt to the new command-line interface
- of `AUTOMAKE_run'.
- * tests/cond44.test: Likewise.
- * tests/cond45.test: Likewise.
- * tests/configure.test: Likewise.
- * tests/license2.test: Likewise.
- * tests/parallel-am.test: Likewise.
- * tests/parallel-am3.test: Likewise.
- * tests/tags2.test: Likewise.
- * tests/werror3.test: Likewise.
- * tests/werror4.test: Likewise.
- * tests/amopts-variable-expansion.test: Likewise.
- * tests/warnings-win-over-strictness.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- (TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
- reported in the testsuite progress output.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix more maintainer-check failures
- * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
- not `EoL', as the here-document delimiter.
- * tests/test-trs-basic.test: Use `cat + here-doc' rather
- than `echo' when creating the dummy test scripts, to please
- maintainer-check.
- * tests/test-trs-recover.test: Use creative quoting where
- needed, to please maintainer-check.
- * tests/parallel-tests-no-color-in-log.test: Likewise.
- * tests/parallel-tests-dry-run.test: Likewise.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix maintainer-check failures, both real and spurious
- * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
- * Makefile.am (sc_perl_local): Also allow perl special variable
- `$~' to be localized. And be slightly laxer in the regexp, to
- allow for usages like "local $_ = $foo;".
- (sc_tests_overriding_macros_on_cmdline): Also allow for command
- line overriding of the `DISABLE_HARD_ERRORS' make variable. Try
- to avoid false positives for usages like "$MAKE || st=$?".
-
-2011-08-03 Bruno Haible <bruno@clisp.org>
-
- docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
- * doc/automake.texi (Program Variables): Recommend -I options to
- both the build directory and the source directory when needed.
-
-2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: relax a test on amhello examples to cater to Solaris tar
- * tests/amhello-binpkg.test: When the tar implementation in use
- is not GNU tar, relax the tests on tar output, to avoid spurious
- failures. For example, "tar cvf ..." with GNU tar can output
- lines like "./usr/bin/hello" on the standard output, while with
- Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
- standard output, and with Heirloom tar it can output lines like
- "a ./usr/bin/hello 15 tape blocks" on standard error.
-
-2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: function 'is_newest' now works also with directories
- * tests/defs (is_newest): Call `find' with the `-prune' option,
- so that it won't descend in the directories (which could cause
- spurious results).
- * tests/self-check-is_newest: Extend accordingly.
- From a report by Jim Meyering, see automake bug#9147.
-
-2011-07-15 Benoit Sigoure <tsunanet@gmail.com>
-
- docs: add references between the 2 sections on java support
- * doc/automake.texi (Java Support, Java): Add cross-references.
-
-2011-07-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Sync auxiliary files from upstream.
- * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
- lib/texinfo.tex: Sync from upstream.
-
-2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix weakness in 'tests-environment-backcompat.test'
- * tests/tests-environment-backcompat.test: Do not override the
- content of xfailing test `baz.test' with a "weaker" version that
- fails unconditionally: the test must fail only when the 'strict'
- pragma is in use, in order not to reduce coverage.
-
-2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs, tests: synchronize examples on silent-rules from config.site
- * doc/automake.texi (Automake silent-rules Option): Reference test
- 'silent-configsite.test' in comments.
-
-2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: portability fixes in tests on amhello examples
- * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
- extract a gzip-compressed tarball, that's unportable to some
- tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
- idiom instead.
- * tests/amhello-cflags.test: Likewise.
- * tests/amhello-cross-compile.test: Likewise.
- Suggestion from Ralf Wildenhues.
-
-2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- remake: add test ensuring that slower remakes don't hang
- * tests/remake-subdir-long-time.test: New test.
- * tests/Makefile.am (TESTS): Update.
- Suggestion by Ralf Wildenhues.
-
-2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- remake: fix outdated comment in configure.am
- * lib/am/configure.am: Fix comment falsified by changes in
- commit `v1.11-366-gbee9871'.
- Suggestion by Ralf Wildenhues.
-
-2011-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs, tests: synchronize examples from docs to tests
- * tests/README (Writing test cases): Give suggestions on how to
- keep test cases and examples in the documentation synchronized.
- * doc/automake.texi: Improve or fix existing testcase-referencing
- comments, and add many new ones.
- * HACKING (Administrivia): Suggest to test complex examples and
- idioms from the manual.
- * tests/specflg8.test: Improve synchronization with the example
- in the manual.
- * tests/output11.test:Likewise.
- * tests/txinfo21.test:Likewise.
- * tests/interp.test: Likewise.
- * tests/amhello-cflags.test: New test.
- * tests/amhello-cross-compile.test: Likewise.
- * tests/amhello-binpkg.test: Likewise.
- * tests/tests-environment-backcompat.test: Likewise.
- * tests/parallel-tests-log-compiler-example.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: new test on parallel-tests TESTS runtime overriding
- * tests/parallel-tests-cmdline-override.test: New test, check that
- we can use indirections when overriding TESTS and TEST_LOGS from
- the command line.
- * tests/Makefile.am (TESTS): Update.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- gitignore: ignore `*.trs' files in lib/Automake/tests
- * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: list another "forgotten" test script in Makefile.am
- * tests/Makefile.am (TESTS): Also list test script
- `test-driver-trs-suffix-registered.test'; it had been introduced
- in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
- to the list of tests in the Makefile back then.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: list "forgotten" test script in Makefile.am
- * tests/Makefile.am (TESTS): Also list the test script
- `parallel-tests-no-color-in-log.test'; it had been introduced in
- commit `v1.11-899-geaac33f', but by mistake it wasn't added to
- the list of tests in the Makefile back then.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: remove duplicated mention of a test in Makefile.am
- * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
- it is already listed in `$(tap_with_common_setup_tests)'.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: one more use of TAP in our own tests
- * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
- into ...
- * tests/tap-bad-prog.tap: ... this TAP-generating test.
- * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
- and plan-bad-prog2.test.
- (XFAIL_TESTS): Remove plan-bad-prog2.test.
- (plan-bad-prog2.log): Remove.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: scaffolding to allow use of TAP in our own tests
- Now that Automake has initial support for the TAP test protocol,
- we can start "eating our own dog food" and rewrite some tests to
- use TAP; this should allow for better granularity, especially in
- the control of skips and expected failures. With this change, we
- set up the initial scaffolding required by the planned TAP tests,
- and convert few older tests to use TAP, mostly in order to verify
- that there are no obvious errors. The tests in our testsuite that
- use the TAP protocol will be marked by the new `.tap' extension.
- * tests/plain-functions.sh: New file containing definition of
- helper shell functions used by the "protocol-less" tests of the
- Automake testsuite.
- * tests/tap-functions.sh: New file containing definition of
- helper shell functions used by the TAP-producing tests of the
- Automake testsuite.
- * tests/defs: Remove definitions of some functions that are
- now defined in `plain-functions.sh'. Instead, source one of
- `plain-functions.sh' or `tap-functions.sh', depending on whether
- `$use_tap' is set to "no" or "yes".
- (exit trap): Call `late_plan_' if `$use_tap' is true. Also,
- unset shell traces before issuing the latest commands, to avoid
- confusing the tap driver with spurious output.
- * tests/defs-static.in ($use_tap): New variable, by default set
- to "yes" if the calling test script has a `.tap' suffix, and to
- "no" otherwise. The individual scripts can override it though.
- In code sanity-checking the environment, verify that `$use_tap'
- is not exported.
- * tests/self-check-env-sanitize.test: Update, and small related
- reformatting.
- * tests/self-check-tap.test: New very minimal self test.
- * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
- tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
- Removed, merged into ...
- * tests/ac-output-old.tap: ... this new test, that uses TAP.
- * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
- `tap-driver' script.
- (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
- and stderr of the test scripts remains synced.
- (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
- the `.test' suffix explicitly.
- (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
- `tap-functions.sh'.
- ($(TEST_LOGS)): Depends on them.
- (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
- the environment of the tests.
- (TESTS): Update.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: Fix typo, and related reformatting.
-
-2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: add mention of new experimental TAP support
-
-2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: rename some test scripts
- * tests/parallel-tests-am_tests_environment.test: Renamed ...
- * tests/am-tests-environment.test: ... to this.
- * tests/check-tests_environment.test: Renamed ...
- * tests/tests-environment.test: ... to this.
- * tests/parallel-test-driver-install.test: Renamed ...
- * tests/parallel-tests-driver-install.test: ... to this.
- * tests/parallel-tests-make-n.test: Renamed ...
- * tests/parallel-tests-dry-run.test: ... to this.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
- * tests/parallel-tests-extra-programs.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * doc/automake.texi (Parallel Test Harness): Add a comment
- pointing to the new test.
-
-2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: improve, extend and fix documentation on TAP support
- * doc/automake.texi ("Using the TAP test protocol"): Divide this
- section into ...
- ("Introduction to TAP", "Use TAP with the Automake test harness",
- "Incompatibilities with other TAP parsers and drivers", "Links
- and external resources"): ... these subsections, extend them by
- adding more information and examples, and improve them by removing
- incomplete and/or temporary wordings and TODO items.
- ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
- of anchors to improve the granularity of cross-references.
- * tests/tap-doc2.test: New test, verifying the correctness of the
- new examples given in the manual.
- * tests/Makefile.am (tap_other_tests): Add the new test.
-
-2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: separate the only failing check of an xfailing test
- * tests/plan-bad-prog.test: Move the only failing check of this
- test (i.e., the one about the total number of "ERROR" outcomes)
- into ...
- * tests/plan-bad-prog2.test: ... this new test.
- * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
- add `plan-bad-prog2.test'.
- (tap_other_tests): Add `plan-bad-prog2.test'.
- (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
-
-2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix spurious errors in an xfailing test on TAP support
- * tests/plan-bad-prog.test: Fix typo in the name of the test
- being made unreadable. Correct the wording of the potential
- skip message, and simplify the condition under which the test
- is to be skipped. Escape literal dots in grep regexps.
-
-2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: better granularity in a couple of tests on TAP support
- * tests/tap-summary-aux.sh: New auxiliary script, filled with code
- moved out from ...
- * tests/tap-summary.test: ... this test, from which the checks on
- colored testsuite have further been moved into ...
- * tests/tap-summary-color.test: ... this new test, which in turn
- * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
- (EXTRA_DIST): Distribute `tap-summary-aux.sh'
- (tap-summary.log): Depend on `tap-summary-aux.sh'.
- (tap-summary-color.log): Likewise.
-
-2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: optimize tests on TAP for speed and against duplication
- The creation and configuration of common files and data used by
- many tests on TAP is, with this change, factored out into a new
- dedicated auxiliary test, from which those tests will depend upon.
- This reduces code duplication in tests and, more importantly,
- offers a noticeable speedup in the involved tests (30-40%).
- * tests/tap-common-setup.test: New test, setting up the common
- files and data used by various tests on TAP support.
- * tests/tap-setup.sh: New file, to be sourced by tests wanting to
- bring in data generated by `tap-common-setup.test'.
- * tests/tap-autonumber.test: Update to use the pre-computed data
- files.
- * tests/tap-bailout.test: Likewise.
- * tests/tap-color.test: Likewise.
- * tests/tap-deps.test: Likewise.
- * tests/tap-diagnostic.test: Likewise.
- * tests/tap-empty-diagnostic.test: Likewise.
- * tests/tap-empty.test: Likewise.
- * tests/tap-escape-directive.test: Likewise.
- * tests/tap-exit.test: Likewise.
- * tests/tap-signal.test: Likewise.
- * tests/tap-fancy.test: Likewise.
- * tests/tap-fancy2.test: Likewise.
- * tests/tap-global-log.test: Likewise.
- * tests/tap-global-result.test: Likewise.
- * tests/tap-html.test: Likewise.
- * tests/tap-log.test: Likewise.
- * tests/tap-merge-stdout-stderr.test: Likewise.
- * tests/tap-no-merge-stdout-stderr.test: Likewise.
- * tests/tap-message-0.test: Likewise.
- * tests/tap-no-disable-hard-error.test: Likewise.
- * tests/tap-no-spurious-summary.test: Likewise.
- * tests/tap-no-spurious.test: Likewise.
- * tests/tap-not-ok-skip.test: Likewise.
- * tests/tap-numeric-description.test: Likewise.
- * tests/tap-out-of-order.test: Likewise.
- * tests/tap-passthrough.test: Likewise.
- * tests/tap-passthrough-exit.test: Likewise.
- * tests/tap-plan.test: Likewise.
- * tests/tap-plan-corner.test: Likewise.
- * tests/tap-plan-corner2.test: Likewise.
- * tests/tap-plan-errors.test: Likewise.
- * tests/tap-realtime.test: Likewise.
- * tests/tap-recheck-logs.test: Likewise.
- * tests/tap-skip-whole.test: Likewise.
- * tests/tap-todo-skip-together.test: Likewise.
- * tests/tap-todo-skip-whitespace.test: Likewise.
- * tests/tap-todo-skip.test: Likewise.
- * tests/tap-unplanned.test: Likewise.
- * tests/tap-with-and-without-number.test: Likewise.
- * tests/tap-xfail-tests.test: Likewise.
- * tests/tap-skip-whole-whitespace.test: Likewise, and remove
- redundant definitions of `$sp' and `$tab' (they are already
- defined in `tests/defs').
- * tests/tap-whitespace-normalization.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- (EXTRA_DIST): Distribute `tap-setup.sh'.
- (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
- variables, holding respectively the list of tests using the files
- pre-computed by `tap-common-setup.test', and the list of their
- corresponding log files.
- (tap_other_tests): New variable, holding the list of other tests
- on TAP support.
- ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
- and `tap-setup.sh'.
-
-2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: use new `.trs' files to hold test metadata
- With this change, the test harness will keep test metadata in
- dedicated `.trs' files, instead of having them embedded into the
- `.log' files. This allows for easier forward-compatibility and
- extension of test metadata, and for more flexibility in the
- format of the `.log' files. Note that this change makes the
- `:end-metadata:' field obsolete.
- * doc/automake.texi (Parallel Test Harness, Log files generation
- and test results recording): Document the new APIs and behaviour;
- some related minor rewordings and fixlets.
- * NEWS: Update.
- * automake.in (handle_tests): When bringing in the content of
- `check2.am', substitute %BASE% with the basename of the `.log'
- file being created by a rule. Add the generated `.trs' files
- to the list of files to be cleaned by "make mostlyclean".
- * lib/am/check.am (am__test_driver_flags): Rename ...
- (am__common_driver_flags): ... to this, and remove the flags
- `--test-name' and `--log-file' from it: they are now define in
- the proper rules in `check2.am'.
- (am__TEST_BASES): New internal variable, holding the names of
- the tests, with any registered extension removed.
- (am__stealth_MAKE): New internal variable, can be used instead of
- $(MAKE) in recipes requiring a recursive call to make, but which
- are not intended to be executed by "make -n".
- (.log.trs): New suffix rule, to recover from deletion of `.trs'
- files.
- ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
- new API of "test logs in `.log' files, test metadata in `.trs'
- files". It goes to some length to work correctly in face of
- unreadable or missing `.log' and `.trs' files, and to error out
- with proper error messages when this is not possible.
- [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
- `.trs' files (in addition to `.log files) before remaking the
- $(TEST_SUITE_LOG).
- (recheck, recheck-html): Look for the `:recheck:' field in the
- `.trs' files, not in the `.log' files.
- * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
- the call to the test driver, in particularly passing the new
- option `--trs-file'.
- [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
- * lib/tap-driver ($USAGE): Adjust the help screen.
- (Getopt::Long::GetOptions): Handle the `--trs-file' option,
- through the use of ...
- ($trs_file): ... this new global variable.
- (finish): Write metadata for the test run to `$trs_file' rather
- then to `$log_file', through the use of ...
- (write_test_results): ... this new function.
- * lib/test-driver (print_usage): Update the help screen.
- (Option parsing): Handle the `--trs-file' option, through the
- use of ...
- ($resfile): ... this new global variable.
- (Main code): Write metadata for the test run to `$trsfile' rather
- than to `$logfile'.
- Minor related adjustments to comments.
- * tests/.gitignore: Ignore `*.trs' files.
- * tests/parallel-tests-unreadable-log.test: Moved ...
- * tests/parallel-tests-unreadable.test: ... to this, and extended
- to also check the semantics for unreadable `.trs' files.
- * tests/test-driver-end-metadata.test: Deleted as obsolete.
- * tests/test-driver-metadata-no-leading-space.test: Likewise.
- * tests/test-driver-global-log.test: Renamed ...
- * tests/test-metadata-global-log.test: ... to this, and modified
- as to verify the new APIs and semantics.
- * tests/test-driver-recheck: Renamed ...
- * tests/test-metadata-recheck.test: ... to this, and modified
- likewise.
- * tests/parallel-tests-once.test: New test.
- * tests/parallel-tests-make-n.test: Likewise.
- * test-metadata-results.test: Likewise.
- * test-missing.test: Likewise.
- * test-missing2.test: Likewise.
- * test-trs-basic.test: Likewise.
- * test-trs-recover.test: Likewise.
- * test-trs-recover2.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test harness: allow more metadata in log files
- This change reworks and improves the parallel test harness to use
- more specialized reStructuredText fields in the log files (instead
- of relying on specially-placed of "magic lines" and more indirect
- semantical formatting); the new fields are the following:
- - ":recheck:": tell whether the associated test will have to be
- re-run by "make recheck";
- - ":copy-in-global-log:": tell whether the content of the log
- file should be copied in the "global log" `test-suite.log';
- - ":end-metadata:", which inhibits the scanning of the rest of
- the log file (for what concerns test metadata).
- Also, the special `:test-result:' value "END" has been removed,
- superseded by the new `:end-metadata:' field.
- * doc/automake.texi (Log files generation and test results
- recording): Document the new API and semantics. Remove or fix
- some obsolete comments.
- * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
- Adjust comments and code.
- * lib/tap-driver (finish): Adjust, with the help of ...
- (must_recheck, copy_in_global_log): ... these new functions.
- * lib/test-driver (Main code): Adjust, with the help of ...
- ($recheck, $gcopy): ... these new variables.
- * tests/trivial-test-driver: Update to obey the new APIs.
- * tests/test-driver-recheck.test: Likewise.
- * tests/test-driver-global-log.test: Likewise.
- * tests/tap-passthrough.test: Relax the test, avoiding to check
- what is written in `test-suite.log'; such check has been moved ...
- * tests/tap-global-log.test: ... in this new test, and extended.
- * tests/test-driver-metadata-no-leading-space.test: New test.
- * tests/test-driver-end-test-results.test: Removed, it checked
- the old APIs; superseded by ...
- * tests/test-driver-end-metadata.test: ... this new test.
- * tests/tap-log.test: Improve syncing with ...
- * tests/test-log.test: ... this new test.
- * tests/parallel-tests.test: Remove some duplication w.r.t. this
- last new test. Updated heading comments.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix a spurious failure with non-bash shells
- * tests/tap-fancy2.test: Remove an unportable use of backslashes
- with the `echo' builtin, which was causing some shells (among them
- bash and Debian /bin/ksh) to print a `\\' string, while other
- shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
- were unexpectedly printing a single `\' character. Since we are
- at it, add a sanity check to ensure that this issue does not
- resurface.
-
-2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: fix spurious failures with Solaris /bin/sh
- * tests/tap-more.test: Use `echo > file', not `: > file', to
- create empty files in the "for" loops; this is required since,
- as documented in the autoconf manual, Solaris 10 /bin/sh
- "optimizes" away the `:' command after the first iteration,
- even if it is redirected.
- * tests/test-driver-custom-multitest-recheck2.test: Likewise.
- * tests/tap-numeric-description.test: Partial rewrite to avoid
- using positional parameters from the 10th onward, which are
- unportable to Solaris /bin/sh (using `${10}' causes the shell
- to die with "bad substitution").
-
-2011-07-31 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- simple tests: support developer-defined fd redirections
- Motivated by coreutils bug#8846, and related discussions:
- <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
- <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
- In those threads it has been shown how problematic it can be to do
- portable file descriptor redirections in the testsuite when using
- the Automake testsuite harness. This change should remedy to that
- situation.
- * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
- ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
- in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
- test scripts.
- * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
- * NEWS: Update.
- * doc/automake.texi (Script-based Testsuites): Document the new
- feature.
- * tests/check-fd-redirect.test: New test.
- * tests/parallel-tests-fd-redirect.test: Likewise.
- * tests/parallel-tests-am_tests_environment.test: Remove checks
- about the use of redirections in AM_TESTS_ENVIRONMENT: they would
- check deprecated (if not undefined) behaviour now. Strengthen a
- couple of still valid checks, to keep the test more in sync with
- the documentation. Improve debugging information.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: rework and extend documentation on testsuites support
- * doc/automake.texi (Generalities about Testing): New section.
- (Simple Tests using parallel-tests): Section removed, merged
- into ...
- (Simple Tests): ... this one, which on the other hand has been
- subdivided into ...
- (Script-based Testsuites, Serial Test Harness, Parallel Test
- Harness): ... these new subsection.
- (DejaGnu Tests): Minor adjustments.
- Other related typofixes and rewordings throughout the manual;
- in particular, avoid to use the term "test driver" for three
- different concepts (and use instead "test harness" and "test
- runner" where appropriate).
- * tests/tap-doc.test: New test.
- * tests/tap-no-disable-hard-error.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: support colorization of testsuite progress output
- * lib/tap-driver (%COLORS): New variable (definition extracted
- from `lib/am/check.am:$(am__tty_colors)', with some obvious
- adjustments.
- (report): Adjust to colorize console output when required,
- using ...
- (decorate_result): ... this new function.
- (colored): New function, used by the one above.
- * tests/tap-summary.test: Also run the checks when `color-tests'
- is in use.
- * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
-
-2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: some preparatory refactoring (2)
- This is a follow-up simplification.
- * lib/tap-driver (console_output): Renamed ...
- (report): ... to this, and extended to appropriately register
- the test results when needed.
- (testsuite_error, handle_tap_comment, handle_tap_test,
- handle_tap_plan): Adjusted accordingly.
-
-2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: some preparatory refactoring (1)
- This refactoring is aimed at simplifying the introduction of
- colored console output for the TAP driver.
- * lib/tap-driver (console_output): Now accept two arguments, the
- first one indicating which kind of thing is to be displayed (for
- now only a test result or a diagnostic comment), and the second
- one (if present) the message associated to it.
- (handle_tap_test, handle_tap_comment, handle_tap_plan,
- testsuite_error): Adapt to the new `console_output' interface.
-
-2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tap: add experimental TAP-aware driver
- * doc/automake.texi (Using the TAP test protocol): New section.
- (Overview of Custom Test Drivers Support): Minor updates.
- * lib/tap-driver: New script, TAP-aware test driver for Automake;
- implemented in perl and based on TAP::Parser.
- * lib/Makefile.am (dist_script_DATA): Add it.
- * tests/tap-autonumber.test: New test.
- * tests/tap-bailout.test: Likewise.
- * tests/tap-basic.test: Likewise.
- * tests/tap-deps.test: Likewise.
- * tests/tap-diagnostic.test: Likewise.
- * tests/tap-empty.test: Likewise.
- * tests/tap-empty-diagnostic.test: Likewise.
- * tests/tap-escape-directive.test: Likewise.
- * tests/tap-exit.test: Likewise.
- * tests/tap-fancy.test: Likewise.
- * tests/tap-fancy2.test: Likewise.
- * tests/tap-global-result.test: Likewise.
- * tests/tap-html.test: Likewise.
- * tests/tap-log.test: Likewise.
- * tests/tap-merge-stdout-stderr.test: Likewise.
- * tests/tap-more.test: Likewise.
- * tests/tap-more2.test: Likewise.
- * tests/tap-no-merge-stdout-stderr.test: Likewise.
- * tests/tap-no-spurious-summary.test: Likewise.
- * tests/tap-no-spurious.test: Likewise.
- * tests/tap-not-ok-skip.test: Likewise.
- * tests/tap-numeric-description.test: Likewise.
- * tests/tap-out-of-order.test: Likewise.
- * tests/tap-passthrough.test: Likewise.
- * tests/tap-plan.test: Likewise.
- * tests/tap-plan-errors.test: Likewise.
- * tests/tap-plan-corner.test: Likewise.
- * tests/tap-realtime.test: Likewise.
- * tests/tap-recheck-logs.test: Likewise.
- * tests/tap-recheck.test: Likewise.
- * tests/tap-skip-whole.test: Likewise.
- * tests/tap-summary.test: Likewise.
- * tests/tap-todo-skip.test: Likewise.
- * tests/tap-todo-skip-together.test: Likewise.
- * tests/tap-todo-skip-whitespace.test: Likewise.
- * tests/tap-skipall-whitespace.test: Likewise.
- * tests/tap-unplanned.test: Likewise.
- * tests/tap-whitespace-normalization.test: Likewise.
- * tests/tap-with-and-without-number.test: Likewise.
- * tests/tap-xfail-tests.test: Likewise.
- * tests/tap-bad-prog.test: New xfailing test.
- * tests/tap-color.test: Likewise.
- * tests/tap-plan-corner2.test: Likewise.
- * tests/tap-message-0.test: Likewise.
- * tests/tap-signal.test: Likewise.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
-2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new auxiliary function 'count_test_results'
- * tests/defs (count_test_results): New function.
- * tests/check11.test: Use it.
- * tests/test-driver-custom-multitest.test: Likewise.
- * tests/test-driver-custom-multitest-recheck.test: Likewise.
- * tests/test-driver-custom-multitest-recheck2.test: Likewise.
- * tests/parallel-tests-log-override-recheck.test: Likewise.
- * tests/parallel-tests-log-override-recheck.test: Likewise.
- * tests/parallel-tests-no-spurious-summary.test: Likewise, and
- slightly improve debugging output.
- * tests/parallel-tests.test: Make use of `count_test_results'.
- Also, make grepping of "make check" output slightly stricter
- * tests/parallel-tests9.test: Likewise.
- * tests/parallel-tests-log-override-2.test: Likewise, and throw
- in a small optimization.
-
-2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: simplify testsuite summary
- Prefer a more deterministic, "tabular" format for the testsuite
- summary, always listing the numbers of passed, failed, xfailed,
- xpassed, skipped and errored tests, even when these numbers are
- zero. This simplify the logic of testsuite summary creation,
- makes it more easily machine-parseable, and will probably allow
- for easier addition of new kinds of test results in the future.
- * lib/am/check.am (am__tty_colors_dummy): New make variable, to
- reduce code duplication. Extracted from previous versions of
- $(am__tty_colors), and extended by defining two new variables
- `$mgn' and `$brg'.
- [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
- (am__text_box): Delete, is not needed anymore.
- ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
- new testsuite summary format.
- * NEWS: Update.
- * tests/check10.test: Don't run with the parallel-tests harness
- too, that makes no sense anymore.
- * tests/color.test: Update and adjust.
- * tests/color2.test: Likewise.
- * tests/parallel-tests.test: Likewise.
- * tests/parallel-tests3.test: Likewise.
- * tests/parallel-tests6.test: Likewise.
- * tests/parallel-tests9.test: Likewise.
- * tests/parallel-tests-unreadable-log.test: Likewise.
- * tests/parallel-tests-empty-testlogs.test: Likewise.
- * tests/parallel-tests-log-override-recheck.test: Likewise.
- * tests/parallel-tests-no-spurious-summary.test: Likewise.
- * tests/test-driver-custom-multitest.test: Likewise.
- * tests/test-driver-end-test-results.test: Likewise.
- * tests/parallel-tests-no-color-in-log.test: New test.
- * tests/testsuite-summary-color.test: Likewise.
- * tests/testsuite-summary-count.test: Likewise.
- * tests/testsuite-summary-count-many.test: Likewise.
- * tests/testsuite-summary-reference-log.test: Likewise.
- * tests/testsuite-summary-checks.sh: New auxiliary script, used
- by the new tests above.
- * tests/extract-testsuite-summary: Likewise.
- * tests/trivial-test-driver: Optimize for speed when there are
- lots of of tests.
- * tests/Makefile.am (EXTRA_DIST): Distribute them.
- (testsuite-summary-color.log, testsuite-summary-count.log): Depend
- on them.
- (testsuite-summary-count-many.log): Depend on the auxiliary scripts
- 'trivial-test-driver' and 'extract-testsuite-summary'.
- (TESTS): Update.
-
-2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: new recognized test result 'ERROR'
- * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
- `ERROR'. Use it when encountering unreadable test logs (previously
- a simple `FAIL' was used in this situations).
- * lib/test-driver: Set the global test result to `ERROR' when the
- test exit status is 99. When doing colorized output, color `ERROR'
- results in magenta.
- * doc/automake.texi (Log files generation and test results
- recording): Update by listing `ERROR' too among the list of valid
- `:test-results:' arguments.
- * NEWS: Update.
- * tests/trivial-test-driver: Update.
- * tests/parallel-tests.test: Likewise.
- * tests/parallel-tests-harderror.test: Likewise.
- * tests/parallel-tests-no-spurious-summary.test: Likewise.
- * tests/test-driver-global-log.test: Likewise.
- * tests/test-driver-recheck.test: Likewise.
- * tests/test-driver-custom-multitest-recheck.test: Likewise.
- * tests/test-driver-custom-multitest-recheck2.test: Likewise.
- * tests/test-driver-custom-multitest.test: Likewise.
- * tests/test-driver-custom-no-html.test: Likewise.
- * tests/test-driver-end-test-results.test: Likewise.
- * tests/color.test: Likewise. Also, make stricter, and also test
- from VPATH.
- * tests/color2.test: Likewise, and improve syncing with color.test.
- * tests/parallel-tests-exit-statuses.test: New test.
- * tests/parallel-tests-console-output.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: make parsing of test results safer
- The new code for parsing the testsuite-generated `.log' files,
- as introduced in commit `v1.11-872-gc96b881', considers each
- `:test-result:' field anywhere in a `.log' file as a declaration
- of a test result, and accounts for it as such in the testsuite
- summary. Unfortunately this could easily cause spurious test
- failures being reported in the testsuite summary. This happened
- in practice with the Automake's own testsuite; for example:
- $ make check TESTS='check12-p.test'; echo exit: $?
- ...
- PASS: check12-p.test
- =====================================
- 4 of 5 tests failed
- See tests/test-suite.log
- Please report to bug-automake@gnu.org
- =====================================
- make[2]: *** [test-suite.log] Error 1
- make: *** [check-am] Error 2
- exit: 2
- This change introduces a new special `:test-result:' "END", that,
- when seen, prevents the rest of the log file from being parsed.
- For more information, refer to the thread:
- <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
- * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
- file as soon as the special ":test-result:END" directive is seen.
- Related changes and enhancements.
- * lib/test-driver: Protect the rest of the log after the result
- lined with a ":test-result:END" directive.
- * doc/automake.texi (Log files generation and test results
- recording): Update, and related improvements.
- * tests/parallel-tests-no-spurious-summary.test: New test.
- * tests/test-driver-end-test-results.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: document custom test drivers and protocols
- * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
- use suggested here is not portable to 'parallel-tests'.
- (Simple Tests using parallel-tests): Document new restrictions on
- the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
- (Custom Test Drivers): New section and node.
- (Overview of Custom Test Drivers Support): New subsection.
- (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
- (APIs for Custom Test Drivers): Likewise.
- (Options): Update description of color-tests.
- * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
- moved into the manual.
- (recheck, recheck-html): Minor adjustments to better conform to the
- documentation (this should cause no semantic changes w.r.t. the
- former behaviour); minor improvements and extensions to existing
- comments.
- * tests/test-driver-create-log-dir.test: New test.
- * tests/test-driver-strip-vpath.test: Likewise.
- * tests/test-driver-global-log.test: Likewise.
- * tests/test-driver-recheck.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: small enhancement to 'primary3.test'
- * tests/primary3.test: Also test that the program named `foo.la'
- has been effectively created.
-
-2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: a small simplification in 'pr8365-remake-timing.test'
- * tests/pr8365-remake-timing.test: Avoid redundant definition
- and use of `$save_AUTOCONF' variable.
-
-2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove an extra leading blank line
- * tests/override-conditional-1.test: Remove extra blank line
- placed before the shebang line.
-
-2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix typos, grammaros and other blunders in comments
- All affected files changed.
-
-2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new subroutine 'seq_', simulating GNU seq(1)
- * tests/defs (seq_): New subroutine.
- * tests/instmany.test: Use it.
- * tests/instmany-mans.test: Likewise.
- * tests/instmany-python.test: Likewise.
- * tests/self-check-seq.test: New self test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove duplication about testing of config.* aux files
- * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
- autoconf macro causes the `config.sub' and `config.guess' scripts
- to be installed by `automake --add-missing'. Since we are at it,
- fix minor buglets and cosmetic issues in the `check_' function.
- * tests/hosts.test: Removed, completely subsumed by the previous
- test now.
- * tests/Makefile.am (TESTS): Update.
-
-2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more uses of the 'unindent' subroutine
- * tests/backcompat.test: Prefer `unindent' over plain `cat' for
- here documents created from within a loop of if/else body.
- * tests/backcompat2.test: Likewise.
- * tests/backcompat4.test: Likewise.
- * tests/init.test: Likewise.
- * tests/instmany.test: Likewise.
- * tests/instmany-mans.test: Likewise.
- * tests/instmany-python.test: Likewise.
- * tests/missing5.test: Likewise.
- * tests/parallel-am2.test : Likewise.
- * tests/parallel-am3.test : Likewise.
- * tests/pr307.test: Likewise.
- * tests/depend4.test: Likewise. Since we are at it, normalize
- other code formatting.
- * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
- inside a for loop.
-
-2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid '##'-style comments inside recipe commands
- * tests/autodist.test: Do not whitespace-indent `##' comments when
- they are embedded in a makefile rule: having them indented is not
- part of the Automake API, and might cause failures with e.g., Tru64
- make.
- * tests/autodist-subdir.test: Likewise.
- * tests/backcompat.test: Likewise.
- * tests/backcompat6.test: Likewise.
- * tests/colon7.test: Likewise.
- * tests/posixsubst-scripts.test: Likewise.
- * tests/posixsubst-sources.test: Likewise.
-
-2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: tweak, improve and extend tests on lisp support
- * tests/lisp2.test: Prettify, and improve debugging output. Make
- grepping of automake stderr stricter.
- * tests/lisp7.test: Ensure verbose printing of captured make
- output. Add trailing `:' command.
- * tests/lisp8.test: Likewise.
- * tests/lisp3.test: Likewise. Also, check that `.el' files and
- compiled `.elc' files get installed by "make install", and
- uninstalled by "make uninstall".
- * tests/lisp4.test: Ensure installed `.el' files gets removed by
- "make uninstall". Related changes. Add trailing `:' command.
- * tests/lisp5.test: Likewise.
- * tests/lisp6.test: Use proper m4 quoting in configure.in. Fix
- use of blank lines, to improve clarity and symmetry. Fix typo in
- comment. Add trailing `:' command.
-
-2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: drop useless requirement in 'license.test'
- * tests/license.test: Drop useless requirement "makeinfo". Add
- an extra blank line, for clarity.
-
-2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: more uses of $top_testsrcdir
- * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
- of `$testsrcdir/..'.
- * tests/repeated-options.test: Likewise.
- * tests/suffix5.test: Likewise.
- * tests/vtexi3.test: Likewise.
-
-2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: fix typo in comment
- * tests/self-check-exit.test: Fix typo in heading comments.
-
-2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant settings of `errexit' shell flag
- * tests/amhello-binpkg.test: Do not set the `errexit' shell
- flag, as it is already set by `tests/defs'.
- * tests/amhello-cflags.test: Likewise.
- * tests/amhello-cross-compile.test: Likewise.
- * tests/ansi2knr-deprecation.test: Likewise.
- * tests/autodist-no-duplicate.test: Likewise.
- * tests/distcheck-configure-flags-am.test: Likewise.
- * tests/distcheck-configure-flags-subpkg.test: Likewise.
- * tests/distcheck-configure-flags.test: Likewise.
- * tests/distcheck-hook.test: Likewise.
- * tests/distcheck-hook2.test: Likewise.
- * tests/parallel-tests-am_tests_environment.test: Likewise.
- * tests/parallel-tests-harderror.test: Likewise.
- * tests/parallel-tests-log-compiler-example.test: Likewise.
- * tests/parallel-tests-log-override-1.test: Likewise.
- * tests/parallel-tests-log-override-2.test: Likewise.
- * tests/parallel-tests-log-override-recheck.test: Likewise.
- * tests/primary-prefix-couples-documented-valid.test: Likewise.
- * tests/primary-prefix-couples-force-valid.test: Likewise.
- * tests/primary-prefix-invalid-couples.test: Likewise.
- * tests/primary-prefix-valid-couples.test: Likewise.
- * tests/remake-subdir-from-subdir.test: Likewise.
- * tests/remake-subdir-gnu.test: Likewise.
- * tests/remake-subdir-long-time.test: Likewise.
- * tests/remake-subdir.test: Likewise.
- * tests/remake-subdir2.test: Likewise.
- * tests/silent-configsite.test: Likewise.
- * tests/tests-environment-backcompat.test: Likewise.
-
-2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
- * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
- related adjustments.
- Suggestion by Ralf Wildenhues.
-
-2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
- * doc/automake.texi (Simple Tests using parallel-tests): The
- old example on AM_TESTS_ENVIRONMENT relied on unportable shell
- features, and in particular didn't work with various Korn
- Shells (see also commit `v1.11-925-g29ca903'). Give another
- example, simpler this time, but still inspired to real-world
- usage (the GNU coreutils testsuite).
-
-2011-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc tests: fix bug in 'yacc-cxx.test'
- * tests/yacc-cxx.test: Enable `errexit' shell flag (the lack of
- which was masking the bug).
- (bar.cxx): Rename to ...
- (bar2.cxx): ... this, otherwise automake will (correctly) complain
- that object `bar.o' is created by both `bar.cxx' and `bar.c++'.
- (Makefile.am): Adjust.
-
-2011-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: fix spurious link errors on Solaris
- On Solaris 10, linking of lex-generated programs was failing in a
- couple of lex tests with errors like this:
- g++ -g -O2 -o joe joe.o -ll
- Undefined symbol first referenced in file
- yywrap() joe.o
- ld: fatal: Symbol referencing errors. No output written to joe
- collect2: ld returned 1 exit status
- This change fixes it, also fixing at once potential problems for
- systems that don't have a "lex library" (this happens for example
- when cross-compiling from GNU/Linux to MinGW).
- * tests/lex-depend-cxx.test (joe.ll, moe.l++): Define a dummy
- `yywrap()' function.
- * tests/lex-clean-cxx.test (mainfoo.cc, mainbar.cpp, mainbaz.c++,
- mainqux.cxx): Likewise.
-
-2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: avoid a footnote, some related rewordings and improvements
- * doc/automake.texi (Dist): Reword the part about automatically
- distributed files to avoid a footnote. Since we are at it, extend
- a bit, and add an example and a reference to a relevant test case.
-
-2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: minor cosmetic fixes
- * doc/automake.texi: Break few overly long lines, throughout the
- file.
- ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
- position, i.e., before and not after the paragraph where it is
- introduced.
- ("Options" @item ansi2knr): Use @pxref instead of @xref. This
- fixes a texinfo warning.
- ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
- @pxref instead of @ref.
-
-2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- help: improve text about automatically-distributed files
- This change fixes automake bug#7819.
- * automake.in (usage): Distinguish between files that are always
- automatically distributed when found, and those which are only
- "under certain conditions".
- * doc/automake.texi (Basics of Distribution): Update accordingly.
- * tests/autodist-subdir.test: Update.
- * tests/autodist-no-duplicate.test: Likewise.
- * tests/autodist.test: Likewise.
- (configure.in): Remove useless call to AM_MAINTAINER_MODE.
-
-2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- refactor: split 'usage' subroutine in automake
- This change is related to automake bug#7819.
- * automake.in (print_autodist_files): New subroutine,
- extracted from ...
- (usage): ... this, which now uses it.
- * tests/autodist-no-duplicate.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix bug in 'autodist.test'
- * tests/autodist.test: Avoid spurious failure due to no
- `defs-static' file being found in the parent directory.
-
-2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: allow each test to have multiple results
- With this change, we improve the code creating the `test-suite.log'
- global log and the console testsuite summary to make it able to
- grasp multiple results per test script. This is required in order
- to introduce the planned support for test protocols, like TAP and
- SubUnit, which can indeed run multiple tests per test script, each
- with its individual result.
- The implementation makes use of a custom reStructuredText field
- `:test-result:'.
- Note that no new documentation is added by this change; that is
- be left for follow-up changes.
- * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
- recognize a report of a test's result only if it is declared with
- the custom `:test-result:' reStructuredText field placed at the
- beginning of a line. Extend and add explanatory comments.
- (recheck, recheck-html): Add explanatory comments.
- * lib/test-driver: Write an appropriate reStructuredText field
- `:test-result:' in the generated log file. Use a reStructuredText
- transition to better separate the test outcome report from the
- test script's registered output. Improve comments.
- * tests/test-driver-custom-xfail-tests.test: Adjust.
- * tests/parallel-tests7.test: Adjust.
- * tests/parallel-tests-empty-testlogs.test: New test.
- * tests/parallel-tests-recheck-override.test: Likewise.
- * tests/parallel-tests2.test: Extend and keep more in-sync with ...
- * tests/test-driver-custom-html.test: ... this new related test.
- * tests/test-driver-custom-no-html.test: New test.
- * tests/test-driver-custom-multitest.test: Likewise.
- * tests/test-driver-custom-multitest-recheck.test: Likewise.
- * tests/test-driver-custom-multitest-recheck2.test: Likewise.
- * tests/trivial-test-driver: New file, used by the last four tests
- above.
- * tests/Makefile.am (TESTS): Update.
- (EXTRA_DIST): Distribute `trivial-test-driver'.
- (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
- (test-driver-custom-multitest-recheck.log): Likewise.
- (test-driver-custom-multitest-recheck2.log): Likewise.
- (test-driver-custom-html.log): Likewise.
-
-2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: allow custom driver scripts
- Allow suffix-based definition of custom "driver script" for the
- test scripts. These driver scripts will be responsible of
- launching the tests (or their corresponding $(LOG_COMPILER), if
- they have an associated one), interpreting and displaying the
- test results, and writing the `.log' files.
- This new API should allow easy and flexible use of different
- test protocols in the future; in particular, we plan to use it
- to implement TAP and SubUnit harnesses.
- Note that no new documentation is added by this change; that is
- be left for follow-up changes.
- * automake.in (handle_tests): Define default for $(LOG_DRIVER),
- and, for any registered test extension `<ext>', define defaults
- for $(<ext>_LOG_DRIVER). Substitute %DRIVER% using these new
- variables, instead of the old internal $(am__test_driver). When
- processing check2.am, also substitute %DRIVER_FLAGS%.
- Require auxiliary script `test-driver' only if no driver has been
- explicitly defined for the test script kinds.
- * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
- ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
- * tests/parallel-tests-no-extra-driver.test: New test.
- * tests/test-driver-custom.test: Likewise.
- * tests/test-driver-custom-xfail-tests.test: Likewise.
- * tests/test-driver-fail.test: Likewise.
- * tests/Makefile.am: Update.
- * NEWS: Update.
-
-2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: add auxiliary script 'test-driver', refactor
- This refactoring should cause no API of functionality change,
- and is meant only to simplify the future implementation of TAP
- and SubUnit testsuite drivers. More precisely, our roadmap is
- to move most of the "testsuite driving" features out of the
- Automake-generated Makefiles, and into external scripts with
- well-defined interfaces. This will allow the user to define
- its own personalized testsuite drivers, and will also offer us
- a framework upon which to implement our new TAP and SubUnit
- drivers, all in a very unobtrusive way and retaining an high
- degree of code reuse and backward-compatibility.
- * lib/test-driver: New auxiliary script.
- * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
- * automake.in (handle_tests): Require the new auxiliary script
- `test-driver', and define a new internal makefile variable
- `$(am__test_driver)', used to call it. Perform new substitution
- on `DRIVER' when processing the `check2.am' file.
- * lib/check.am (am__tty_colors): Define new shell variable
- `$am__color_tests'.
- (am__rst_section): Removed, its role taken over by the new
- `test-driver' script.
- (am__test_driver_flags): New variable, contains the command
- line options passed to `test-driver'.
- (am__check_pre): Do not deal with temporary files and exit
- traps anymore, as the `test-driver' script takes care of that
- now. Define shell variable `$am__enable_hard_errors', used by
- `$(am__test_driver_flags)'. Reorder so that we don't need to
- save and restore the value of the `TERM' environment variable
- anymore.
- Other related adjustments.
- (am__check_post): Remove, as its role has been completely taken
- over by the `test-driver' script.
- * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
- ?!GENERIC?%OBJ%): Call the test script through the Automake
- substituted `%DRIVER%', and honor the command-line options
- in `$(am__test_driver_flags)'. Do not call the obsoleted
- `$(am__check_post)' anymore.
- * doc/automake.texi (Auxiliary Programs): Mention the new
- `test-driver' script.
- (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
- Since we are at it, break the list of auxiliary scripts by
- placing one per line, to simplify potential future additions
- of new scripts.
- * tests/check.test: Adjust.
- * tests/check2.test : Likewise.
- * tests/check3.test : Likewise.
- * tests/check4.test : Likewise.
- * tests/check10.test: Likewise.
- * tests/color.test: Likewise.
- * tests/color2.test: Likewise.
- * tests/comment9.test: Likewise.
- * tests/dejagnu.test: Likewise.
- * tests/exeext4.test: Likewise.
- * tests/maken3.test: Likewise.
- * tests/maken4.test: Likewise.
- * tests/parallel-tests-interrupt.test: Likewise.
- * tests/posixsubst-tests.test: Likewise.
- * tests/repeated-options.test: Likewise.
- * tests/check-no-test-driver.test: New test.
- * tests/parallel-test-driver-install.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: extend 'sc_tests_plain_*' checks
- * Makefile.am (sc_tests_plain_autom4te): New check.
- (sc_tests_plain_autoreconf): Likewise.
- (sc_tests_plain_autoheader): Likewise.
- (syntax_check_rules): Update.
-
-2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
- * tests/tests-environment-and-log-compiler.test: New test,
- checking that we can use variables and functions set by
- TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
- and LOG_FLAGS (for tests both with and without registered
- extensions).
- * tests/Makefile.am (TESTS): Update.
-
-2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: make 'subst-no-trailing-empty-line.test' more robust
- * tests/subst-no-trailing-empty-line.test: Strengthen existing
- checks, to try more scenarios and be slightly stricter in some
- grepping checks.
-
-2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix an incomplete comment
- * tests/subst-no-trailing-empty-line.test: Fix an incomplete
- comment, and move it to a more proper place. Minor cosmetic
- fixes to other comments.
-
-2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: avoid few more spurious failures
- * tests/depmod-data.test: Use creative quoting to avoid
- spuriously triggering the `sc_tests_Exit_not_exit' maintainer
- check. Commit `v1.11-900-g3453b8e' attempted to fix it, but
- succeeded only partially.
- * tests/cond33.test: Fix header comments, not to reference
- obsolescent make variable `$(mkdir_p)'.
- * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
- to please `sc_tests_overriding_macros_on_cmdline'
- * tests/cond19.test: Likewise.
- * tests/cond32.test: Likewise.
- * tests/add-missing.test: Use "AUTOMAKE_fails" instead of
- "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
-
-2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: avoid few spurious failures
- * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
- sc_tests_plain_autoconf, sc_tests_plain_automake,
- sc_tests_plain_autoupate): Be stricter in matching an erroneous
- literal command, i.e., `aclocal', `automake', `perl', etc.
-
-2011-06-20 Bert Wesarg <bert.wesarg@googlemail.com> (tiny change)
-
- check: don't use multi-line coloring for the report
- "less -R" can't handle multi-line coloring as it is done for the
- check reports of the serial and parallel testsuite, because of
- performance reasons. Thus, color each line of the check report
- by its own.
- * lib/am/check.am (am__text_box): Accept colors for lines, and
- color each line by its own.
- [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
- the line coloring.
- [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
- its own.
- * THANKS: Update.
-
-2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
- * doc/automake.texi (Checking the Distribution): Explain that the
- developers should take care of making their code buildable without
- requiring any special configure options, so that in general
- AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used. Give an example
- of where its use is legitimate.
- Suggestions from Ralf Wildenhues and Eric Blake.
-
-2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- ansi2knr: deprecate, it will go away in the next major release
- * doc/automake.texi: Loudly and repeatedly state that the old
- de-ANSI-fication features are now deprecated and will be removed
- in the next major Automake release. Other related adjustments.
- * lib/Automake/Options.pm (_process_option_list ): Give a warning
- in the `obsolete' category when the `ansi2knr' option is used.
- * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
- in the `obsolete' category will be emitted it if is used.
- * tests/ansi2knr-deprecation.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * tests/ansi.test: Adjust, by calling autoconf and/or automake
- with the `-Wno-obsolete' flag.
- * tests/ansi10.test: Likewise.
- * tests/ansi2.test: Likewise.
- * tests/ansi3.test: Likewise.
- * tests/ansi3b.test: Likewise.
- * tests/ansi4.test: Likewise.
- * tests/ansi5.test: Likewise.
- * tests/ansi6.test: Likewise.
- * tests/ansi7.test: Likewise.
- * tests/ansi8.test: Likewise.
- * tests/ansi9.test: Likewise.
- * tests/cxxansi.test: Likewise.
- * tests/libobj8.test: Likewise.
- * NEWS: Update about the future planned backward-incompatibility
- due to the removal of de-ANSI-fication feature.
-
-2011-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
- * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
- valid combination anymore, so don't document it. Inconsistency
- introduced in commit `v1.11-373-g9ca6326'.
-
-2011-06-19 Jim Meyering <meyering@redhat.com>
-
- docs: replace obsolete @vindex entry with a useful one
- * doc/automake.texi (Program Sources): Do not index obsolete
- pkglib_PROGRAMS here. Do index pkglibexec_PROGRAMS.
-
-2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
- * tests/tests-environment-fd-redirect.test: Extend by also using
- a perl script among the tests. Run the test shell script with
- the `errexit' flag active. Export `VERBOSE' to yes when running
- "make check", to give more debugging information in case of
- failures. Look for a Korn Shell also in `/usr/bin', not on only
- in `/bin'.
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: optimize tests on primary/prefix mismatch for speed
- * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
- order to use just a single automake invocation rather than one
- invocation for each invalid primary/prefix couple. This improves
- the test script execution time by an order of magnitude.
- Since we are at it, throw in some other improvements to avoid
- unrelated automake warnings and failures that could potentially
- cause false positives w.r.t. the automake exit status.
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
- * NEWS (Miscellaneous changes): Update.
-
-2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
- * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
- acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
- on the make command line. Update comments accordingly. Since we
- are at it, make the relevant grepping rules slightly tighter.
-
-2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
- * doc/automake.texi (Checking the Distribution): Suggest to use
- AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
- define (in the top-level Makefile.am) extra flags to be passed
- to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
- should be reserved for the user. Add proper `@vindex' directive.
- Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
- subpackage Makefile.am, but the flags in it are passed down to
- the configure script of the subpackage.
- * lib/am/distdir.am (distcheck): Also pass the flags in
- $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
- Update comments.
- * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
- DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
- the environment, they might improperly influence our testsuite.
- * tests/distcheck-configure-flags.test: New test.
- * tests/distcheck-configure-flags-am.test: Likewise.
- * tests/distcheck-configure-flags-subpkg.test: Likewise.
- * distcheck-hook.test: Likewise.
- * distcheck-hook2.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- Closes automake bug#8784.
-
-2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: better documentation for silent make rules
- * doc/automake.texi (Options): Detailed description of the
- automake option `silent-rules' moved from here ...
- (Silent Make): ... into this new chapter, expanded, improved,
- and subdivided into ...
- (Make verbosity, Tricks For Silencing Make,
- Automake silent-rules Option): ... these new sections.
- (@menu, @detailmenu): Update.
- * tests/silent-configsite.test: New test, checking that the
- user can control default mode of silent-rules from config.site,
- as is documented in the manual.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Warnings about primary/prefix mismatch fixed and extended.
- * automake.in (%standard_prefix): Add `doc' and `locale'.
- Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir',
- `pkgincludedir' and `pkglibexecdir'.
- (handle_programs): List `pkglibexec', not `pkglib', among the
- prefixes valid for the `PROGRAMS' primary.
- (handle_data): List also `doc' among the prefixes valid for
- the `DATA' primary. This is required by automake's own build
- system.
- * tests/dirforbid.test: Test removed, superseded by ...
- * tests/primary-prefix-invalid-couples.test: ... this new test.
- * tests/primary-prefix-valid-couples.test: New test.
- * tests/primary-prefix-couples-documented-valid.test: Likewise.
- * tests/primary-prefix-couples-force-valid.test: Likewise.
- * tests/java3.test: Adjusted, and extended a bit.
- * tests/Makefile.am (TESTS): Updated.
- * NEWS: Updated.
- From a report by Eric Blake.
-
-2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: check portable fd redirection in TESTS_ENVIRONMENT
- * tests/tests-environment-fd-redirect.test: New test.
- * tests/Makefile.am (TESTS): Update.
- Motivated by coreutils bug#8846:
- <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
- See also following CC:ed thread on bug-autoconf list:
- <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
-
-2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: make test 'self-check-reexec.test' more portable
- * tests/self-check-reexec.test: Rewrite not to require a Korn
- Shell able to grok variable expansions such as `${.sh.version}';
- Solaris 10 /bin/ksh fails on this for example. Instead, just
- require bash and a shell that is not bash.
-
-2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
- Jim Meyering <meyering@redhat.com>
-
- test defs: fix ksh-related portability bug in warning messages
- Running "make check" normally prints a diagnostic to the outermost
- stderr (usually a tty) to explain why a test is skipped, thus
- giving better and faster feedback to the user. It used to do
- so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
- before invoking the test scripts, which then would write any skip
- explanation to file descriptor 9 via the `skip_' function defined
- in `tests/defs'.
- However, various Korn Shells (at least Solaris 10's /bin/ksh and
- Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
- file descriptors > 2 upon an `exec' system call; thus the effects
- of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
- a "Bad file number" diagnostic and no skip explanation with those
- shells.
- The present change remedies this situation.
- * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
- via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add
- explanatory comments.
- * tests/defs (stderr_fileno_): Update the advice in comments.
- Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
- ksh-derived shells" in GNU coreutils.
- Further references, with lots of discussion:
- <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
- <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
- <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove 'test_prefer_config_shell' from the environment
- Since commit `v1.11-910-g7df1a9b', the once user-overridable
- variable `$test_prefer_config_shell' has become an internal
- detail, and the test scripts now complain and bail out if it is
- set in the environment.
- * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
- `test_prefer_config_shell' if it is set in the environment.
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: autogenerate list of wrapped tests for `lib/' shell scripts
- * tests/gen-config-shell-tests: New script, generates distributed
- makefile snippet `tests/config-shell-tests.am' to list all tests
- that use the `get_shell_script' function, with names mangled to
- use suffix `-w.shtst', in ...
- * tests/Makefile.am (config_shell_tests): ... this macro, whose
- definition has been consequently removed from Makefile.am.
- (EXTRA_DIST): Distribute the new script.
- ($(srcdir)/config-shell-tests.am): Generate using the new script.
- (include): Include the `config-shell-tests.am' fragment.
- * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
- `tests/config-shell-tests.am'.
- * tests/.gitignore: Ignore `config-shell-tests.am'.
- * tests/gen-parallel-tests: Fixlet in heading comments.
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: test mdate-sh with /bin/sh too
- * tests/mdate5.test: Fetch the `mdate-sh' script using the
- `get_shell_script' function, and run it directly instead of
- using `$SHELL'.
- * tests/mdate6.test: Likewise. Since we are at it, make checks
- on the `mdate-sh' output stricter, remove now unneeded calls to
- aclocal and automake and creation/extension of `configure.in',
- `Makefile.am' and `textutils.tex' files, and add a trailing `:'
- command.
- * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
- and `mdate6-w.shtst'.
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: extend tests on `--add-missing' and `--copy' a bit
- * tests/add-missing.test: Fix typo in heading comments. Try with
- another testcase that install many (but not all) the auxiliary
- scripts at once, and uses non-standard (but valid and documented)
- setups (e.g., defining YACC in Makefile.am instead of calling
- AC_PROG_YACC from configure.in).
- * tests/copy.test: Reference `add-missing.test' in heading
- comments. Try few more test scenarios.
-
-2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: few fixlets and improvements
- * tests/cond31.test ($required): Remove `cc', it's not really
- needed.
- * tests/confh.test: Call autoheader too. The lack of this call
- wasn't causing spurious failures because the automatic remake
- rules were somehow invoking it on our behalf (at make time).
- * tests/fn99subdir.test: Use $subdirname throughout, instead of
- ${subdirname}, for consistency with the rest of the testsuite.
- Avoid an unnecessary subshell, which could also cause spurious
- passes, being guarded by a trailing `|| Exit 1', which neutralize
- the `errexit' flag. Remove an unnecessary `|| Exit 1' guard.
- * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
- and to also run configure and make.
-
-2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: don't hard-code test name in txinfo21.test
- * tests/txinfo21.test: Use `$me' instead of hard-coding the
- current testcase name "txinfo21". Add a trailing `:' command
- since we are at it.
-
-2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: new test dedicated to `--add-missing' and `--copy'
- * tests/add-missing.test: New test.
- * tests/Makefile.am (TESTS): Update.
- Suggested by Peter Rosin.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use 'fatal_' and 'framework_failure_' for hard errors
- * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
- to report an invalid usage.
- * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
- with a proper error message over a direct call to `Exit 99'.
- * tests/pr8365-remake-timing.test: Likewise.
- * tests/cygnus-imply-foreign.test: Likewise.
- * tests/missing6.test: Likewise.
- * tests/cond8.test: Likewise.
- * tests/cond33.test: Likewise.
- * tests/python-virtualenv.test: Prefer using `framework_failure_'
- with a proper error message over a direct call to `Exit 99'.
- * tests/instspc-tests.sh: Prefer using `framework_failure_' and
- `fatal_' over direct calls to `Exit 99'.
- (fatal_): Define this (which is a simplified version of the one
- in `tests/defs') for early uses (i.e., before `tests/defs'
- gets sourced).
- * tests/depmode-tests.sh: Likewise. Also, simplify the
- 'get_depmodes' function and calls to it accordingly.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: check new 'fatal_' function
- * tests/self-check-exit.test: Also check the new 'fatal_'
- function.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new function 'fatal_', for hard errors
- Before this patch, the only way offered by tests/defs to
- properly signal a hard error was the `framework_failure_'
- function. But the error message issued by that function,
- as its name would suggest, refers to a set-up failure in the
- testsuite, while hard errors can obviously also be due to
- other reasons. The best way to fix this inconsistency is to
- introduce a new function with a more general error message.
- Inspired by a recent similar change to Gnulib's tests/init.sh.
- * tests/defs (fatal_): New function.
- * tests/README (Section "Writing test cases" subsection "Do"):
- Suggest the use of `fatal_', not of `framework_failure_', for
- generic hard errors. The latter should be reserved for "real"
- set-up failures.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- py-compile: '--' and non-option arguments terminate the option list
- * lib/py-compile: Any non-option argument, or the special `--'
- argument, now explicitly terminates the list of options.
- * tests/py-compile-option-terminate.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- py-compile: complain on unrecognized options
- * lib/py-compile: Complain on unrecognized options. Don't be too
- lax in matching `--help' and `--version' options.
- * tests/py-compile-usage.test: Extend accordingly.
- * NEWS: Update.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- py-compile: normalize error and help messages
- * lib/py-compile: Now error messages do not begin with a capital
- letter, nor end with a period, as per GNU standards. Prepend the
- error messages with the name of the script, not with its path.
- When an invalid usage is recognized, always display the customary
- message "Try `py-compile --help' ..." on a line of its own.
- ($me): New variable, containing the name of the
- program, i.e., `py-compile'. Use it throughout.
- (usage_error): New function, used to display error messages about
- invalid usage.
- * tests/py-compile-usage.test: Extend and tighten accordingly.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- python tests: add "unit tests" on py-compile
- * tests/py-compile-basic.test: New test.
- * tests/py-compile-basic2.test: New test.
- * tests/py-compile-basedir.test: Likewise.
- * tests/py-compile-destdir.test: Likewise.
- * tests/py-compile-env.test: Likewise.
- * tests/py-compile-usage.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
- Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- py-compile: the '--destdir' option now accepts a blank argument
- * lib/py-compile (Option parsing): Do not count an empty argument
- to `--destdir' or `--basedir' as a missing argument.
- * lib/python.am: Simplify accordingly, passing the `--destdir'
- option to py-compile unconditionally, even if `$(DESTDIR)' is
- empty.
- * NEWS: Update.
-
-2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- python: run the 'py-compile' script with $(SHELL)
- * lib/python.am (install-%DIR%PYTHON): Run each instance of
- py-compile using $(SHELL). Since we are at it, break overly
- long lines.
- (am__py_compile): New variable, to reduce code duplication.
-
-
-2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: `lib/' shell scripts transparently tested also with $SHELL
- With the previous commit, the user could prefer the use of $SHELL
- over /bin/sh in some tests checking the Automake-provided shell
- scripts by manually exporting `test_prefer_config_shell' to "yes"
- in the environment. With this commit, we ensure that such tests
- *always* and *transparently* run using both $SHELL and /bin/sh
- to execute the checked scripts. The `test_prefer_config_shell'
- variable becomes an internal detail, and is no more meant to be
- manually defined or overridden.
- * tests/defs-static.in: Check that `test_prefer_config_shell' is
- not exported in the environment. Error out if this is the case.
- * tests/config-shell-tests.sh: New file, driver script to run
- checks on the shell scripts in `lib/' using the $SHELL determined
- at configure time instead of the default system shell /bin/sh.
- * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
- (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
- (config_shell_tests): Define to a list of tests that wraps other
- `*.test' tests using `config-shell-tests.sh'.
- ($(config_shell_tests)): Dummy dependency declaration required
- in order to have make actually produce expected log files from
- the `.shtst.log' suffix rule.
- (EXTRA_DIST): Distribute `config-shell-tests.sh'.
- (TESTS): Add `$(config_shell_tests)'.
- * tests/self-check-env-sanitize.test: Update, by checking that
- `test_prefer_config_shell' isn't exported in the environment.
-
-2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: can use also $SHELL to check shell scripts from `lib/'
- * tests/ar-lib.test: If the variable `$test_prefer_config_shell'
- is set to "yes", run the script under test with configure-time
- determined $SHELL, rather than with /bin/sh.
- The `$test_prefer_config_shell' variable defaults to empty, but
- can be overridden at runtime by the user, thus allowing more
- coverage.
- * tests/compile.test: Likewise.
- * tests/compile2.test: Likewise.
- * tests/compile3.test: Likewise.
- * tests/compile4.test: Likewise.
- * tests/compile5.test: Likewise.
- * tests/compile6.test: Likewise.
- * tests/instsh2.test: Likewise.
- * tests/instsh3.test: Likewise.
- * tests/mkinst3.test: Likewise.
- * tests/missing.test: Likewise.
- * tests/missing2.test: Likewise.
- * tests/missing3.test: Likewise.
- * tests/missing5.test: Likewise.
- * tests/defs (get_shell_script): New subroutine, factoring out
- code common to the tests above.
- (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
- check that $SHELL, not /bin/sh, supports XSI constructs, as we
- expect the test will use $SHELL and not /bin/sh to run the
- script being tested.
-
-2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: better requirements for XSI shells
- This change avoids potential spurious failures with tests using
- the requirement 'xsi-shell' to mean that they want */bin/sh* (not
- $SHELL) to be XSI-conforming. This idiom used to work before
- commit `v1.11-874-g1321be7' (as back then the test scripts were
- unconditionally run with /bin/sh), but has become inconsistent
- now that the test scripts re-execute themselves with configure
- determined $SHELL.
- The described spurious failures have already occurred in practice,
- for examples on Solaris systems which also had GNU Bash installed.
- From a suggestion by Peter Rosin. See discussion at:
- <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
- * tests/defs (xsi-shell): Now check that $SHELL, rather than the
- shell currently running the test script, is an XSI shell.
- (xsi-bin-sh): New requirement, checking that /bin/sh (which can
- differ from $SHELL) is an XSI shell.
- (xsi-lib-shell): New requirement, checking that the shell that
- should be used to test the Automake-provided scripts from `lib/'
- is an XSI shell. For the moment, this is just an alias for
- `xsi-bin-sh'.
- (require_xsi): New subroutine, used to factor out code common to
- the requirements above.
- ($xsi_shell_code): New variable, contains shell code supposed to
- work only with XSI shells. Used by the new subroutine above.
- * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
- of 'xsi-shell', since the script we test here is run with /bin/sh,
- not with $SHELL.
- * tests/compile3.test: Likewise.
- * tests/compile6.test: Likewise.
-
-2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix typo-related error in auxdir2.test
- * tests/auxdir2.test (configure.in): Close m4 quoting in the
- argument to AC_CONFIG_AUX_DIR. Without this, aclocal fails with
- "ERROR: end of file in string". This problem hasn't been exposed
- by the testsuite before because this test is in XFAIL_TESTS, so
- its failure went unnoticed, even if it was due to a wrong cause.
- Bug introduced in commit v1.11-249-g49ac3de.
-
-2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: check that `$me' can be overridden
- * tests/self-check-me.test: Check that `$me' can be overridden
- before sourcing ./defs, with or without sourcing ./defs-static
- beforehand, and that this override is honored. Update heading
- comments.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- self tests: fix another spurious failure
- Our ad-hoc usage of `tests/defs' in the testsuite's self tests
- stopped working properly when we made the test scripts re-execute
- themselves with the configure-time $SHELL. Fix this.
- Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
- * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
- before running the self tests. This fixes a spurious failure
- present only when the test was run by hand.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- silent-rules tests: fix spurious failures with Sun Studio C++
- * tests/silentcxx.test: The C++ compiler from Sun Studio is named
- `CC'. Account for this in our grepping checks on the make output.
- Since we are at it, throw in a couple of improvements to comments
- and formatting.
- * tests/silent-many-generic.test: The C++ compiler from Sun Studio
- is named `CC', and this can cause spurious failures in our grepping
- of the make output. Work around this by using a wrapper script
- around the C++ compiler (generated on the fly), since filtering the
- make output proved to be too fragile.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in backcompat2.test on NetBSD
- * tests/backcompat2.test: Add trailing `:' in the body of a `for'
- loop, in case the last command there might have an exit status
- different 0. This work around `set -e' issues in some BSD shells,
- e.g., NetBSD /bin/ksh.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in autohdr3.test
- * tests/autohder3.test (Makefile.am): Let `test' depend on `all',
- so that config.h header is truly remade.
- Remove now useless call to `$MAKE' when non-GNU make is in use.
- Failure introduced by commit `v1.11-895-g5e62b96'.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure of cond29.test on NetBSD
- * tests/cond29.test: Skip if we cannot safely limit the maximal
- size of used virtual memory to 20K. This fixes a spurious failure
- on NetBSD.
- Bug introduced in commit `v1.11-885-g908d335'.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix again few more failures
- * tests/cond29.test: To please the `sc_tests_Exit_not_exit'
- maintainer check, avoid using `sh -c "exit 0"' where a simple
- `sh -c :' will do.
- * tests/depmod-data.test: Use creative quoting to avoid
- spuriously triggering the `sc_tests_Exit_not_exit' maintainer
- check.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix some more failures
- * tests/instdir-ltlib.test: Use creative quoting to avoid
- spuriously triggering the `sc_rm_minus_f' maintainer check.
- * tests/instdir-prog.test: Likewise.
- * tests/instspc-data.test: Use creative quoting to avoid
- spuriously triggering the `sc_tests_Exit_not_exit' maintainer
- check.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: fix some failures, extend some checks
- * Makefile.am (sc_diff_automake_in_automake): Update, as we
- now expect 9 lines, not 8, to be changed from `automake.in'
- to `automake'.
- (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
- the above, and checking that only 10 lines are changed from
- `aclocal.in' to `aclocal'.
- (syntax_check_rules): Update.
- (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
- from this check, as they can legitimately use the bare `exit'
- builtin in various places.
- * doc/automake.texi (Python): Remove stray `@' from the end of
- a line. Typo introduced in commit `v1.11-312-g5bf7af6'.
- * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
- from the environment rather than from the command line, to
- pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
- check.
- * tests/depcomp8b.test: Likewise.
-
-2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: don't require GNU make where it's not strictly needed
- * tests/autohdr3.test: Rewrite to be stricter when make is GNU
- make. Drop the requirement of GNU make.
- * tests/aclocal5.test: Drop GNU make requirement, it's not truly
- needed. Add reference to similar tests `remake-subdir*.test'.
- * remake-subdir-gnu.test, remake-subdir-from-subdir.test,
- remake-subdir.test, remake-subdir2.test: Add reference to
- each other, and to related test `aclocal5.test'.
- * tests/aclocal6.test: Drop GNU make requirement, it's not
- truly needed.
- * tests/confh6.test: Likewise.
- * tests/lex3.test: Likewise.
- * tests/remake11.test: Likewise.
- * tests/subdir5.test: Likewise.
- * tests/subdir8.test: Likewise.
- * tests/werror2.test: Likewise.
- * tests/conff.test: Likewise, and ensure verbose printing of
- captured make output.
- * tests/lex5.test: Tweak so that GNU make is no more required.
- * tests/version7.test: Likewise.
- * tests/maken2.test: Add explicative comment for why this test
- requires GNU make.
- * tests/maken4.test: Let it run also with BSD makes supporting
- the `.MAKE' special target.
- * tests/output6.test: Use proper m4 quoting in configure.in.
- Expand make macros with one-character name using `$(x)', not
- `$x', for portability. Move checks in the makefiles, rather
- than relying on grepping the output from make. Drop the now
- unneeded GNU make requirement.
-
-2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- remake: behave better with non-GNU make in subdirectories
- Currently, with every decent make program, it is possible to
- rebuild out-of-date autotools-generated files with a simple
- "make Makefile" -- but for this to work reliably with non-GNU
- make implementations, the command must be issued from the
- top-level directory. This patch removes such limitation.
- * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
- * tests/remake-subdir.test: New test.
- * tests/remake-subdir2.test: Likewise.
- * tests/remake-subdir-gnu.test: Likewise.
- * tests/remake-subdir-from-subdir.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: fix spurious failures with Solaris lex
- * tests/lex-lib.test (foo.l): Avoid empty "rules section", which
- can confuse Solaris lex.
- * tests/lex-libobj.test (foo.l): Likewise.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: do not force the use of flex unconditionally
- * tests/defs (lex): Act more similarly to what the `yacc'
- requirement does, i.e., only force the use of flex if the
- $LEX variable is left unset by the user.
- (flex): Use `skip_' to skip the test if flex is not found.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: avoid possible hang; fix and extend
- * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
- Bug introduced in commit 'v1.11-871-geb147a1'.
- (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
- our own `yywrap' function.
- * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
- consistency with the default flex implementation.
- * tests/lex-libobj.test (yywrap.c): Likewise.
- * tests/lex-subobj-nodep.test (s1.l): Likewise.
- * tests/lexvpath.test (foo.c): Likewise.
- * tests/silent-lex-gcc (foo.l): Likewise.
- * tests/silent-lex-generic (foo.l): Likewise.
- * tests/silent-many-gcc (foo5.l): Likewise.
- * tests/silent-many-generic (foo5.l): Likewise.
- * tests/lex-lib.test (mu.c): Likewise.
- Update heading comments, to refer to ...
- * tests/lex-lib-external.test: ... this new test, which checks
- that we can get use the `yywrap' function from a system-wide
- library, if that's available.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: prefer `skip_' over `echo ...; Exit 77'
- * tests/self-check-cleanup.test: When the test must be skipped,
- use `skip_ REASON' instead of `echo REASON; Exit 77'. Also,
- make the skip message shorter and clearer.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in self tests
- Our ad-hoc usage of `tests/defs' in the testsuite's self tests
- stopped working properly when we made the test scripts re-execute
- themselves with the configure-time $SHELL. Fix this.
- Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
- * tests/defs: Only check that we can find the client test script
- when we must re-execute it.
- * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
- before running the self tests.
- * tests/self-check-dir.test: Likewise.
- * tests/self-check-explicit-skips.test: Likewise.
- * tests/self-check-me.test: Likewise.
- * tests/self-check-sanity.test: Likewise.
- * tests/self-check-reexec.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: prefer ulimit over timeout in test on a memory-hogging bug
- * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
- that automake does not uses up too much resources. This is really
- and improvement because the bug tested by this script wasn't just
- a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
- bug (due to combinatorial explosion when many Automake conditionals
- had to be handled) which could easily crash the whole system, which
- is unacceptable. The requirement of a proper and working 'ulimit'
- builtin might cause the test to be skipped on more systems, but
- that shouldn't be a problem since the bug isn't about a portability
- issue, but is rather an automake internal implementation problem.
- I've verified that the test as updated by this patch still passes
- with automake 1.8.5, automake 1.10.2, and obviously the development
- version of automake, and that it fails with automake 1.7.9.
-
-2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: avoid generating `*-p.test' tests, use a wrapper script
- The generated `*-p.test' tests had already become just thin layers
- around the corresponding test scripts. This change makes the final
- step, converting to the use of a generic wrapper script and thus
- avoiding the extra test generation (similarly to what is done for
- the `*.instspc' and `*.depmod' tests).
- * tests/parallel-tests.sh: New file, driver script to run checks
- the on the `parallel-tests' semantics by wrapping tests that use
- the generic "Simple Tests" driver.
- * tests/gen-parallel-tests: Update, mostly to reflect the new
- `.ptest' extensions used for tests in $(parallel_tests).
- * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
- (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
- ($(parallel_tests)): Do not really generate `*-p.test' tests
- anymore; this is now just a dummy dependency declaration required
- in order to have make actually produce expected log files from
- the `.ptest.log' suffix rule.
- (EXTRA_DIST): Distribute `parallel-tests.sh'.
- (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
- is not necessary anymore.
- (generated_tests): Variable definition removed.
- (TESTS): Update, by listing `$(parallel_tests)' directly instead
- of `$(generated_tests)'
- (expected_list_of_tests): Remove `$(generated_tests)'.
- (maintainer-check-list-of-tests): No need to explicitly depend on
- `$(expected_list_of_tests)' anymore.
-
-2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
- Currently, the Automake's own configure script allow definition
- of AUTOCONF and AUTOM4TE, expected to point respectively to an
- autoconf and autom4te programs. But while these definitions are
- honoured in the Automake's build systems and test suite, they
- were *not* honoured in the generated `automake' and `aclocal'
- scripts. This behaviour, apart from being wrong in that it does
- not allow the user enough freedom in choosing his tools, also
- caused inconsistencies in the test suite, brining to spurious
- failures.
- Problem reported by Graham Reitz on the automake list; see thread:
- <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
- * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
- * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
- * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
- `@am_AUTOM4TE'.
- * NEWS: Update.
- * THANKS: Update.
-
-2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
- Our build system allows the user to override AUTOCONF and AUTOHEADER
- at configure time, and honours these overrides in our testsuite.
- But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
- This change fixes that inconsistency.
- * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
- AC_SUBSTitutions. Update comments.
- * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
- ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
- ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
- * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
-
-2011-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
- * tests/parallel-tests-harderror.test: New test, doing more
- in-depth checks on DISABLE_HARD_ERRORS.
- * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
- now redundant.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests/README: fix example about `make -e' usage
- * tests/README (Section "Writing test cases" subsection "Do"): When
- some variable is never initialized in the Makefile, `-e' is not
- necessary in order to override it. DESTDIR is such a variable: we
- ensure that we do not ever initialize it. And as such, it is quite
- portable to use:
- $ make DESTDIR=/foo/bar install
- and in fact, quite widely used.
- So our example about when `make -e' is required, which references
- the `DESTDIR' variable, is poorly chosen, if not downright wrong.
- Rewrite it to use `prefix' as the overridden variable instead.
-
-2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: don't require gfortran if any fortran compiler is enough
- * tests/silentf90.test ($required): Require `fortran', not
- `gfortran'.
- * tests/silentf77.test ($required): Require `fortran77', not
- `gfortran'.
- * tests/silent-many-generic.test ($required): Require `fortran'
- and `fortran77' rather than `gfortran'.
-
-2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: improve `ccnoco*.test', better cross-compiling support
- * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
- instead of forcing `gcc' unconditionally. This ensures better
- coverage in case of cross-compiling, when GCC can be named e.g.,
- `i586-mingw32msvc-gcc', instead of simply `gcc'.
- * tests/ccnoco.test: Likewise. Remove redundant checks. Modernize
- the created `configure.in'. Run tests both in-tree and in VPATH.
- Export `CC' to the overridden value only once.
- * tests/ccnoco2.test: Slightly stricter grepping of automake
- stderr. Add trailing `:' command.
-
-2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: each test case depends on `defs-static'
- * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
- Simplify comments.
-
-2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use $SHELL to run tests which are shell scripts
- * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
- configure-time $SHELL is used to run the tests.
- * tests/defs: Add code to re-execute by default the running
- test script with configure-time $SHELL. Updated comments.
- * configure.ac: Check that `set -e' is working for $SHELL,
- not for /bin/sh.
- * tests/defs-static.in: Update comments.
- * tests/README (Supported shells): Updated.
- (Getting details from failures): Don't tell that tests are
- run by /bin/sh by default.
-
-2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: split 'subst2.test' to improve modularity and coverage
- * tests/subst2.test: Test removed, split into ...
- * tests/programs-primary-rewritten.test: ... this test ...
- * tests/subst-no-trailing-empty-line.test: ... and this one ...
- * tests/extra-programs-empty.test: ... and this one.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: tweak and improve tests on Automake conditionals
- The "avoid the requirement of a working compiler" we refer about
- below is obtained by disabling automatic dependency tracking and
- defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
- dummy values, either directly in the `Makefile.am', or by AC_SUBST
- in `configure.in'.
- The "cosmetic changes" we refer about below consists in, e.g.,
- adding a trailing `:' command to a script, using proper m4 quoting
- in `configure.in' files, adding commands that offer more debugging
- output, explicitly declaring phony targets as such in Makefiles,
- making use of idioms more consistent with those employed in other
- tests, following the GNU formatting standards more closely, etc.
- * tests/cond.test: Cosmetic changes.
- * tests/cond3.test: Likewise.
- * tests/cond10.test: Likewise.
- * tests/cond14.test: Likewise.
- * tests/cond15.test: Likewise.
- * tests/cond17.test: Likewise.
- * tests/cond40.test: Likewise.
- * tests/cond13.test: Likewise, and make grepping of the generated
- `Makefile.in' slightly stricter.
- * tests/cond6.test: Extend by also running ./configure, make and
- "make install". Few cosmetic changes.
- * tests/cond8.test: Likewise.
- * tests/cond2.test: Do few cosmetic changes. Make grepping of
- automake stderr stricter.
- * tests/cond20.test: Likewise.
- * tests/cond23.test: Likewise.
- * tests/cond24.test: Likewise.
- * tests/cond42.test: Likewise.
- * tests/cond46.test: Likewise.
- * tests/cond9.test: Move more checks in the `Makefile.am' instead
- of grepping make's output.
- * tests/cond38.test: Likewise.
- * tests/cond11.test: Likewise. Avoid the requirement of a working
- C compiler.
- * tests/cond16.test: Likewise.
- * tests/cond22.test: Likewise.
- * tests/cond30.test: Likewise.
- * tests/cond31.test: Likewise.
- * tests/cond4.test: Likewise, and drop the now-useless GNU make
- requirement as well.
- * tests/cond18.test: Likewise.
- * tests/cond19.test: Likewise.
- * tests/cond22.test: Likewise.
- * tests/cond25.test: Add trailing `:' command.
- * tests/cond26.test: Likewise.
- * tests/cond27.test: Likewise.
- * tests/cond28.test: Likewise.
- * tests/cond29.test: Use `unindent' function for better formatting.
- Other minor cosmetic changes. Use a `timeout' program (if it's
- available) to determine whether the script takes too long, instead
- of just hoping that the user will notice an abnormally long test
- execution time.
- * tests/cond33.test: Extend a bit. Fix heading comments. Few more
- cosmetic changes.
- * tests/cond37.test: Ensure verbose printing of captured make
- output. Minor cosmetic changes.
- * tests/cond34.test: Likewise. Avoid the requirement of a working
- C compiler. Make grepping of make output slightly stricter.
- * tests/cond35.test: Quote literal dots in grep regexp. Add extra
- debugging output. Minor cosmetic changes.
- * tests/cond36.test: Likewise.
- * tests/cond41.test: Do not simply check that aclocal fails, but
- also grep its stderr for the expected error message.
- * tests/cond43.test: Likewise (but the program being automake).
- Few cosmetic changes.
- * tests/condd.test: Avoid the requirement of a working C compiler.
- * tests/condman3.test: Extend by using more man pages and more
- manpage sections.
- * tests/condman.test: Removed, it's completely superseded by
- `condman3.test'.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: avoid spurious failures when LEXLIB isn't found
- The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
- the "lex library" expected to provide a `yywrap' function (function
- which is required to link most lex-generated programs). On the
- contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
- fail, configure declares that no lex library is needed, and simply
- proceeds with the configuration process -- only for the build to
- possibly fail later, at make time.
- This behaviour might be (partly) intended; the Autoconf manual
- reads:
- ``You are encouraged to use Flex in your sources, since it is
- both more pleasant to use than plain Lex and the C source
- it produces is portable. In order to ensure portability,
- however, you must either provide a function `yywrap' or, if
- you don't use it (e.g., your scanner has no `#include'-like
- feature), simply include a `%noyywrap' statement in the
- scanner's source.''
- This AC_PROG_LEX behaviour is causing some spurious failures of the
- Automake testsuite in environments which lack a proper library
- providing `yywrap' (this happens for example in Linux->MinGW cross
- compilations). But at this point is clear that a proper workaround
- is to simply provide a fall-back implementation of `yywrap' in our
- lexers.
- * tests/cond35.test: Provide a dummy `yywrap' function.
- * tests/lex3.test: Likewise.
- * tests/lexvpath.test: Likewise.
- * tests/silent-many-gcc.test: Likewise.
- * tests/silent-many-generic.test: Likewise.
- * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
- * tests/silent-lex-generic.test: Likewise.
- * tests/lex-lib.test: New test.
- * tests/lex-libobj.test: New test.
- * tests/lex-nowrap.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * THANKS: Update.
- Thanks to Russ Allbery for the suggestion.
-
-2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: require C++ compiler explicitly in tests needing it
- The list of the test scripts which needed a C++ compiler but
- failed to require it explicitly has been found by running:
- $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
- $ am_explicit_skips=yes CXX=false make check TESTS="$tests"
- and looking for tests that reported FAIL instead of SKIP.
- After the present change, all those previously failing tests
- either pass or get correctly skipped.
- * tests/subobj9.test: Require `c++', instead of explicitly
- skipping on configure failure. Add excerpts and/or details from
- the original bug report that prompted this tests to be written.
- * tests/silentcxx-gcc.test: Require g++.
- * tests/silentcxx.test: Require c++.
- * tests/suffix3.test: Likewise.
-
-2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: don't require g++ where any C++ compiler is enough
- * tests/specflg10.test ($required): Use `c++', not g++.
- * tests/silent-many-generic.test: Likewise.
-
-2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: require C compiler explicitly in tests needing it
- The list of the test scripts which needed a C compiler but
- failed to require it explicitly has been found by running:
- $ am_explicit_skips=yes CC=false make check
- and looking for tests that reported FAIL instead of SKIP.
- After the present change, all those previously failing tests
- either pass or get correctly skipped.
- * tests/aclocal4.test ($required): Add `cc'.
- * tests/ansi.test: Likewise.
- * tests/ansi10.test: Likewise.
- * tests/ansi3.test: Likewise.
- * tests/ansi3b.test: Likewise.
- * tests/ansi5.test: Likewise.
- * tests/ansi6.test: Likewise.
- * tests/ansi7.test: Likewise.
- * tests/ansi9.test: Likewise.
- * tests/backcompat6.test: Likewise.
- * tests/canon7.test: Likewise.
- * tests/check5.test: Likewise.
- * tests/check7.test: Likewise.
- * tests/check8.test: Likewise.
- * tests/cond4.test: Likewise.
- * tests/cond11.test: Likewise.
- * tests/cond16.test: Likewise.
- * tests/cond18.test: Likewise.
- * tests/cond19.test: Likewise.
- * tests/cond22.test: Likewise.
- * tests/cond30.test: Likewise.
- * tests/cond31.test: Likewise.
- * tests/cond32.test: Likewise.
- * tests/cond34.test: Likewise.
- * tests/cond35.test: Likewise.
- * tests/cond39.test: Likewise.
- * tests/condd.test: Likewise.
- * tests/cygnus-dependency-tracking.test: Likewise.
- * tests/depcomp2.test: Likewise.
- * tests/depcomp6.test: Likewise.
- * tests/depcomp7.test: Likewise.
- * tests/depcomp8a.test: Likewise.
- * tests/depcomp8b.test: Likewise.
- * tests/depdist.test: Likewise.
- * tests/depend2.test: Likewise.
- * tests/depend5.test: Likewise.
- * tests/distcleancheck.test: Likewise.
- * tests/distname.test: Likewise.
- * tests/exeext.test: Likewise.
- * tests/exeext4.test: Likewise.
- * tests/extradep.test: Likewise.
- * tests/extradep2.test: Likewise.
- * tests/gnits2.test: Likewise.
- * tests/gnits3.test: Likewise.
- * tests/instdir-ltlib.test: Likewise.
- * tests/instdir-prog.test: Likewise.
- * tests/instfail.test: Likewise.
- * tests/instfail-libtool.test: Likewise.
- * tests/lex3.test: Likewise.
- * tests/lex5.test: Likewise.
- * tests/lexvpath.test: Likewise.
- * tests/lex-subobj-nodep.test: Likewise.
- * tests/lflags.test: Likewise.
- * tests/libobj-basic.test: Likewise.
- * tests/libobj2.test: Likewise.
- * tests/libobj7.test: Likewise.
- * tests/libobj10.test: Likewise.
- * tests/libobj16a.test: Likewise.
- * tests/libobj16b.test: Likewise.
- * tests/libobj17.test: Likewise.
- * tests/libobj19.test: Likewise.
- * tests/libtool2.test: Likewise.
- * tests/libtool3.test: Likewise.
- * tests/libtool7.test: Likewise.
- * tests/libtool9.test: Likewise.
- * tests/libtoo10.test: Likewise.
- * tests/libtoo11.test: Likewise.
- * tests/ltcond.test: Likewise.
- * tests/ltcond2.test: Likewise.
- * tests/ltconv.test: Likewise.
- * tests/ltinit.test: Likewise.
- * tests/ltlibsrc.test: Likewise.
- * tests/ltorder.test: Likewise.
- * tests/nobase.test: Likewise.
- * tests/nobase-libtool.test: Likewise.
- * tests/mmodely.test: Likewise.
- * tests/parallel-tests5.test: Likewise.
- * tests/parallel-tests-suffix-prog.test: Likewise.
- * tests/parallel-tests-ext-driver-prog.test: Likewise.
- * tests/posixsubst-ldadd.test: Likewise.
- * tests/posixsubst-libraries.test: Likewise.
- * tests/posixsubst-ltlibraries.test: Likewise.
- * tests/posixsubst-programs.test: Likewise.
- * tests/posixsubst-sources.test: Likewise.
- * tests/pr87.test: Likewise.
- * tests/pr204.test: Likewise.
- * tests/pr224.test: Likewise.
- * tests/pr300-lib.test: Likewise.
- * tests/pr300-ltlib.test: Likewise.
- * tests/pr300-prog.test: Likewise.
- * tests/pr401.test: Likewise.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- * tests/remake-gnulib-add-acsubst.test: Likewise.
- * tests/remake-gnulib-add-header.test: Likewise.
- * tests/regex.test: Likewise.
- * tests/repeated-options.test: Likewise.
- * tests/silent.test: Likewise.
- * tests/silent3.test: Likewise.
- * tests/silent9.test: Likewise.
- * tests/silent-lex-generic.test: Likewise.
- * tests/silent-many-generic.test: Likewise.
- * tests/silent-yacc-generic.test: Likewise.
- * tests/specflg7.test: Likewise.
- * tests/specflg9.test: Likewise.
- * tests/specflg10.test: Likewise.
- * tests/stdinc.test: Likewise.
- * tests/strip.test: Likewise.
- * tests/strip2.test: Likewise.
- * tests/strip3.test: Likewise.
- * tests/subdirbuiltsources.test: Likewise.
- * tests/subobj3.test: Likewise.
- * tests/subobj6.test: Likewise.
- * tests/subobj11a.test: Likewise.
- * tests/subpkg.test: Likewise.
- * tests/subst2.test: Likewise.
- * tests/subst3.test: Likewise.
- * tests/substref.test: Likewise.
- * tests/substre2.test: Likewise.
- * tests/suffix5.test: Likewise.
- * tests/suffix8.test: Likewise.
- * tests/suffix10.test: Likewise.
- * tests/suffix11.test: Likewise.
- * tests/suffix12.test: Likewise.
- * tests/suffix13.test: Likewise.
- * tests/target-cflags.test: Likewise.
- * tests/transform.test: Likewise.
- * tests/transform2.test: Likewise.
- * tests/yacc-basic.test: Likewise.
- * tests/yacc-d-basic.test: Likewise.
- * tests/yacc-clean.test: Likewise.
- * tests/yacc-dist-nobuild.test: Likewise.
- * tests/yacc-nodist.test: Likewise.
- * tests/yaccvpath.test: Likewise.
- * tests/yacc-d-vpath.test: Likewise.
- * tests/yacc4.test: Likewise.
- * tests/yacc7.test: Likewise.
- * tests/yacc8.test: Likewise.
- * tests/yaccdry.test: Likewise.
- * tests/yflags-cmdline-override.test: Likewise.
- * tests/yflags-force-override.test: Likewise.
- * tests/python-virtualenv.test: Likewise. Also, improve skip
- messages.
- * tests/subobj5.test ($required): Add `cc'.
- (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
- add new checking rules `test-build' and `test-distdir'.
- Extend the test by building and examining the distdir, the
- program, and the object files.
- * tests/postproc.test ($required): Add `cc'.
- Avoid the explicit `|| Exit $?' after call to configure, which
- is now either redundant (e.g., when `am_explicit_skips' is
- unset), or counter-productive (e.g., when `am_explicit_skips'
- is set to "yes").
- * tests/pr243.test: Likewise.
- * tests/pr266.test: Likewise.
- * tests/pr220.test: Simplify so that it doesn't require a
- C compiler anymore.
- * tests/subdir5.test: Likewise.
- * tests/subdir8.test: Likewise.
- * tests/lflags.test: Likewise.
- * tests/yflags.test: Likewise.
- * tests/yflags-force-conditional.test: Likewise.
- * tests/lflags2.test: Simplify so that it doesn't require a
- C++ compiler anymore.
- * tests/yflags2.test: Likewise.
- * tests/autohdrdry.test (configure.in): Remove unneeded call
- to `AC_PROG_CC'.
- * tests/pr287.test: Likewise.
- * tests/check6.test: Likewise.
- * tests/cond21.test: Likewise, plus some cosmetic adjustments.
- * tests/upc.test: Skip if configure fails with status `77'.
- * tests/upc3.test: Likewise.
- * tests/vala4.test: Likewise.
- * tests/nostdinc.test: Likewise. Also, make grepping checks
- on `Makefile.in'. Update heading comments.
- * tests/compile5.test: When we must skip, skip explicitly,
- and with a meaningful message.
- * tests/instspc-tests.sh: When running in "test-build" or
- "test-install" mode (as determined by the value of variable
- `$instspc_action'), require `cc'. Adjust comments.
- * tests/depmod-tests.sh: Likewise.
-
-2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: allow user to ask for stricter skip semantics
- Given how the Automake testsuite is currently structured, if a
- command in a test script fails with status `77', the global test
- outcome is considered a SKIP, because the value of `77' for `$?'
- is passed to the exit trap. Indeed, this happens in practice, as
- an autoconf-generated configure script can exit with status `77'
- if it fails to find, e.g., a required compiler.
- While this behaviour is quite useful for avoiding spurious test
- failures in the wild, it can also sometimes prevent the Automake
- developers to easily see and declare the requirements of their
- tests.
- This change introduces a new variable `am_explicit_skips', meant to
- be user-overridable, and which, when set to a "true" value (i.e.,
- `yes' or `1'), require a direct call to `Exit 77' in order to make
- the test outcome be considered a SKIP.
- * tests/defs.in ($am__test_skipped): New variable, initialized
- to `no'.
- (Exit): Set `$am__test_skipped' to `yes' if passed an exit status
- of 77.
- (trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
- reset an exit status of `77' to `78' if $am__test_skipped is not
- set to `yes'.
- * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
- * tests/self-check-explicit-skips.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: user can force skipping of compiler-requiring tests
- * tests/defs (cc, c++, fortran, fortran77): Skip the test if
- the relevant compiler is disabled by having the corresponding
- variable (CC, CXX, FC and F77, respectively) set to "false".
- (yacc): For consistency, skip the test when the YACC variable
- is set to "false", not when it's set to "no". Since we are at
- it, fix the skip message to be shorter and more consistent.
-
-2011-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: tweak and improve tests on "Simple Tests" driver
- * tests/check.test: Make grepping of generated Makefile.in
- slightly stricter. Add trailing `:' command.
- * tests/check2.test: Ensure verbose printing of captured make
- output. Make grepping of generated Makefile.in and of make
- output stricter. Add trailing `:' command.
- * tests/check3.test: Likewise. Also, fix minor error in a
- comment.
- * tests/check4.test: Stricter grepping of make output. Use
- `using_gmake' subroutine instead of copy&paste from defs.in
- to determine whether $MAKE is GNU make. Add a trailing `:'
- command.
- * tests/check6.test: Add trailing `:' command.
- * tests/check10.test: Prefer redirection `>' over `>>' when
- creating new files. Ensure verbose printing of captured make
- output.
- * tests/check11.test: Likewise.
- * tests/check7.test: Likewise. Make grepping of make output
- stricter. Prefer "make distcheck" over a simple "make check"
- in a VPATH build. Add trailing `:' command.
- (a.c): Format following GNU coding standards.
- (Makefile.am): Explicitly declare target `print-xfail-tests'
- as PHONY. Distribute $(check_SCRIPTS), for distcheck.
- * tests/parallel-tests.test: Prefer redirection `>' over `>>'
- when creating new files.
- * tests/parallel-tests2.test: Likewise.
- * tests/parallel-tests9.test: Likewise.
- * tests/parallel-tests8.test: Likewise. Make grepping of
- automake stderr stricter.
- * tests/check8.test: Likewise. Make formatting of created
- *.c files more consistent with GNU Coding Standards.
- * tests/check-subst-prog.test (configure.in): Break overly
- long lines.
- (pass-prog.c, xfail-prog.c): Format them more consistently
- with GNU Coding Standards.
- * tests/parallel-tests3.test: Use a shorter and clearer skip
- message. Use the `unindent' subroutine to improve readability
- of indented loop bodies. Simplify the hack used to please
- maintainer-check.
- * tests/parallel-tests5.test: Make formatting of created *.c
- files more consistent with GNU Coding Standards. Use the
- `unindent' subroutine to improve readability of indented loop
- bodies.
- * tests/parallel-tests10.test: Add blank line, for clarity.
- Prefer trailing `:' over trailing `Exit 0', for consistency
- with other tests.
-
-2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests/README: small consistency improvement
- * tests/README (Section "User interface" subsection "Running the
- tests"): In examples, be more consistent w.r.t. the differences
- between GNU and non-GNU make.
-
-2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests/README: suggest how to run tests in cross-compile mode
- * tests/README (Section "User interface" subsection "Running the
- tests"): Briefly explain how to override 'host_alias' at runtime
- to force the use of cross-compilers by the testsuite. Give an
- example.
-
-2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: better detection of cross-compile mode
- * configure.ac (AC_CANONICAL_HOST): New, probably not strictly
- necessary, but useful to complements AC_CANONICAL_BUILD.
- * tests/defs-static.in ($host_alias, $build_alias): New variables,
- exported, user-overridable, defaults AC_SUBST'd by configure.
- * tests/defs (cross_compiling): Consider cross-compilation mode
- active only if `$host_alias' is not empty *and* it differs from
- `$build_alias'. This is more faithful to the way configure
- determines whether it is cross-compiling, but still allows the
- user to easily force cross-compilation by overriding `host_alias'
- and `build_alias' at runtime.
- From a report by Ralf Wildenhues.
-
-2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: avoid re-running few tests with 'parallel-tests' option
- Some tests in our testsuite use the 'simple-tests' driver only
- marginally, or simply as a mean to conveniently check unrelated
- invariants. It makes little sense to force these tests to also
- run with the 'parallel-tests' Automake option active, as doing so
- offers no real gain in coverage, while often causing a measurable
- overhead in execution time (for an already too-slow testsuite).
- * tests/pr401.test (parallel_tests): Define to "no", to prevent
- the generation of a sibling test script using the 'parallel-tests'
- driver.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- * tests/java-flat.test: Likewise, and properly update heading
- comments.
- * tests/java-nested.test: Likewise, but defining `parallel_tests'
- to "yes" instead, for improved coverage in conjunction with the
- sister test `java-flat.test'.
-
-2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: allow tests to avoid the use of 'parallel-tests' option
- * tests/gen-parallel-tests: Do not generate "siblings" for tests
- that explicitly define the `parallel_tests', whether to "yes" or
- to any other value. Extend heading comments to give a rationale
- for this behaviour.
- * tests/README: Update.
-
-2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests/README: update obsoleted advice
- * tests/README (Section "Writing test cases" subsection "Do"):
- Do not suggest to use the `*-p.test' pattern for the names of
- hand-written tests which use the `parallel-tests' Automake option.
- Not only is this not respected by the existing tests, but it is
- more likely to cause conflicts with auto-generated tests.
- So, suggest to *avoid* using the `*-p.test' pattern in names
- of hand-written tests instead.
- (Section "Writing test cases" subsection "Do not"): When
- suggesting not to override Makefile variables using command
- line arguments, do not use the badly outdated variables `U'
- and 'ANSI2KNR' in the example; instead, use the more common
- and typical `DESTDIR'.
-
-2011-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid spurious failures in cross-compile mode
- * tests/depcomp2.test: Ensure verbose printing of captured stderr
- from configure.
- * tests/ansi3.test ($required): Add 'native', as the ansi2knr
- functionality is not meant to work with a cross-compiler.
- * tests/ansi3b.test: Likewise.
- * tests/ansi5.test: Likewise.
- * tests/ansi6.test: Likewise.
- * tests/ansi7.test: Likewise.
- * tests/ansi8.test: Likewise.
- * tests/ansi10.test: Likewise.
- * tests/subobj3.test: Likewise.
- * tests/check8.test ($required): Add 'native', as this test is
- not meant to work with a cross-compiler.
- * tests/gnits2.test: Likewise.
- * tests/ltconv.test: Likewise.
- * tests/ltcond2.test: Likewise.
- * tests/parallel-tests5.test: Likewise.
- * tests/specflg7.test: Likewise.
- * tests/specflg8.test: Likewise.
- * tests/check5.test: Likewise. Also, ensure verbose printing of
- captured make output, and thrown in few cosmetic and consistency
- improvements.
- * tests/ltinit.test: Be laxer in grepping configure output, to
- avoid spurious failures on systems which lack POSIX dynamic
- linking (e.g., MinGW), or when cross-compiling for such systems.
- * tests/ansi9.test: Skip parts of the test that would require a
- native compiler.
- * tests/backcompat6.test: Likewise.
- * tests/depcomp8a.test: Likewise.
- * tests/pr401.test: Likewise.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- * tests/target-cflags.test: Likewise.
- * tests/lex3.test: Likewise.
- * tests/yacc-basic.test: Likewise.
- * tests/autohdr4.test: Likewise. Also, extend the test to ensure
- more coverage in cross-compile mode.
- * tests/canon7.test: Likewise.
- * tests/check9.test: Removed, split into two new tests ...
- * tests/check-subst-prog.test: ... this one, which requires a
- native C compiler ...
- * tests/check-subst.test: ... and this one, which doesn't require
- any compiler.
- * tests/parallel-tests4.test: Removed, split into two new tests ...
- * tests/parallel-tests-suffix-prog.test: ... this one, which
- requires a native C compiler ...
- * tests/parallel-tests-suffix.test: ... and this one, which
- doesn't require any compiler.
- * tests/parallel-tests7.test: Removed, split into two new tests ...
- * tests/parallel-tests-ext-driver-prog.test: ... this one, which
- requires a native C compiler ...
- * tests/parallel-tests-ext-driver.test: ... and this one, which
- doesn't require any compiler.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: rename requirement 'non-cross' -> 'native'
- * tests/defs.in (non-cross): Rename requirement ...
- (native): ... to this, which is clearer and fits the
- existing lingo better.
- Suggestion by Ralf Wildenhues.
-
-2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: be more cross-compile friendly
- * tests/defs.in (cross_compiling): New subroutine.
- (am__tool_prefix): New internal variable.
- (gcc, g++, gcj): Force the use of the correct "tool prefix"
- when cross compiling.
- (gfortran, g77, non-cross): New requirements.
-
-2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix portability issues in 'repeated-options.test'
- * tests/repeated-options.test: Do not assume that object files
- have `.o' suffix and executables have no default suffix; instead,
- use `$(OBJEXT)' and `$(EXEEXT)'.
-
-2011-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- check: document and test $(TEST_SUITE_LOG) overriding
- * doc/automake.texi (Simple Tests using parallel-tests): Explain
- how and why TEST_SUITE_LOG can be overridden at runtime.
- * tests/parallel-tests-log-override-1.test: New test, check that
- the newly documented idiom and similar usages are truly supported.
- * tests/parallel-tests-log-override-2.test: Likewise.
- * tests/parallel-tests-log-override-recheck.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure of extradep.test on FreeBSD
- * tests/extradep.test: When using `ls -t' to determine whether a
- file has been updated, make sure to use as reference a file whose
- timestamp is expected to be *strictly* older that that of the file
- being checked. This is required because at least FreeBSD `ls' do
- not sort files with the same timestamp in alphabetical order when
- using the `-t' option.
- * tests/extradep2.test: Likewise.
-
-2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure of txinfo21.test on FreeBSD
- * tests/txinfo21.test: Use the `is_newest' subroutine instead of
- the `ls -t' hack to to determine whether a file has been updated.
- This is required because at least FreeBSD `ls' do not sort files
- with the same timestamp in alphabetical order when using the `-t'
- option.
-
-2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix syntax error in 'silentcxx-gcc.test'
- * tests/silentcxx-gcc.test (for config_args in ...): Remove extra
- trailing backslash from the list of looped-on items.
-
-2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- depmod tests: fix bug in depmodes list extraction
- * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
- instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
- newlines from `$all_depmodes'. The latter idiom with `tr' is
- wrong since it gets run before `./defs' is sourced, and thus `$nl'
- and `$sp' are undefined.
- Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
- empty strings as arguments.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: use `skip_' for skipping java-related tests
- * tests/defs.in (java, javac): Use `skip_' to signal test
- skipping.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add excerpts from few original bug reports, for clarity.
- * tests/comment6.test: Add excerpts and/or details from the
- original bug report that prompted this tests to be added and/or
- extended.
- * tests/dejagnu4.test: Likewise.
- * tests/installdir.test: Likewise.
-
-2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex: "make clean" removes .c files from non-distributed .l
- Previously, while automake did *not* distribute C source and header
- files derived from non-distributed Lex sources, it still caused
- them to be removed only by "make maintainer-clean" only, and not by
- simply "make clean" or "make distclean".
- This caused "make distcheck" to fail, unless the developer put
- those generated .c files in CLEANFILES or in DISTCLEANFILES by
- hand.
- This change fixes this issue, by making non-distributed `.c' files
- generated by non-distributed Lex sources cleaned by "make clean".
- A similar problem for Yacc support had been fixed with the commit
- v1.11-263-ged2c8bc.
- * tests/automake.in (lang_lex_target_hook): Make C source files
- derived from non-distributed Lex files cleaned by "make clean",
- not only by "make maintainer-clean".
- * tests/lex-clean.test: New test.
- * tests/lex-clean-cxx.test: Likewise.
- * tests/lex-nodist.test: Likewise.
- * tests/lex-pr204.test: Likewise.
- * tests/pr204.test: For consistency, renamed ...
- * tests/yacc-pr204.test: ... to this, and updated to keep it
- more in sync with 'lex-pr204.test'.
- * tests/yacc-nodist.test: Updated to keep it more in sync with
- 'lex-nodist.test'.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: make test on Lex dependency tracking more "semantic"
- * tests/lex4.test: Renamed ...
- * tests/lex-depend-grep.test: ... to this, and extended.
- * tests/lex-depend.test, tests/lex-depend-cxx.test: ... these
- new tests.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: remove erroneous check about ylwrap distribution
- * tests/lex5.test: Do not check that the ylwrap script is *not*
- distributed when there is only one lexer, as ylwrap is in fact
- expected to distributed unconditionally (at least starting from
- commit `Release-1-9-323-gc5881cc' of 19-08-2006). Note that this
- bogus check wasn't triggering any failure because it was done at
- the wrong time (i.e. from the VPATH build directory), so that it
- could never fail anyway.
- Instead, check that ylwrap is distributed even when there is only
- one lexer.
- Since we are at it, add a couple of `ls -l' calls, to get better
- debugging info.
-
-2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc tests: "make clean" removes C++ files from non-distributed .y
- * tests/yacc-clean-cxx.test: New test, sister of `yacc-clean.test'.
- * tests/yacc-clean.test: Update heading comment to reference the
- new sister test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add a workaround for automake bug#8485
- * tests/yacc-d-cxx.test (Makefile.am): Add temporary workaround
- for automake bug#8485. The bug is still exposed by the testcase
- 'yacc-dist-nobuild-subdir.test'.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add a couple of inter-tests reference
- * tests/yacc-nodist.test, tests/pr204.test: These tests are
- related, so add references to each other in heading comments.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex tests: require just `lex' instead of `flex'
- * tests/lex-subobj-nodep.test ($required): Require `lex',
- not `flex', as this test is expected to work with any lex
- implementation.
- * tests/silent-lex.test: Likewise.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: use `skip_' for skipping yacc/lex related tests
- * tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: merge cleanup
- * tests/defs.in (flex, bison): Requirements removed, we have real
- `lex' and `yacc' requirements now.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: allow requirements for compilers (mostly dummy)
- Most of the new requirements that are now accepted in `$required'
- as consequence of this patch are still dummy. They are planned
- to be implemented only in master (or in some derived branch), but
- having them here (even just as no-op) will allow for an easier
- integration/backporting of potential new testcases.
- * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
- still dummy.
- (flex): New requirement, picking LEX for configure.
- (lex): New requirement, alias for `flex'. A more appropriate
- implementation, looking for a generic `lex' program, will follow
- in the future.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: 'silent-many-gcc.test' improved and made more robust
- * tests/silent-many-gcc.test: Also force "fast" gcc depmode
- for C++ compilations. Add sanity checks verifying that the
- cache variables we force are really used by configure. Fix
- typo in comments.
-
-2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: drop useless requirements of 'g++'
- * tests/lflags2.test ($required): Remove 'g++', as any working
- C++ compiler should be enough, and ./configure will cause the
- test to skip if no working C++ compiler is found.
- * tests/yflags2.test: Likewise.
- * tests/subobj9.test: Likewise.
- * tests/silentcxx.test: Likewise. Also, do not force depmodes
- that could cause non-GNU C++ compilers to fail.
- * tests/silentcxx-gcc.test: New test, like `silentcxx.test',
- but forcing "fast" gcc depmode (and thus requiring the GNU C++
- compiler).
- * tests/specflg10.test: Add proper "fixme" comment telling that
- we should make this test work with a generic C++ compiler.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: one more environment sanitization (corner case)
- * tests/defs (am__using_gmake): Initialize. The `using_gmake'
- subroutine was using this variable for caching, but wasn't
- initializing it, which could cause problems in the (admittedly
- very unlikely) case in which it was pre-existent in the
- environment.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add forgotten test scripts to $(TESTS)
- * tests/Makefile.am (TESTS): Added test scripts man[678].test,
- which have been present on the filesystem and in the repository,
- but which had erroneously been left out from $(TESTS).
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: ensure verbose printing of captured make output
- * tests/libtool7.test: Ensure verbose printing of captured
- make output.
- * tests/libtool9.test: Likewise.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintcheck: consistency of list of test scripts
- * CheckListOfTests.am: New file.
- (maintainer-check-list-of-tests): New target,
- check for consistency between list of tests defined in the
- including Makefile and list of tests on the filesystem.
- (clean-maintcheck-testslist-tmp): New rule, to clean up the
- temporary files that might be left around by the rules associated
- with the previous target.
- (clean-local): Depend on it.
- * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
- (maintainer-check): Added dependency from the new target
- `maintainer-check-list-of-tests'.
- * tests/Makefile.am: Likewise. Also ...
- (checked_test_extensions): Define to `.test'.
- (expected_test_list): Define properly.
- * Makefile.am (maintainer-check-list-of-test): New target,
- calling recursively into `tests/' and `lib/Automake/tests/',
- using ...
- (TEST_SUBDIRS): ... this new variable.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: drop useless requirements of gcc (plus testsuite tweakings)
- * tests/libobj14.test ($required): Remove 'gcc', as we never run
- the C compiler.
- * tests/targetclash.test: Likewise.
- * tests/ansi6.test ($required): Remove 'gcc', as any working
- C compiler should be enough.
- * tests/ansi7.test: Likewise.
- * tests/ansi9.test: Likewise.
- * tests/ansi10.test: Likewise.
- * tests/lex5.test: Likewise.
- * tests/lexvpath.test: Likewise.
- * tests/mmodely.test: Likewise.
- * tests/pr204.test: Likewise.
- * tests/pr300-lib.test: Likewise.
- * tests/pr300-prog.test: Likewise.
- * tests/primary3.test: Likewise.
- * tests/specflg7.test: Likewise.
- * tests/specflg8.test: Likewise.
- * tests/subdir5.test: Likewise.
- * tests/subdir8.test: Likewise.
- * tests/subobj6.test: Likewise.
- * tests/subst3.test: Likewise.
- * tests/substre2.test: Likewise.
- * tests/yacc6.test: Likewise.
- * tests/yacc8.test: Likewise.
- * tests/depcomp2.test: Likewise. Also, avoid clobbering user-set
- CFLAGS.
- * tests/lex3.test: Likewise.
- * tests/ansi3.test: Likewise. Also, avoid 'CC=gcc' in configure.
- * tests/ansi3b.test: Likewise.
- * tests/ansi5.test: Likewise.
- * tests/autohdr4.test ($required): Remove 'gcc', as any working
- C compiler should be enough.
- Also, do not reject slow dependency extractors (which we might
- be forced to use now that $CC is not necessarily gcc anymore).
- * tests/cond16.test ($required): Remove 'gcc', as any working
- C compiler should be enough.
- Since we are at it, throw in few minor tweakings (mostly cosmetic,
- stylistic, or consistency-related).
- * tests/cond18.test: Likewise.
- * tests/cond35.test: Likewise.
- * tests/gnits2.test: Likewise.
- * tests/libtool3.test: Likewise.
- * tests/libtool7.test: Likewise.
- * tests/libtool9.test: Likewise.
- * tests/ltcond.test: Likewise.
- * tests/ltcond2.test: Likewise.
- * tests/ltconv.test: Likewise.
- * tests/ltlibsrc.test: Likewise.
- * tests/nobase.test: Likewise.
- * tests/nobase-libtool.test: Likewise.
- * tests/pr220.test: Likewise.
- * tests/pr224.test: Likewise.
- * tests/pr300-ltlib.test: Likewise.
- * tests/pr401.test: Likewise.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- * tests/subpkg.test: Likewise.
- * tests/target-cflags.test: Likewise.
- * tests/transform.test: Likewise.
- * tests/yacc4.test: Likewise.
- * tests/cond19.test: Likewise. Also, avoid clobbering user-set
- CFLAGS.
- * tests/cond4.test: Likewise.
- * tests/depend2.test: Likewise.
- * tests/pr87.test: Likewise.
- * tests/subobj3.test: Likewise.
- * tests/substref.test: Likewise.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: increase coverage w.r.t. GNU make
- * tests/defs (GNUmake): Instead of just skipping the tests
- requiring GNU make if $MAKE is not GNU make, try to look for
- it and, if found, redefine $MAKE accordingly. This will help
- to transparently increase coverage on non-GNU systems which
- have GNU make available in PATH.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: improve few inter-tests references
- * tests/acloca22.test: Improve and extend the heading comments.
- Add reference to related tests 'remake-deleted-m4-file.test' and
- 'remake-renamed-m4-macro-and-file.test'. Since we are at it,
- add trailing `:' command, and few blank lines for readability.
- * tests/remake-renamed-m4-macro-and-file.test: In the heading
- comments, add reference to the related test 'acloca22.test'.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'color2.test'
- * tests/color2.test: If $MAKE contains command-line arguments (as
- in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
- spuriously, because it tries to run "$MAKE" as a single command.
- Fix this with proper uses of the TCL `eval' builtin.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: few more checks on automatic remake support
- * tests/remake-all-1.test: New test, check that the "all" target
- triggers rebuilt of outdated Makefiles.
- * tests/remake-all-2.test: Likewise, but for when the makefiles
- are not named `Makefile'.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: check some remake features with non-GNU make too
- * tests/acloca14.test ($required): Drop "GNUmake". This test
- works as-is with non-GNU make implementations.
- * tests/remake1a.test: Likewise.
- * tests/aclocal4.test ($required): Drop "GNUmake".
- Modify the test to have it work also with non-GNU make.
- * tests/remake5.test: Likewise.
- * tests/remake8a.test: Likewise.
- * tests/remake8b.test: Likewise.
- * tests/remake9a.test: Likewise.
- * tests/remake9b.test: Likewise.
- * tests/remake9c.test: Likewise.
- * tests/remake9d.test: Likewise.
- * tests/remake10a.test: Likewise.
- * tests/remake10b.test: Likewise.
- * tests/remake10c.test: Likewise.
- * tests/remake12.test: ($required): Drop "GNUmake".
- Adapt the test to make it work also with non-GNU make (if
- it supports an "include" directive).
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: extend tests on dependency tracking with VPATH
- * tests/depmod-tests.sh: New script, fulfilling a threefold role:
- 1. it is called to generate a Makefile.am snippet, containing the
- definition of proper lists of tests;
- 2. it is called to set up a directory containing some common data
- files and autotools-generated files used by the aforementioned
- tests (this is done for speed reasons only); and
- 3. it is called to properly run those tests, one at a time.
- * tests/depcomp9.test: Delete, it's obsolete now.
- * tests/depcomp10.test: Likewise.
- * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
- snippet, which defines ...
- (depmode_tests): ... this new macro, containing the list of the
- newly generated `*.depmod' tests.
- (TESTS_EXTENSIONS): Add `.depmod'.
- (DEPMOD_LOG_COMPILER): Define. It calls `depmod-tests.sh', so that
- the "depmode tests" will be executed by passing that driver script
- a proper parameter.
- ($(depmod_tests)): New dependency declaration (dummy, but required
- in order to have make actually produce expected log files from the
- `.depmod.log' suffix rule).
- (TESTS): Add $(depmod_tests).
- (EXTRA_DIST): Distribute depmod-tests.sh.
- Other minor cosmetic changes and reorderings.
- * bootstrap: Generate depmod-tests.am.
- * tests/.gitignore: Updated.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: avoid extra test generation (for `instspc' tests)
- We don't really need to generate tons and tons of wrapper test
- scripts (presently, ~ 90) just to run what is basically a single
- test (specifically, `instspc-tests.sh') with different parameters.
- In fact, the possibility of running a single driver script with
- multiple files/configurations/parameters is one of the major
- selling points of the 'parallel-tests' testsuite driver of
- automake. So why not use ourselves more extensively the best
- features we provide?
- * tests/instspc-tests.sh: Update heading comments. Expect
- to be executed, not sourced. Update handling of command-line
- arguments. Adjust to reflect the renaming of "instspc tests"
- from `instspc-*.test' to `*.instspc'.
- * tests/instspc-data.test: Update heading comments. Execute
- driver script `instspc-tests.sh', instead of sourcing it.
- Give more informative messages in case of internal errors.
- * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
- `.test' and `.instspc').
- (TESTS): Add `$(instspc_tests)'.
- (generated_tests): Remove `$(instspc_tests)'.
- (INSTSPC_LOG_COMPILER): Define. Calls `instspc-tests.sh', so
- that the "instspc tests" will be now executed by passing that
- driver script a proper parameter.
- ($(instspc_tests)): Remove, we don't need anymore to generate
- this tests.
- ($(instspc_tests:.test=.log)): Remove, substituted by ...
- ($(instspc_tests:.instspc=.log)): ... this.
- ($(instspc_tests)): New dependency declaration (dummy, but
- required in order to have make actually produce expected log
- files from the `.instspc.log' suffix rule).
- (MAINTAINERCLEANFILES, generated_tests): Don't extend with
- $(instspc_tests) anymore.
- Update comments.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- build: improve the definition of the list of testcases
- * tests/Makefile.am (handwritten_tests): New variable.
- (generated_tests): Likewise.
- (TESTS): Redefine as the union of the above.
- (EXTRA_DIST): Extend using $(handwritten_tests) and
- $(generated_tests) rather than $(TESTS).
- * tests/gen-parallel-tests: Update accordingly, and
- make more robust.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests skips: shorter and clearer messages
- * tests/defs: Use shorter messages when giving reasons for test
- skipping; it turns out these shorter messages are also clearer.
- If more info might be useful, send them to the log file only.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix self check spurious failure with older bash versions
- * tests/self-check-cleanup.test: Add trailing `:' to the test code
- passed to $SHELL, otherwise older versions of bash (at least 2.05
- and 3.2.39) fail to correctly remove the temporary directory in
- the exit trap.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add sanity check to 'self-check-cleanup.test'
- * tests/self-check-cleanup.test: Check that the "hacked" file
- `defs-static' used by the test differs from the "vanilla" one
- in builddir. This also offers a little more debugging output.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: display reasons for skips to the console
- * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
- `9' to the original stderr; define `stderr_fileno_' to `9', and
- export it.
- * tests/self-check-report.test: Prevent new spurious failures by
- removing from the environment any definition of `stderr_fileno_'.
-
-2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: use `skip_' for skipping of tests
- * tests/defs: Use the `skip_' subroutine for test skipping. Also
- give sometimes more detailed messages about the reasons for the
- skipping.
- * tests/canon7.test: Likewise.
- * tests/color.test: Likewise.
- * tests/color2.test: Likewise.
- * tests/compile2.test: Likewise.
- * tests/dejagnu7.test: Likewise.
- * tests/depcomp6.test: Likewise.
- * tests/depcomp9.test: Likewise.
- * tests/depcomp10.test: Likewise.
- * tests/distlinks.test: Likewise.
- * tests/distlinksbrk.test: Likewise.
- * tests/fn99.test: Likewise.
- * tests/fn99subdir.test: Likewise.
- * tests/forcemiss2.test: Likewise.
- * tests/fort5.test: Likewise.
- * tests/gettext3.test: Likewise.
- * tests/install2.test: Likewise.
- * tests/instfail-info.test: Likewise.
- * tests/instfail-java.test: Likewise.
- * tests/instfail-libtool.test: Likewise.
- * tests/instfail.test: Likewise.
- * tests/instmany-mans.test: Likewise.
- * tests/instmany-python.test: Likewise.
- * tests/instmany.test: Likewise.
- * tests/instsh3.test: Likewise.
- * tests/ltinit.test: Likewise.
- * tests/makej2.test: Likewise.
- * tests/mdate6.test: Likewise.
- * tests/mkinst3.test: Likewise.
- * tests/parallel-tests3.test: Likewise.
- * tests/parallel-tests-reset-term.test: Likewise.
- * tests/parallel-tests-unreadable-log.test: Likewise,
- * tests/python-virtualenv.test: Likewise.
- * tests/remake-gnulib-remove-header.test: Likewise.
- * tests/subobj9.test: Likewise.
- * tests/symlink2.test: Likewise.
- * tests/tar.test: Likewise.
- * tests/tar2.test: Likewise.
- * tests/txinfo26.test: Likewise.
- * tests/vala2.test: Likewise.
- * tests/vala3.test: Likewise.
- * tests/vala5.test: Likewise.
- * tests/vtexi4.test: Likewise.
- * tests/instdir-texi.test: Likewise.
- * tests/txinfo21.test: Likewise.
-
-2011-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: more environment sanitization
- * tests/defs: Move the checks verifying that the variables `me',
- `parallel_tests' and `required' aren't set in the environment ...
- * tests/defs-static.in: ... in here, with some optimizations to
- avoid useless forks. Also, do the same checks for the variables
- `original_AUTOMAKE' and `original_ACLOCAL' too.
- * tests/self-check-env-sanitize.test: Update.
- * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
- `original_AUTOMAKE' and `original_ACLOCAL'.
-
-2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
- * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
- instead of AM_TESTS_SETUP (which has been removed in commit
- v1.11-349-g12f48fa).
- Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
-
-2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in a test on TESTS (VPATH-related)
- * tests/check-tests-in-builddir.test: When not using the
- parallel-tests option, do not check that VPATH components are
- not present in the displayed test name, since the simple-tests
- driver do not try to strip them.
-
-2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in self-check-env-sanitize.test
- * tests/self-check-env-sanitize.test: Open file descriptor `5'
- to stdout.
- Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test: self check subroutines for skipping/failing of tests
- * tests/self-check-report.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-23 Jim Meyering <meyering@redhat.com>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new subroutines for test skipping/failing
- * tests/defs.in (Exit): Move definition of this function earlier.
- (warn_, skip_, fail_, framework_failure_): New functions, inspired
- to the homonyms in gnulib's tests/init.sh.
- ($stderr_fileno_): New global variable, used by the new functions
- above.
- * tests/README: Updated.
- From a suggestion by Ralf Wildenhues.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix typo (copy & paste blunder) in heading comment
- * tests/maintclean-vpath.test: Correctly refer to the sister test
- as `maintclean.test', not as `maintclean-vpath.test'.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant test `mclean.test'
- * tests/mclean.test: Remove, it's a weak grepping test completely
- superseded by the much more complete `maintclean.test'.
- * tests/Makefile.am (TESTS): Update.
-
-2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java tests: use $PATH_SEPARATOR where appropriate
- * tests/java-compile-run-nested.test: Use `$PATH_SEPARATOR', not
- `:', to separate entries of extended PATH and CLASSPATH variables.
- * tests/java-compile-run-flat.test: Likewise.
-
-2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java coverage: test JAVACFLAGS and AM_JAVACFLAGS
- * tests/javaflags.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java coverage: test rebuild rules for java
- * tests/java-rebuild.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java coverage: try to build and run a java program
- * tests/java-compile-run-flat.test: New test, try to build and run
- a "UNIX-style" java program (complete with wrapper shell script
- and the like) with a "flat" source-tree setup (i.e., everything in
- the top-level directory).
- * tests/java-compile-nested.test: Likewise, but using a more
- typical "nested" source-tree setup.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new requirement for the default java interpreter
- * tests/defs.in (for tool in $required): New requirement 'java'.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java tests: tweak and make stricter a couple of tests
- * tests/javasubst.test: Use proper m4 quoting. Add trailing `:'
- command. Enable `errexit' shell flag, and related changes.
- Prefer cat + here-doc over echo to append to configure.in.
- Make grepping of Makefile.in stricter. Add debugging output.
- Improve heading comments.
- * tests/javaprim.test: Likewise.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java coverage: add test on uninstall with JAVA primary
- * tests/java-uninstall.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java tests: require java compiler more properly
- * tests/java-extra.test: Use "required=javac" instead of ad-hoc
- configure check.
- * tests/java-noinst.test: Likewise.
-
-2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java: allow both JAVA and nobase_JAVA in the same Makefile.am
- * automake.in (handle_java): Also strip `nobase_' from the given
- prefix, when needed.
- * tests/java-clean.test: Update and extend.
- * tests/java-compile-install.test: Likewise.
- * tests/java-no-duplicate.test: Likewise.
- * tests/java-sources.test: Likewise.
- * tests/java-noinst.test: Likewise.
- * tests/java-mix-dist-nodist.test: Renamed to ...
- * tests/java-mix.test: ... this, and extended.
- * tests/java-nobase.test: New test, still xfailing due to
- unrelated issues.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
-2011-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- testsuite: more environment sanitization
- * tests/defs.in: Sanity check: abort if any of `parallel_tests'
- or `required' is in the environment.
- ($sed_unindent_prog): Initialize to empty, to avoid interferences
- from the environment.
- * tests/self-check-me-in-env.test: Renamed to ...
- * tests/self-check-env-sanitize.test: ... this, and extended.
- * tests/Makefile.am (TESTS): Update.
- (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
- `required'. Adjust comments.
-
-2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: in self-checks, use $SHELL, not /bin/sh
- * tests/self-check-me-in-env.test: Include `./defs-static' to get
- the definition of `$SHELL'. Use `$SHELL' instead of `/bin/sh' to
- execute the tests.
-
-2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
- * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
- (AM_TESTS_ENVIRONMENT): ... this.
-
-2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: don't allow `$me' to be overridden from the environment
- * tests/defs.in: Sanity check: abort if $me is in the environment.
- * tests/self-check-me-in-env.test: New test.
- * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
- (TESTS): Update.
- Suggestion by Ralf Wildenhues.
-
-2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
- The AM_TESTS_SETUP naming was not a good one after all. It may
- be technically more correct than AM_TESTS_ENVIRONMENT, but the
- latter is a better one simply because it is easier to remember,
- and even if you've never heard of it and only know the semantics
- of TESTS_ENVIRONMENT, you can have a straightforward way to
- figure out how AM_TESTS_ENVIRONMENT would work.
- * tests/check.am (am__check_pre): Update.
- * doc/automake.in (Simple Tests using parallel-tests): Update.
- * tests/parallel-tests-am_tests_setup.test: Renamed ...
- * tests/parallel-tests-am_tests_environment.test: ... to this,
- and updated.
- * tests/Makefile.am (TESTS): Update.
- Suggestion and motivation by Ralf Wildenhues.
-
-2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: allow overriding of `$me'
- * tests/defs.in ($me): Allow overriding by the including test
- script. Add some explicative comments.
-
-2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: more tests on the parallel-tests driver
- * tests/parallel-tests-interrupt.test: New test.
- * tests/parallel-tests-reset-term.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- check: new developer-reserved AM_TESTS_SETUP variable
- For reference, see the discussion at:
- <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
- * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
- $(AM_TESTS_SETUP). Comments updated, and some typos fixed.
- * doc/automake.texi (Simple Tests using parallel-tests): Document
- AM_TESTS_SETUP. Reorder some of the existing documentation a bit.
- * tests/parallel-tests-am_tests_setup.test: New test.
- From a suggestion by Ralf Wildenhues.
-
-2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- depcomp tests: don't reject slower dependency extractors
- * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
- option to `configure' invocations, so that slower dependency
- extractors are not rejected.
- * tests/depcomp8a.test: Likewise. Also ...
- (foo.c): ... since we are at it, fix spacing to be consistent
- with GNU coding standards.
-
-2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- m4: add missing serial numbers to a few files
- Fixes automake bug#8483.
- * m4/amversion.in: Add serial number.
- * m4/auxdir.m4: Likewise.
- * m4/gcj.m4: Likewise.
- * m4/install-sh.m4: Likewise.
- * m4/mkdirp.m4: Likewise.
- * m4/python.m4: Likewise.
- * m4/runlog.m4: Likewise.
- * m4/strip.m4: Likewise.
- * m4/upc.m4: Likewise.
-
-2011-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix few bugs in self checks
- Related to automake bug#8508.
- * tests/self-check-cleanup.test: Be laxer when grepping output
- from `ls -l', to account for ACLs and SELinux-only files.
- * tests/self-check-dir.test: Source `defs-static' to read in the
- correct definition for $SHELL.
- * tests/self-check-me.test: Likewise, and extend a bit.
- Report from Jim Meyering.
-
-2011-04-16 Jim Meyering <meyering@redhat.com>
-
- depcomp: correct invalid sed invocation
- * lib/depcomp: Insert missing -e before '/:$/d'.
- Otherwise, that use of sed would treat '/:$/d' as a file name.
-
-2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- maintainer check: quote literal `$' in Makefile rule
- * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
- character in double-quoted string. Fix a bug in which the rule
- emitted an erroneously empty substring in its error message.
-
-2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix typo in python5b.test
- * tests/python5b.test: Remove extra `:' from $PATH redefinition.
-
-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- lex/yacc tests: remove redundant $distdir definition
- * tests/lex3.test ($distdir): Remove definition, that's already
- done in `tests/defs'.
- * tests/lexvpath.test: Likewise.
- * tests/yacc-basic.test: Likewise.
- * tests/yacc-cxx.test: Likewise.
- * tests/yacc-d-basic.test: Likewise.
- * tests/yacc-d-cxx.test: Likewise.
- * tests/yacc-d-vpath.test: Likewise.
- * tests/yacc-dist-nobuild-subdir.test: Likewise.
- * tests/yacc-dist-nobuild.test: Likewise.
- * tests/yacc-mix-c-cxx.test: Likewise.
- * tests/yaccvpath.test: Likewise.
-
-2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundant settings of `errexit' shell flag
- * tests/autodist-acconfig.test: Do not set the `errexit'
- shell flag, as it is already set by `tests/defs'.
- * tests/autodist-acconfig-no-subdir.test: Likewise.
- * tests/autodist-aclocal-m4.test: Likewise.
- * tests/autodist-config-headers.test: Likewise.
- * tests/autodist-configure-no-subdir.test: Likewise.
- * tests/autodist-stamp-vti.test: Likewise.
- * tests/autodist-subdir.test: Likewise.
- * tests/autodist.test: Likewise.
- * tests/check-exported-srcdir.test: Likewise.
- * tests/check-tests-in-builddir.test: Likewise.
- * tests/check-tests_environment.test: Likewise.
- * tests/help-python.test: Likewise.
- * tests/java-check.test: Likewise.
- * tests/java-extra.test: Likewise.
- * tests/java-noinst.test: Likewise.
- * tests/lex-subobj-nodep.test: Likewise.
- * tests/ltinit.test: Likewise.
- * tests/m4-inclusion.test: Likewise.
- * tests/maintclean-vpath.test: Likewise.
- * tests/parallel-tests-subdir.test: Likewise.
- * tests/pr8365-remake-timing.test: Likewise.
- * tests/python-dist.test: Likewise.
- * tests/python-vars.test: Likewise.
- * tests/python-virtualenv.test: Likewise.
- * tests/python5b.test: Likewise.
- * tests/specflg-dummy.test: Likewise.
- * tests/yacc-dist-nobuild-subdir.test: Likewise.
-
-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: define default $distdir (help reducing duplication)
- * tests/defs ($distdir): New variable, might be used in
- testcases checking distribution-related features.
- * tests/pr9.test: Use it.
- * tests/subdir9.test: Likewise.
- * tests/lex3.test: Likewise.
- * tests/lexvpath.test: Likewise.
- * tests/remake-moved-m4-file.test: Likewise.
- * tests/remake-renamed-m4-file.test: Likewise.
- * tests/remake-renamed-m4-macro-and-file.test: Likewise.
- * tests/yacc-basic.test: Likewise.
- * tests/yacc-d-basic.test: Likewise.
- * tests/yacc-d-vpath.test: Likewise.
- * tests/yacc-dist-nobuild.test: Likewise.
- * tests/vtexi3.test: Add comment explaining why we redefine
- $distdir in this test.
-
-2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: test lex-generated "#line" directives postprocessing
- * tests/yacc-line.test: In heading comments, add reference to new
- sister test `lex-line.test'.
- * tests/lex-line.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: minor improvements to a couple of yacc tests
- * tests/yacc-auxdir.test: Avoid running autoconf, it's not
- needed.
- * tests/yacc-line.test: Also check that the yacc-generated C
- and header files do not contain "#line" directives referencing
- `y.tab.c' or `y.tab.h'. Add a couple of explicative comments.
-
-2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: split yacc6.test, for better separation and coverage
- * tests/yacc6.test: Test removed, its content extended and split
- into ...
- * tests/yacc-auxdir.test, tests/yacc-depend.test,
- tests/yacc-line.test: ... these new tests.
- * tests/yacc-depend2.test: New test, exposes the failure that
- FreeBSD used to encounter in yacc6.test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: do not uselessly require GNU make or gcc in a few tests
- * tests/lex3.test: Remove gcc from requirements, as any working C
- compiler should be ok. Consequently, do not clobber user CFLAGS.
- Also, remove GNUmake from requirements; it was added (see commit
- `Release-1-8-103-g0d2f592') because this test fails with FreeBSD
- make due to VPATH issues -- but so do many other yacc-related and
- lex-related tests currently, and requiring GNU make in all of
- them would unacceptably reduce coverage.
- * tests/lexvpath.test: Remove gcc from requirements, as any
- working C compiler should be ok.
- * tests/yacc4.test: Likewise.
- * tests/yacc8.test: Likewise.
- * tests/lex5.test: Likewise. Also, do not require anymore GNU
- make; to compensate, explicitly call "$MAKE Makefile" to update
- the out-of-date Makefile if $MAKE is not GNU make.
-
-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in test 'yacc-d-cxx.test'
- * tests/yacc-d-cxx.test: Create ylwrap script before calling
- automake for the first time, so that the script gets correctly
- distributed. Add checks verifying it indeed is.
-
-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests cosmetics: remove redundant definitions of variable $tab
- * tests/yacc-d-basic.test ($tab): Remove definition: it's already
- defined in `tests/defs'.
- * tests/yacc-d-cxx.test: Likewise.
-
-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: add some tests on bison support (still xfailing)
- Related to automake bug#7648 and PR automake/491.
- * tests/bison-skeleton-cxx.test: New test.
- * tests/bison-skeleton.test: New test.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
-
-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: test for automake bug#8485 (known regression)
- * tests/yacc-dist-nobuild-subdir.test: New test.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
-2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: test mixed C/C++ yacc-generated parsers in the same dir
- * tests/yacc-mix-c-cxx.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: fix typos and wording in some yacc tests
- * tests/yacc-cxx.test (foo.cc): Clarify comment about the content
- of this file being valid C++ but invalid C.
- (parse1.yy): Likewise. Also, remove redundant parentheses in a
- `return' statement.
- * tests/yacc-d-cxx.test (write_parse): Clarify comment about the
- content of the generated files being valid C++ but invalid C.
- (write_main): Likewise.
- * tests/yacc-basic.test: Remove redundant parentheses in a
- `return' statement.
- * tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
- * tests/yaccvpath.test: Likewise.
- * tests/yaccdry.test: Likewise.
- * tests/yacc8.test: Likewise.
- * tests/yacc4.test: Likewise.
- Suggested by Ralf Wildenhues.
-
-2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: update NEWS and docs about yacc-generated headers extensions
- * doc/automake.texi (Yacc and Lex): Document explicitly that
- extensions of yacc-generated headers are modelled after the
- extension of the corresponding sources.
- * NEWS: Update.
-
-2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: extension of headers modelled after extension of sources
- With this change, if '-d' is in *YFLAGS, a yacc input file named
- foo.y++ will cause a foo.h++ header to be generated, instead of a
- foo.h header. Similarly for foo.ypp, foo.yxx and foo.yy.
- This way, the name of the files generated by an automake-created
- `ylwrap' invocation should be consistent with those generated by
- a `bison -o' call.
- Related to automake bug#7648 and PR automake/491.
- * lib/am/yacc.am (am__yacc_c2h): New internal variable.
- (?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
- the header dynamically at make runtime, so that its extension is
- modelled after the extension of the source.
- * automake.in (lang_yacc_target_hook): Adjust the calculation of
- `$header' accordingly.
- * tests/yacc-cxx.test: New test.
- * tests/yacc-d-cxx.test: Likewise.
- * tests/yacc-weirdnames.test: Likewise.
- * tests/yacc-basic.test: Update comments.
- * tests/yacc-d-basic.test: Likewise.
- * tests/yaccpp.test: Updated and extended.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: don't define YACC and LEX in the Makefiles
- We don't want YACC and LEX defined as make variables, otherwise
- the values determined at configure time will override those from
- the environment, even in the make-spawned testcases. For example,
- before this change, with the following usage:
- $ ./configure YACC=yacc
- $ export YACC='bison -y'
- $ make check
- the testsuite would have ended up, very counterintuitively, with
- YACC defined to 'yacc' in the testcases' environment.
- * configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
-
-2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in lflags*.test
- * tests/lflags.test: Remove 'LEX' from the environment, so
- that it won't be erroneously picked up by `make -e'.
- * tests/lflags2.test: Likewise.
-
-2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: more on 'yacc -d' and recovery from deleted headers
- * tests/yacc-deleted-headers.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove redundancy from silent lex/yacc tests
- * tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
- these two testcases into ...
- * tests/silent-yacc.test: ... this new one, which doesn't fiddle
- which dependency tracking, as that shouldn't impact on generation
- of yacc-derived C source and header files (and, for what concerns
- compilation of C files, is already tested in other testcases).
- * tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
- these two testcases into ...
- * tests/silent-lex.test: ... this new test, for similar reasons.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests init: better messages for 'yacc' and 'lex' requirements
- * tests/defs.in: Give better diagnostic messages when a test must
- be skipped to the unavailability of yacc or lex program. Also,
- improve syncing between code for requiring yacc and lex.
-
-2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- configure: look for a lex program to be used by the testsuite
- This will allow the testcases requiring a 'lex' program to run also
- with vendor/legacy lex implementations, not only with 'flex'.
- * configure.ac: Look for a lex program, using AC_CHECK_PROGS.
- * tests/defs.in: New required entry 'lex'.
- ($LEX): Let the user override the lex program to be used by the
- testsuite.
- * tests/cond35.test ($required): Require 'lex', not 'flex'.
- * tests/cond36.test: Likewise.
- * tests/lexv3.test: Likewise.
- * tests/lexv3.test: Likewise.
- * tests/silent-lex-gcc.test: Likewise.
- * tests/silent-lex-generic.test: Likewise.
- * tests/silent-many-gcc.test: Likewise.
- * tests/silent-many-generic.test:likewise.
- * tests/lexvpath.test: Likewise, and fix typo in comments.
-
-2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- configure: look for a yacc program to be used by the testsuite
- Instead of forcing the user to manually export 'YACC' in the
- testsuite to use a non-bison yacc, we now look for a yacc program
- at configure time, and use that as the default in the testsuite.
- * configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
- * tests/defs.in: Updated to use the value of $YACC precomputed by
- configure, unless the user overrides that in the environment.
-
-2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more coverage on yacc/lex silent-rules, plus minor cleanups
- * tests/silent-yacc-gcc.test: Add sanity checks verifying that the
- generated Makefile.in files really contains the non-generic rules
- we expect. Do not redundantly manually remove files we know to be
- already removed "make maintainer-clean".
- (Makefile.am): Ensure we cover also non-generic yacc rules, by
- setting target-specific YFLAGS.
- (sub/Makefile.am): Likewise.
- * tests/silent-yacc-generic.test: Likewise.
- * tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
- YFLAGS.
- * tests/silent-lex-generic.test: Likewise.
- * tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
- YFLAGS. Also ...
- (do_and_check_verbose_build): Remove redundant blank line.
- * tests/silent-many-generic.test: Likewise.
- * tests/silent-yacc-headers.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in yflags*.test
- * tests/yflags.test: Remove 'YACC' from the environment, so
- that it won't be erroneously picked up by `make -e'.
- * tests/yflags2.test: Likewise.
-
-2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: cover yacc target-specific flags, and `-v' flag handling
- * tests/yacc-basic.test: Also try to build a parser having `-v'
- as target-specific flags. Add a couple of `ls -l' commands, for
- debugging. Update and extend comments. Escape literal dots in
- grep regular expressions.
-
-2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: clustered '-d' not recognized in YFLAGS
- This change fixes automake bug#7828.
- * doc/automake.texi (Yacc and Lex): Document that automake
- recognizes '-d' in AM_YFLAGS only if it's not clustered with
- other options.
- From a report by Юрий ПухальÑкий.
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: do not force yacc-requiring tests to use bison
- * tests/defs.in: New required entry 'yacc'. Remove old
- required entry 'bison'.
- * tests/cond35.test ($required): Require yacc, not bison.
- * tests/cond36.test: Likewise.
- * tests/pr204.test: Likewise.
- * tests/silent-many-gcc.test: Likewise.
- * tests/silent-many-generic.test: Likewise.
- * tests/silent-yacc-gcc.test: Likewise.
- * tests/silent-yacc-generic.test: Likewise.
- * tests/subpkg.test: Likewise.
- * tests/suffix10.test: Likewise.
- * tests/yacc-basic.test: Likewise.
- * tests/yacc-clean.test: Likewise.
- * tests/yacc-d-basic.test: Likewise.
- * tests/yacc-d-vpath.test: Likewise.
- * tests/yacc-dist-nobuild.test: Likewise.
- * tests/yacc-nodist.test: Likewise.
- * tests/yacc4.test: Likewise.
- * tests/yacc6.test: Likewise.
- * tests/yacc7.test: Likewise.
- * tests/yacc8.test: Likewise.
- * tests/yaccdry.test: Likewise.
- * tests/yaccvpath.test: Likewise.
-
-2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: warn about conditional content in *YFLAGS variables
- This change fixes automake bug#7804.
- * automake.in (lang_yacc_target_hook): Warn if any of the relevant
- *YFLAGS variables has conditional contents (not only a conditional
- definition). Related refactoring.
- * NEWS: Updated.
- * tests/yflags-conditional.test: Updated and extended.
- * tests/yflags-conditional-force.test: New test.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: support variable expansions in *YFLAGS definition.
- This change fixes automake bug#7800.
- * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
- instead of 'variable_value' to get the value of *YFLAGS variables.
- Related changes.
- ($DASH_D_PATTERN): Removed.
- * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
- * tests/yacc-clean.test: Remove workaround for now-fixed bug.
- * NEWS: Update.
-
-2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: more tests on *YFLAGS support
- * tests/yflags-var-expand.test: New test, still xfailing. It
- exposes automake bug#7800 -- "automake fails to honor `-d' in
- AM_YFLAGS when variable expansions are involved".
- * tests/yflags-d-false-positive.test: New test, checking that
- automake do not spuriously see `-d' in *YFLAGS when that isn't
- really there.
- * tests/yflags-force-override.test: New test, checking that
- automake can cope with definition of the YFLAGS variable in
- Makefile.am (even if that is an extremely bad practice, as that
- variable is user-reserved).
- * tests/yflags-cmdline-override.test: New test, checking that
- automake can cope with user-redefinition of YFLAGS at configure
- time and/or at make time.
- * tests/yflags-conditional.test: New test, checks that automake
- warns on conditionally-defined *YFLAGS variables.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
-2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: extend and improve tests
- * tests/yacc-basic.test: Also check that the intermediate C file
- is mentioned in the generated Makefile.in, and that it is created
- by the first make invocation.
- * tests/yacc3.test: Test removed, superseded by ...
- * tests/yacc-d-basic.test: ... this new test.
- * tests/yacc2.test: Add reference to that new test in the heading
- comments.
- * tests/yacc-d-vpath.test: New test.
- * tests/yaccvpath.test: Updated heading comments. Do not require
- gcc anymore, as any working C compiler should be enough. Remove
- redundant comments.
- * tests/yacc-nodist.test: New test.
- * tests/yacc-dist-nobuild.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extend, fix and improve tests on Lex and Yacc support.
- * tests/lexcpp.test: New test script, on support for Lex + C++.
- * tests/lexvpath.test: New test script, test build and rebuild
- rules for lexers in VPATH setup.
- * tests/yacc-basic.test: New test script, run simple "semantic"
- checks on basic Yacc support (similarly to what lex3.test does
- for Lex support).
- * tests/lex.test: Don't create useless dummy source file joe.l.
- Remove extra blank lines.
- * tests/lex4.test: Add trailing `:' command. Do not create dummy
- useless lex source file.
- * tests/lex2.test: Likewise. Call automake with the `-a' option,
- so that it doesn't fail for the absence of `ylwrap' script. Make
- grepping of automake stderr stricter.
- * tests/yacc7.test: Add trailing `:' command. Enable `errexit'
- shell flag earlier (just after having sourced ./defs).
- * tests/yacc4.test: Likewise. Also ...
- (configure.in): Use pre-populated skeleton set up by ./defs,
- instead of writing one from scratch.
- Other minor cosmetic changes.
- * tests/yacc5.test: Likewise.
- * tests/yaccvpath.test: Likewise. Also ...
- ($distdir): New variable.
- Use it throughout.
- * tests/lex5.test: Likewise.
- * tests/lex3.test: Likewise. Check the distdir, rather than
- grepping the distribution tarball. Extend the test on the
- created binary, and be sure to avoid hangs. Add some comments.
- * tests/yacc.test: Use stricter grepping. Add trailing `:'.
- * tests/yacc6.test: Likewise.
- * tests/yacc3.test: Likewise. Do not create the unused file
- `Makefile.sed'. Remove useless rules from Makefile.am. Other
- minor cosmetic changes.
- * tests/yacc2.test: Make grepping of generated `Makefile.in' and
- of automake error messages stricter. Do not redirect output of
- grep to /dev/null. Move call to aclocal earlier. Reduce the
- number of empty blank lines. Fix a typo in comments.
- * tests/yacc8.test: Fixed bugs that reduced the completeness of
- the tests. Added trailing `:' command.
- (configure.in): Use pre-populated skeleton set up by ./defs,
- instead of writing one from scratch.
- * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
- `.yxx', rather than only `.yy'.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: "make clean" removes .c and .h files from non-distributed .y
- Previously, while automake did *not* distribute C source and header
- files derived from non-distributed Yacc sources, it still caused
- them to be removed only by "make maintainer-clean" only, and not by
- simply "make clean" or "make distclean".
- This caused "make distcheck" to fail, unless the developer put
- those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
- by hand.
- This change fixes this issue, by making non-distributed `.c' and
- `.h' files generated by non-distributed Yacc sources cleaned by
- "make clean".
- * tests/automake.in (lang_yacc_target_hook): Make C source and
- header files derived from non-distributed Yacc files cleaned by
- "make clean", not only by "make maintainer-clean".
- * tests/yacc-clean.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- depcomp: fix bugs in tests and in the depcomp script
- * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
- * tests/depcomp10.test: Make it executable. Fix a blunder that
- has left part of an intended comment not prefixed by `#', thus
- causing shell syntax errors. In this same comment, break a
- too-long reported error message on multiple lines, for clarity.
- Add reference to the relevant bug report. Add a comment which
- explains why the test result 'skipped' if the first "make" call
- fails. Add other useful comments.
- * tests/depcomp9.test: Slightly improve comments.
-
-2011-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix hp depmode for VPATH builds with GNU make.
- * lib/depcomp: Be sure to remove VPATH-prefixed object from
- dependency output when creating stub rule.
- * tests/depcomp10.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
- Report by Bruno Haible.
-
-2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
- Fixes automake bug#8434.
- * automake.in (handle_java): Strip `dist_' and `nodist_' from
- the given prefix. Define a new internal Makefile variable
- `am__java_sources'. Related adjustments.
- * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the
- first time this am file is processed.
- (class%DIR%.stamp): Stamp file renamed ...
- (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_'
- prefixes are stripped from the name of the stampfile. Adjust
- declaration of dependencies by using the new automake-generated
- internal variable `$(am__java_sources)'. In the rule, use `$@'
- as the name of the target, rather than hard-coding it.
- * tests/java.test: Update and extend.
- * tests/java-no-duplicate.test: New test.
- * tests/java-mix-dist-nodist.test: Likewise.
- * tests/java-compile-and-install.test: Likewise.
- * tests/java-clean.test: Likewise.
- * tests/java-sources.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: more on java support EXTRA_ and noinst_ prefixes
- * tests/java-extra.test: New test, checking support for the
- prefix `EXTRA_' with the JAVA primary.
- * tests/java-noinst.test: New test, checking support for the
- prefix `noinst_' with the JAVA primary.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: fix 'javac' requirement for older JDK versions
- The Java compiler from JDK 1.5 (and presumably earlier versions)
- cannot handle the `-version' option by itself; and while it does
- print the version number, it then errors out with an usage error:
- $ javac -version
- javac 1.5.0_22
- javac: no source files
- Usage: javac <options> <source files>
- ...
- Luckily, adding the `-help' option to the `javac' invocation
- seems to fix this problem.
- * tests/defs.in (javac): Pass also the `-help' option to the
- `javac' program. Add a comment explaining why it is needed.
- Report from Ralf Wildenhues.
-
-2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- test defs: new requirement for the default java compiler
- * tests/defs.in (for tool in $required): New requirement 'javac'.
- * tests/java.test: Use it instead of ad-hoc configure check.
- * tests/java-check.test: Likewise.
- * tests/java-extra.test: Likewise.
- * tests/java-noinst.test: Likewise.
- * tests/instfail-java.test: Likewise.
- * tests/instdir-java.test: Likewise.
-
-2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- java: check_JAVA does not cause compilation by "make all" anymore
- Fixes automake bug#8234.
- * automake.in (handle_java): Make stamp of class files built from
- java sources in $(check_JAVA) a dependency of `check' target, not
- `all' target.
- * tests/java-check.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
- * THANKS: Update.
- Report from Petteri Räty.
-
-2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
- Bruno Haible <bruno@clisp.org>
-
- coverage: add tests on remake rules in more complex situations
- * tests/defs (using_gmake): New function.
- (for tool in $required): Use it when $tool is 'GNUmake'.
- * tests/remake-moved-m4-file.test: New test.
- * tests/remake-deleted-m4-file.test: Likewise.
- * tests/remake-renamed-m4-file.test: Likewise.
- * tests/remake-renamed-m4-macro-and-file.test: Likewise.
- * tests/remake-renamed-m4-macro.test: Likewise.
- * tests/remake-add-acsubst-gnulib.test: Likewise.
- * tests/remake-add-header-gnulib.test: Likewise.
- * tests/remake-remove-header-gnulib.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- typofix in 'tests/defs'
- * tests/defs: Fix typo (`itslef' instead of `itself') in
- comments.
-
-2011-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Clarify regex code in depcomp.
- * lib/depcomp: Add comment why we don't need regex-escaping here.
- Suggested by Stefano Lattarini.
-
-2011-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix makedepend depmode for VPATH builds.
- * lib/depcomp [makedepend]: Remove any VPATH prefix from the
- object file name, so a rebuild doesn't attempt to update the
- .Po files in the source tree.
- * tests/depcomp9.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix timestamp-related failures
- Fixes automake bug#8365.
- * tests/aclocal6.test: Sleep before modifying m4 files that should
- trigger remake rules. Remove incorrect/obsoleted comments.
- * tests/subdir5.test: Likewise, and extend a bit.
- * tests/subdir8.test: Likewise.
- * tests/pr8365-remake-timing.test: New xfailing test.
- * tests/Makefile.am (TESTS): Update.
- Report from Sam Steingold.
-
-2011-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Create subdirs for generated sources even when not dep tracking.
- * automake.in (handle_single_transform): If $object is derived
- and lands in subdir, be sure to output a dirstamp dependency.
- * tests/yacc5.test: Avoid falsely matching the dirstamp
- dependency when grepping for a rule.
- * tests/lex-subobj-nodep.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * THANKS: Update.
- Report by Ignacy Gawedzki.
-
- Fix locale issue in check-exported-srcdir.test.
- * tests/check-exported-srcdir.test: Reformulate glob to not fail
- in a locale that ignores or interleaves character case.
-
-2011-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: better visibility for aclocal in the index
- * doc/automake.texi (@menu): Rename title for entry 'configure'
- from "Scanning configure.ac or configure.in" to the more precise
- "Scanning configure.ac, using aclocal".
- (@detailmenu): Adjust.
- (@node configure): Adjust, and extend @cindex calls accordingly.
- * THANKS: Update.
- From a report by Maynard Johnson.
-
-2011-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: improve tests on "maintainer-clean" target
- * tests/aclocal6.test: Move checks related to "maintainer-clean"
- functionalities into ...
- * tests/maintclean-vpath.test: ... this new test.
- * tests/maintclean.test: Update heading comments. Extend to also
- test subdirs. Remove useless disabling of YACC. Fix m4 quoting
- in configure.in. Add a trailing `:' command. Remove extra blank
- lines.
- * tests/Makefile.am (TESTS): Update.
-
-2011-03-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: fix unindent to use printf not echo for script.
- * tests/defs.in: Use printf rather than echo, as the latter may
- interpret the backslashes in the sed script. Fixes test
- failures with dash as /bin/sh.
-
-2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- maintcheck: look for problematic names of testcases
- The configure.in stub created by default by `tests/defs' obtains
- the first argument of AC_INIT from the test name, and this can
- cause some supported autoconf versions to fail with a spurious
- error if that test name contains the name of an m4 or m4sugar
- builtin or macro (e.g., `defn' or `m4_undefine').
- See for example the bug fixed by commit v1.11-287-g1325a8a.
- This change add a maintainer check that warns about test names
- which are possibly problematic in this regard.
- * Makefile.am (sc_test_names): New maintainer-check target.
- (syntax_check_rules): Add it.
- (m4_builtins): New helper variable.
- (TESTS): Updated according to the following renamings.
- * tests/include.test: Renamed ...
- * tests/hdr-vars-defined-once.test: ... to this.
- * tests/sinclude.test: Renamed ...
- * tests/m4-inclusion.test: ... to this, and simplified
- accordingly.
- * tests/include2.test: Renamed ...
- * tests/dist-included-parent-dir.test: ... to this, for
- consistency.
-
-2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix bug in alloca*.test
- * tests/alloca.test: Make grepping of automake stderr stricter,
- add a trailing `:' command; also, add AC_PROG_CC to configure.in,
- and create a dummy alloca.c file, to ensure that we fail for the
- proper reason.
- * tests/alloca2.test: Likewise. Also, look for LT_INIT, not
- AC_PROG_LIBTOOL, in the error message (bug introduced with commit
- v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
- primary is used").
- From a report by Patrick Welche.
-
-2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: better use of m4 quoting and m4sugar macros
- * m4/dmalloc.m4: Better use of m4 quoting. Bump serial number.
- * m4/gcj.m4: Likewise.
- * m4/init.m4: Likewise.
- * m4/install-sh.m4: Likewise.
- * m4/lex.m4: Likewise.
- * m4/multi.m4: Likewise.
- * m4/option.m4: Likewise.
- * m4/python.m4: Likewise.
- * m4/sanity.m4: Likewise.
- * m4/cond.m4: Likewise. Also, prefer the m4sugar macro 'm4_if'
- over the plain m4 macro 'ifelse'.
- * m4/depend.m4: Likewise.
-
-2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add test about deprecated use of AC_INIT
- * tests/deprecated-acinit.test: New test, check that automake
- and autoconf complain about an old-style AC_INIT call used with
- a new-style AM_AUTOMAKE_INIT call.
- * tests/Makefile.am (TESTS): Update.
-
-2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
- * tests/comments-in-var-defn.test: The configure.in stub created
- by default, which has the AC_INIT first argument obtained by the
- test name, causes autoconf 2.62 to fail with a spurious error
- message like: "configure.in:1: error: defn: undefined macro:".
- Thus, to prevent this, the test is renamed to ...
- * tests/comments-in-var-def.test: ... this.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: convert encoding from ISO-8859 to UTF-8
- * ChangeLog.03: Convert encoding to UTF-8.
- * ChangeLog.96: Likewise.
- * ChangeLog.98: Likewise.
- * NEWS: Likewise.
- * TODO: Likewise.
-
-2011-03-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: extend checks on the 'unindent' shell function
- * tests/self-check-unindent.test: Also check that multiple
- instances of 'unindent' can run in parallel (this was not
- the case when that function used temporary files).
-
-2011-03-01 Peter Rosin <peda@lysator.liu.se>
-
- test defs: unindent without temporary file
- * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
- that strips the "proper" amount of leading whitespace.
- (unindent): Lazily strip comments from the above program and use it
- to unindent without using a temporary file.
-
-2011-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- libtool: suggest LT_INIT if LTLIBRARIES primary is used
- When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
- defined, automake suggested to add a call to AC_PROG_LIBTOOL
- in configure.ac. But that macro is deprecated since Libtool
- version 1.9b (2004-08-29), in favor of the newer LT_INIT. So
- suggest the use of this latter macro instead.
- * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
- with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
- * tests/libtool4.test: Adjust and extend. Also, add a call to
- macro AC_PROG_CC in configure.in, to help ensuring that automake
- does not fail for the wrong reasons.
- * tests/ltinit.test: New test, ensure that automake's libtool
- support works with LT_INIT-based interface.
- Thanks to Jack Kelly for the suggestion.
-
-2011-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add testcases sanity-checking the testsuite
- Helper subroutines, variables and other pieces of code defined
- in the `tests/defs' and used by many testcases are non-obvious,
- and tricky to get to work portably; but until now, they weren't
- tested at all in a clear and self-contained way.
- This change should remedy to the situation.
- * tests/self-check-cleanup.test: New test, check removal of
- temporary test working directory by `./defs'.
- * tests/self-check-dir.test: New test, check that tests using
- `./defs' create a proper temporary directory, and run in it.
- * tests/self-check-exit.test: New test, check that, in case of
- failing commands, the correct exit status is passed to the exit
- trap installed by the `./defs' script.
- * tests/self-check-is_newest.test: New test, checking the
- `is_newest' subroutine.
- * tests/self-check-me.test: New test, checking that $me gets
- defined automatically by `tests/defs' if not set, and that it
- can be overridden from either the shell or the environment.
- * tests/self-check-sanity.test: New test, check that the sanity
- checks performed by the `tests/defs' script works correctly.
- * tests/self-check-unindent.test: New test, checking the
- `unindent' subroutine.
- * tests/Makefile.am (TESTS): Update.
-
-2011-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: tempdirs with restrictive permissions are cleaned correctly
- Before this change, the removal of a temporary test directory
- containing subdirectories with restrictive permissions (such as
- 'r--r--r--') could fail.
- * tests/defs: Ensure that all the subdirectories of a temporary
- test directory have the 'read', 'write' and 'execute' bits set,
- before trying to remove it with `rm -rf'.
- * tests/Makefile.am (clean-local-check): Likewise.
-
-2011-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- test defs: add subroutine for input unindenting
- * tests/defs.in (unindent): New subroutine.
- * tests/instspc-tests.sh: Use it.
-
-2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- python: report the 'PYTHON' influential environment variable
- * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
- * doc/automake.texi (Python): Update and extend.
- * tests/help-python.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * THANKS (Jack Kelly): Update e-mail address.
- Suggestion by Jack Kelly.
-
-2011-02-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: clear TESTS_ENVIRONMENT variable
- * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
- from environment won't interfere with the testcases.
- Suggestion by Ralf Wildenhues.
-
-2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: `instspc-*.test': do not create useless source file
- * tests/instspc-tests.sh (create_input_data): Do not create
- unused source file `source2.c'.
-
-2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: optimize `instspc-*.test' for speed
- After the split of `instspc.test' into various generated tests,
- the running time of the testsuite has noticeably increased, since
- all of these new generated tests must run aclocal, autoconf and
- automake, whereas previously they were run only once (at the
- beginning of `instspc.test'). But luckily, since the new tests
- share the same input files for the autotools, this situation can
- be easily worked around (at the expenses of a slight increase of
- complexity for the testsuite scaffolding).
- * tests/instspc-data.test: New helper test, properly calling
- the `instspc-tests.sh' script to generate input data for the
- others `instspc-*.test' tests.
- * tests/Makefile.am (TESTS): Add `instspc-data.test'.
- ($(instspc_tests:.test=.log)): Depend on its log file.
- (instspc-data.log): Depend on `instspc-tests.sh'.
- * tests/instspc-tests.sh: Recognize new action `generate-data',
- and use it to create hand-written and autotools-generated static
- files shared by all the `instspc-*.test' tests.
- When sourced by the `instspc-*.test' tests, use those previously
- created files instead of recreating them from scratch.
- (unindent, create_input_data): New subroutines.
- Some other related changes and refactorings.
- From a suggestion by Ralf Wildenhues.
-
-2011-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- python: fix spurious failure in tests
- * tests/python-vars.test: Ignore cached values from config.site
- by exporting CONFIG_SITE=/dev/null. Be laxer in matching the
- expected values of output variables `pythondir' and `pyexecdir',
- since they can change quite unpredictably among different python
- installations. Also, avoid "hyping" debugging output, thus
- offering smaller trace output and more informative diff.
- Report and suggestions by Ralf Wildenhues.
- * tests/python-virtualenv.test: Require python, since we call it
- even after the virtualenv has been deactivated. Ignore cached
- values from config.site by exporting CONFIG_SITE=/dev/null.
-
-2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: tweak few tests on simple and parallel test drivers
- * tests/check-exported-srcdir.test: Improve heading comments.
- * tests/check-tests-in-builddir.test: Likewise. Also, unset the
- `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
- environment won't risk to interfere with the test.
- Suggestions by Ralf Wildenhues.
-
-2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- python: extend and improve tests, fix minor glitches
- * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
- from configure are always complete, even in case of failure. Tiny
- cosmetic improvement in info/error messages.
- * tests/python.test: Also check that automake complains if the
- PYTHON primary is used but the `py-compile' script is not present.
- Make grepping of generated Makefile.in laxer w.r.t. whitespace.
- Add trailing `:' command.
- * tests/python2.test: Remove repeated calls aclocal: they are
- useless because configure.in is never modified. Make grepping
- of automake stderr more comprehensive. Remove the pre-existing
- `py-compile' file before trying to install it with `--add-missing'.
- Add trailing `:' command.
- * tests/python3.test: Add trailing `:' command.
- * tests/python11.test: Likewise.
- * tests/python4.test: Likewise. Also, try to pass PYTHON config
- variable to configure from the environment, rather than only from
- the command line.
- * tests/python5.test: Ensure that the "checking ..." messages from
- configure are always complete. Use proper m4 quoting. Add a
- trailing `:' command.
- * tests/python6.test: Simplify test logic, by checking for files
- created by configure rather then grepping its output.
- * tests/python7.test: Likewise.
- * tests/python8.test: Also check that `$PYTHON' is meaningfully
- set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
- * tests/python9.test: Likewise.
- * tests/python10.test: Add trailing `:' command.
- (Makefile.am): Declare `disttest' target as `.PHONY', and add
- an `ls -l' to its recipe, for debugging.
- * tests/nobase-python.test: In testing "make uninstall" and
- "make install" results, prefer idioms that make verbose logs
- more helpful. Remove a couple of lines of dead code. Add a
- trailing `:' command.
- * tests/python5b.test: New test, checking that configure performs
- the check on the python version even when the choice of the python
- interpreter is forced by the user.
- * tests/python-dist.test: New test, checking the distribution of
- *_PYTHON files.
- * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
- correctly set all the output variables advertised in the manual.
- * tests/python-virtualenv.test: New test, checking that python
- support offered by automake works well with "virtual python
- environments" created by the `virtualenv' program.
- * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
- checks made slightly stricter.
- * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
- * tests/instdir-ltlib.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-02-01 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: more tests on simple and parallel test drivers
- * tests/parallel-tests-subdir.test: New test.
- * tests/check-exported-srcdir.test: Likewise.
- * tests/check-tests-in-builddir.test: Likewise.
- * tests/check-tests_environment.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in lflags*.test
- * tests/lflags.test: Remove 'LEX' from the environment, so
- that it won't be erroneously picked up by `make -e'.
- * tests/lflags2.test: Likewise.
-
-2011-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: color-tests issues with parallel make
- * doc/automake.texi (Simple Tests): Document that automatic
- recognition of a capable terminal attached to stdout can fail
- with some make implementation when running in parallel mode,
- thus causing colored test output not to be automatically
- activated when it should.
-
-2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: test semantics of "dummy" per-target flags
- * tests/specflg-dummy.test: New test, ensuring that even "dummy"
- per-target flags triggers the use of renamed objects.
- * tests/Makefile.am (TESTS): Update.
- Suggestion by Ralf Wildenhues.
-
-2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests defs: sanitize IFS
- * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
- ($sp): New variable, holding a single whitespace character.
- ($tab): New variable, holding a tabulation character.
- ($nl): New variable, holding a newline character.
-
-2011-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: avoid instspc* failures due to make's whitespace trimming
- * tests/instspc-tests.sh: Prepend './' when passing the test
- characters, to avoid leading whitespace characters to be trimmed
- from macros set from environment variables. Fixes testsuite
- failures with HP-UX and Tru64/OSF make.
-
-2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: fix VPATH auto-expansion workarounds.
- * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
- tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
- Ensure $< is not surrounded by white space, to prevent Solaris
- make from applying automatic VPATH text expansion.
-
- tests: fix VPATH auto-expansion workarounds.
- * tests/parallel-tests8.test, tests/suffix13.test:
- Ensure $< is not surrounded by white space, to prevent Solaris
- make from applying automatic VPATH text expansion.
-
-2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in yflags*.test
- * tests/yflags.test: Remove 'YACC' from the environment, so
- that it won't be erroneously picked up by `make -e'.
- * tests/yflags2.test: Likewise.
-
-2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
- * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
- `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
- up its internal memory when copying this tree.
-
-2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add comment to check-TESTS rule working around make 3.80 bug.
- * lib/am/check.am (check-TESTS): Update comment.
-
-2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: less strict double-colon spy.test again.
- * tests/spy.test: We know BSD make doesn't invoke more than one
- double-colon rule, so no need to expose that failure.
-
-2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- install-sh: avoid Tru64 sh `test' operator precedence issues.
- * lib/install-sh: Protect file names and directory components
- that consist of `=', `(', `)', or `!'. Move protection as early
- as possible, to avoid errors such as with Tru64 sh `test -z ='.
- * tests/instsh2.test: Extend test to cover more possibilities.
- Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
-
-2011-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
- * doc/automake.texi (Simple Tests): Do not claim Automake uses
- TESTS_ENVIRONMENT for the perl driver. Instead, point to the
- parallel-tests driver.
-
-2011-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: check for presence of cscope with redirected input.
- * tests/defs: Add required test for cscope.
- Fixes cscope3.test hang with Sun C 5.9 cscope.
-
- tests: avoid false failure in cygnus-dependency-tracking.test.
- * tests/cygnus-dependency-tracking.test: Be less restrictive
- when grepping the compiler error message, GCC 3.4.6 on FreeBSD
- does not mention an undefined symbol.
-
-2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: revert not turning off errexit in instspc-test.sh
- * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
- the scripts might still not be clean.
-
-2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: work around Tru64 sh -e issues for instspc*.test.
- Apparently, Tru64 sh does not like turning off errexit mode,
- and gets confused.
- * tests/defs: Document 'errexit' cleanliness requirement.
- * tests/defs-static.in: Likewise. Avoid error from command
- substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
- * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
- dropping. Add strategic '|| Exit' to let tests work on Tru64.
-
-2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Allow _AM_DEPENDENCIES to be used later in configure.
- * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
- conftest.dir before recreating it.
- Fixes bug#7864.
- Report by Eric Blake, from report by Scott McCreary against M4.
-
-2011-01-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: avoid failure on w32 file systems.
- * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
- be turned unreadable.
-
-2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: allow double-colon spy.test to work with HP-UX make.
- * tests/spy.test: Fix comment typos. Ensure prerequisites we
- do not want to depend on are strictly older than the target.
- Also test with a target out of date wrt. more than one rule.
-
-2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid local $_ perl variable, for Perl before 5.9.1.
- * lib/Automake/Options.pm (_process_option_list): Do not
- lexically localize $_. Fixes bootstrap on AIX 5.1.
- Bug introduced in commit `v1.11-622-gf90a06c'.
-
-2011-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: remove useless requirements from cond36.test
- * tests/cond36.test ($required): Remove.
- Since we are at it, add a trailing `:' command.
-
-2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: avoid failing command substitution in errexit mode.
- * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
- a command substitution with a nonzero exit status, that causes
- IRIX and Tru64/OSF sh to fail the whole test.
-
-2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
- * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
- Test file readability before redirecting input from it, to avoid
- exiting Tru64/OSF 5.1 sh which treats read as special builtin.
- * tests/parallel-tests-unreadable-log.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * NEWS, README: Update copyright years.
-
-2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: hard error in case of internal failures or signal caught
- * tests/defs: Exit with status 99 (hard error) rather than
- 1 (failure) on unexpected/internal errors, or when a signal
- is caught by the client script.
-
- Tests defs: don't let useless variables leak in test scripts.
- * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
- $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
- $extra_includes): Unset once they've served their purpose.
-
-2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix parallel-tests.test failure with HP-UX make.
- * tests/parallel-tests.test: Sleep inside inner tests, so logs
- are newer than logs of tests they depend on, for HP-UX make.
-
-2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- docs: ensure example are separated with empty lines in the input
- * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
- (API Versioning, Renamed Objects, Multiple Outputs): Add empty
- lines before `@example' and after `@end example' lines, so info
- output is rendered correctly, and a following @noindent honored.
- Report by Stefano Lattarini.
-
-2011-01-15 Jim Meyering <meyering@redhat.com>
-
- tests: fix comment typo
- * tests/substref.test: Fix grammar in a comment.
-
-2011-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failures in two texinfo tests
- * tests/txinfo.test ($required): Add 'makeinfo'.
- * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
- that make won't try to run makeinfo (which could be unavailable)
- to build it.
- Found by NixOS Hydra, reported by Ralf Wildenhues.
-
-2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Update docs w.r.t. warning and strictness options.
- * doc/automake.texi (Strictness): Document that some warnings are
- turned off by default in `foreign' strictness.
- (Options): Divide into new sections "Options generalities" and
- "List of Automake options". Fix typo (colon instead of full
- stop). Document option precedence (AUTOMAKE_OPTIONS wins over
- AM_INIT_AUTOMAKE which wins over command line). Also document
- interactions between options specifying strictness and those
- specifying warnings.
-
- More tests on warnings/strictness precedence.
- * tests/warning-groups-win-over-strictness.test: New test, similar
- to `warnings-win-over-strictness.test', but checking the explicit
- catch-all warning flags (like `-Wall' and `-Wnone').
- * tests/Makefile.am (TESTS): Update.
-
- Update NEWS about the warnings-over-strictness precedence.
- * NEWS: Automake explicit warning levels always take precedence
- over the implicit warning levels implied by Automake strictness.
-
- For PR automake/547:
- Warnings win over strictness in AUTOMAKE_OPTIONS.
- Ensure that, for what concerns the options specified in
- AUTOMAKE_OPTIONS, explicitly-defined warnings always take
- precedence over implicit strictness-implied warnings.
- This finally fixes Automake bug#7669 a.k.a. PR/547.
- * automake.in (handle_options): Call 'process_option_list'
- only once per set of options.
- * lib/Automake/Options.pm (process_global_option_list,
- process_option_list): Add sanity checks.
- ($_options_processed, $_global_options_processed): New
- internal variables, used by the sanity checks above.
- * tests/warnings-win-over-strictness.test: Extend.
-
- For PR automake/547:
- Change signature of 'Automake::Options::_process_option_list()'.
- This only modifies internal details in the automake implementation,
- bearing no externally visible effect, but preparing the way for the
- final fix of Automake bug#7669 a.k.a. PR/547.
- * lib/Automake/Options.pm (_process_option_list): Accept as
- arguments a list of hash references with keys 'option' and 'where',
- where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
- AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
- (process_option_list, process_global_option_list): Updated.
- * automake.in (handle_options, scan_autoconf_traces): Update.
-
- Add more tests about AUTOMAKE_OPTIONS.
- In view of soon-to-follow refactorings (still in the pursuit of a
- fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
- AUTOMAKE_OPTIONS support, to prevent obvious regressions.
- * tests/amopts-variable-expansion.test: New test.
- * tests/amopts-location.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
- For PR automake/547:
- Warnings win over strictness in AM_INIT_AUTOMAKE.
- This change ensures that, for what concerns the options specified
- in AM_INIT_AUTOMAKE, explicitly-defined warnings always take
- precedence over implicit strictness-implied warnings. Related to
- Automake bug#7669 a.k.a. PR/547.
- * lib/Automake/Options.pm (_process_option_list): Parse explicit
- warnings only after the strictness level has been set. Fix POD
- documentation.
- * tests/warnings-win-over-strictness.test: Extend.
-
- For PR automake/547:
- Warnings win over strictness on command line.
- Ensure that, on the command line at least, explicitly defined
- warnings always take precedence over implicit strictness-implied
- warnings. Related to Automake bug#7669 a.k.a. PR/547.
- * automake.in (parse_arguments): Parse warnings only after the
- strictness level has been processed.
- * tests/gnuwarn.test: Update, plus miscellaneous improvements.
- * tests/warnings-win-over-strictness.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
- More tests on warnings and strictness.
- * tests/warnings-strictness-interactions.test: New test.
- * tests/warnings-unknown.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
- New test on silent-rules mode and portability warnings.
- * tests/silent-nowarn.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
- Add new tests on strictness and warnings precedence and overriding.
- * tests/strictness-override.test: New test.
- * tests/strictness-precedence.test: New test.
- * tests/warnings-override.test: New test.
- * tests/warnings-precedence.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix remake rule-induced test failures with HP-UX make.
- * tests/remake1a.test: Require GNU make.
-
-2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix remake rule-induced test failures with HP-UX make.
- * tests/colon6.test: Update timestamp of subdir Makefile, so we
- do not spuriously invoke the nonexistent toplevel am--refresh
- rule.
-
- tests: fix typos in colon6.test
- * tests/colon6.test: Fix typos.
-
-2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: explain MSYS setup failure issue, improve test.
- * tests/defs: Add comment and failure message, improve fail
- logic.
-
-2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix libobj2.test failure with non-GNU make: define $(AR).
- * tests/libobj2.test: Ensure $(AR) is suitably defined.
-
-2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: avoid spurious failures due to fork failure in test setup
- * tests/defs: Ensure $me is always nonempty, to avoid spurious
- failures on MinGW/MSYS in case the preceding sed command could
- not be spawned.
-
- Avoid configure warnings from wait about reused PIDs.
- * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
- Fixes spurious failure of depcomp2.test.
-
-2011-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid testsuite failures due to Autoconf Fortran change.
- Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
- require computing the canonical host name. Ensure config.guess
- and config.sub files are present for respective checks.
- * tests/compile_f_c_cxx.test: Add stub files.
- * tests/flibs.test: Likewise.
- * tests/fort4.test: Use $AUTOMAKE -a for installing files.
-
-2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: clustered '-d' not recognized in YFLAGS
- This change fixes automake bug#7828.
- * doc/automake.texi (Yacc and Lex): Document that automake
- recognizes '-d' in AM_YFLAGS only if it's not clustered with
- other options.
- From a report by Юрий ПухальÑкий.
-
-2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: add checks on automatically-distributed files
- Related to automake bug#7819.
- * tests/autodist.test: New test.
- * tests/autodist-subdir.test: Likewise.
- * tests/autodist-acconfig.test: Likewise.
- * tests/autodist-acconfig-no-subdir.test: Likewise.
- * tests/autodist-aclocal-m4.test: Likewise.
- * tests/autodist-config-headers.test: Likewise.
- * tests/autodist-configure-no-subdir.test: Likewise.
- * tests/autodist-stamp-vti.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: do not force yacc-requiring tests to use bison
- * tests/defs.in: New required entry 'yacc'. Remove old
- required entry 'bison'.
- * tests/cond35.test ($required): Require yacc, not bison.
- * tests/cond36.test: Likewise.
- * tests/pr204.test: Likewise.
- * tests/silent-many-gcc.test: Likewise.
- * tests/silent-many-generic.test: Likewise.
- * tests/silent-yacc-gcc.test: Likewise.
- * tests/silent-yacc-generic.test: Likewise.
- * tests/subpkg.test: Likewise.
- * tests/suffix10.test: Likewise.
- * tests/yacc-basic.test: Likewise.
- * tests/yacc-clean.test: Likewise.
- * tests/yacc-d-basic.test: Likewise.
- * tests/yacc-d-vpath.test: Likewise.
- * tests/yacc-dist-nobuild.test: Likewise.
- * tests/yacc-nodist.test: Likewise.
- * tests/yacc4.test: Likewise.
- * tests/yacc6.test: Likewise.
- * tests/yacc7.test: Likewise.
- * tests/yacc8.test: Likewise.
- * tests/yaccdry.test: Likewise.
- * tests/yaccvpath.test: Likewise.
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: more consistent checks about invalid options
- * tests/aclocal.test: Grepping of automake stderr for messages
- reporting invalid options made stricter.
- * tests/no-outdir-option.test: Likewise. Also, create a dummy
- `Makefile.am', to ensure that the automake failures are really
- caused only by unrecognized options.
- * tests/automake.test: Added trailing `:' command. Removed
- redundant checks on `--help' and `--version' option (already
- performed in the test `help*.test').
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: enable 'errexit' shell flag by default.
- * tests/defs: Enable `errexit' shell flag (near the end).
- Removed redundant comment about the enabling of shell traces.
- * tests/README (Writing test cases): Update, and use nicer
- formatting in a couple of places.
- * All tests: Adjusted by removing now-redundant calls to
- 'set -e'.
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: work around a texi+cygnus bug causing a spurious XFAIL
- * tests/txinfo5b.test: New test, like txinfo5.test but calling
- automake with the `-Wno-override' option to work around a bug
- in the texinfo + cygnus interaction.
- * tests/txinfo5.test: Update heading comments.
- * tests/Makefile.am (TEST): Updated.
-
-2011-01-09 Dave Hart <davehart@gmail.com> (tiny change)
-
- Fix another typo in Rule.pm comment.
- * lib/Automake/Rule.pm: Fix typo.
-
-2011-01-09 Peter Rosin <peda@lysator.liu.se>
-
- Fix another typo in Rule.pm comment.
- * lib/Automake/Rule.pm: Fix typo.
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: texinfo unrecognized extensions
- * tests/txinfo-unrecognized-extension.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
- Improve, extend and tweak tests on Texinfo support.
- * tests/instdir-texi.test: Add a call to `ls -l' after that to
- `make', for debugging. When looking for required tools, do not
- redirect the output of "$tool --help" to /dev/null, and do not
- uselessly run it in a subshell.
- * tests/txinfo.test: Rewritten to run autoconf, ./configure and
- make. All checks moved into Makefile.am.
- * tests/txinfo8.test: Likewise, and modernize the generated
- configure.in.
- * tests/txinfo2.test: Moved checks into Makefile.am, and other
- minor improvements.
- * tests/txinfo5.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command.
- * tests/txinfo6.test: Likewise, and make grepping of generated
- Makefile.in stricter.
- * tests/txinfo7.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Do not add unnecessary stuff
- to Makefile.am.
- * tests/txinfo9.test: Verify that more targets which are expected
- to be generated only once really are. Make grepping less strict,
- to avoid exposing too much internal details. More minor changes.
- * tests/txinfo16.test: Add trailing `:'. Prefer cat over echo
- for appending to configure.in. Updated/fixed heading comments.
- * tests/txinfo23.test: Likewise, and extended a little by making
- it check that no info file is created in the $(srcdir).
- * tests/txinfo24.test: Likewise.
- * tests/txinfo25.test: Likewise.
- * tests/txinfo18.test: Add trailing `:'. Prefer cat over echo
- for appending to configure.in. Also, check that index files are
- cleaned also by "make clean", not only by "make distclean".
- * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
- and added trailing `:' command. This testcase also used to check
- that automake ignores in-line comments when using variables, but
- preserves them in the output; these checks (added in commit
- "Release-1-7f-4-g9177ef8") do not really pertain to this test,
- so they have been moved ...
- * tests/comments-in-var-defn.test: ... into this new test.
- * tests/txinfo4.test: Escape literal dots in grep regexps. Add
- trailing `:' command.
- * tests/txinfo29.test: Likewise. Relax grepping of generated
- Makefile.in w.r.t. whitespaces. Prefer `cat' over `echo' to
- append to configure.in.
- * tests/txinfo3.test: Likewise.
- * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
- make it stricter, sometimes laxer). Move `set -e' setting just
- after the inclusion of ./defs. De-uglify a sed command. Other
- minor cosmetic improvements.
- * tests/vtexi2.test: Make grepping of Makefile.in stricter. Add
- trailing `:' command.
- * tests/vtexi3.test: New test on version.texi support.
- * tests/vtexi4.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- tests: fix spurious failure in 'tests/yflags-conditional.test'
- * tests/yflags-conditional.test: Filter out message "warnings are
- treated as errors" from automake stderr, to avoid a false positive
- when grepping for extraneous warning messages.
-
-2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: warn about conditional content in *YFLAGS variables
- This change fixes automake bug#7804.
- * automake.in (lang_yacc_target_hook): Warn if any of the relevant
- *YFLAGS variables has conditional contents (not only a conditional
- definition). Related refactoring.
- * NEWS: Updated.
- * tests/yflags-conditional.test: Updated and extended.
- * tests/yflags-conditional-force.test: New test.
- * tests/Makefile.am (TESTS): Updated.
-
-2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: support variable expansions in *YFLAGS definition.
- This change fixes automake bug#7800.
- * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
- instead of 'variable_value' to get the value of *YFLAGS variables.
- Related changes.
- ($DASH_D_PATTERN): Removed.
- * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
- * tests/yacc-clean.test: Remove workaround for now-fixed bug.
- * NEWS: Update.
-
-2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: more tests on *YFLAGS support
- * tests/yflags-var-expand.test: New test, still xfailing. It
- exposes automake bug#7800 -- "automake fails to honor `-d' in
- AM_YFLAGS when variable expansions are involved".
- * tests/yflags-d-false-positive.test: New test, checking that
- automake do not spuriously see `-d' in *YFLAGS when that isn't
- really there.
- * tests/yflags-force-override.test: New test, checking that
- automake can cope with definition of the YFLAGS variable in
- Makefile.am (even if that is an extremely bad practice, as that
- variable is user-reserved).
- * tests/yflags-cmdline-override.test: New test, checking that
- automake can cope with user-redefinition of YFLAGS at configure
- time and/or at make time.
- * tests/yflags-conditional.test: New test, checks that automake
- warns on conditionally-defined *YFLAGS variables.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
-2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: extend and improve tests
- * tests/yacc-basic.test: Also check that the intermediate C file
- is mentioned in the generated Makefile.in, and that it is created
- by the first make invocation.
- * tests/yacc3.test: Test removed, superseded by ...
- * tests/yacc-d-basic.test: ... this new test.
- * tests/yacc2.test: Add reference to that new test in the heading
- comments.
- * tests/yacc-d-vpath.test: New test.
- * tests/yaccvpath.test: Updated heading comments. Do not require
- gcc anymore, as any working C compiler should be enough. Remove
- redundant comments.
- * tests/yacc-nodist.test: New test.
- * tests/yacc-dist-nobuild.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extend, fix and improve tests on Lex and Yacc support.
- * tests/lexcpp.test: New test script, on support for Lex + C++.
- * tests/lexvpath.test: New test script, test build and rebuild
- rules for lexers in VPATH setup.
- * tests/yacc-basic.test: New test script, run simple "semantic"
- checks on basic Yacc support (similarly to what lex3.test does
- for Lex support).
- * tests/lex.test: Don't create useless dummy source file joe.l.
- Remove extra blank lines.
- * tests/lex4.test: Add trailing `:' command. Do not create dummy
- useless lex source file.
- * tests/lex2.test: Likewise. Call automake with the `-a' option,
- so that it doesn't fail for the absence of `ylwrap' script. Make
- grepping of automake stderr stricter.
- * tests/yacc7.test: Add trailing `:' command. Enable `errexit'
- shell flag earlier (just after having sourced ./defs).
- * tests/yacc4.test: Likewise. Also ...
- (configure.in): Use pre-populated skeleton set up by ./defs,
- instead of writing one from scratch.
- Other minor cosmetic changes.
- * tests/yacc5.test: Likewise.
- * tests/yaccvpath.test: Likewise. Also ...
- ($distdir): New variable.
- Use it throughout.
- * tests/lex5.test: Likewise.
- * tests/lex3.test: Likewise. Check the distdir, rather than
- grepping the distribution tarball. Extend the test on the
- created binary, and be sure to avoid hangs. Add some comments.
- * tests/yacc.test: Use stricter grepping. Add trailing `:'.
- * tests/yacc6.test: Likewise.
- * tests/yacc3.test: Likewise. Do not create the unused file
- `Makefile.sed'. Remove useless rules from Makefile.am. Other
- minor cosmetic changes.
- * tests/yacc2.test: Make grepping of generated `Makefile.in' and
- of automake error messages stricter. Do not redirect output of
- grep to /dev/null. Move call to aclocal earlier. Reduce the
- number of empty blank lines. Fix a typo in comments.
- * tests/yacc8.test: Fixed bugs that reduced the completeness of
- the tests. Added trailing `:' command.
- (configure.in): Use pre-populated skeleton set up by ./defs,
- instead of writing one from scratch.
- * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
- `.yxx', rather than only `.yy'.
- * tests/Makefile.am (TESTS): Update.
-
-2011-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cosmetics: remove trailing whitespaces
- * doc/automake.texi: Remove trailing whitespaces.
- * tests/cond13.test: Likewise.
- * tests/cond14.test: Likewise.
- * tests/fort4.test: Likewise.
- * tests/fort5.test: Likewise.
- * tests/libobj17.test: Likewise.
- * tests/suffix7.test: Likewise.
- * tests/vtexi2.test: Likewise.
-
- automake: minor fixes in comments
- * automake.in: Some minor fixes and enhancements in comments.
-
-2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Add test coverage for deleted header files.
- * tests/depcomp6.test, tests/depcomp7.test: Update tests to
- also check for the deleted header bug. If no dependency
- tracking mechanism could be found, SKIP rather than exit
- successfully. Use GNU style spacing and ANSI C prototypes.
-
- Fix typos in Rule.pm comments.
- * lib/Automake/Rule.pm: Fix typos in comments.
-
- docs: split 'amhello Explained' node.
- * doc/automake.texi (amhello Explained): Split node ...
- (amhello's configure.ac Setup Explained)
- (amhello's Makefile.am Setup Explained) : ... into these two.
- (Top, Hello World): Adjust, and add @anchor for stable URL links.
- Suggestion by Karl Berry in automake bug#7766.
-
-2011-01-08 Karl Berry <karl@freefriends.org>
- Eric Blake <eblake@redhat.com>
-
- docs: reference defining directories in amhello node.
- * doc/automake.texi (amhello Explained): Point to Autoconf
- manual for how to convert directory values into macros.
- (Optional): Fix grammar nit.
-
-2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- yacc: "make clean" removes .c and .h files from non-distributed .y
- Previously, while automake did *not* distribute C source and header
- files derived from non-distributed Yacc sources, it still caused
- them to be removed only by "make maintainer-clean" only, and not by
- simply "make clean" or "make distclean".
- This caused "make distcheck" to fail, unless the developer put
- those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
- by hand.
- This change fixes this issue, by making non-distributed `.c' and
- `.h' files generated by non-distributed Yacc sources cleaned by
- "make clean".
- * tests/automake.in (lang_yacc_target_hook): Make C source and
- header files derived from non-distributed Yacc files cleaned by
- "make clean", not only by "make maintainer-clean".
- * tests/yacc-clean.test: New test.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
-
-2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: Fix typo (forgotten word).
-
-2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- docs: how to work around checks on invalid primary/directory couples
- * doc/automake.texi (Uniform): Document the blessed idiom which can
- be used to work around automake checks on invalid primary/directory
- couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
-
-2010-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests: normalize use of the 'errexit' shell flag.
- * tests/maken3.test (check_targets): Remove redundant call to
- 'set -e'.
- * tests/maken4.test: Likewise.
- * tests/ansi5.test: Call 'set -e' just after './defs' has been
- sourced.
- * tests/ansi6.test: Likewise.
- * tests/ansi7.test: Likewise.
- * tests/cond16.test: Likewise.
- * tests/cond17.test: Likewise.
- * tests/cond18.test: Likewise.
- * tests/cond19.test: Likewise.
- * tests/cond20.test: Likewise.
- * tests/cond21.test: Likewise.
- * tests/instdat2.test: Likewise.
- * tests/instdir-texi.test: Likewise.
- * tests/parallel-tests3.test: Likewise.
- * tests/remake1a.test: Likewise.
- * tests/ccnoco.test: Likewise, and add trailing `:' command.
- * tests/comment4.test: Likewise.
- * tests/gcj4.test: Likewise.
- * tests/nodist2.test: Likewise.
- * tests/nodist3.test: Enable 'errexit' shell flag (this should
- have been done in commit v1.11-248-g317e17b, but the relevant
- hunk has been forgotten somehow).
- * tests/output.test: Likewise.
- * tests/gnits2.test: Likewise, and display captured stderr to
- script's stderr, not to script's stdout.
- * tests/gnits3.test: Likewise. Also, prefer 'cat' over 'echo'
- to append to Makefile.am, and really check that the exit status
- of "make installcheck" indicates failure.
-
-2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Sync auxiliary files from upstream.
- * lib/config.guess, lib/config.sub, lib/texinfo.tex:
- Sync from upstream.
-
- Avoid caching bug in cygnus mode test.
- * tests/cygnus-requires-maintainer-mode.test: Remove
- autom4te.cache directory before rerunning aclocal, to
- remove trace caches.
-
- Fix maintainer-check regression.
- * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
- environment.
-
- Bump copyright years.
- * aclocal.in (write_aclocal, version): Bump copyright years.
- * automake.in (gen_copyright, version): Likewise.
- * doc/automake.texi: Likewise.
-
-2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * NEWS: Add missing blank line between two entries.
-
-2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve and extend tests `suffix*.test'.
- * tests/suffix.test: Check that suffix rules for C compilation are
- only included once. Try also with a static library.
- * tests/suffix2.test: Add a new grep to help potential debugging.
- Do not run automake with the `--add-missing' options, since we
- already create all the needed auxiliary files. Try also *without*
- the `no-dependencies' automake option.
- * tests/suffix4.test: Make grepping of Makefile.in stricter.
- * tests/suffix3.test: Rewritten to run also autoconf, ./configure
- and make.
- * tests/suffix5.test: Likewise.
- * tests/suffix6.test: Fix botched recipe indentation (eight spaces
- were used instead of a tabulation character). Extend to check
- that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
- Improved parsing & grepping of generated Makefile.in. Other minor
- fixes and improvements.
- * tests/suffix10.test: Move some checks in Makefile.am. Also run
- "make all".
- * tests/suffix12.test: Likewise, and account for VPATH issues in
- weaker make implementations.
- * tests/suffix11.test: Likewise. Also, run "make distcheck", for
- completeness, and related changes.
- * tests/suffix8.test: Likewise. Also, do not put `gcc' anymore
- in $required.
- * tests/suffix13.test: Do not use the `--force-missing' automake
- option unnecessarily.
- * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
- * tests/suffix6c.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Work around a bug in file-inclusion mechanism of Solaris make.
- * automake.in (handle_single_transform): In the name of the
- dependency file: collapse multiple slash characters into a single
- one.
- * tests/subobj11a.test: New test.
- * tests/subobj11b.test: Likewise.
- * tests/subobj11c.test: Likewise.
- * tests/depcomp8a.test: Likewise.
- * tests/depcomp8b.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
- * NEWS: Updated.
- Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
- patch and tests by Stefano Lattarini.
-
-2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix two spurious testsuite failures on IRIX 6.5.
- * tests/suffix13.test (Makefile.am): Account for VPATH issues on
- weaker make implementations (e.g. IRIX 6.5).
- * tests/parallel-tests8.test: Likewise, plus a required related
- change.
- Reported by Ralf Wildenhues. The bugs have been there from the
- first versions of the affected test scripts.
-
-2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: cygnus mode doesn't require AM_CYGWIN32 macro.
- * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
- the AM_CYGWIN32 macro (and indeed hasn't required it since at
- least commit Release-1-2-31-g3038064 "merged changes from
- Cygnus" of 1997-08-25).
-
-2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add some tests on 'cygnus' mode.
- * tests/clean2.test: Extend.
- * tests/cygnus-check-without-all.test: New test.
- * tests/cygnus-dependency-tracking.test: Likewise.
- * tests/cygnus-distclean.test: Likewise.
- * tests/cygnus-imply-foreign.test: Likewise.
- * tests/cygnus-no-dist.test: Likewise.
- * tests/cygnus-no-installinfo.test: Likewise.
- * tests/cygnus-requires-maintainer-mode.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix parallel testsuite run with Zsh.
- This change deals with a Zsh incompatibility in the handling
- of the special shell variable `$0' in sourced files; this
- incompatibility used to cause utter breakage when the
- Automake testsuite was run in parallel mode with Zsh as
- the $(TEST_LOG_COMPILER).
- For more information, please refer to the thread "Fix parallel
- testsuite run with zsh" on automake-patches, dated 2010-12-22:
- <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
- This change works around the problems described above for Zsh 4.3
- or later, and offers better error messages (instead of random
- failures) for earlier Zsh version.
- * tests/README (Supported shells): When describing the manual
- workaround about the Zsh incompatibility in the handling of `$0',
- tell that it is now needed only with Zsh versions preceding 4.3.
- Done also some minor rewordings.
- * tests/defs-static.in ($argv0): New variable, offers a workaround
- for the Zsh incompatibility in the handling of `$0'.
- Abort if that variable cannot be correctly set (can happen only
- in older Zsh version).
- * tests/defs ($me): Define using `$argv0', not `$0'.
-
-2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
- This is especially useful for tests which might want to run
- automake and aclocal without additional flags and warnings.
- * tests/defs-static.in ($original_ACLOCAL): New variable.
- ($original_AUTOMAKE): Likewise.
- * tests/help.test: Use them.
- * tests/help2.test: Likewise.
- * tests/help3.test: Likewise.
- * tests/help4.test: Likewise.
- From a suggestion by Ralf Wildenhues.
-
-2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- distlinksbrk.test: Work around botched "make -k".
- * tests/distlinksbrk.test: Run "make" multiple times and grep
- its output each time for a single error message, rather than
- running "make -k" one single time and grepping its output for
- all the expected error messages. This should work around make
- implementations with limited (broken?) `-k' support; for more
- information, see these subthreads on the automake-patches list:
- - 2010-11-15, "Testsuite failures on HP-UX 11.23",
- <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
- - 2010-11-15, "Testsuite failures on IRIX 6.5",
- <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
-
-2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Minor improvements to test 'amopts.test'.
- * tests/amopts.test: Remove botched comment. Make grepping of
- automake stderr slighty stricter. Add trailing `:' command.
-
-2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- backcompat6.test: avoid comments inside recipe commands.
- * tests/backcompat6.test: Remove shell comments from makefile rule
- commands, as they are not portable to (at least) Tru64 make.
-
-2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- man8.test: avoid comments inside recipe commands.
- * tests/man8.test: Remove shell comments from makefile rule
- commands, as they are not portable to (at least) Tru64 make.
-
-2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix sed-related buglet in test "subdir5.test"
- * tests/subdir5.test: Always terminate text passed to the
- `i' sed command with a newline, to work around limitations
- in e.g. older OpenBSD sed.
-
-2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
- * tests/auxdir7.test: Do not try to needlessly overwrite the files
- `install-sh' and `missing'. This avoid spurious failures in "make
- distcheck", when those files might be copied as read-only from the
- `lib' directory.
- * tests/auxdir8.test: Likewise.
-
-2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Make test 'posixsubst-script' portable to MinGW/MSYS.
- * tests/posixsubst-script.test: Ensure that the generated dummy
- scripts really start with a shebang line, to work around a
- limitation of 'test -x' on MinGW/MSYS.
- Reported by Ralf Wildenhues.
-
- Improve comments in tests `posixsubst*.test'.
- * tests/posixsubst-data.test: Improve comment explaining why we
- try also empty match suffix.
- * tests/posixsubst-extradist.test: Likewise.
- * tests/posixsubst-ldadd.test: Likewise.
- * tests/posixsubst-libraries.test: Likewise.
- * tests/posixsubst-ltlibraries.test: Likewise.
- * tests/posixsubst-programs.test: Likewise.
- * tests/posixsubst-scripts.test: Likewise.
- * tests/posixsubst-sources.test: Likewise.
- * tests/posixsubst-tests.test: Likewise.
- Suggested by Ralf Wildenhues.
-
-2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: fix blunder in example about python extension modules
- * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
- not `quaternion_SOURCES', to declare the sources of python
- extension module `quaternion.la'.
-
-2010-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- docs: list LTLIBRARIES among Automake primaries
- * doc/automake.texi (Uniform): List `LTLIBRARIES' among
- the Automake primaries.
-
-2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Tests defs: requirement 'xsi-shell' must be synced with libtool.
- * tests/defs (xsi-shell): Add comment telling to keep the
- XSI-conformance checks in sync with libtool.
-
-2010-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Minor cleanups in canon7.test.
- * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
- (configure.in): Remove AC_PROG_CXX.
-
-2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid false positive in sc_tests_plain_make maintainer-check.
- * Makefile.am (sc_tests_plain_make): Ensure to only match full
- `make' words. Avoid false positive with remake11.test.
-
-2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix canon7.test failure.
- * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
- (lib.h, libd.c, libs.c): Use const for constant strings.
-
-2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix typos in test comments.
- * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
- tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
- tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
- tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
- tests/posixsubst-tests.test: Fix typos.
-
-2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- More uses of AS_HELP_STRING in automake macros.
- * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
- the help message added to the generated configure.
- * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
- * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
- * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
- Also, bumped all serial numbers of the modified m4 files.
-
-2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve tests on generated portions of configure help screen.
- * tests/help-depend.test: Grepping of configure help screen
- relaxed to cater for possible line wrapping, and tightened in
- other respects.
- * tests/help-depend2.test: Likewise.
- * tests/help-dmalloc.test: Likewise.
- * tests/help-lispdir.test: Likewise.
- * tests/help-maintainer.test: Likewise.
- * tests/help-multilib.test: Likewise.
- * tests/help-silent.test: Likewise.
- * tests/help-upc.test: Likewise.
- * tests/help-init.test: Grepping of configure help screen
- tightened.
-
-2010-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extended tests on AC_CONFIG_AUX_DIR.
- * tests/auxdir.test: Enable `errexit' shell flag. Prefer `$me'
- over hard-coded test name. Use proper m4 quoting. Add trailing
- `:' command.
- * tests/auxdir2.test: Likewise. Try to call automake also with
- the `-a' option, so that it will not fail for spurious reasons.
- * tests/auxdir3.test: Add an explanatory comment and a trailing
- `:' command.
- * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
- Make grepping of automake stderr slightly stricter. Also, now
- this test just checks about Automake's reaction to unportable
- auxiliary directory names (and it has been extended in this
- respect). Moved the checks about non-existent auxiliary
- directories to ...
- * tests/auxdir5.test: ... this new test.
- * tests/auxdir6.test: New test.
- * tests/auxdir7.test: Likewise.
- * tests/auxdir8.test: Likewise.
- * tests/auxdir9.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests: extend checks on remake rules.
- This adds proper semantical tests (i.e. run make to check the
- rebuild rules are correctly triggered) in addition to tentative
- grepping of the generated Makefile.in(s).
- * tests/remake.test: Enable `errexit' shell flag, and related
- changes. Modernize `configure.in'. Add trailing `:' command.
- Improve heading comments, and add a reference to new sister test
- remake1a.test.
- * tests/remake3.test: Likewise (but with sister test being
- remake3a.test).
- * tests/remake2.test: Improve heading comments. Enable `errexit'
- shell flag, and related changes. Modernize `configure.in'. Make
- grepping of `Makefile.in' slightly stricter. Add trailing `:'
- command.
- * tests/remake5.test: Also run the `distcheck' target. Add
- trailing `:' command. Use proper m4 quoting in configure.in.
- * tests/remake4.test: Prefer `$me' over hard-coded test name.
- * tests/remake7.test: Use the `configure.in' stub created by
- ./defs, rather than writing it from scratch.
- * tests/remake6.test: Likewise. Also, add trailing `:' command,
- and ensure verbose printing of captured make output.
- * tests/remake1a.test: New test, sister of remake.test.
- * tests/remake3a.test: New test, sister of remake3.test.
- * tests/remake8a.test: New test.
- * tests/remake8b.test: Likewise.
- * tests/remake9a.test: Likewise.
- * tests/remake9b.test: Likewise.
- * tests/remake9c.test: Likewise.
- * tests/remake9d.test: Likewise.
- * tests/remake10a.test: Likewise.
- * tests/remake10b.test: Likewise.
- * tests/remake10c.test: Likewise.
- * tests/remake11.test: Likewise.
- * tests/remake12.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-12-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve and extend tests on canonicalization.
- * tests/canon-name.test: Add trailing `:' command. When writing
- configure.in, prefer to use $me instead of hard-coding the test
- name.
- * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
- * tests/canon4.test: Likewise. Make grepping of Makefile.in
- stricter. Improve heading comment, and add reference to ...
- * tests/canon6.test: ... this new test (sister test of the
- previous one).
- * tests/canon.test: Prefer cat + here-doc over echo to append
- text to configure.in. Extend grepping of Automake stderr. Add
- trailing `:' command.
- * tests/canon5.test: Likewise.
- * tests/canon7.test: New file, stress test on canonicalization.
- * tests/canon8.test: New test, for better coverage (check that
- the `@' character is not transliterated in canonicalizations).
- * tests/Makefile.am: Updated.
-
-2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Libobj tests: refer to automake bug tracker for limitations.
- * tests/libobj15b.test (configure.in): In the comment explaining
- why an apparently redundant AC_OUTPUT is indeed needed, refer
- to the relevant entry in the Automake bug tracker rather than
- describing the bug in detail with a FIXME-style comment.
- * tests/libobj15c.test: Likewise.
- * tests/libobj20b.test: Likewise.
-
- Libobj tests: do not use `##' automake comments in-line.
- * tests/libobj19.test (Makefile.am): Do not use inline `##'
- comments in the definition of AUTOMAKE_OPTIONS.
- * tests/libobj20c.test: Likewise.
- Report by Ralf Wildenhues.
-
-2010-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests defs: more uses of $top_testsrcdir.
- * tests/compile6.test: Use `$top_testsrcdir' instead of
- `$testsrcdir/..'.
-
-2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests required tools: also try `-v' option for GNU compilers.
- * tests/defs.in: In the loop on "$required" tools, for gcc
- and g++, also run "gcc -v" (resp. "g++ -v"), to get more
- information, and for consistency with gcj.
-
-2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Tests defs: avoid some useless subshells.
- * tests/defs: In the loop on "$required" tools: avoid subshells
- where not needed.
-
-2010-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extend tests on AC_LIBOBJ and friends.
- * tests/aclibobj.test: Removed, superseded by ...
- * tests/libobj-basic.test: ... this new test, which runs autoconf,
- ./configure and make, to ensure everything really works.
- * tests/libobj3.test: Add trailing `:' command. Escape literal
- dot in grep regexp.
- * tests/libobj4.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Use proper m4 quoting.
- * tests/ltlibobjs.test: Likewise.
- * tests/libobj5.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Make more robust by using
- longer filenames to be grepped.
- * tests/libobj8.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Use the configure.in
- stub provided by ./defs, rather than writing it from scratch.
- * tests/libobj2.test: Likewise. Also, add calls to autoconf,
- ./configure and make, to ensure everything really works.
- * tests/libobj7.test: Likewise, and ensure that at least one
- function listed in AC_REPLACE_FUNCTIONS is truly replaced.
- * tests/libobj13.test: Make grepping of Automake stderr slightly
- stricter. Add trailing `:' command.
- * tests/libobj12.test: Likewise. Also, prefer "cat + here-doc"
- over "echo" to append to Makefile.am, and some cosmetic changes
- in spacing.
- * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
- Slighty improve m4 quoting. Add trailing `:' command.
- * tests/libobj10.test: Add calls to autoconf, ./configure and
- make, to ensure everything really works. Also, remove tests that
- nonexistent source for AC_LIBOBJ cause an Automake failure: this
- is already checked by ...
- * tests/libobj15a.test: ... this new test.
- * tests/libobj15b.test: New test, sister test of libobj15a.test,
- checks AC_LIBSOURCE instead of AC_LIBOBJ.
- * tests/libobj15c.test: New test, sister test of libobj15a.test,
- checks AC_LIBSOURCES instead of AC_LIBOBJ.
- * tests/libobj11.test: Removed, superseded by ...
- * tests/libobj16a.test: ... this new test.
- * tests/libobj16b.test: New test, sister test of libobj16a.test,
- but using oldish/deprecated idioms.
- * tests/libobj17.test: New test.
- * tests/libobj18.test: Likewise.
- * tests/libobj19.test: Likewise.
- * tests/libobj20a.test: Likewise.
- * tests/libobj20b.test: Likewise.
- * tests/libobj20c.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Test `$(var:suf=rpl)' expansion in special automake variables.
- * tests/posixsubst-data.test: New test.
- * tests/posixsubst-extradist.test: Likewise.
- * tests/posixsubst-ldadd.test: Likewise.
- * tests/posixsubst-libraries.test: Likewise.
- * tests/posixsubst-ltlibraries.test: Likewise.
- * tests/posixsubst-programs.test: Likewise.
- * tests/posixsubst-scripts.test: Likewise.
- * tests/posixsubst-sources.test: Likewise.
- * tests/posixsubst-tests.test: Likewise.
- * tests/Makefile.am (TESTS): Update.
-
-2010-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Make tests `colon*.test' more "semantic".
- Prefer running configure and make over grepping the generated
- files; this is both more correct and less fragile.
- * tests/colon.test: Made more "semantic", as described above.
- * tests/colon5.test: Likewise.
- * tests/colon6.test: Likewise.
- * tests/colon7.test: Likewise.
- * tests/colon2.test: Likewise, and improve syncing with sister
- test `colon3.test'.
- * tests/colon3.test: Likewise (but with the sister test being
- `colon2.test' here).
-
-2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid running installed automake from 'libtool --help'.
- * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
- Together with fixed Libtool, this fixes check-coverage to not
- invoke installed automake.
-
-2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Separate checks on target overriding into multiple test scripts.
- * tests/overrid.test: Deleted, its contents separated into ...
- * tests/override-suggest-local.test: ... this new test ...
- * tests/override-html.test: ... and this new test ...
- * tests/override-conditional-1.test: ... and this new test ...
- * tests/override-conditional-2.test: ... and this new test (still
- xfailing).
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
-
- Enable `set -e' in more tests (plus some tweakings).
- * tests/implicit.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command.
- * tests/insh2.test: Likewise.
- * tests/instman2.test: Likewise.
- * tests/interp.test: Likewise.
- * tests/interp2.test: Likewise.
- * tests/library.test: Likewise.
- * tests/mclean.test: Likewise.
- * tests/info.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Remove useless chaff from
- generated Makefile.am. Add a "FIXME" comment.
- * tests/include.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Prefer cat + here-doc over
- echo to append to configure.in. Make tests more robust by using
- longer and less common names to grep. Remove an useless call to
- echo. Remove an useless subshell.
- * tests/header.test: Enable `errexit' shell flag, and related
- changes. Use proper m4 quoting. Add excerpts from the original
- report of the bug tested for by this script.
- * tests/gcj.test: Enable `errexit' shell flag, and related
- changes. Use proper m4 quoting. Add trailing `:' command.
- * tests/gcj3.test: Likewise.
- * tests/ldflags.test: Likewise.
- * tests/libtool.test: Likewise.
- * tests/listval.test: Likewise.
- * tests/javaprim.test: Likewise, and prefer cat + here-doc over
- echo to append to configure.in.
- * tests/javasubst.test: Likewise.
- * tests/discorver.test: Enable `errexit' shell flag. Prefer
- trailing `:' over trailing `Exit 0'.
- * tests/instdat.test: Enable `errexit' shell flag, and related
- changes. Use proper m4 quoting. Avoid useless subshell. Prefer
- cat + here-doc over echo to append to configure.in.
- * tests/libtool2.test: Enable `errexit' shell flag, and related
- changes. Add trailing `:' command. Use the configure.in
- stub provided by ./defs, rather than writing it from scratch.
-
- Modernize, improve and/or tweak some test scripts.
- * tests/maintclean.test: Use proper m4 quoting. Add trailing `:'
- command.
- * tests/sinclude.test: Likewise, and add a couple of blank lines,
- for clarity.
- * tests/make.test: Move setting of `errexit' shell flag earlier in
- the script (just after inclusion of ./defs). Use the configure.in
- stub created by ./defs, rather than writing it from scratch. Some
- cosmetic changes in spacing. Ensure we wait enough time before
- touching configure.in to trigger the rebuild rules.
- * tests/makej.test: Use `$me' instead of hard-coding the test
- name. Add trailing `:' command.
- * tests/version7.test: Likewise.
- * tests/space.test: Enable `errexit' shell flag, and related
- changes.
- * tests/makevars.test: Likewise. Also, prefer trailing `:' over
- trailing `Exit 0', and be more tolerant of white spaces when
- grepping Makefile.in.
-
-2010-12-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
-
- Enable `set -e' in more tests (plus some tweakings).
- * tests/mkinstall.test: Enable `errexit' shell flag, and related
- changes. Add a trailing `:' command, if needed.
- * tests/mdate2.test: Likewise.
- * tests/objc.test: Likewise.
- * tests/noinst.test: Likewise.
- * tests/outdir.test: Likewise.
- * tests/number.test: Likewise.
- * tests/pluseq.test: Likewise.
- * tests/req.test: Likewise.
- * tests/rulepat.test: Likewise.
- * tests/specflg6.test: Likewise.
- * tests/spell3.test: Likewise.
- * tests/parse.test: Likewise, and ...
- (configure.in): Use the stub created by ./defs, rather than
- writing it from scratch. Remove useless calls to AC_PROG_RANLIB
- and AC_OUTPUT.
- * tests/mdate4.test: Likewise.
- * tests/mkinstall.test: Likewise, and ...
- (configure.in): ... drop useless call to `AC_OUTPUT'.
- * tests/output.test: Enable `errexit' shell flag, and related
- changes. Add a trailing `:' command.
- (configure.in): Modernize.
- * tests/output2.test: Likewise.
- * tests/output3.test: Likewise.
- * tests/output4.test: Likewise.
- * tests/mdate3.test: Enable `errexit' shell flag, and related
- changes. Prefer `$me' over hard-coded test name. Do not move
- non-existent or useless files in the build auxiliary directory.
- * tests/nodistdir.test: Enable `errexit' shell flag, and related
- changes. Prefer trailing `:' over trailing `Exit 0'.
- * tests/nodist.test: Likewise. Also, prefer cat + here-doc over
- echo to create input test files, and do not create useless dummy
- C source files.
- * tests/nodist2.test: Likewise.
- * tests/ppf77.test: Enable `errexit' shell flag, with related
- changes. Add a trailing `:' command. Do not create useless
- dummy source files.
- * tests/spelling.test: Enable `errexit' shell flag, with related
- changes. Add a trailing `:' command. Also, grep Automake error
- message.
- * tests/specflg3.test: Enable `errexit' shell flag, with related
- changes. Avoid unportable use of `-e' option of fgrep. Prefer
- trailing `:' over trailing `Exit 0'. Remove extra empty lines,
- and cosmetic changes to whitespaces.
- * tests/obsolete.test: Enable `errexit' shell flag, with related
- changes. Improve verbosity. Other miscellaneous changes.
-
-2010-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve and extend tests on `:=' variable assignments.
- * tests/colneq.test: Avoid redundant use of variable assignments
- in Makefile.am. Use command-line automake options instead of
- editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the
- generated Makefile.in slightly stricter. Add a trailing `:'
- command.
- * tests/colneq2.test: Do not create unneeded dummy files. Run
- also autoconf, ./configure and make. Add trailing `:' command.
- * tests/colneq3.test: New test, similar to colneq.test, but
- running also autoconf, ./configure and make.
- * tests/Makefile.am (TESTS): Update.
-
-2010-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Remove long-deprecated options --Werror and --Wno-error.
- These options has been deprecated at least since commit
- "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
- * automake.in (parse_arguments): Do not recognize anymore options
- `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
- and `-Wno-error'.
- * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
- * NEWS: Update.
-
-2010-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix spurious failures in `silent*.test' for $CC != gcc
- In some tests on automake-produced silent rules, we forced the
- use of gcc depmode to improve testsuite coverage; but this has
- unsurprisingly led to spurious failures when some non-GNU C
- compilers were used. So we are now careful to require GCC in
- tests that force gcc depmode.
- From reports by Ralf Wildenhues.
- * tests/silent5.test: Test removed, its content split into ...
- * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
- these new sister tests, the latter of which forces gcc depmode
- and lists "gcc" in $required.
- * tests/silentlex.test: Test removed, its content split into ...
- * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
- these new sister tests, the latter of which forces gcc depmode
- and lists "gcc" in $required.
- * tests/silentyacc.test: Test removed, its content split into ...
- * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
- these new sister tests, the latter of which forces gcc depmode and
- lists "gcc" in $required.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests: consistently use "|| Exit 1" after ". ./defs".
- * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
- `. ./defs', for consistency with other tests.
- * tests/autohdr2.test: Likewise.
- * tests/autohdr3.test: Likewise.
- * tests/autohdr4.test: Likewise.
- * tests/cond23.test: Likewise.
- * tests/cond24.test: Likewise.
- * tests/cond25.test: Likewise.
- * tests/cond26.test: Likewise.
- * tests/cond27.test: Likewise.
- * tests/cond28.test: Likewise.
- * tests/cond29.test: Likewise.
- * tests/cond30.test: Likewise.
- * tests/cond31.test: Likewise.
- * tests/cond32.test: Likewise.
- * tests/cond33.test: Likewise.
- * tests/cond34.test: Likewise.
- * tests/cond35.test: Likewise.
- * tests/cond36.test: Likewise.
- * tests/cond37.test: Likewise.
- * tests/cond38.test: Likewise.
- * tests/cond39.test: Likewise.
- * tests/cond40.test: Likewise.
- * tests/cond41.test: Likewise.
- * tests/cond42.test: Likewise.
- * tests/cond43.test: Likewise.
- * tests/cond44.test: Likewise.
- * tests/cond45.test: Likewise.
- * tests/dollarvar.test: Likewise.
- * tests/dollarvar2.test: Likewise.
- * tests/hfs.test: Likewise.
- * tests/libobj14.test: Likewise.
- * tests/percent.test: Likewise.
- * tests/percent2.test: Likewise.
- * tests/phony.test: Likewise.
- * tests/silent.test: Likewise.
- * tests/silent2.test: Likewise.
- * tests/silent3.test: Likewise.
- * tests/silent4.test: Likewise.
- * tests/silent5.test: Likewise.
- * tests/silent6.test: Likewise.
- * tests/silent7.test: Likewise.
- * tests/silent9.test: Likewise.
- * tests/silentcxx.test: Likewise.
- * tests/silentf77.test: Likewise.
- * tests/silentf90.test: Likewise.
- * tests/silentlex.test: Likewise.
- * tests/silentyacc.test: Likewise.
-
- Avoid useless cleaning in some `silent*.test' tests.
- * tests/silentf77.test: Removed useless calls to "make clean"
- and "make maintainer-clean".
- * tests/silentf90.test: Likewise.
- * tests/silent3.test: Removed useless call to "make distclean".
- * tests/silent4.test: Likewise.
- * tests/silent9.test: Likewise.
-
-2010-11-19 Ian Lance Taylor <iant@google.com>
-
- Sync config-ml.in from GCC.
- * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
- compiler/flag environment variables.
-
-2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- release-stats: account for more generated tests.
- * Makefile.am (release-stats): Be sure to take into account all
- the generated tests, by grepping the test scripts to decide which
- ones of them are automatically generated.
-
-2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Code cleanup after removal of option `--output-directory'.
- * automake.in ($output_directory): Remove, it's unconditionally
- defined to `.' and used only ...
- (generate_makefile): ... in this subroutine, which now has been
- edited and simplified accordingly.
-
- Remove obsolete automake option `--output-directory'.
- This option has been deprecated since version 1.7 (2002/2003).
- * automake.in ($output_directory): Define to `.' unconditionally.
- (parse_arguments): Remove handling of equivalent options `-o' and
- `--output-directory'.
- * tests/outdir.test: Removed.
- * tests/no-outdir-option.test: New test.
- * tests/Makefile.am (TESTS): Updated.
- * NEWS: Updated.
-
-2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Automake::Config: remove extra trailing semicolon.
- * lib/Automake/Config.in: Remove extra trailing semicolon.
-
- help4.test: fix botched heading comment.
- * tests/help4.test: Fixed the heading comment, since it
- didn't correctly describe what checks the testcase was
- supposed to perform.
-
- help2.test: add checks on aclocal too.
- * tests/help2.test: Check that also `aclocal --version' and
- `aclocal --help' work with configure.in and acinclude.m4 both
- broken.
-
-2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- New test on repeated automake options.
- * tests/repeated-options.test: New test, check that automake
- does not complain on repeated options, nor generate broken or
- incorrect makefiles.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix spurious failures of silent-rules tests with Sun Fortran.
- * tests/silentf77.test: Strip from the make output some verbose
- messages possibly printed by the SunStudio fortran compilers, to
- avoid spurious failures. Add a trailing `:' command.
- * tests/silentf90.test: Likewise.
-
-2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix spurious failures of silent5.test with Sun Fortran.
- * tests/silent5.test: Strip from the make output some verbose
- messages possibly printed by the SunStudio fortran compilers,
- to avoid spurious failures. This bug has been there from the
- very first version of this test script.
-
-2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix regression in colon{5,6}.test (failures on AIX 5.3).
- * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
- post-processing the generated Makefile.in, to work around a bug
- of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
- on the commend line. Calls to `$MAKE' adjusted accordingly.
- * tests/colon6.test: Likewise.
- Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
- improve and/or extend tests `colon*.test", and reported by Ralf
- Wildenhues.
-
-2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix regression in ansi.test (failure on AIX 5.3).
- * tests/ansi.test: Remove redundant hackish check done using a
- hand-postprocessed Makefile.in. This check worked by setting
- the `$(SHELL)' macro on the command line of make, but this is
- not supported by the AIX 5.3 make implementation.
- This bug has been lurking for a long time, and was activated by
- commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
- tests". Report by Ralf Wildenhues.
-
-2010-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- backcompat5.test: avoid '##'-style comments inside recipe commands.
- * tests/backcompat5.test: Remove double-hash comments
- from makefile rule commands, they are not part of the
- Automake API. Fixes testsuite failure with Tru64 make.
-
- tests: avoid '##'-style comments inside recipe commands.
- * tests/confh.test, tests/confh8.test: Remove
- double-hash comments from makefile rule commands, they
- are not part of the Automake API.
-
-2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: work around dash quoting issue in case statements.
- * tests/color.test, tests/color2.test: Quote variable in case
- pattern, to avoid skipping tests with dash 0.5.5.1.
-
-2010-11-16 Peter Rosin <peda@lysator.liu.se>
-
- Skip MSVC oriented tests if the shell is not capable.
- * tests/defs: New required entry 'xsi-shell'.
- * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
- Require a XSI capable shell.
- Reported by Ralf Wildenhues.
-
-2010-11-15 Peter Rosin <peda@lysator.liu.se>
-
- compile: clear the `eat' variable earlier.
- * lib/compile: Clear the `eat' variable earlier.
- ($scriptversion): Update.
- * tests/compile3.test: Prevent regressions.
-
-2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- More stable configure output from sanity check.
- * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
- about ensuring newer files, even if we don't actually need
- to wait any more.
-
-2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Rebuild menus in the manual.
- * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
- Thanks to Ian Lance Taylor for the suggestion.
-
- Fix install-strip when $(STRIP) contains several words.
- * lib/am/install.am (install-strip): Update comment. Use
- separate sub-make invocations for empty and nonempty $(STRIP),
- to fix quoting issues.
- * tests/strip2.test, tests/strip3.test: New tests.
- * tests/Makefile.am (TESTS): Adjust.
-
-2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix yaccdry.test failure: require bison.
- * tests/yaccdry.test: Require bison.
- Found by NixOS Hydra.
-
-2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix bug in test `backcompat6.test' (MSYS portability).
- * tests/backcompat6.test (Makefile.am): Grep the output from the
- test program, rather than diffing it, to avoid spurious failures
- on MinGW/MSYS due to LF vs. CRLF line endings.
- Reported by Ralf Wildenhues.
-
-2010-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Deprecate obsolete macro AM_WITH_REGEX.
- * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
- and state that it should be removed two years from now.
- (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
- category when this macro is used.
- * doc/automake.texi (Public Macros): Move description of
- `AM_WITH_REGEX' from here ...
- (Obsolete Macros): ... to here, and declare it as obsolete
- and "to be removed in a future version".
- * tests/regex-obsolete.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
-2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve and extend tests on man pages support.
- * tests/man.test: Enable `errexit' shell flag, and related changes.
- Make grepping of generated Makefile.in slightly stricter.
- * tests/man3.test: Add trailing `:' command.
- * tests/man5.test: Prefer cat + here-doc over echo to append to
- configure.in.
- * tests/man2.test: Likewise, and add trailing `:' command.
- * tests/man4.test: More thorough and consistent checking of make
- error messages. Place fake `help2man' program in a new `bin'
- directory rather than in `.'. Move the checks using the real
- `help2man' program to ...
- * tests/man6.test: ... this new test, and extend them. This test
- passes with GNU make and Solaris make, still fails with BSD make.
- * tests/man7.test: New test, extracted from old man4.test, which
- checks for a bug in maintainer-clean w.r.t. generated manpages.
- * tests/man8.test: New test, extracted from old man4.test, which
- checks for a bug in distcheck w.r.t. generated manpages. Passes
- with GNU make and Solaris make, still fails with BSD make.
-
-2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Minor improvements and extensions to various tests.
- * tests/defun.test: Also run autoconf and grep the generated
- configure to make sure that aclocal truly picks up all the
- required macros.
- * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
- `Exit 0'. Do not create useless dummy source files. Do not set
- useless `$(foo_LDADD)' variable in `Makefile.am'. Do not call
- useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
- * tests/compile_f90_c_cxx.test: Likewise.
- * tests/suffix10.test: Slightly stricter grepping of make output.
- * tests/compile.test: Add trailing `:' command.
- * tests/defun2.test: Likewise.
- * tests/vars3.test: Likewise.
- * tests/vartar.test: Likewise.
- * tests/vars.test: Likewise. Also, extend test by checking
- that the definition of `MY_FLAGS*' variables is preserved in
- the generated `Makefile.in'.
- * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
- Use proper m4 quoting in `configure.in'.
-
-2010-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests defs: improve messages for skipped tests.
- * tests/defs: Give meaningful messages about the reasons of a
- test skip; this is especially useful as this file is run without
- verbose xtraces on. Related reorderings in the code and new
- comments.
-
-2010-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests defs: move static definitions in a new file `defs-static'.
- The new file is meant to be idempotent w.r.t. multiple inclusions.
- * tests/defs.in: Removed, its contents split among ...
- * tests/defs-static.in: ... this new file ...
- * tests/defs: ... and this new file, including the former.
- * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
- `tests/defs-static'.
- (AC_CONFIG_LINKS): Add `tests/defs'.
- * tests/Makefile.am ($(parallel_tests)): Update.
- ($(instspc_tests)): Likewise.
- * tests/.gitignore: Update.
-
- Tests defs: $testsbuilddir is now AC_SUBST'ed.
- * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
- Add sanity check on $testsbuilddir, similar to those on
- $testsrcdir and $top_testsrcdir.
-
- Tests defs: do not print message "Running test $0" anymore.
- * tests/defs.in: Printing the message "=== Running test $0" at
- the beginning of each tests made sense when Automake used the old
- test-driver, which sent all the output directly to stdout/stderr.
- Now that the parallel test-driver is used, which saves output of
- each test in its corresponding log file, that old message is just
- useless noise.
-
- Tests defs: rename $curdir -> $testbuilddir
- * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
- consistency with $testsrcdir and $top_testsrcdir.
-
- Tests defs: prefer "$curdir" over "`pwd`".
- * tests/defs.in: We already save the value of `pwd` in $curdir
- early in the file, so there no need to recalculate it later, when
- the current working directory is not changed.
-
- Tests defs: use `$me' in more error messages.
- * tests/defs.in: Also use `$me' in error messages referring to
- missing `defs' or `defs.in', since that variable is now defined
- before those checks.
-
- Tests defs: do not use `Exit' where plain `exit' suffices.
- * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
- test when required libtool/gettext macros are not found, since
- such skips would take place before the exit trap is installed.
-
- Tests defs: improve and extends comments.
- * tests/defs.in: Improve and extends some comments, especially in
- relation with the changes introduced by the previous reordering.
-
- Tests defs: various reorderings.
- * tests/defs.in: Reordered various snippets of code in a
- clearer way.
-
-2010-11-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix bug in test `backcompat4.test' (stale autom4te cache).
- * tests/backcompat4.test: Remove stale autom4te cache directory
- before re-running aclocal and automake. Also, since we are at
- it, be more verbose in displaying contents of generated files,
- to ease debuggability.
- Reported by Ralf Wildenhues.
-
-2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix a bug in variable concatenation with `+='.
- * lib/Automake/VarDef.pm (append): Since the content of the
- "appended-to" variable is going to be unconditionally normalized
- later, simply separate the appended value with a single whitespace
- character, instead of trying to be uselessly smarter by using
- escaped newlines. This fixes a bug in which extra backslashes
- where erroneously inserted in the variable's final value.
- * tests/pluseq11.test: New test, exposing the bug.
- * tests/Makefile.am (TESTS): Update.
- Reported by Andy Wingo.
-
-2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Modernize, improve and/or tweak various test scripts.
- * tests/stamph2.test: Improve m4 quoting in `configure.in', and
- prefer trailing `:' over trailing `Exit 0'.
- * tests/syntax.test: Escape literal dots in grep regexps.
- * tests/copy.test: Enable `errexit' shell flag. Extend test by
- checking with `test' utility that the script `install-sh' is
- copied, but not symlinked.
- * tests/depdist.test: Move setting of `errexit' shell flag earlier
- in the script (just after inclusion of ./defs). Avoid obsoleted
- constructs in generated `configure.in'. Prefer to do our checks
- by running configure and make over grepping Makefile.in.
- * tests/target-cflags: Move setting of `errexit' shell flag
- earlier in the script (just after inclusion of ./defs). Use the
- `configure.in' stub created by `./defs', rather than writing it
- from scratch.
- * tests/target-clash: Do not uselessly run autoconf.
- * tests/ctarget1.test: Renamed ...
- * tests/cond-basic.test: ... to this. Use the `configure.in' stub
- created by `./defs', rather than writing it from scratch.
- Move setting of `errexit' shell flag earlier in the script (just
- after inclusion of ./defs). Other minor cosmetic changes.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- New tests on obsoleted usages of automake/autoconf macros (such
- as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
- * tests/backcompat.test: New test script.
- * tests/backcompat2.test: Likewise.
- * tests/backcompat3.test: Likewise.
- * tests/backcompat4.test: Likewise.
- * tests/backcompat5.test: Likewise.
- * tests/backcompat6.test: Likewise.
- * tests/init.test: Extended and improved, esp. by trying more
- combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
- arguments.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix bug in rules for creating vala vapi/header files.
- * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
- if control structure in a generated make rules. Bug introduced
- by previous commit `v1.11-221-gd7c1679', and revealed by failure
- of test `vala2.test'.
-
-2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix and document rules to not touch the tree with `make -n'.
- * doc/automake.texi (Multiple Outputs): Document the problem of
- modifications during dry-run execution, propose solution.
- * NEWS: Update.
- * automake.in (lang_vala_finish_target): Split recipe so the
- stamp file is not removed with GNU `make -n'.
- (lang_yacc_target_hook): Separate removal of parser output file
- and header remaking.
- * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
- passed to make, take care not to remove any files in that case.
- * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
- %STAMP% file from induced remaking of config header.
- * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
- New tests.
- * tests/Makefile.am (TESTS): Update.
-
-2010-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix potential bug in generated tests `instpc-*.test'.
- This bug is due to the changes introduced by the recently-merged
- "tests-init" branch. In that branch, `tests/defs' didn't define
- anymore `$srcdir', instead defining directly `$testsrcdir'; but
- the generated tests were using `$srcdir', hence the bug.
- Luckily, since the Automake parallel test driver automatically
- exports `srcdir' to a proper value, that prevented the bug from
- manifesting itself.
- * tests/Makefile.am ($(instspc_tests)): In the generated test
- scripts, use `$testsrcdir', not `$srcdir'.
-
-2010-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Overhauled and modularized tests in `instspc.test'.
- The test `instspc.test' was way too big and fragile. Its running
- time was very long. It also produced a log that was nearly
- unreadable due to its length, making it very difficult to find
- out the reason for failures.
- Also, it was too much monolithic, with a single (maybe spurious)
- failure in a corner case causing the whole test to fail (even if
- everything worked as expected in the other 99% of cases).
- The present change should solve these problems, by separating
- `instspc.test' into many smaller, self-contained, auto-generated
- tests.
- * tests/instspc.test: Removed.
- * tests/instspc-tests.sh: New script, fulfilling a double role:
- 1. it generates a Makefile.am snippet `tests/instspc-tests.am',
- containing the definition of a list of new tests which will take
- over the older `instspc.test', and
- 2. it is sourced by said generated tests with proper parameters
- pre-set, to run the "meat" of the checks.
- This apparent abuse is indeed required because the test generation
- code and test execution code are inevitably intertwined.
- * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
- snippet, which (among the other things) defines ...
- (instspc_tests): ... this new macro, containing the list of the
- newly generated `instspc*.test' tests, and ...
- (instspc_xfail_tests): ... this new macro, containing the list
- of the `instspc*.test' tests expected to fail.
- ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
- ($(instspc_tests:.test=.log)): New rule, registers the dependency
- of all `instspc*.test' tests on the `instspc-tests.sh' script.
- (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
- (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
- (EXTRA_DIST): Distribute instspc-tests.sh.
- (MAINTAINERCLEANFILES): Added $(instspc_tests).
- Other minor cosmetic changes.
- * bootstrap: Generate instspc-tests.am.
- * tests/.gitignore: Updated.
-
-2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Add FAQ entry for bug reporting instructions.
- * doc/automake.texi (Reporting Bugs): New section.
- (Introduction): Refer to it.
-
-2010-10-07 Peter Rosin <peda@lysator.liu.se>
-
- depcomp: add new one-pass depmode for MSVC 7 and later.
- * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
- make use of the -showIncludes option added in MSVC 7.
- * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
- similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
- support the -o option.
-
-2010-10-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add support for newer python versions.
- * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
- _AM_PYTHON_INTERPRETER_LIST. Since we are at it, break a long
- line and fix indentation.
- * THANKS: Updated.
- From a report by Thomas Klausner.
-
- Add test for `AM_WITH_DMALLOC' macro.
- * tests/dmalloc.test: New test.
- * tests/Makefile.am (TESTS): Update.
-
- Fix nits and bugs in tests `help*.test'.
- * tests/help4.test: Fix broken sed commands used to strip `-W...'
- flags away from "$AUTOMAKE" and "$ACLOCAL".
- * tests/help3.test: Likewise, and fix a botched comment.
- * tests/help.test: Likewise. Also, use "AUTOMAKE_fails ..."
- instead of "$AUTOMAKE ... && Exit 1", for consistency and to
- please maintainer-check.
- * tests/help2.test: Likewise.
-
-2010-10-03 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Improve tests `help*.test' (also fixes maintcheck failures).
- * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
- flags stripped away rather than hard-coded `automake-$APIVERSION',
- to better honour user-overrides. Similarly for aclocal.
- * tests/help2.test: Likewise.
- * tests/help3.test: Likewise.
- * tests/help4.test: Likewise.
-
-2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- tests: fix ar-lib.test for echo that interprets backslashes.
- * tests/ar-lib.test: Use printf instead of echo. Avoid test -a.
- More robust quoting.
-
-2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- maintainer-check coverage for variables before rules.
- * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
- around the test directories.
- (sc_tests_makefile_variable_order): New rule with a heuristic to
- catch ordering violations.
-
- Document and fix expansion of variables before rules.
- * doc/automake.texi (General Operation): Document that variables
- are expanded before rules.
- * lib/am/check.am (am__check_post): Reword a bit so it does not
- get matched as a rule.
- Suggestion by Ben Pfaff.
-
-2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Coverage and minor fixes for variable typo detection.
- * automake.in (check_typos): Remove `EXTRA_' prefix when
- computing canonical name.
- * tests/vartypo2.test, tests/vartypos.test: New tests.
- * tests/Makefile.am (TESTS): Update.
-
- Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
- * automake.in (handle_programs, handle_libraries)
- (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
- * doc/automake.texi (Linking, Program and Library Variables)
- (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
- * lib/am/library.am (%LIBRARY%): Also depend on
- $(EXTRA_%XLIBRARY%_DEPENDENCIES).
- * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
- (%XLTLIBRARY%_DEPENDENCIES).
- * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
- $(EXTRA_%XPROGRAM%_DEPENDENCIES).
- * tests/extradep.test, tests/extradep2.test: New tests.
- * tests/Makefile.am (TESTS): Update.
- * NEWS: Update.
- Suggested by Eric Blake.
-
- tests: avoid running into timing issues due to sanity change.
- * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
- Insert strategic sleep before aclocal reruns, to ensure files
- are newer.
- * tests/python11.test: Use --force for repeated autotools runs.
- Reports from the NixOS Hydra build daemon via Ludovic Courtès.
-
- Fix timestamp issues by ensuring configure takes at least a second.
- * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
- start a sleep in the background and wait for it to finish
- before creating config.status, hopefully fixing all spurious
- testsuite failures involving botched time stamps.
- * NEWS: Update.
- Reports by Ludovic Courtès, Peter Breitenlohner, and others.
-
-2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Revert "parallel-tests: avoid command-line length limit issue."
- This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
- because it re-opened the bug fixed by v1.11-10-g218e678.
-
- 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: avoid command-line length limit issue.
- * automake.in (handle_tests): New argument $makefile, new
- substitution %MAKEFILE%.
- (generate_makefile): Adjust.
- * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
- sanitized TEST_LOGS value as makefile snippet on standard
- input to $(MAKE), to avoid exceeding the command line limit on
- w32 (MSYS).
- * NEWS: Update.
- Report by Bob Friesenhahn.
-
-2010-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extend tests on `--help' and `--version' options.
- * tests/help.test: Create a new empty directory and chdir into
- it, rather than removing already present files. Run the aclocal
- and automake wrapper scripts directly, instead of relying on
- $AUTOMAKE and $ACLOCAL. Be sure to correctly match literal dots
- in aclocal's and automake's stderr. Add a trailing `:' command.
- * tests/help2.test: New test, checking that options `--help' and
- `--version' works in directories with broken `configure.in'.
- * tests/help3.test: New test, checking that options `--help' and
- `--version' take precedence on the other options.
- * tests/help4.test: New test, checking that the first among the
- `--help' and `--version' options to be specified on the command
- line wins.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-09-25 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
- * tests/compile2.test: Do no uselessly (implicitly) repeat the
- computation of PATH_SEPARATOR again.
- * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
- extending/redefining PATH.
- * tests/instmany-python.test: Likewise.
- * tests/instmany.test: Likewise.
- * tests/man4.test: Likewise.
- * tests/mkinst3.test: Likewise.
- * tests/mmodely.test: Likewise.
- * tests/multlib.test: Likewise.
- * tests/txinfo30.test: Likewise.
- * tests/README (Section "Writing test cases" subsection "Do"):
- Updated.
- * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
- (syntax_check_rules): Updated.
-
- Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
- * tests/defs.in ($APIVERSION): New AC_SUBST'd variable.
- ($ACLOCAL, $AUTOMAKE): Use it.
- ($PATH_SEPARATOR): New AC_SUBST'd variables.
- ($PATH): Use it.
-
-2010-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Manual: be more agnostic w.r.t. version control system used.
- * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
- directories as a type of probably-unwanted files that are copied
- regardless when adding directories to EXTRA_DIST.
- (The dist Hook): Show a dist-hook example which removes Subversion
- `.svn' private directories from distdir, rather than CVS private
- directories.
- (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
- the version control system used.
-
- Manual: index refer to target "git-dist", not "cvs-dist".
- * doc/automake.texi (General Operation): Index the non-standard
- example about "git-dist" under the "git-dist" label, not under
- the "cvs-dist" one.
-
- Perl modules: remove references to "Automake CVS repository".
- * lib/Automake/Channels.pm: Update comments to refer to "Automke's
- git repository" rather than to "Automake's CVS repository".
- * lib/Automake/Configure_ac.pm: Likewise.
- * lib/Automake/FileUtils.pm: Likewise.
- * lib/Automake/Struct.pm: Likewise.
- * lib/Automake/XFile.pm: Likewise.
- * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
- branches" rather than "CVS branches".
-
- Remove obsolete .cvsignore files.
- * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
- lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
- m4/.cvsignore, tests/.cvsignore: Files deleted. Even when using
- savannah's CVS readonly mirror there's no way to commit back to
- the real repository, so this files are not worth maintaining or
- keeping around.
-
-2010-09-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * m4/dmalloc.m4: Bump serial number and copyright years.
-
-2010-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix broken link in `AM_WITH_DMALLOC' help screen.
- * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
- `http://www.dmalloc.com', not to the dmalloc tarball there (which
- seems to have been removed, substituted by multiple release
- tarballs now).
-
-2010-09-21 Peter Rosin <peda@lysator.liu.se>
-
- compile: implement library search to support MSVC static linking
- * lib/compile (func_cl_wrapper): Implement library search and
- -static option so that the user can select whether to prefer
- dll import libraries or static libraries. This enables MSVC to
- link against dlls generated by libtool without requiring libtool
- or workarounds such as -lfoo.dll etc. Makes the tests/static.at
- test case in libtool pass.
- * tests/compile3.test: Don't trip up if there happens to exist
- a "foo" library in the library search path.
- * tests/compile6.test: New test, verifying the library search.
- * tests/Makefile.am (TESTS): Update.
-
-2010-09-17 Eric Blake <eblake@redhat.com>
-
- Avoid triple-space after period.
- * automake.in (handle_single_transform): Avoid 3 spaces at
- sentence end.
- * ChangeLog.03: Likewise.
- * lib/Automake/ChannelDefs.pm: Likewise.
- * lib/Automake/Channels.pm (_print_message): Likewise.
- * lib/Automake/Rule.pm (rule): Likewise.
- * lib/Automake/Variable.pm (var): Likewise.
- * lib/am/distdir.am: Likewise.
- * tests/insthook.test: Likewise.
-
-2010-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Test automake-generated portions of configure help screen.
- * tests/help-depend.test: New test.
- * tests/help-depend2.test: Likewise.
- * tests/help-dmalloc.test: Likewise.
- * tests/help-init.test: Likewise.
- * tests/help-lispdir.test: Likewise.
- * tests/help-maintainer.test: Likewise.
- * tests/help-multilib.test: Likewise.
- * tests/help-regex.test: Likewise.
- * tests/help-silent.test: Likewise.
- * tests/help-upc.test: Likewise.
- * tests/mmode.test: Remove tests on `configure --help' output,
- they are superseded by tests in `help-maintainer.test'.
- * tests/Makefile.am (TESTS): Update.
-
-2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- * tests/README: Don't put GCS mandated tools in $required.
-
-2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * HACKING: Hint at old commits with `git describe' output.
-
-2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Prefer `$(am__cd)' to plain `cd' in our Makefiles.
- * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
- (release-stats): Use `$(am__cd)' rather than plain `cd'.
- * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
-
-2010-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix regression in test `colon4.test'.
- * tests/colon4.test: Fix botched editing to `configure.in'
- that made the test useless. Since we are at it, improve
- comments and make grepping of generated Makefile.in slightly
- stricter.
- Regression introduced by change "Modernize, improve and/or
- extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
-
-2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Do not require "gzip" explicitly in tests.
- The gzip utility is simply expected to be present on any decent
- target system for Automake. So it's pointless to put it in
- $required.
- * tests/install2.test ($required): Do not require "gzip".
- * tests/lex3.test: Likewise.
- * tests/pr9.test: Likewise.
- From a suggestion by Ralf Wildenhues.
-
-2010-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Use AS_HELP_STRING in AM_SILENT_RULES.
- * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
- help message regarding configure options `--enable-silent-rules'
- and `--disable-silent-rules'. Also throw in a couple of cosmetic
- changes in the related `case' statement (indentation, balancing
- of parentheses).
- * THANKS: Update.
- From a report by Jeff A. Daily.
-
-2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Make some `confh*.test' tests more "semantic" (plus tweakings).
- * tests/confh.test: Run "autoconf", "configure" and "make check",
- instead of munging/grepping the generated `Makefile.in'.
- * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
- white spaces. Do not create useless dummy source file `foo.c'
- and useless dummy header file `acconfig.h'.
- (configure.in): Remove superfluous call to `AC_OUTPUT'.
- * tests/confh6.test: Add trailing `:' command.
- * tests/confh7.test: In comments, add reference to ...
- * tests/confh8.test: ... this new test, "semantic" sister
- of `confh7.test'.
- * tests/Makefile.am (TESTS): Updated.
- Prompted by a report from Ralf Wildenhues.
-
-2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Remove useless whitespace padding in XFAIL_TESTS definition.
- * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
-
-2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- parallel-tests: avoid command-line length limit issue.
- * automake.in (handle_tests): New argument $makefile, new
- substitution %MAKEFILE%.
- (generate_makefile): Adjust.
- * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
- sanitized TEST_LOGS value as makefile snippet on standard
- input to $(MAKE), to avoid exceeding the command line limit on
- w32 (MSYS).
- * NEWS: Update.
- Report by Bob Friesenhahn.
-
- Posix 2008 requires make to set errexit.
- * lib/am/check.am: Update comment.
-
-2010-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests defs: remove variable $testaclocaldir.
- * tests/defs.in ($testaclocaldir): Removed.
- * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
- `$testaclocaldir'.
-
- Tests defs: $srcdir and $top_srcdir renaming.
- * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
- * tests/Makefile.am ($(parallel_tests)): Generation of derived
- tests updated.
-
- Tests defs: new variable $top_testsrcdir.
- * tests/defs.in ($top_testsrcdir): Define unconditionally
- to @abs_top_srcdir@. Use it throughout.
- * tests/ar-lib.test: Use `$top_testsrcdir' instead of
- `$testsrcdir/..'.
- * tests/auxdir.test: Likewise.
- * tests/compile.test: Likewise.
- * tests/compile2.test: Likewise.
- * tests/compile3.test: Likewise.
- * tests/compile5.test: Likewise.
- * tests/mdate6.test: Likewise.
- * tests/mkinst3.test: Likewise.
- * tests/multlib.test: Likewise.
- * tests/txinfo22.test: Likewise.
-
- Tests defs: $srcdir is unconditionally substituted.
- * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
- Remove code for $srcdir normalization, which is now useless.
-
-2010-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tests defs: make spacing more consistent.
- * tests/defs.in: Make spacing more consistent in indentation.
- Especially, indent using only spaces, not tabs. Also, move
- a comment to a better position.
-
- Improve code for requiring libtool and gettext in tests.
- * tests/defs.in: Stricter (and more correct) detection of wheter
- libtool, libtoolize and/or gettext are in $required.
-
-
-2010-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix bug in test missing6.test.
- * tests/missing6.test: Fix the hack used to edit `configure.in',
- to avoid producing a configure script that breaks with shells
- that do not support $LINENO. Also throw in a couple of cosmetic
- changes.
-
-2010-09-02 Peter Rosin <peda@lysator.liu.se>
-
- Make ar-lib support backslashed files in archives.
- * lib/ar-lib: If an archive member contains a backslash, make sure
- it is escaped when the archive member is extracted.
- * tests/ar-lib.test: Test the above.
-
-2010-08-31 Peter Rosin <peda@lysator.liu.se>
-
- Do file name conversion for object files in the compile wrapper.
- * lib/compile (func_cl_wrapper): Do file name conversion for object
- files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
- * tests/compile4.test: Test the above.
-
-2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Speed up removal of auxiliary linker output files for ltlibraries.
- * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
- one `rm' invocation.
- Report by Bob Friesenhahn.
-
- Improve robustness of mdate-sh script.
- * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
- $ls_command is word-split properly upon invocation.
- (error): New function.
- (main): Use it. Improve error checking to avoid endless loop
- in case $ls_command gave bogus output. Fix eval quotation.
- * tests/mdate6.test: New test, to expose eval quotation error.
- * tests/Makefile.am: Update.
-
-2010-08-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix potential regressions in depcomp{3,5}.test.
- * tests/depcomp3.test: Do not uselessly escape the character `$'
- in makefile rules, when it's used to expand a make macro.
- * tests/depcomp5.test: Likewise.
-
-2010-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Docs: clarify how to avoid automatic dependencies tracking.
- * doc/automake.texi (Automatic dependency tracking): Mention that
- automatic dependencies tracking is enabled by default, but that
- the package developer can disable it altogether. Add a reference
- to the proper section for a more in-depth explanation.
-
- Fix typo in manual (`Makefile.in' instead of `Makefile.am').
- * doc/automake.texi (Automatic dependency tracking): Fix typo.
-
-2010-08-16 Bruno Haible <bruno@clisp.org>
-
- Don't hide the table of contents.
- * doc/automake.texi: Move the table of contents to the beginning.
-
-2010-08-16 Peter Rosin <peda@lysator.liu.se>
-
- Optimize compile script on MSYS.
- * lib/compile (func_file_conv): Add new argument 'lazy' which
- takes an optional list of conversion types where the requested
- conversion isn't needed.
- (func_cl_wrapper): Take advantage of the above for cases where
- MSYS is doing the conversion for us.
- Suggested by Ralf Wildenhues.
-
-2010-08-16 Peter Rosin <peda@lysator.liu.se>
-
- Support more C++ file extensions for MSVC in the compile script.
- * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
- file extension as C++, unless it's given a hint. So hint about
- .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
- .c, .cpp, .CPP, .lib, .LIB and .Lib files.
- * tests/compile3.test: Test the C++ hinting.
-
-2010-08-12 Peter Rosin <peda@lysator.liu.se>
-
- Enable the use of "link -lib" as the wrapped archiver.
- * lib/ar-lib: Enable the use of "link -lib" as the wrapped
- archiver, as well as allowing some other options to be passed
- through to the wrapped archiver.
- * tests/ar-lib.test: Test the above.
-
-2010-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tweak and/or extend some `acloca*.test' tests.
- * tests/aclocal8.test: Ensure verbose printing of captured
- output.
- * tests/aclocal.test: Likewise. Also, add trailing `:'
- command.
- * tests/acloca19.test: Likewise.
- * tests/aclocal5.test: Add trailing `:' command, and prefer
- `$me' over hard-coded test name.
- * tests/aclocal6.test: Likewise.
- * tests/aclocal18.test: Add trailing `:' command, and make
- some grepping slightly stricter.
- * tests/acloca14.test: Likewise. Also, prefer `diff' over
- `cmp', and add some "cosmetic" blank lines.
-
-2010-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tweak and extend tests `pr[!0-9]*.test'.
- * tests/primary3.test: Add trailing `:' command.
- * tests/primary.test: Make grepping of Automake's stderr stricter.
- Also, add trailing `:' command, and cosmetic changes in spacing.
- * tests/primary2.test: Likewise.
- * tests/prefix.test: Enable `errexit' shell flags, and related
- changes. Add a trailing `:' command.
- * tests/proginst.test: Likewise.
-
- Modernize, improve and extend tests for PR (`pr[0-9]*.test').
- * tests/pr2.test: Add trailing `:' command.
- * tests/pr229.test: Likewise.
- * tests/pr401.test: Likewise.
- * tests/pr401b.test: Likewise.
- * tests/pr401c.test: Likewise.
- * tests/pr300-prog.test: Likewise, plus cosmetic changes in
- spacing.
- * tests/pr300-lib.test: Likewise.
- * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
- of captured make stdout.
- * tests/pr211.test: Add trailing `:' command. Also, use the
- `configure.in' stub created by ./defs, rather than writing it
- from scratch.
- * tests/pr204.test: Likewise, plus cosmetic spacing changes.
- * tests/pr287.test: Likewise, and move setting of `errexit' shell
- flag earlier in the script (just after inclusion of ./defs).
- * tests/pr220.test: Make grepping of Automake's stderr stricter.
- Also, add trailing `:' command, and cosmetic changes in spacing.
- * tests/pr224.test: Move setting of `errexit' shell flag earlier
- in the script (just after inclusion of ./defs). Do not export
- `CC=gcc' to configure explicitly (it's already exported globally
- in ./defs, since we have "gcc" in $required). Use the stub for
- `configure.in' created by ./defs, rather than writing it from
- scratch. Do not create dummy files required by "gnu" mode (e.g.
- README, NEWS), since we run automake in foreign mode anyway.
- * tests/pr72.test: Enable `errexit' shell flags, and related
- changes. Extend existing checks a bit.
- * tests/pr9.test: Likewise. Also, avoid obsolescent constructs in
- the generated `configure.in', and extend existing checks over the
- generated tarball a bit.
- * tests/pr87.test: Enable `errexit' shell flags, and related
- changes. Add a trailing `:' command. Also, do not create dummy
- files required by "gnu" mode (e.g. README, NEWS), since we run
- automake in foreign mode anyway.
- * tests/pr243.test: Avoid obsolescent constructs in the generated
- `configure.in'. Enable the `errexit' shell flag, and related
- changes. Cosmetic changes to spacing, add trailing `:' command,
- and add a "FIXME" comment.
- * tests/pr266.test: Likewise, and add explicit command line switch
- `--enable-dependency-tracking' to the ./configure call.
- * tests/pr279.test: Avoid obsolescent constructs in the generated
- `configure.in'; also, use the `configure.in' stub created by
- ./defs, rather than writing it from scratch. Enable `errexit'
- shell flag, and related changes. Add trailing `:' command.
- * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
- stricter.
- * tests/pr307.test: Move setting of `errexit' shell flag earlier
- in the script (just after inclusion of ./defs). Escape literal
- dots in grep regular expressions. Also, add a trailing `:'
- command, and cosmetic changes to spacing.
-
- Tests for PR: add excerpts from original bug report, for clarity.
- * tests/pr2.test: Ditto.
- * tests/pr9.test: Likewise.
- * tests/pr72.test: Likewise.
- * tests/pr87.test: Likewise.
- * tests/pr211.test: Likewise.
- * tests/pr220.test: Likewise.
- * tests/pr224.test: Likewise.
- * tests/pr229.test: Likewise.
- * tests/pr243.test: Likewise.
- * tests/pr266.test: Likewise.
- * tests/pr279.test: Likewise, and tell to keep it in sync
- with its sister test.
- * tests/pr279-2.test: Likewise.
-
-2010-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tweak, extend and improve tests `cond[a-z]*.test'.
- * tests/condd.test: Add trailing `:' command. Typofix in
- comment.
- * tests/condhook.test: Make sure target `install-data-hook' is
- not called by `make install', but that data files are installed.
- Use proper m4 quoting in configure.in. Add trailing `:' command.
- * tests/condhook2.test: New test, sister test of condhook, with
- inverted semantic.
- * tests/condinc2.test: Use proper m4 quoting in configure.in.
- Prefer trailing `:' command over trailing `Exit 0'.
- * tests/condman2.test: Enable errexit shell flag, and related
- changes. Add trailing `:' command.
- * tests/condman.test: Likewise. Also, do not create useless
- dummy manpages, and use proper m4 quoting in configure.in.
- * tests/condman3.test: New test, similar to condman.test, but
- it also runs ./configure and "make install", and check the
- installed files.
- * tests/Makefile.am (TESTS): Updated.
-
- Modernize, improve and/or extend tests `colon*.test.
- * tests/colon.test: Rely on the `configure.in' stub created by
- `./defs', rather than writing one from scratch. Do not create
- a useless dummy file. Add trailing `:' command.
- * tests/colon4.test: Enable the `errexit' shell flag, and
- related changes. Rely on the `configure.in' stub created by
- `./defs', rather than writing one from scratch.
- * tests/colon7.test: Enable `errexit' shell flag, and related
- changes. Improve the generated `configure.in' file. Add
- trailing `:' command.
- * tests/colon2.test: Likewise. Also, add some new checks.
- * tests/colon5.test: Improve the generated `configure.in' file.
- Add new, much deeper checks. Add trailing `:' command.
- * tests/colon6.test: Likewise.
- * tests/colon3.test: Add trailing `:' command. Remove useless
- comments and echos. Improve the generated `configure.in' file.
- make some grepping tests stricter. Add a "FIXME" comments about
- planned improvements.
-
- Improve and extend tests `asm*.test'.
- * tests/asm.test: Use configure.in stub generated by ./defs,
- and avoid obsoleted autoconf constructs. Make grepping of
- Automake stderr stricter. Do not create useless source file.
- Improve verbose messages. Minor cosmetic changes. Tell to
- keep it in sync with other sister tests asm*.test.
- * tests/asm2.test: Likewise.
- * tests/asm3.test: Likewise.
-
- Modernize, improve and/or extend test scripts `conf*.test'.
- * tests/confh5.test: Cosmetic changes.
- * tests/conff.test: Likewise.
- * tests/confdeps.test: Likewise.
- * tests/conflnk.test: Likewise.
- * tests/conflnk2.test: Likewise.
- * tests/confsub.test: Likewise.
- * tests/confvar.test: Likewise, and make grepping of Makefile.in
- stricter.
- * tests/confvar2.test: Likewise.
- * tests/conflnk3.test: Cosmetic changes. Re-enable a temporarily
- disabled test (which didn't work with autoconf <= 2.59, but now we
- are requiring autoconf 2.62, so...)
- * tests/conflnk4.test: Cosmetic changes, and extend existing tests
- accordingly to "TODO" comments.
- * tests/conff2.test: Make grepping of Automake's stderr stricter.
- Add some comments explaining why we don't use the `configure.in'
- stub preset be ./defs.
- * tests/confh.test: Use the `configure.in' stub created by ./defs,
- rather than writing one from scratch, and do not call AC_OUTPUT.
- Enable `errexit' shell flag, and related changes. Prefer diff over
- cmp to compare text files. Prefer perl over sed to fetch the value
- of $(DIST_COMMON) from Makefile.in. Make grepping of the contents
- of $(DIST_COMMON) stricter.
- * tests/confh4.test: Use the `configure.in' stub created by ./defs,
- rather than writing one from scratch. Make grepping of Makefile.in
- stricter.
- * tests/confh5.test: Make grepping of `config.h' stricter. Add a
- comment.
- * tests/configure.test: Avoid obsolescent constructs in generated
- `configure.ac'. Do not write `configure.in' two times. Escape
- literal dots in grep regular expressions.
- * tests/confincl.test: Enable `errexit' shell flag, and related
- changes. Prefer fgrep over grep. Other cosmetic changes.
- * tests/config.test: Renamed to ...
- * tests/confh6.test: ... this. Fix m4 quoting in `configure.in',
- and make grepping of `config.h' and `config.h.in' stricter.
- * tests/conf2.test: Renamed ...
- * tests/confh7.test: ... to this. Use the `configure.in' stub
- created by ./defs, rather than writing one from scratch. Try to
- run the checks both with and without AC_PROG_CC and AC_OUTPUT in
- `configure.in'.
- * tests/Makefile.am (TESTS): Updated.
-
- Minor improvements and fixes in tests `depcomp*.test'.
- * tests/depcomp.test: Do not create useless dummy source files.
- Add a trailing `:' command.
- * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
- it's not in in the environment, rather than exporting it with an
- empty value. Do not pass CC=gcc to configure, as that's already
- done in ./defs since we have gcc in $required. Ensure verbose
- printing of captured stderr, and normalize its checking. Add a
- trailing `:' command.
- * tests/depcomp3.test: Quote literal dots and dollar characters in
- grep regexps. Always use `: >' rather than `touch' to create empty
- files. Explicitly declare phony targets as such in the created
- Makefile.am. Add a trailing `:' command.
- * tests/depcomp4.test: Quote literal dots and dollar characters in
- grep regexp. Explicitly declare phony targets as such in the
- created Makefile.am. Ensure verbose printing of captured makes'
- stoud/stderr. Add a trailing `:' command.
- * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
- in the script (just after inclusion of ./defs). Quote literal dots
- and dollar characters in grep regexps. Explicitly declare phony
- targets as such in the created Makefile.am. Add a trailing `:'
- command.
- * tests/depcomp6.test: Consistently use m4 quoting in the generated
- configure.in. Cosmetic fixes to spacing. Make the "dummy" `if'
- statement required by OpenBSD's sh `set -e' more robust, and add
- explanatory comments to it.
- * tests/depcomp7.test: Likewise, and add a trailing `:' command.
-
- Separate failing part of test `all.test'.
- * tests/all.test: Keep only (x)failing part of the test. Working
- checks moved out to ...
- * tests/all2.test: ... this new test.
- * tests/Makefile.am (TESTS): Updated.
-
- Modernize, improve and extend tests `subobj*.test'.
- * tests/subobjname.test: Add trailing `:' command.
- * tests/subobj.test: Make grepping of `Makefile.in' stricter.
- Escape literal dots in grep regexps.
- * tests/subobj2.test: Add trailing `:' command. Do not use the
- unportable fgrep option `-e'.
- * tests/subobj3.test: Add trailing `:' command.
- (configure.in): Use proper m4 quoting, and avoid obsolescent
- constructs.
- * tests/subobj8.test: Likewise. Also, enable `errexit' shell
- flag, with related changes
- * tests/subobj4.test: Likewise. Also, make grepping of
- `Makefile.in' stricter.
- * tests/subobj5.test: Add trailing `:' command. Move setting of
- `errexit' shell flag earlier in the script (just after inclusion
- of ./defs).
- (configure.in): Use the stub created by `./defs', rather than
- writing it from scratch, and avoid obsolescent constructs.
- * tests/subobj6.test: Add trailing `:' command. Move setting of
- `errexit' shell flag earlier in the script (just after inclusion
- of ./defs). Do not create useless dummy ac-init file `f'.
- * tests/subobj7.test: Do not create useless dummy ac-init file
- `f'.
- (configure.in): Use the stub created by `./defs', rather than
- writing it from scratch, and avoid obsolescent constructs.
- * tests/subobj9.test: Move setting of `errexit' shell flag earlier
- in the script (just after inclusion of ./defs). Fail the test if
- `make distcheck' fails. Ensure verbose printing of captured make
- stdout. Avoid useless fork by doing simple grep instead of using
- test -n "`COMMAND | grep ...`".
- (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
- (Makefile.am): Explicitly mark target "print" as phony.
- * tests/subobj10.test: Removed duplicated call to `set -e'. Add
- trailing `:' command.
- (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
-
- Remove a couple of obsoleted tests.
- * tests/fpinstall.test: Removed.
- * tests/fpinst2.test: Likewise.
- * tests/Makefile.am (TESTS): Updated.
-
- Bootstrap: updated HACKING entry.
- * HACKING ("Working with git"): Explain how to override the
- autoconf and autom4te programs used by the bootstrap process.
-
- Bootstrap: fixlet.
- * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
- since we don't generate it. Correctly quote arguments of
- `eval' builtin. Fixed a botched error message. Removed an
- extra blank line.
-
- Bootstrap: don't search perl in $PATH.
- * bootstrap: Do not explicitly search perl in $PATH anymore.
- ($PATH_SEPARATOR): Removed, it's no more needed.
-
- Bootstrap: let the user choose which autoconf to use.
- * bootstrap ($AUTOCONF): New variable, from the environment.
- ($AUTOM4TE): Likewise, for clarity.
- Use "$AUTOCONF" instead of calling "autoconf" directly.
-
- Minor improvements to tests ar*.test.
- * tests/ar.test: Add trailing `:' command.
- * tests/ar2.test: Likewise, and make grepping of generated
- Makefile.in stricter.
-
-2010-08-06 Peter Rosin <peda@lysator.liu.se>
-
- Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
- * lib/ar-lib: New auxiliary script.
- * lib/Makefile.am: Add above.
- * tests/ar-lib.test: New test.
- * tests/Makefile.am: Add above.
- * automake.in (@common_files): Distribute the 'ar-lib' script.
- * doc/automake.texi (Auxiliary Programs): Mention the new
- 'ar-lib' script.
- (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
- * NEWS: Update.
-
-2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix shell pattern negation in compile script.
- * lib/compile (func_file_conv): Use `!' not `^' for pattern
- negation.
-
-2010-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix maintainer-check failure.
- * tests/cond5.test: Quote sleep argument, this isn't about
- time stamp differences.
-
- Sync auxiliary files from upstream.
- * lib/config.guess, lib/config.sub, lib/texinfo.tex:
- Sync from upstream.
-
-2010-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Work around a nasty bug (segfault) of Solaris make.
- * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
- from $list, to avoid triggering a nasty bug (potential segfault)
- on Solaris make.
-
-2010-08-06 Peter Rosin <peda@lysator.liu.se>
-
- Make cond5.test more robust on MSYS.
- * tests/cond5.test: Add delay before the first kill attempt to
- cater for problems with MSYS bash.
-
-2010-08-01 Peter Rosin <peda@lysator.liu.se>
-
- Wrap some MSVC options in the compile script.
- * lib/compile: MSVC supports naming the output file, the option
- is just not called -o, so transform -o into the appropriate form
- for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
- -Xlinker and -I) and convert file names to windows form where
- needed for those options to make MSVC more usable in an
- autotooled environment.
- * doc/automake.texi (Auxiliary Programs): Document the above
- extension of the compile script.
- * NEWS: Updated.
- * tests/defs.in: New required entry 'cl'.
- * tests/compile3.test: New test.
- * tests/compile4.test: New test.
- * tests/compile5.test: New test.
- * tests/Makefile.am: Update.
-
-2010-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Add example git work flow; discuss merge --log in HACKING.
- * HACKING: Update.
- Suggestion by Stefano Lattarini.
-
- Add more hints for debugging make rules.
- * doc/automake.texi (Debugging Make Rules): Show command to find
- out expanded values of variables; point to makefile debugger.
- * THANKS: Update.
- Prompted by suggestion from Ludovic Courtès and Andy Wingo.
-
-2010-07-27 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
-
- Fix typo in the manual.
- * doc/automake.texi (Scripts): Fix typo.
-
-2010-07-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Document current policy for development with git.
- * HACKING (Working with git): Overhaul.
- Prompted by suggestion from Stefano Lattarini.
-
- Fix AM_COND_IF for gone-invalid condition shell expression.
- * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
- variable, rather than re-evaluating the shell expression for
- the condition.
- * tests/cond40.test: Extend test.
- * NEWS: Update.
-
- Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
- * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
- to avoid shell syntax error if the m4 expansion is empty.
- * tests/cond40.test: Enhance test.
-
- Coverage: bogus option to AM_INIT_AUTOMAKE.
- * tests/init2.test: New test.
- * tests/Makefile.am: Update.
-
-2010-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Modernize and improve test scripts `subdir*.test'.
- * tests/subdir.test: Enable `errexit' shell flag, and related
- changes. Use the `configure.in' stub created by `./defs',
- rather than writing one from scratch.
- * tests/subdir2.test: Likewise.
- * tests/subdir4.test: Likewise.
- * tests/subdir3.test: Enable `errexit' shell flag, and related
- changes. Do not create useless dummy source files.
- * tests/subdir5.test: Make grepping of Makefile.in (in topdir
- and in subdirs) stricter. Some minor changes to keep it more
- in sync with the related test `subdir8.test'.
- * tests/subdir8.test: Likewise (but with the related test being
- `subdir5.test' here).
- * tests/subdir6.test: Cosmetic change in spacing.
- * tests/subdir9.test: Define and use new variable `$distdir'. Add
- trailing `:' command.
- * tests/subdir10.test: Cosmetic consistency-related change.
- * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
- (configure.in): Use stub created by `./defs', rather than writing
- it from scratch. Do not use obsoleted and/or deprecated forms of
- autoconf/automake macros.
-
- Modernize and improve test scripts `dist*.test'.
- * tests/distcleancheck.test: Do not add useless `-e' option to
- a $MAKE call. Extend test by grepping stderr of make.
- * tests/distcom2.test: Do not run the same test script on the
- Makefile.in twice, but save its output in an intermediate file
- instead. Make grepping of DIST_COMMON definition stricter.
- Display the content of more files, to ease debugging. Add a
- trailing `:' command. Improved heading comments w.r.t. sister
- test(s).
- * tests/distcom6.test: Likewise, and avoid to uselessly run
- autoconf.
- * tests/distcom3.test: Ensure verbose printing of captured stdout
- and stderr. Make grepping of captured stderr stricter. Also,
- add trailing `:' command.
- * tests/distcom4.test: Declare the target `test' in the generated
- Makefile.am as `.PHONY'. Display content of more files, to ease
- debugging. Add trailing `:' command.
- * tests/distcom5.test: Likewise. Also, factor out common sed
- script in subroutine `extract_distcommon'.
- * tests/distcom7.test: Prefer cat + here-doc over echo to write
- test Makefile.am files. Add a trailing `:' command.
- * tests/distname.test: Prefer `gzip -d' over `gunzip'. Move the
- call to `set -e' earlier. Be stricter and more verbose in the
- checking of the generated tarball.
- (configure.in): Use the stub provided by ./defs, instead of
- writing it from scratch. Avoid obsoleted constructs. Remove
- useless call to `AM_PROG_CC_C_O'.
- * tests/distdir.test: Various minor improvements/normalizations.
- * tests/distlinks.test: Likewise.
-
-2010-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve and extend test cond5.test.
- * tests/cond5.test: Do not blindly sleep 60 seconds before polling
- the background automake process, but poll it every 10 seconds for
- at most 30 times (this makes the test both faster on good machines,
- and more resilient to spurious timeout-due failures when in low
- priority or on heavily-loaded systems).
- Check also that automake writes the expected error messages on the
- standard error.
- Enable `errexit' flag, and related changes.
- Rely on the `configure.in' stub created by `./defs', rather than
- writing one from scratch.
-
-2010-06-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Update program --help output to match current GCS.
- * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
- is not defined, for compatibility to Autoconf < 2.64.
- * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
- PACKAGE_URL.
- (sc_diff_automake_in_automake): Update number of diff lines for
- additional substitutions.
- * aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake
- home page and GNU general help page.
- * automake.in (usage): Likewise.
- * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
- address.
- (Introduction, Creating amhello, amhello Explained, Options):
- Use it throughout.
- * lib/Automake/Makefile.am (do_subst): Substitute
- PACKAGE_BUGREPORT.
- * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
- * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
- messages.
-
- Clean up @var handling in the manual.
- * doc/automake.texi: Throughout the manual, lower-case @var
- names, replace a few one-character names.
-
-2010-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix typo-related bug in test script silent5.test.
- * tests/silent5.test: Use $EGREP, not $GREP (which is not even
- defined).
-
- Tests: remove useless repetitions of `foreign' automake option.
- * tests/multlib.test (configure.in): Remove useless use of
- `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
- already in $AUTOMAKE by default, so no point in repeating it).
- * tests/subobj10.test: Likewise.
- * tests/subobj9.test: Likewise.
- * tests/lex3.test (Makefile.am): Similarly, remove useless use
- of `foreign' option in AUTOMAKE_OPTIONS.
- * tests/lex5.test: Likewise.
- * tests/pr279.test: Likewise.
- * tests/pr279-2.test: Likewise.
- * tests/specflg3.test: Likewise.
- * tests/target-cflags.test: Likewise.
-
- Drop useless requirement "gzip" in lex5.test.
- * tests/lex5.test ($required): Do not list "gzip", as it's
- never used.
-
-2010-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix bugs in test script silent5.test.
- * tests/silent5.test: Fixed a nasty bug (due to the use of grep
- instead of egrep) that could have led to false negatives.
-
-2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add a test checking that distributed broken symlinks cause
- `make dist' to fail.
- * tests/distlinksbrk.test: New test.
- * tests/Makefile.am (TESTS): Updated.
-
-2010-06-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix minor testsuite issues, update docs, for Yacc/Lex changes.
- * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
- and AM_LFLAGS, LFLAGS in the order in which they now appear in
- the rules.
- * NEWS: Update.
- * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
- tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
- please maintainer-check. Ensure generated C files contain a
- declaration, to please compilers.
-
-2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
- $(FLAGS) precedence.
- * automake.in: Fix registration of languages "Lex", "Lex (C++)",
- "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
- $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
- * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
- * NEWS: Updated.
-
- New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
- $(AM_FLAGS) and $(FLAGS) precedence.
- * tests/lflags.test: New test, check that user $(LFLAGS) takes
- precedence over automake (AM_LFLAGS) and (foo_LFLAGS). Still
- xfailing.
- * tests/lflags2.test: Likewise.
- * tests/yflags.test: New test, check that user $(YFLAGS) takes
- precedence over automake (AM_YFLAGS) and (foo_YFLAGS). Still
- xfailing.
- * tests/yflags2.test: Likewise.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
-
-2010-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Modernize, improve and extend tests `suffix*.test'.
- * tests/suffix3.test: Enable `errexit' shell flag, and related
- changes.
- * tests/suffix4.test: Likewise.
- * tests/suffix6.test: Likewise, and do not create a useless dummy
- source file.
- * tests/suffix7.test: Likewise.
- * tests/suffix5.test: Enable `errexit' shell flag, and related
- changes. Make grepping of Makefile.in slightly stricter.
- * tests/suffix.test: Enable `errexit' shell flag, and related
- changes. Also, do not redirect grep output to /dev/null, as this
- might unmotivatedly hide useful information.
- * tests/suffix2.test: Move setting of `errexit' shell flag earlier
- in the script (just after inclusion of ./defs). Use a more
- idiomatic way to count text occurrences in Makefile.in with
- grep. Do not create useless dummy source files.
- * tests/suffix10.test: Ensure verbose printing of captured make
- stdout. Minor cosmetic changes.
- * tests/suffix8.test: Likewise. Also, drop useless call to the
- env(1) utility, and make grepping of make output stricter by using
- $FGREP rather than plain grep.
- * tests/suffix11.test: Likewise.
- * tests/suffix12.test: Likewise.
- * tests/suffix9.test: Prefer cat + here-doc over echo to append to
- the `configure.in' stub. Cosmetic changes.
- * tests/suffix13.test: Cosmetic spacing change.
-
-2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add useful comment in test script ext.test.
- * tests/ext.test: Add a comment explaining why an apparently
- useless `if' statement is indeed required.
-
-2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add useful comment in test script obsolete.test.
- * tests/obsolete.test: Add a comment explaining why we need
- an indirection in adding $AUTOUPDATE to $required.
-
- Normalize whitespaces in 'tests/Makefile.am'.
- * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
- definition of this variable.
-
- Parallel tests generation: improve comments (tiny change).
- * tests/Makefile.am ($(parallel_tests)): Added useful comment to
- generated tests.
-
- Tests defs: truly get rid of `$am_defs_included' (unused variable)
- * tests/defs.in ($am_defs_included): Remove, its now unused. It
- should have been removed in a previous changeset, but the removal
- was done only partially (oversight).
-
-2010-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Remove a couple of unneeded conditionals from tests.
- * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
- for the FOOTEST conditional.
-
-2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Modernize, improve and/or fix various test scripts.
- * tests/symlink3.test: Deleted, separated into two new, more
- complete tests ...
- * tests/forcemiss.test: ... this one ...
- * tests/forcemiss2.test: ... and this one.
- * tests/symlink2.test: Enable `errexit' shell flag, make test
- stricter, and skip it if symlink creation is not supported.
- * tests/postproc.test: Enable `errexit' shell flag, related
- changes, and a couple of unrelated cosmetic changes.
- * tests/recurs.test: Use the `configure.in' stub created by
- `./defs', rather than writing one from scratch. Make grepping
- of Automake stderr slightly stricter.
- * tests/substtarg.test: Likewise.
- * tests/strip.test: Likewise, and move the call to `set -e'
- earlier (just after the inclusion of `./defs'). Also, make sure
- that the script installed by `make install-script' is equal to
- the original one.
- * tests/substref.test: Use the `configure.in' stub created by
- `./defs', rather than writing one from scratch. Move the call
- to `set -e' earlier (just after the inclusion of `./defs').
- Avoid to explicitly export CC for configure (that's already done
- in ./defs). Avoid potential problems with unpredictable make
- output. Finally, make grepping of Makefile.in stricter.
- * tests/substre2.test: Ensure verbose printing of the captured
- make's output, and make its grepping slightly stricter.
- * tests/cygwin32.test: Enable `errexit' shell flag, and related
- changes. Also, do not create useless dummy source/data files.
- * tests/scripts.test: Likewise.
- * tests/recurs2.test: Likewise. Also, use the `configure.in'
- stub created by `./defs'.
- * tests/Makefile.am (TESTS): Updated.
-
- Modernize, improve and/or fix tests `pluseq*.test.
- * tests/pluseq5.test: Append to configure.in using cat with an
- here-doc, not using echo.
- * tests/pluseq10.test: Make sure that the captured output of
- `make' command is always displayed. Where possible, use $FGREP
- instead of grep (this change makes some checks slightly stricter).
- * tests/pluseq8.test: Enable `errexit' shell flag, with related
- changes.
- * tests/pluseq.test: Likewise. Also, do not create useless dummy
- data files, and use better m4 quoting in generated configure.in.
- * tests/pluseq2.test: Likewise. Also, append to configure.in
- using cat with an here-doc, not using echo.
- * tests/pluseq3.test: Likewise.
- * tests/pluseq4.test: Likewise.
- * tests/pluseq6.test: Likewise.
- * tests/pluseq7.test: Do not create useless dummy source file.
- * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
- Automake stderr. Some unrelated cosmetic changes.
-
-2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- cscope.test: ensure verbose printing of captured stderr.
- * tests/cscope.test: Print captured stderr before failing.
-
-2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Testsuite: ensure verbose printing of captured stderr.
- * tests/acloca18.test: Print captured stderr before either failing
- or grepping it. Be sure to send captured stderr to stderr, not to
- stdout.
- * tests/ansi3b.test: Likewise.
- * tests/cond39.test: Likewise.
- * tests/configure.test: Likewise.
- * tests/missing3.test: Likewise.
- * tests/missing6.test: Likewise.
- * tests/output-order.test: Likewise.
- * tests/pr300-ltlib.test: Likewise.
- * tests/python6.test: Likewise.
- * tests/python7.test: Likewise.
- * tests/python8.test: Likewise.
- * tests/python9.test: Likewise.
- * tests/subobj.test: Likewise.
- * tests/vars3.test: Likewise.
- * tests/missing4.test: Likewise, and fix a call to grep not to use
- the `-c' flag.
- * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
- created by `./defs', rather than writing one from scratch.
-
- Enable `errexit' shell flag in various tests.
- * tests/backsl.test: Enable the `errexit' shell flag, and
- related changes.
- * tests/backsl2.test: Likewise.
- * tests/block.test: Likewise.
- * tests/canon2.test: Likewise.
- * tests/canon4.test: Likewise.
- * tests/comment2.test: Likewise.
- * tests/condlib.test: Likewise.
- * tests/cond15.test: Likewise, and prefer $FGREP over grep.
- * tests/canon3.test: Likewise. Also, avoid to create an useless
- dummy source file.
- * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
- related changes. Do some cosmetic improvements in the generated
- `configure.in' file.
- * tests/cond4.test: Likewise.
- * tests/cond14.test: Likewise.
- * tests/condinc.test: Likewise.
- * tests/cond7.test: Likewise. Also, remove useless setting of
- AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
- * tests/ansi.test: Enable the `errexit' shell flag, and related
- changes. Extended, esp. by running autoconf, ./configure and
- make, and by looking into the distdir.
-
-2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Extend tests/README w.r.t. trailing `:' in test scripts.
- * tests/README (section "Writing test cases" subsection "Do"):
- Explain why apparently redundant trailing `:' and `Exit 0' in
- test scripts can indeed be useful.
-
-2010-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve determination of PATH separator in bootstrap script.
- * bootstrap: Determine what the PATH separator is the same way
- autoconf does.
-
- Minor improvements in bootstrap script.
- * bootstrap: Consistently use two-spaces indentation. Cosmetic
- improvement to comments.
- ($me): New variable, containing program basename.
- Prepend it to all error messages.
-
- Testsuite now works with BSD make in parallel mode.
- * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
- which are exported by BSD make when run in parallel mode, and
- which can confuse make processes spawned by our testsuite.
- This change fixes a lot of spurious failure when the testsuite
- is run with BSD make in parallel mode.
-
-2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Modernize, improve and/or fix various test scripts.
- * tests/sanity.test: Rely on the `configure.in' stub created by
- `./defs', rather than writing one from scratch.
- * tests/depend2.test: Likewise. Also, call `set -e' just after
- the inclusion of `./defs', instead that later in the script.
- * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
- $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
- * tests/exeext4.test: Use $FGREP instead of grep, where possible.
- Make auxiliary rules in the generated Makefile more silent.
- These changes make some checks slightly stricter.
- * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
- * tests/gettext2.test: Place final `:' at the end of the script,
- rather than in the middle.
- * tests/exeext.test: Call `set -e' just after the inclusion of
- `./defs', instead that later in the script.
- * tests/extra5.test: Likewise.
- * tests/confdeps.test: Likewise. Also, prefer `mv -f' over
- plain `mv', just to be sure.
- * tests/depcomp.test: Enable `errexit' shell flag, with related
- changes. Also, modernize the generated configure.in.
- * tests/cond9.test: Likewise. Also, rely on the `configure.in'
- stub created by `./defs', rather than writing one from scratch.
- * tests/cond10.test: Likewise.
- * tests/depcomp2.test: Likewise.
- * tests/depend3.test: Likewise.
- * tests/distcom7.test: Likewise.
- * tests/fortdep.test: Likewise. Also, remove definition of
- AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
- since that flag is already provided by $AUTOMAKE.
- * tests/mdate.test: Made stricter, by checking that Automake
- actually failed, and by making a stricter grep on the error
- message. Also, set shell `errexit flag'.
- * tests/python2.test: Improved verbose messages.
-
- Make test `ammissing.test' stricter.
- * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
- Enable `errexit' shell flag.
-
-2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix error in generation of parallel tests.
- * tests/defs.in ($am_skip_defs): New variable, to be used when
- ./defs must be sourced multiple times. If set, unset it and
- only define $srcdir; otherwise, also go through the rest of
- the script.
- ($am_defs_included): Remove, no more needed.
- * tests/Makefile.am ($(parallel_tests)): Update accordingly,
- using only $srcdir from defs.
- Fixes potential test failures of tests that use $required.
-
-2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Enable `errexit' shell flag in some test scripts.
- * tests/subcond.test: Enabled `errexit' shell flag, and related
- minor changes.
- * tests/subst.test: Likewise.
- * tests/vars.test: Likewise.
- * tests/version4.test: Likewise.
- * tests/vpath.test: Likewise.
- * tests/vtexi2.test: Likewise.
- * tests/werror.test: Likewise.
- * tests/whoami.test: Likewise.
- * tests/tags.test: Likewise, and avoid to crate an useless dummy
- header file.
- * tests/acsilent.test: Likewise, and don't use an easily-avoided
- command substitution.
- * tests/unused.test: Likewise, and don't use an easily-avoided
- command substitution.
- * tests/version.test: Likewise, and avoid deprecated constructs
- in the generated `configure.in'.
- * tests/version2.test: Likewise, and avoid deprecated constructs
- in the generated `configure.in'.
-
-2010-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Improve declaration of dependencies in the testsuite.
- * tests/Makefile.am (check_SCRIPTS): Remove. Instead, let ...
- ($(TEST_LOGS)): ... all test logs depend on the scripts.
- * test/gen-parallel-tests: For each parallel test foo-p.test,
- let `foo-p.log' also depend on `foo.test', since it is sourced.
-
-2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Coverage for TAGS_DEPENDENCIES warning.
- * tests/tags2.test: New test.
- * tests/Makefile.am: Update.
-
- Coverage for use of anachronistic variables.
- * tests/oldvars.test: New test.
- * tests/Makefile.am: Update.
-
- Testsuite coverage for bogus macro file serial numbers.
- * tests/acloca18.test: Also test ill-formed serial numbers
- and serial numbers after macro definitions.
-
- Coverage for aclocal diagnosing underquoted macros.
- * tests/acloca23.test: New test.
- * tests/Makefile.am: Update.
-
-2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
- * tests/ldadd.test: Enable errexit. Use AUTOMAKE_fails so
- the verbose log contains all output.
- * tests/mdate.test: Likewise.
- Prompted by Stefano Lattarini's change to discover.test.
-
-2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- More minor message fixes.
- * aclocal.in (scan_file): Fix recommended info command line.
- * automake.in (handle_lib_objects): No need to prepend function
- name to prog_error message.
- (handle_tags): Add missing word and missing space in error
- message.
- (handle_dist): Add missing closing single quote in message.
- Line-wrap one long message for readability.
-
-2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix distcheck failure with distributed generated parallel tests.
- * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
- being different from the value at developer `make dist' time.
- * tests/defs.in: Protect against multiple inclusion, by using ...
- ($am_defs_included): ... this new variable.
- ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
- as substituted by configure.
- Report, suggestions and first fix by Ralf Wildenhues, final
- patch by Stefano Lattarini.
-
-2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Improve tests link*.test (enable `errexit' shell flag).
- * tests/link_c_cxx.test: Enable `errexit shell flag, and related
- changes. Also, do not create useless source files.
- * tests/link_dist.test: Likewise.
- * tests/link_f90_only.test: Likewise.
- * tests/link_f_only.test: Likewise.
- * tests/link_fc.test: Likewise.
- * tests/link_fccxx.test: Likewise.
- * tests/link_fcxx.test: Likewise.
-
-2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Improve ext.test semantics, avoid OpenBSD sh errexit issue.
- * tests/ext.test: Inside shell compound command, use
- `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
- fix failure with OpenBSD sh introduced with last patch.
- Actually ensure that a rule for .EXT.o is created for each
- known extension EXT.
-
-2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Enable `errexit' shell flag in some test scripts.
- * tests/dash.test: Enable `errexit' shell flag, and related
- changes.
- * tests/defun.test: Likewise.
- * tests/defun2.test: Likewise.
- * tests/dejagnu.test: Likewise.
- * tests/double.test: Likewise.
- * tests/distcom2.test: Likewise.
- * tests/empty2.test: Likewise.
- * tests/empty3.test: Likewise.
- * tests/empty4.test: Likewise.
- * tests/exdir.test: Likewise.
- * tests/ext.test: Likewise.
- * tests/extra.test: Likewise.
- * tests/extra2.test: Likewise.
- * tests/extra3.test: Likewise.
- * tests/extra4.test: Likewise.
- * tests/flibs.test: Likewise.
- * tests/fnoc.test: Likewise.
- * tests/fo.test: Likewise.
- * tests/instexec.test: Likewise.
- * tests/ltdeps.test: Likewise.
- * tests/nodep.test: Likewise.
- * tests/nodepcomp.test: Likewise.
- * tests/f90only.test: Likewise, and remove botched/obsoleted
- comments and unnecessary commands.
- * tests/fonly.test: Likewise, and remove botched/obsoleted
- comments and unnecessary commands.
- * tests/discover.test: Likewise, and made stricter.
-
- Enable `errexit' shell flag in all tests cxx*.test.
- * tests/cxx.test: Enabled `errexit' shell flag, and related
- minor changes.
- * tests/cxxansi.test: Likewise.
- * tests/cxxcpp.test: Likewise.
- * tests/cxxlibobj.test: Likewise.
- * tests/cxxlink.test: Likewise.
- * tests/cxxo.test: Likewise.
-
- Enable `errexit' shell flag in various tests.
- * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
- minor changes.
- * tests/acoutpt.test: Likewise.
- * tests/acoutqnl.test: Likewise.
- * tests/amassign.test: Likewise.
- * tests/ansi2.test: Likewise.
- * tests/ansi4.test: Likewise.
- * tests/badprog.test: Likewise.
- * tests/checkall.test: Likewise.
- * tests/clean.test: Likewise.
- * tests/colneq2.test: Likewise.
- * tests/colon.test: Likewise.
- * tests/colon5.test: Likewise.
- * tests/colon6.test: Likewise.
- * tests/comment.test: Likewise.
- * tests/compile_f90_c_cxx.test: Likewise.
- * tests/compile_f_c_cxx.test: Likewise.
- * tests/cond3.test: Likewise.
- * tests/cond6.test: Likewise.
- * tests/cond13.test: Likewise.
- * tests/conf2.test: Likewise.
- * tests/confvar.test: Likewise.
- * tests/confvar2.test: Likewise.
- * tests/cond8.test: Likewise, plus a cosmetic change.
- * tests/confh4.test: Likewise. Also, add in the heading comments
- an excerpt from the original bug report which motivated the
- creation of this test, to make its purpose clearer.
-
-2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Rewrite manual to be gender-neutral.
- * doc/automake.texi (GNU Build System)
- (Standard Directory Variables, General Operation, CVS)
- (Hard-Coded Install Paths, Dependencies As Side Effects):
- Rewrite text to not contain gender-specific pronouns when
- speaking about developers or users, either by avoiding pronouns
- or by addressing them as `you' instead.
- * THANKS: Update.
- Report by Christina Gratorp.
-
- * AUTHORS: Update.
-
-2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Tiny fix in silent8.test (display output of `make' command).
- * tests/silent8.test: Make sure that the captured output of `make'
- command is always displayed.
-
- Make tests on user extensibility of silent-rules mode stricter.
- * tests/silent6.test: Made stricter w.r.t. the grepping of the
- output produced by `make'.
- * tests/silent7.test: Likewise.
-
- Tests on silent-mode for C/Libtool made stricter.
- * tests/silent.test: Made stricter w.r.t. the grepping of the
- output produced by `make'.
- * tests/silent2.test: Likewise.
- * tests/silent4.test: Likewise.
- * tests/silent9.test: Likewise.
- * tests/silent3.test: Likewise, and add a final `make distclean'
- command to keep it better in sync with tests/silent{4,9}.test.
-
- Improved test silent5.test.
- * tests/silent5.test: Remove by hand all generated C files after
- non-verbose builds, to ensure the following builds are clean.
- Try to clean and rebuild with the same verbosity and without
- removing generated sources in between, to check that this does
- not trigger a different set of rules. Make grepping of make's
- output stricter. Improved/added some comments.
-
- New tests for Automake silent-mode with Fortran.
- * tests/silentf77.test: New test.
- * tests/silentf90.test: Likewise.
- * tests/Makefile.am (TESTS): Updated accordingly.
-
- New test `silentcxx.test' (Automake silent-mode with C++).
- * tests/silentcxx.test: New test.
- * tests/Makefile.am (TESTS): Updated accordingly.
-
- New test `silentyacc.test' (Automake silent-mode with Yacc).
- * tests/silentyacc.test: New test.
- * tests/Makefile.am (TESTS): Updated accordingly.
-
- New test `silentlex.test' (Automake silent-mode with Lex).
- * tests/silentlex.test: New test.
- * tests/Makefile.am (TESTS): Updated accordingly.
-
- Relax tests on silent-rules to cater to overly verbose makes.
- * tests/silent.test: When testing silent builds, don't fail if
- make's output simply contains the `mv' substring, but only if
- it contains the `mv ' substring (note the trailing space).
- * tests/silent2.test: Likewise.
- * tests/silent3.test: Likewise.
- * tests/silent4.test: Likewise.
- * tests/silent5.test: Likewise.
- * tests/silent9.test: Likewise.
-
-2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Extend test on `nostdinc' automake option.
- * tests/nostdinc.test: Enable `errexit' shell flag. Related and
- unrelated minor changes. Make the grepping of the generated
- Makefile.in slightly stricter. Generate and run configure, so that
- the generated Makefile can be grepped too.
-
-2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Make gnupload portable to EBCDIC hosts.
- * lib/gnupload: Use literal newline as argument for 'tr' rather
- than \015, for EBCDIC hosts. Also, avoid unportable nested
- double-quotes and backquotes.
- * THANKS: Update.
- Report from Eric Blake and Steve Goetze via gnulib.
-
-2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix Autoconf version required by Automake's configure.
- Automake configure script used to tell that automake required
- autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
- and if that was not found, it gave an error saying that Automake
- required configure 2.61a-341 or later. This change should
- eliminate such inconsistencies.
- * configure.ac ($required_autoconf_version): New variable.
- Use it throughout.
-
-2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix truncated comment in Makefile.am.
- * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
- sentence in comment.
- Report by Stefano Lattarini.
-
- Relax silent8.test for NetBSD make.
- * tests/silent8.test: Accept ./foo.info in output as well.
-
- Fix unportable sed script in maintainer-check test.
- * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
- not contain semicolon after 'b' or brace commands, for NetBSD.
-
- Wildcards are not portable to NetBSD make.
- * doc/automake.texi (Wildcards): Document portability issue.
- * tests/extra10.test, tests/extra11.test, tests/extra12.test:
- Require GNU make.
-
-2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Make test for configure.in vs. configure.ac stricter.
- * tests/configure.test: Use a configure.in file that provokes
- an automake error, to ensure configure.ac is preferred.
-
- Avoid possible false negatives in dejagnu7.test.
- * tests/dejagnu7.test: Enable shell `errexit' flag. Also, avoid
- unportable use of fgrep option `-e'.
-
- Fix conflnk3.test to work with Solaris/Heirloom Sh.
- * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
- instead of respectively `test -e FILE' and `test ! -e FILE',
- since Solaris Sh doesn't grok the latter. Do not SKIP the test
- if the shell doesn't support `test -e'.
-
-2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Warning and error message formatting cleanups.
- * aclocal.in (parse_arguments, main): Remove trailing period or
- newline in error or warning messages, avoid capitalization of
- the first word of a message.
- * automake.in (check_user_variables, handle_languages)
- (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
- (scan_autoconf_files, cond_stack_if, require_file_internal)
- (usage, generate_makefile, parse_arguments): Likewise.
- * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
- * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
- * lib/Automake/Options.pm (set_strictness): Likewise.
- * lib/Automake/Rule.pm (define): Likewise.
- * lib/Automake/Variable.pm (define, variables_dump): Likewise.
- * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
- error message.
- * lib/Automake/Channels.pm (setup_channel): Reword error message
- to be the same as in msg.
-
- Fix placing of ellipses in English text and synopses.
- * Makefile.am: Be sure to add a space before `...' in natural
- language text.
- * automake.in (scan_autoconf_traces): Likewise.
- * lib/Automake/Rule.pm (define): Likewise.
- * lib/Automake/Variable.pm (define): Likewise.
- * lib/am/dejagnu.am: Likewise.
- * lib/am/progs.am: Likewise.
- * lib/gnupload (dprint, upload): Likewise.
- * tests/confdeps.test: Likewise.
- * tests/location.test: Adjust expected output.
- * automake.in (usage): In synopsis, use singular for OPTION,
- * remove space before ellipsis.
- * aclocal.in (usage): Likewise. Also, fix indentation.
-
- Fix more duplicate message prefixes.
- * lib/Automake/XFile.pm (seek): Do not prepend $me.
- ($me): Remove now-unused package-global.
- * aclocal.in (check_acinclude): Remove duplicate 'warning: '
- prefix.
-
- Fix typo in manual.
- * doc/automake.texi (Simple Tests using parallel-tests): Add
- missing closing parenthesis.
-
- Fix leftover call to removed function macros_dump.
- * automake.in (read_main_am_file): Call variables_dump, not
- macros_dump. Print actual error before list of variables.
-
-2010-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Minor improvements in comments of test `silent3.test'.
- * tests/silent3.test: Tell to keep it in sync with `silent9.test'
- too.
-
-2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- testsuite: ensure verbose printing of captured output.
- * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
- tests/fort2.test, tests/help.test, tests/missing3.test,
- tests/missing6.test: Print captured stdout or stderr before
- grepping it.
-
-2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Make test badopt.test stricter (by enabling `set -e').
- * tests/badopt.test: Add call to `set -e'. Due to this change,
- an unexpected failure in the call to `$ACLOCAL' (whose outcome
- was previously unchecked) would cause the whole test to fail.
- Also, bumped the copyright years.
-
- Make test for configure.in vs. configure.ac stricter.
- * tests/configure.test: Use a configure.in file that provokes
- an automake error, to ensure configure.ac is preferred.
-
- Use `set -e' in confsub.test (avoids possible false negatives).
- * tests/confsub.test: Enable shell `errexit' flag, and related
- changes (this helps avoiding some possible minor false negatives).
- Also, bumped copyright years.
-
-2010-04-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix -Werror handling for presence of configure.in and configure.ac.
- * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
- $configure_ac at the global level, before command-line arguments
- have been parsed.
- (require_variables): Initialize it here.
- * tests/configure.test: New test.
- * tests/Makefile.am: Update.
- Report by Stefano Lattarini.
-
-2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Avoid possible false negatives in confh5.test.
- * tests/confh5.test: Enable shell `errexit' flag, and bumped
- copyright years. Due to this change, any unexpected failure
- in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
- a failure in grepping expected text in output files should now
- cause the whole test to fail.
-
-2010-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fixed typo in POD documentation of Automake::Channels.
- * lib/Automake/Channels.pm: Fixed typo in POD documentation:
- @<...> was used instead of C<...>.
-
-2010-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Refactor tests on Automake TESTS color output.
- * tests/color.test: Tests using the expect program moved out to...
- * tests/color2.test: ... this new file.
- * tests/Makefile.am (TESTS): Extended accordingly.
-
-2010-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Fix typos in comments in test confh5.test
- * tests/confh5.test: Fix a couple of typos in comments.
-
- Avoid possible false negatives in canon-name.test.
- * tests/canon-name.test: Enable shell `errexit' flag. Improve
- test description.
-
-2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Print 'warnings are treated as errors' note if needed.
- * lib/Automake/Channels.pm: Fix typo in comment.
- (_print_message): If -Werror is enabled, print a 'warnings are
- treated as errors' note before the first such warning.
- * tests/warnopts.test: Adjust comment to mention expected warning.
- Adjust code to ignore 'warnings are treated as errors' note.
- * tests/location.test: Adjust expected output with -Werror.
- * tests/werror4.test: New test.
- * tests/Makefile.am: Update.
- * NEWS: Update.
-
- Ensure we don't print 'warning:' or 'error:' twice.
- * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
- (sc_tests_logs_duplicate_prefixes): New rule, to check for
- wrong-looking warning and error messages in the test suite logs.
- * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
- `warning: ' prefix.
- * tests/vars3.test: Rename variable to avoid false positive.
-
- Prepend type to warning, error, and fatal messages.
- For the first part of messages of types `error' or `fatal',
- prepend `error: ' to the message. Prepend `warning: ' to
- warning messages, whatever the setting of -Werror.
- * lib/Automake/Channels.pm (partial): Move up definition.
- (_format_message): Emit `header' and `footer' strings only with
- the first resp. last part of a set of partial messages.
- * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
- end of the module.
- (Automake::ChannelDefs): Setup warning channels with header
- `warning: ', error and fatal messages with header `error: '.
- * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
- error messages.
- * tests/comment5.test: Likewise. Also, include stack notes
- should not start with `error:'.
- * tests/location.test: Likewise. Also, try both -Werror and
- -Wno-error.
- * NEWS: Update.
- Report by Bruno Haible.
-
- Fix capitalization of error messages, reword one message.
- * lib/Automake/Variable.pm (define): Do not capitalize the first
- word in the error message.
- * automake.in (require_file_internal): Likewise. Also, reword
- and line-wrap for better readability.
- * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
- Adjust tests.
-
- Fix connected warnings about obsolete exeext override.
- * lib/Automake/Rule.pm (define): Merge two warnings that belong
- together, by setting the 'partial' flag for the first one.
-
- Fix per-Makefile.am setting of -Werror.
- Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
- Makefile.am would carry over to other Makefile.am files
- treated afterwards by the same thread, causing inconsistent
- and unstable exit status values.
- * lib/Automake/Channels.pm (dup_channel_setup)
- (drop_channel_setup): Save and restore the setting of
- $warnings_are_errors.
- * tests/werror3.test: New test.
- * tests/Makefile.am: Adjust.
- * NEWS: Update.
-
-2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
- * tests/confh5.test: In the generated Makefile.am: do not use
- `test ! -e FILE' to check for the non-existence of a file, since
- that is not supported by Solaris/Heirloom Sh.
-
- Make test `aclocal3.test' stricter.
- * tests/aclocal3.test: Add call to `set -e'. Fail if $ACLOCAL
- succeeds unexpectedly.
-
- Add tests checking that symlinks are resolved by `make dist'.
- * tests/distlinks.test: New test.
- * tests/Makefile.am (TESTS): Updated accordingly.
- Suggested by observations from Ralf Wildenhues.
-
-2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Use -9 for maximum xz compression with dist-xz.
- * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
- * NEWS, THANKS: Update.
- Report by Pavel Sanda.
-
-2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Avoid possible false negatives in cond46.test.
- * tests/cond46.test: Enable shell `errexit' flag (and bumped
- copyright years). Due to this change, the testcase should now
- fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
- outcomes were previously unchecked), and on failures in grepping
- the expected diagnostic in Automake stderr.
-
-2010-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Generated tests are now just a thin layer around other tests.
- * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
- test scripts so that any of them simply includes the corresponding
- `*.test' script (after setting `$parallel_tests' to `yes').
- * tests/.gitignore: Add wildcard for temporary files used in the
- generation of `*-p.test' tests.
-
-2010-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Avoid an unportable use of `$status' shell variable.
- * Makefile.am (path-check): Don't use the `$status' shell variable
- in the target's rules, as it's special in Zsh (equivalent to `$?',
- and readonly).
-
- Avoid another use of `chmod -R'.
- * Makefile.am (path-check): To be safe, do not use `chmod -R' on
- $(distdir) before removing it (as Solaris `chmod -R' touches
- symlink targets). Instead, use the cleanup strategy used in
- distdir.am.
-
-2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Remove uses of @acronym and @sc.
- * doc/automake.texi (Public Macros, Limitations on File Names):
- Remove all usage of @acronym and @sc in the manual.
- Suggested by Karl Berry.
-
-2010-03-13 Karl Berry <karl@freefriends.org>
-
- GNU hello uses fdl.texi, not gpl.texi.
- * doc/automake.texi (Texinfo): Adjust example to upstream
- change.
-
-2010-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Formatting cleanups in macro comments.
- * automake.in, lib/Automake/Channels.pm,
- lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
- lib/Automake/Variable.pm, lib/Automake/XFile.pm,
- m4/options.m4, m4/substnot.m4: Fix macro comment format.
-
-2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Avoid generation of `tests/defs-p' file.
- * tests/defs.in: In the generated `configure.in' snippet: call
- `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
- variable `parallel_tests' is set to `yes'.
- * tests/Makefile.am (defs-p): Target removed.
- (check_SCRIPTS): Removed `defs-p'.
- (clean-local-check): Do not unlink `defs-p' anymore.
- ($(parallel_tests)): Transformation rules for the test scripts
- adjusted.
- * tests/gen-parallel-tests: Selection rules for the test
- scripts adjusted.
- * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
- then include `./defs' (rather than simply including `./defs-p').
- * tests/parallel-tests2.test: Likewise.
- * tests/parallel-tests3.test: Likewise.
- * tests/parallel-tests4.test: Likewise.
- * tests/parallel-tests5.test: Likewise.
- * tests/parallel-tests6.test: Likewise.
- * tests/parallel-tests7.test: Likewise.
- * tests/parallel-tests8.test: Likewise.
- * tests/parallel-tests9.test: Likewise.
- * tests/parallel-tests10.test: Likewise.
- * tests/README (Section "Writing Test Cases" subsection "Do"):
- Adjusted the parts referring to tests checking `parallel-tests'
- behaviour. Some other minor related improvements.
- * tests/.gitignore (defs-p): Removed.
-
-2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Remove redundant unset of variable TESTS from some test scripts.
- * tests/color.test: Do not unset the `TESTS' variable, as it's
- already unset in the `defs' file.
- * tests/check5.test: Likewise.
- * tests/check8.test: Likewise.
- * tests/check9.test: Likewise.
- * tests/check10.test: Likewise.
- * tests/check11.test: Likewise.
- * tests/parallel-tests.test: Likewise.
- * tests/parallel-tests3.test: Likewise.
- * tests/parallel-tests4.test: Likewise.
- * tests/parallel-tests5.test: Likewise.
- * tests/parallel-tests6.test: Likewise.
- * tests/parallel-tests7.test: Likewise.
-
-2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix cscope test on systems without working Fortran compiler.
- * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
- * THANKS: Update.
- Report by Peter Johansson.
-
-2010-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> (tiny change)
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Add lzip compression support.
- * automake.in (handle_dist): Recognize dist-lzip.
- (make_paragraphs): Map LZIP to dist-lzip.
- * doc/automake.texi (Dist): Add dist-lzip.
- (Options): Likewise.
- * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
- * lib/am/distdir.am
- (dist dist-all): Add command to create an lzip-compressed tarball.
- (distcheck): Handle lzip-compressed tarballs just like the others.
- * tests/defs.in: Test for lzip, too.
- * tests/lzip.test: New file, based on nogzip.test.
- * tests/Makefile.am (TESTS): Add lzip.test.
- * NEWS: Update.
-
-2010-02-22 Karl Berry <karl@gnu.org>
-
- Improve help message of mdate-sh.
- * mdate-sh: mention actual output format in help message.
-
-2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Deprecate dist-lzma in favor of dist-xz.
- * doc/automake.texi (The Types of Distributions, Options):
- Adjust text to reflect renaming of lzma to xz.
- * NEWS: Update.
- Missing deprecation noted by Antonio Diaz Diaz.
-
-2010-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Add tests about support of wildcards in EXTRA_DIST.
- * tests/extra10.test: New test, check basic support of wildcards
- in EXTRA_DIST.
- * tests/extra11.test: New test, check more complex usage of
- wildcards in EXTRA_DIST.
- * tests/extra12.test: New test, check usage of wildcards in
- EXTRA_DIST when $builddir != $srcdir.
- * tests/Makefile.am (TESTS): Updated accordingly.
- Necessity of these new tests suggested by Braden McDaniel
- and Ralf Wildenhues.
-
-2010-02-08 Simon Josefsson <simon@josefsson.org>
-
- Fix copyright statement in gnupload script.
- * lib/gnupload: Fix copyright statement.
-
-2010-02-06 Dmitry V. Levin <ldv@altlinux.org> (tiny change)
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix exit status of signal handlers in shell scripts.
- The value of `$?' on entrance to signal handlers in shell scripts
- cannot be relied upon, so set the exit code explicitly to
- 128 + SIG<SIGNAL>.
- * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
- * lib/elisp-comp: Likewise.
- * lib/install-sh: Likewise.
- * lib/ylwrap: Likewise. Also, fix script to trap signal 13, not 3.
- * NEWS, THANKS: Update.
- Bug report, analysis, and initial patch by Dmitry V. Levin.
-
-2010-02-06 Karl Berry <karl@gnu.org>
-
- Improve gnupload usage text.
- * gnupload (usage): Shorten to make more likely to fit on a tty
- line. Mention CMD in the synopsis. With ..., plural is implied.
-
-2010-01-28 Christos Kontas <xakon@yahoo.com> (tiny change)
-
- Fix some typos in the manual
- * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
-
-2010-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Fix silent-rules output for disabled dependency tracking.
- * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
- expansion code to also work in the case where %AMDEP% expands
- to FALSE at config.status time, using new substitution string
- %VERBOSE-NODEP%.
- * automake.in (verbose_nodep_flag): New function, appending
- `@am__nodep@' to the verbose-variable name.
- (handle_languages): If dependencies are not disabled, use it to
- set %VERBOSE-NODEP%.
- * m4/depend.m4: Substitute am__nodep as '_no', so the second
- verbose-variable will always expand to an empty string, if
- dependencies are enabled.
- * tests/silent5.test: Also test --disable-dependency-tracking;
- also test per-target flags for non-C language files.
- * tests/silent9.test: New test, like silent4.test but disable
- dependency tracking.
- * tests/Makefile.am: Adjust.
- * NEWS, THANKS: Update.
- Report by Dmitry V. Levin <ldv@altlinux.org>.
-
-2010-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- Slighty improve tests acoutbs.test and acoutbs2.test.
- * tests/acoutbs2.test: Enable `errexit' shell flag. Check that
- autoconf and configure work, that the file `zot' is created by
- configure, and that no file containing a backslash in its name is
- created.
- * tests/acoutbs.test: Likewise, plus updated copyright years.
-
- Fix test acoutbs2.test.
- * tests/acoutbs2: In the generated configure.in: add proper calls
- to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
- PACKAGE and VERSION. Add a call to aclocal before calling automake.
- Updated copyright years.
- * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
-
- Add forgotten test scripts to $(TESTS).
- * tests/Makefile.am (TESTS): Added test scripts present on the
- filesystem, which were erroneously left out from $(TESTS):
- acoutbs2.test, badopt.test, extra2.test.
- (XFAIL_TESTS): Added acoutbs2.test.
-
-2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Sync auxiliary files from upstream.
- * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
- Sync from upstream.
-
- Bump copyright years.
- * aclocal.in (write_aclocal, version): Bump copyright years.
- * automake.in (gen_copyright, version): Likewise.
- * doc/automake.texi: Likewise.
-
- Rotate ChangeLog.
- * ChangeLog.09: New file, rotated from ...
- * ChangeLog: ... here.
- * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
-
------
-
-Copyright (C) 2010-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
-
-;; Variables:
-;; coding: utf-8
-;; End:
diff --git a/old/ChangeLog.96 b/old/ChangeLog.96
deleted file mode 100644
index 81232d48e..000000000
--- a/old/ChangeLog.96
+++ /dev/null
@@ -1,3685 +0,0 @@
-Wed Dec 18 15:27:09 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (read_am_file): Sort configure_vars before adding to
- output_vars.
- (handle_yacc_lex_cxx): Sort de_ansi_objects.
- (handle_man_pages): Sort %section keys.
-
-Tue Dec 10 00:41:17 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (AC_SUBST_PATTERN): Check for alphanumeric variable
- names only. Test subst.test.
- (scan_one_configure_file): Skip AC_DEFUN lines. Test
- defun2.test.
-
-Mon Dec 9 08:18:42 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (file_contents_with_transform): Use ne, not !=, to
- compare strings. Compare against correct string. From Jim
- Meyering.
- (handle_texinfo): Use rm -f to remove info files. From Gord
- Matzigkeit.
-
- * Released 1.1l.
-
- * automake.in (handle_texinfo): Put .ps on @suffixes.
-
-Sun Dec 8 12:29:52 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (am_install_var): Directory with 'exec' in its name
- is installed by install-exec.
-
- * subdirs.am (maintainer-clean-recursive): Make commands quiet.
- * texinfos.am: Make commands quiet.
- * scripts.am: Make commands quiet.
- * progs.am: Make commands quiet.
- * ltlibs.am: Make comamnds quiet.
- * lisp.am: Make commands quiet.
- * libs.am: Make commands quiet.
- * header.am: Make commands quiet.
- * data.am: Make commands quiet.
-
- * automake.in (variable_value_as_list): Handle := substitution
- references.
- (am_conf_line_error): Take file argument. Changed all callers.
- (scan_one_configure_file): Skip config header of [$1].
- (scan_dependency_file): Don't add top_builddir to regex if it is
- ".". Don't include top_builddir in output if it is ".".
- (scan_one_configure_file): Skip version of [$2].
-
-Sat Dec 7 11:34:39 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): New sub.
- (scan_configure): Scan aclocal.m4 as well as configure.in.
- (handle_configure): Makefile.in now depends on $(ACLOCAL), because
- automake scans it.
-
- * automake.in (handle_configure): Put full path to file onto
- @rewritten_inputs. Test output4.test.
-
- * automake.in (handle_configure): Put proper name onto @inputs.
- Test output3.test.
-
- * automake.in (handle_configure): Pass correct args to automake
- invocations. Test remake2.test.
-
- * automake.in (handle_configure): Check dirname of $file, not of
- $local. Test output2.test.
-
- * automake.in (handle_dependencies): Added some missing ";"s in
- transforms.
- (get_object_extension): Ditto.
- (handle_tags): Ditto.
- (handle_tests): Ditto.
- (read_am_file): Ditto.
- (am_install_var): Ditto.
- (file_contents_with_transform): Die if transform missing trailing
- ";".
-
- * automake.in (am_install_var): Quote $ in regexp substitution.
- From Ulrich Drepper.
-
-Fri Dec 6 18:54:10 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Require actual input files, not
- rewritten input files. From Ulrich Drepper.
-
-Thu Dec 5 02:52:20 1996 Tom Tromey <tromey@cygnus.com>
-
- Suggestion from Mark Galassi:
- * texinfos.am (DVIPS): New macro.
- (.dvi.ps): New rule.
-
- * automake.in (handle_dependencies): Check to make sure
- --build-directory specified before searching for .P files.
- (handle_configure): Correctly handle ":" syntax when running
- config.status.
-
- * remake.am: Removed rules to regenerate Makefile and Makefile.in;
- now handled by handle_configure.
-
- * remake-subd.am: Removed.
-
- * automake.in (scan_configure): Handle multiple ":"s in AC_OUTPUT
- arg.
- (parse_arguments): Ditto.
- (handle_configure): Ditto.
- (%other_output_files): Removed.
- (rewrite_inputs_into_dependencies): New sub.
- (handle_configure): Use it.
- (handle_configure): Ditto.
-
- From Gord Matzigkeit:
- * automake.in (generate_makefile): Handle ":" in AC_OUTPUT arg.
- (handle_configure): Ditto.
-
- * automake.in (handle_single_transform_list): .S is assembly
- source. From Anthony Green.
-
- * automake.in (handle_single_transform_list): Correctly rewrite
- C++ and Fortran source to objects ending in ".o". Test
- cxxo.test.
-
- * automake.in: Better error message if file missing.
-
- * aclocal.in (@obsolete_macros): ud_GNU_GETTEXT is obsolete.
- * automake.in (handle_gettext): Use AM_GNU_GETTEXT, not
- ud_GNU_GETTEXT.
- (scan_configure): Ditto. ud_GNU_GETTEXT is now obsolete.
-
-Wed Dec 4 00:41:23 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_configure): Skip empty elements when adding to
- libsources. Perl 4 bug reported by Greg A Woods.
-
- * Makefile.am (perl4-check): New target.
- (cvs-dist): Run perl4-check.
-
- Perl 4 fixes. Reported by Greg A. Woods:
- * automake.in (file_contents_with_transform): If transform caused
- all chars to go away, then skip rest of loop.
- (handle_texinfo): Don't use "next" in arg to
- file_contents_with_transform.
- (handle_dependencies): Ditto.
- (handle_tests): Ditto.
-
- * m4/regex.m4 (AM_WITH_REGEX): Check for GNU regex in libc. From
- Andreas Schwab.
-
- * automake.in (parse_arguments): Removed --strictness.
- (handle_dist_worker): Don't use --strictness.
- (handle_configure): Ditto.
- (initialize_global_constants): Don't mention --strictness.
-
- * automake.in (handle_merge_targets): Use all-recursive-am instead
- of all-recursive-hack. The latter is ugly, according to Joel
- Weber.
-
- * automake.in (handle_emacs_lisp): Push $(ELCFILES) onto @all.
-
- * automake.in (do_one_clean_target): Allow -local version of clean
- targets.
-
-Tue Dec 3 18:58:40 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dependencies): Skip C-only lines in
- depend2.am when appropriate.
- * depend2.am (.deps/%.P): Omit modification of $o if language is
- not C.
-
-Tue Dec 3 11:29:01 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * compile-kr.am: Quote arguments to echo.
-
- * progs.am: Fix up problems when LIBTOOL is not defined (by
- setting shell variable instprog to the installation program).
-
- * aclocal.in (scan_file): Allow the acinclude.m4 file to override
- any other macro files (but still prevent multiple definitions
- within acinclude.m4).
-
-Tue Dec 3 10:40:48 1996 Tom Tromey <tromey@cygnus.com>
-
- From Ulrich Drepper:
- * automake.in (handle_emacs_lisp): Typo fix.
- (scan_configure): Only recognize VERSION after whitespace.
-
- * texinfos.am: install-info requires path to info file.
-
- * progs.am: Use @LIBTOOL@, not $(LIBTOOL).
-
- * automake.in (am_install_var): If -ltlibs passed, substitute
- @LIBTOOL@.
-
-Mon Dec 2 13:51:11 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * automake.in (get_object_extension): Unshift ansi2knr onto the
- all target, so that it builds before any other targets.
- [de_ansi_objects]: Delete, since unshifting ansi2knr is an easier
- solution.
-
-Mon Dec 2 12:13:27 1996 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.1i.
-
- From Janos Farkas:
- * automake.in (handle_texinfo): Must quote $ for make.
-
-Sun Dec 1 15:08:09 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Correctly handle common case of
- multiple non-Makefiles in AC_OUTPUT. Require all input files when
- using ":" syntax.
-
-Sun Nov 24 00:33:50 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_source_transform): Don't define
- EXTRA_prog_SOURCES unnecessarily. Test extra2.test.
-
- * automake.in (initialize_per_input): New variables
- included_generic_compile, included_knr_compile,
- included_libtool_compile.
- (get_object_extension): Use them.
-
- * automake.in (handle_single_transform_list): Removed
- Objective-C/C++ support (didn't really work anyway).
- (handle_single_transform_list): Handle assembly specially.
-
- * automake.in (handle_yacc_lex_cxx): Set --mode=compile or
- --mode=link when running libtool.
-
- * ltlibs.am: Set --mode=install when running libtool.
- (uninstall-@DIR@PROGRAMS): Set --mode=uninstall when running
- libtool.
- * libtool.am (.c.lo): Set --mode=compile when running libtool.
- * progs.am: Set --mode=install when running libtool.
-
- Fix for bug reported by François Pinard:
- * automake.in (do_check_merge_target): New sub.
- (do_one_merge_target): No longer handle `check'.
- (handle_merge_targets): Use do_check_merge_target.
- (initialize_per_input): Set @check_tests.
- (handle_tests): Push onto @check_tests, not @check.
-
- * automake.in (am_install_var): Typo fix.
- (handle_configure): Require $inputs[0].
-
-Fri Nov 22 00:01:45 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_lib_objects): Fixed error message
- processing.
-
-Thu Nov 21 22:29:30 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_configure): AC_FUNC_FNMATCH doesn't add to
- LIBOBJS.
- (handle_configure): Support multi-":" mode for AC_OUTPUT.
-
- * m4/header.m4: New file.
-
- * automake.in (scan_configure): Recognize AM_CONFIG_HEADER.
-
-Wed Nov 20 00:23:42 1996 Tom Tromey <tromey@cygnus.com>
-
- * acinstall: Allow commentary at end of "serial" line. From Gord
- Matzigkeit.
-
- * automake.in (handle_yacc_lex_cxx): Only replace output header if
- it has changed.
-
-Tue Nov 19 19:03:30 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (am_primary_prefixes): Allow configure variables to
- be named after primary.
- (am_install_var): Ditto.
-
- * automake.in (initialize_per_input): Initialize output_header.
- (generate_makefile): Set up output_header; print it before
- output_rules.
- (handle_footer): Put .SUFFIXES into output_header, for AIX.
-
-Mon Nov 18 19:11:53 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * automake.in: Added a lot of libtool support. New variable
- prog_LDFLAGS to pass linker flags. Use libtoolize to install
- libtool support files.
-
-Mon Nov 18 13:29:55 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_lib_objects): Push @LIBOBJS@ and @ALLOCA@
- onto dependency list.
-
- * aclocal.in (obsolete_macros): Include AM_SANITY_CHECK_CC; now
- part of autoconf proper.
- * m4/ccsanity.m4: Removed.
-
-Sun Nov 17 12:25:17 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (check_typos): Check to make sure EXTRA_ variables
- don't contain configure subs.
- (handle_dist_worker): Removed EXTRA_DIST_DIRS; not needed.
-
-Fri Nov 15 18:58:04 1996 Tom Tromey <tromey@cygnus.com>
-
- * tags-subd.am: Removed.
-
- * tags.am (tags-recursive): Removed.
- (TAGS): Depend on @DIRS@, @CONFIG@. Use @CONFIG@ in rule.
- (ID): From tags-subd.am.
-
- * aclocal.in (obsolete_macros): Include AM_FUNC_FNMATCH.
- * automake.in (scan_configure): Recognize AC_FUNC_FNMATCH.
- * m4/fnmatch.m4: Removed (now in autoconf).
-
- * automake.in (initialize_per_input): Init de_ansi_objects.
- (handle_single_transform_list): Error if extension unrecognized.
- Set elements of de_ansi_objects.
- (get_object_extension): Don't push ANSI2KNR onto @all.
- (handle_yacc_lex_cxx): Put ANSI2KNR into dependency of all ._o
- files.
- (pretty_print_internal): Initialize $bol depending on the column.
-
-Fri Nov 15 16:22:15 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * library.am: Fixed references to LIBRARY according to new scheme.
-
- * libs.am, libs-clean.am: Removed references to LIBFILES.
-
- * automake.texi (A Library): doc fix
-
- * automake.in (handle_libraries): Deleted references to *LIBFILES,
- since we now have the full library name in the *LIBRARIES
- variable.
- (am_install_var): Removed `-no-all' option, which was only required
- for the LIBFILES hack.
-
-Fri Nov 15 16:39:29 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in: Applied libtool-related patches from Gord.
- (scan_configure): Set CC configure var if AM_PROG_LIBTOOL seen.
- Also indicate that AC_CANONICAL_HOST was run.
-
- * Makefile.am (pkgdata_DATA): Removed aclocal.m4.
-
-Thu Nov 14 23:11:09 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_yacc_lex_cxx): Don't auto-define YACC, LEX,
- CXX, CC.
-
- * dejagnu.am: Print warning if runtest missing.
-
- From Joerg-Martin Schwarz:
- * automake.in (handle_aclocal_m4): Find aclocal.m4 in srcdir.
- (require_file_internal): Unlink file before creating it.
-
- * depend2.am (.deps/%.P): Don't print commands when running.
-
-Mon Nov 11 10:35:08 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_single_transform_list): Simplified C++
- matching expression.
-
-Fri Nov 8 09:49:09 1996 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.1g.
-
- * compile-kr.am ($(OBJECTS)): Removed.
-
- * automake.in (get_object_extension): Define ANSI2KNR. Push onto
- @all if ansi2knr is in this directory.
-
- * configure.in: Don't run AC_ARG_PROGRAM, AC_PROG_MAKE_SET.
-
- * m4/init.m4: Run AM_SANITY_CHECK.
-
- * m4/sanity.m4: New file.
-
- * automake.in (handle_dist_worker): In Cygnus mode, possibly find
- files to dist in build dir, not srcdir.
- (%omit_dependencies): New global.
- (scan_dependency_file): Handle OMIT_DEPENDENCIES.
- (scan_configure): Put rx.h, regex.h on %omit_dependencies. Ditto
- libintl.h.
- (handle_tests): Remove CYGNUS strings in Cygnus mode.
- (handle_texinfo): Ditto.
-
- * texinfos.am (dist-info): New target.
-
- * automake.in (handle_dist_worker): Use DISTFILES, not
- DEP_DISTFILES.
- (initialize_per_input): Initialize dist_targets.
- (handle_texinfo): Don't compute @infos_list; don't define or use
- INFOS. Put dist-info onto @dist_targets.
- (handle_dist_worker): Handle @dist_targets. Don't use the "echo
- trick" for expanding DISTFILES any more.
-
- * dist-vars.am (DEP_DISTFILES): Removed.
- (DISTFILES): Don't include INFOS.
-
- * automake.in (handle_texinfo): Handle Cygnus mode.
- * texinfos.am (.texi.info, .texinfo.info): Handle Cygnus mode.
-
- * automake.in (handle_single_transform_list): New sub.
- (handle_source_transform): Use it.
- (handle_built_sources): New sub.
-
-Thu Nov 7 14:49:16 1996 Tom Tromey <tromey@cygnus.com>
-
- * remake.am ($(srcdir)/Makefile.in): Pass @ARGS@ to automake.
- * remake-subd.am ($(srcdir)/Makefile.in): Pass @ARGS@ to
- automake.
- * automake.in (handle_configure): Pass --cygnus when running
- automake again.
-
- * remake-hdr.am ($(srcdir)/stamp-h.in): Depend on @FILES@, not
- ACCONFIG, CONFIG_TOP, CONFIG_BOT.
- * automake.in (handle_aclocal_m4): Always find aclocal.m4 in
- top_srcdir.
- (handle_configure): Don't define ACCONFIG, CONFIG_TOP, CONFIG_BOT;
- instead substitute files directly.
-
-Wed Nov 6 10:22:26 1996 Tom Tromey <tromey@cygnus.com>
-
- * remake-hdr.am (stamp-h): Look in top_builddir for
- config.status.
- ($(srcdir)/stamp-h.in): Look in top_srcdir for configure.in.
-
-Thu Oct 31 10:55:59 1996 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am (.texi.dvi): Set MAKEINFO when running texi2dvi.
- From Jim Meyering.
-
- * automake.in (handle_texinfo): Push install-info-am, not
- install-info.
- (handle_merge_targets): Handle no-installinfo option.
-
- * texinfos.am (install-info-am): Renamed from install-info.
-
- * automake.in (handle_subdirs): Include install-info-recursive if
- no-installinfo given.
-
- * subdirs.am: Include INSTALLINFO token.
-
- * automake.in (handle_texinfo): Explicitly define MAKEINFO,
- TEXI2DVI.
- (cygnus_mode): New global.
- (handle_dist_worker): Pass --cygnus to automake.
- (initialize_global_constants): Document --cygnus.
- (check_cygnus): New sub.
- (handle_texinfo): Don't require texinfo.tex in Cygnus mode.
-
- * texi-vars.am: Removed.
-
- * dejagnu.am (check-DEJAGNU): Don't define rootme.
-
- * automake.in (handle_tests): Define EXPECT, RUNTEST.
-
- * dejagnu.am (EXPECT): Removed.
- (RUNTEST): Removed.
-
- * automake.in (define_program_variable): New sub.
-
-Mon Oct 28 10:43:48 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dependencies): Use -M, not -MM, for C++
- dependencies.
-
-Thu Oct 24 20:21:50 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (check_libobjs_sources): New sub. Test
- libobj4.test.
- (handle_source_transform): Don't check for auto-discovered source
- files here.
- (handle_programs): Run check_libobjs_sources here.
- (handle_libraries): Ditto.
-
- * automake.in (define_configure_variable): New function.
- (get_object_extension): Use define_configure_variable.
- (handle_yacc_lex_cxx): Ditto.
- (handle_emacs_lisp): Ditto.
- (configure_vars): New global.
- (AC_CHECK_PATTERN): New global.
- (seen_ranlib, seen_prog_cc, seen_prog_cxx, seen_prog_lex):
- Removed.
- (handle_yacc_lex_cxx): Use configure_vars, not seen_prog_*.
- (AC_SUBST_PATTERN): New global.
- (scan_configure): Use AC_SUBST_PATTERN; don't set seen_prog_*.
- (handle_libraries): Don't use seen_ranlib.
- (read_am_file): Run define_configure_variable on each discovered
- variable.
-
-Mon Oct 21 23:06:49 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_configure): Handle AM_INIT_GUILE_MODULE.
- (handle_libraries): Pass configure substitutions directly on to
- LIBFILES.
-
- * automake.in (AM_PACKAGE_VERSION_PATTERN): New global.
- (scan_configure): Use it. Test version.test.
-
-Sun Oct 20 12:08:46 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Explicitly pass distdir to
- dist-hook make. From Tatu Ylonen.
-
- * m4/strtod.m4: Use correct cache variable.
-
-Thu Oct 17 13:45:20 1996 Tom Tromey <tromey@cygnus.com>
-
- Lisp fixes from Erick Branderhorst:
- * m4/lispdir.m4: Define lispdir, not LISPDIR.
- * lisp.am: Added missing \.
-
-Fri Oct 11 00:44:49 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_source_transform): Only rewrite c, yacc, lex
- to use de-ansi-fication.
- (scan_configure): Handle multi-line AC_REPLACE_FUNCS. Test
- libobj5.test.
-
- * automake.in (handle_lib_objects): Added $lex_seen argument.
- Error if lex file used but LEXLIB not seen.
- (handle_programs): Ditto.
- (handle_yacc_lex_cxx): Define LEXLIB variable.
- (handle_lib_objects): Don't allow LEXLIB to end up on dependency
- list.
-
-Thu Oct 10 16:12:38 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_gettext): Moved check for SUBDIRS and
- ABOUT-NLS here.
-
- * automake.in (handle_configure): Run mkinstalldirs under
- $(SHELL).
- (handle_yacc_lex_cxx): Run interlock under $(SHELL).
-
- * remake-subd.am (Makefile): Run config.status under $(SHELL).
- * remake-hdr.am (stamp-h): Run config.status under $(SHELL).
- * remake.am (Makefile): Run config.status under $(SHELL).
- (config.status): Ditto.
-
- * automake.in (read_am_file): Removed UNMAINT code.
- (file_contents_with_transform): Ditto.
- * m4/maintainer.m4: Removed bogus UNMAINT code.
-
- * automake.in (handle_emacs_lisp): Define EMACS variable.
- (handle_emacs_lisp): Make sure EMACS is in environment when
- elisp-comp is run.
-
- * elisp-comp: Exit with status 1 if usage bad.
- Use "emacs -q". Use EMACS environment variable if set (unless set
- to t).
-
- * m4/lispdir.m4: Unset EMACS if it is set to `t'.
-
- * automake.in (handle_dist_worker): Allow EXTRA_DIST items to be
- in subdirs.
- (do_one_merge_target): Use all-am, not all, in subdirs case.
- (handle_merge_targets): Always generate all-am in subdirs case.
-
- * remake.am (Makefile): Depend on BUILT_SOURCES.
- * remake-subd.am (Makefile): Depend on BUILT_SOURCES.
- * depend.am (.deps/.P): Don't depend on BUILT_SOURCES.
-
- * automake.in (handle_yacc_lex_cxx): Handle y.tab.h in non-ylwrap
- case.
-
- * ylwrap: Bug fix. From Jim Meyering.
-
-Wed Oct 9 22:51:16 1996 Tom Tromey <tromey@cygnus.com>
-
- * m4/mktime.m4: Don't define AC_HEADER_SYS_TIME_H; instead just
- check directly for header.
-
-Mon Oct 7 13:08:15 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_configure): fp_WITH_DMALLOC and fp_WITH_REGEX
- are obsolete.
-
-Sun Oct 6 00:43:01 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (AC_CONFIG_AUX_DIR_PATTERN): New global.
- (AM_INIT_AUTOMAKE_PATTERN): New global.
- (scan_configure): Use them.
-
- * aclocal.in (add_file): Search contents of included files. Test
- req.test.
- (scan_m4_files): Don't skip acinclude.m4 when constructing
- search. Test acsilent.test.
- (scan_m4_files): Scan acinclude.m4.
-
- * aclocal.in (add_file): Removed debugging print.
- (scan_configure): Set $file_contents when scanning acinclude.m4.
- Test acinclude.test.
-
- * configure.in: Upped to 1.1g.
-
- * Released 1.1f.
-
- * texinfos.am: Run : after install-info.
-
- * aclocal.in (parse_arguments): Better error message.
- * automake.in (parse_arguments): Better error message.
-
- * remake.am (Makefile): Depend on $(srcdir)/Makefile.in, to work
- around broken makes. From David A. Swierczek.
- * remake-subd.am (Makefile): Ditto.
-
-Sat Oct 5 11:29:48 1996 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (generate_makefile): Put BUILT_SOURCES onto @all if
- appropriate.
- (handle_source_transform): Error if discovered source file is
- mentioned.
- (do_one_merge_target): Move all-vs-check test here.
-
- * m4/obstack.m4: New file.
- * m4/error.m4: New file.
-
- * automake.in (scan_configure): Support AM_FUNC_MKTIME,
- AM_FUNC_ERROR_AT_LINE, AM_FUNC_OBSTACK.
-
- * texinfo.tex: New version from texinfo 3.9.
-
- * automake.in (handle_yacc_lex_cxx): Updated for new ylwrap.
- Also, handle y.tab.h file when "yacc -d" is used.
- (do_one_merge_target): Use pretty_print_rule.
-
- * ylwrap: Changed usage.
-
- * m4/mktime.m4: New file.
-
- * m4: Renamed all .m4 files to fit into 14-char limits.
-
- * m4/Makefile.am (EXTRA_DIST): New macro.
-
- * aclocal.in ($ac_defun_rx, %map, %file_contents): New globals.
- (scan_m4_files): Use $ac_defun_rx.
- (add_file): Ditto.
- Run scan_m4_files.
- (scan_configure): Scan acinclude.m4 before anything else.
- (scan_file): New sub.
- (check_acinclude): New sub.
- (add_file): Rewrote.
-
- * progs-clean.am, progs.am: Renamed from programs-clean.am,
- programs.am.
- * libs-clean.am, libs.am: Renamed from libraries-clean.am,
- libraries.am.
- * texi-vars: Renamed from texinfos-vars.am.
- * comp-vars.am: Renamed from compile-vars.am.
- * texi-vers.am: Renamed from texi-version.am.
-
- * automake.in (require_file_internal): Give error if symlink can't
- be made.
- (require_config_file): Error message references configure.in.
- (handle_yacc_lex_cxx): Fix order of arguments to ylwrap; from
- Joerg-Martin Schwarz.
- (handle_texinfo): Use texi-vers, not texi-version.
- (get_object_extension): Use comp-vars, not compile-vars.
- (handle_texinfo): Use texi-vars, not texinfos-vars.
- (handle_libraries): Use `libs' prefix, not `libraries'.
- (handle_programs): Use `progs' prefix, not `programs'.
-
-Fri Oct 4 01:14:08 1996 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (scan_m4_files): New sub.
-
- * m4/AM_FUNC_STRTOD.m4 (am_cv_func_strtod_needs_libm): Set
- am_cv_func_strtod_needs_libm, so we can avoid linking with -lm
- everywhere.
-
-Thu Oct 3 20:11:16 1996 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am (uninstall-info): Run install-info --remove.
-
- * automake.in (read_am_file): Define all variables after reading
- .am file. Test vpath.test. Reported by Anthony Green.
-
-Mon Sep 30 08:31:51 1996 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am: Run install-info.
-
- * automake.in (variable_value_as_list): Just return if comment
- seen. Report from Mark Galassi.
- (handle_options): Don't bother with explicit comment checking.
-
-Tue Sep 24 09:15:46 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (read_am_file): Cleaned up dejagnu variables.
-
-Mon Sep 23 00:04:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (parse_arguments): New usage to conform to GNU
- standards.
-
- * aclocal.in (parse_arguments): New usage to conform to GNU
- standards.
-
- * automake.in (handle_scripts): Push new target onto @check.
- * scripts.am (check-@DIR@SCRIPTS): New target.
-
- * automake.in (initialize_global_constants): Define %dist,
- dist_header, dist_trailer.
- (handle_dist): Make dist-all target.
- (generate_makefile): Run check_typos later.
- (examine_variable): New sub.
- (handle_tags): Examine TAGS_DEPENDENCIES. Test spell3.test.
- Error if TAGS_DEPENDENCIES but no sources used.
- (handle_configure): Examine CONFIGURE_DEPENDENCIES.
-
-Sat Sep 21 13:59:15 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (am_install_var): More error checking.
-
-Fri Sep 20 09:06:37 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * tags.am (TAGS): Minor cleanup.
-
- * clean.am (distclean-generic): Don't remove CONFIG_HEADER.
-
- * remake-hdr.am (mostlyclean-hdr, clean-hdr, distclean-hdr,
- maintainer-clean-hdr): New targets.
-
- * automake.in (handle_configure): Define CONFIG_HEADER correctly
- when it is in current directory.
- (handle_configure): Push "hdr" on @clean.
-
- * remake-hdr.am (stamp-h): Run config.status in top_builddir.
- ($(srcdir)/stamp-h.in): Run autoheader in top_srcdir.
-
- * automake.in (scan_configure): Check for install.sh here.
- (basename): New sub.
- (handle_configure): Handle case where config.h is in subdir.
- (handle_configure): Make stamp-in.h for user if it doesn't already
- exist.
- (touch): New sub.
-
-Tue Sep 17 23:35:14 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * Makefile.am (EXTRA_DIST): Include pkgdata_DATA.
-
- * dist-vars.am (DISTFILES): Don't distribute BUILT_SOURCES or
- DATA.
- (DEP_DISTFILES): Ditto.
-
-Mon Sep 16 22:28:56 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (check_typos): Renamed.
- (check_typos): Check for _LDADD, _LIBADD, and _DEPENDENCIES.
- (variable_defined): Note variable as being "seen".
- (handle_lib_objects): Don't push configure substitutions onto
- _DEPENDENCIES.
-
-Sun Sep 15 22:45:43 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (initialize_per_input): Init content_seen.
- (variable_value_as_list): Set content_seen entry.
- (define_variable): Ditto.
- (define_pretty_variable): Ditto.
- (check_source_typos): New sub.
- (generate_makefile): Call it.
-
-Thu Sep 12 15:03:19 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_source_transform): Removed extraneous
- space. Test implicit.test.
- (read_am_file): Make sure "canonical" variables are mentioned in
- %contents.
- (scan_configure): AC_CHECK_TOOL sets $seen_canonical to
- $AC_CANONICAL_HOST conditionally.
- (handle_footer): Don't use define_pretty_variable in all cases.
-
-Wed Sep 11 11:54:44 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * clean.am (distclean-generic): Remove CONFIG_CLEAN_FILES here,
- per GNU/Gnits standards.
-
- * libraries.am (install-@DIR@LIBRARIES): Use two loops, so new
- NORMAL_INSTALL and POST_INSTALL variables can work when empty.
-
- * automake.in (handle_options): Rewrote version handling. Now
- returns error indicator.
- (MACRO_PATTERN, BOGUS_MACRO_PATTERN): Handle `:=' definitions.
- (RULE_PATTERN): Exclude `:=' from being a rule.
-
- * m4/AM_PROG_CC_STDC.m4 (ac_save_CC): Bug fix from Jim Meyering.
-
- * automake.in (variable_value_as_list): Always use am_line_error.
- (define_variable): New sub.
- (get_object_extension): Use define_variable.
- (handle_yacc_lex_cxx): Ditto.
- (handle_source_transform): Ditto.
- (handle_programs): Ditto.
- (handle_libraries): Ditto.
- (handle_texinfo): Ditto.
- (handle_man_pages): Ditto.
- (handle_dependencies): Ditto.
- (handle_aclocal_m4): Ditto.
- (define_pretty_variable): New sub.
- (handle_source_transform): Use define_pretty_variable.
- (handle_lib_objects): Ditto.
- (handle_libraries): Ditto.
- (handle_dist): Ditto.
- (handle_dependencies): Ditto.
- (handle_configure): Ditto.
- (handle_footer): Ditto.
- (handle_emacs_lisp): Ditto.
- (am_install_var): Ditto.
-
- * Released version 1.1e.
-
- * automake.in ($GNITS_VERSION_PATTERN): Handle non-alpha
- releases.
-
- * configure.in: Version 1.1e.
-
- * automake.in (handle_texinfo): Distribute .info file.
-
-Sun Sep 8 09:00:37 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * Makefile.am (EXTRA_DIST): New macro.
- (maintainer-clean): Don't run "make check".
- (pathchk): New target.
-
- * automake.in (check_gnits_standards): Only check version number
- syntax at top level.
- ($package_version_line): New variable.
- (scan_configure): Set it.
- (check_gnits_standards): Use am_conf_line_error.
- (scan_configure): Remove extraneous whitespace from version
- number.
- (handle_dist): Handle distcheck-hook.
-
- * m4/AM_PROG_CC_STDC.m4: Applied patch from Jim Meyering.
-
- * automake.in (scan_configure): Handle AM_WITH_REGEX.
- (handle_lib_objects): Require .h files in %libsources but don't
- generate dependencies for them.
- (scan_configure): Also require rx.h and regex.h.
-
- * m4/Makefile.am (m4data_DATA): Don't include AM_PROG_LIBTOOL,
- AM_FEATURE_CTYPE, AM_FEATURE_ERRNO, AM_FEATURE_EXIT,
- AM_SYSTEM_HEADER.
-
- * texi-version.am: Use "cp; rm" and not "mv", to work around
- broken mvs.
-
- * automake.in ($package_version): New global.
- (scan_configure): Set it.
- (check_gnits_standards): Verify version string; require
- README-alpha if alpha version.
- (scan_configure): Recognize AM_FUNC_FNMATCH,
- AM_REPLACE_GNU_GETOPT.
-
- * Makefile.am (installcheck-local): Check all scripts.
-
-Sat Sep 7 19:22:32 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * tags-clean.am: Do deletions here again.
-
-Thu Sep 5 09:06:23 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (usage): Include bug-reporting information.
- (handle_lib_objects): Error if LIBOBJS seen but never set.
-
- * aclocal.in ($acdir): Use @datadir@/aclocal.
- (usage): Include bug-reporting information.
-
-Wed Sep 4 11:36:06 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_source_transform): .deps no longer in
- srcdir.
- (handle_lib_objects): Ditto.
- (handle_dist_worker): Pass --build-dir to automake.
- ($build_directory): New global.
- (parse_arguments): Handle --build-dir.
- (initialize_global_constants): Include --build-dir in help.
- (scan_dependency_file): New sub.
- (handle_dependencies): Use it. Also, use $build_directory.
- (initialize_global_constants): Added --srcdir-name.
- (parse_arguments): Ditto.
- (handle_dist_worker): Ditto.
- ($srcdir_name): New global.
- ($srcdir_rx): New global.
- (parse_arguments): Set it.
-
- * depend2.am: Removed all mention of $(srcdir).
-
- * depend.am (MKDEP): Use gcc -M, not gcc -MM.
- Removed all mention of $(srcdir); dependencies now put into build
- dir.
-
- * depend2.am ($(srcdir)/.deps/%.P): Fixed computation of `top'.
- Don't do work silently.
-
- * automake.in (handle_merge_targets): Error if invalid uninstall
- targets are given.
- (read_am_file): Fix for test block.test.
-
-Tue Sep 3 18:50:32 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfos.am (install-info): Added NORMAL_INSTALL.
- * scripts.am (install-@DIR@SCRIPTS): Added NORMAL_INSTALL.
- * programs.am (install-@DIR@PROGRAMS): Added NORMAL_INSTALL.
- * lisp.am (install-@DIR@LISP): Added NORMAL_INSTALL.
- * libraries.am (install-@DIR@LIBRARIES): Added NORMAL_INSTALL.
- Also, use POST_INSTALL when running ranlib.
- * header.am (install-@DIR@HEADERS): Added NORMAL_INSTALL.
- * data.am (install-@DIR@DATA): Added NORMAL_INSTALL.
-
- * automake.in (handle_man_pages): Added NORMAL_INSTALL invocation.
- (handle_merge_targets): Ditto.
- (handle_merge_targets): Error if PRE_INSTALL, POST_INSTALL, or
- NORMAL_INSTALL defined.
-
- * m4/AM_PROG_INSTALL.m4: INSTALL_SCRIPT defaults to
- ${INSTALL_PROGRAM}. From François Pinard.
-
-Tue Aug 27 08:25:05 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (file_contents_with_transform): Correctly remove
- @(UN)?MAINT@ from input when maintainer mode not active.
- (handle_aclocal_m4): Handle no-maintainer-mode case.
-
- * remake-hdr.am ($(CONFIG_HEADER)): Removed @MAINT@.
-
- * m4/AM_SANITY_CHECK_CC.m4: New file (from Jim Meyering).
-
-Mon Aug 26 21:37:32 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_lib_objects): Bug fix from Steve M Robbins.
- (handle_libraries): Don't include libraries from EXTRA_LIBRARIES
- in LIBFILES definition. Reported by Steve M Robbins. Test
- alllib.test.
-
- * automake.in (variable_value_as_list): New sub.
- (handle_source_transform): Use it.
- (handle_lib_objects): Ditto.
- (handle_libraries): Ditto.
- (handle_texinfo): Ditto.
- (handle_man_pages): Ditto.
- (am_install_var): Ditto.
- (handle_options): Ditto.
-
-Sat Aug 24 09:30:46 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- Reported by Jim Meyering:
- * automake.in (get_object_extension): Look in "./" for ansi2knr if
- no path found.
- (handle_aclocal_m4): Protect aclocal.m4 rule with @MAINT@.
-
- * remake.am (.PHONY): New target.
-
- * m4/AM_MAINTAINER_MODE.m4: Also define UNMAINT.
-
- * automake.in (check_gnu_standards): Disallow no-installman,
- no-installinfo.
- (read_am_file): Sed out UNMAINT too.
- (file_contents_with_transform): Ditto.
-
- * acinstall: New file.
-
- * m4/AM_INIT_AUTOMAKE.m4: Define PACKAGE and VERSION.
-
- * m4/AM_WITH_REGEX.m4: New version from François Pinard.
-
- * m4/AM_TYPE_PTRDIFF_T.m4: Use am_cv, not ac_cv.
- * m4/AM_C_PROTOTYPES.m4: Ditto.
- * m4/AM_FUNC_STRTOD.m4: Ditto.
- * m4/AM_PROG_CC_STDC.m4: Ditto.
- * m4/AM_PROG_LIBTOOL.m4: Ditto.
-
-Fri Aug 23 22:23:50 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * m4/Makefile.am (m4datadir): New macro
- (m4data_DATA): Renamed.
-
- * Makefile.am (cvs-dist): Depend on distcheck target.
-
-Mon Aug 19 15:37:32 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (initialize_global_constants): [common_files]
- Include acinclude.m4.
-
- * m4/AM_PROG_CC_STDC.m4: Patch from Jim Meyering/Kaveh Ghazi.
-
-Sat Aug 17 11:27:14 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dependencies): Push `depend'-clean targets
- on @clean.
- * depend.am (mostlyclean-depend, clean-depend, distclean-depend,
- maintainer-clean-depend): New targets.
-
-Tue Aug 13 17:53:58 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfos.am (.texinfo.info): New target.
- (.texinfo.dvi): New target.
-
- From Jim Meyering:
- * automake.in (handle_texinfo): Use `.info[-0-9]*' as pattern to
- match info files.
- (handle_texinfo): Handle `.texinfo' files.
-
-Mon Aug 12 10:28:46 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (require_file_internal): Special-case `.' when
- finding files to distribute. Test libobj2.test.
-
- * aclocal.in (add_file): Fixed regexp for matching AC_DEFUN. Test
- order.test.
-
- * m4/AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL.m4: New file.
- * m4/AM_SYS_POSIX_TERMIOS.m4: New file.
-
- * compile-kr.am: Removed duplicate ansi2knr rules.
-
-Sun Aug 11 00:20:16 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_yacc_lex_cxx): Bug fix from Josh MacDonald.
- (handle_yacc_lex_cxx): Put C++ extensions on suffix list.
- (mkdir): Removed.
-
- * automake.in (initialize_global_constants): [common_files]
- Include interlock and ylwrap.
-
- * Released version 1.1c.
-
- * aclocal.in (obsolete_macros): md_TYPE_PTRDIFF_T and
- ud_PATH_LISPDIR are obsolete names.
-
- * m4/AM_LC_MESSAGES.m4, m4/AM_WITH_NLS.m4, m4/AM_GNU_GETTEXT.m4:
- Removed.
-
- * automake.in (handle_lib_objects): Changed interface. Now
- generates _DEPENDENCIES variable if appropriate.
- (handle_emacs_lisp): Use AM_PATH_LISPDIR.
- (scan_configure): Ditto.
-
- * Makefile.am (CLEANFILES): Removed.
-
- * automake.in (handle_configure): Define CONFIG_CLEAN_FILES.
-
- * clean.am (clean-generic): Remove $(CONFIG_CLEAN_FILES).
-
- * compile-vars.am (CC, CFLAGS, COMPILE, LINK): Removed.
-
- * automake.in (handle_yacc_lex_cxx): Require ylwrap in
- multi-lex/yacc case.
- (handle_source_transform): Changed return result.
- (handle_programs): Use linker returned by
- handle_source_transform.
- (seen_prog_cc, seen_prog_cxx): New globals.
- (scan_configure): Recognize AC_PROG_CC and AC_PROG_CXX.
- (handle_yacc_lex_cxx): Error message if AC_PROG_CXX or
- AC_PROG_YACC missing.
- (seen_decl_yytext, seen_prog_lex): New globals.
- (scan_configure): Set them.
- (handle_yacc_lex_cxx): Warn about missing AC_PROG_LEX or
- AC_DECL_YYTEXT.
- (handle_yacc_lex_cxx): Use $(LEX_OUTPUT_ROOT).
- (initialize_per_input): Initialize seen_c_source.
- (handle_yacc_lex_cxx): Define CC, CFLAGS, COMPILE, LINK only when
- C source seen.
- (handle_source_transform): Set seen_c_source.
-
- * interlock: Changed usage.
-
- * ylwrap: New file.
-
- * automake.in (handle_yacc_lex_cxx): Renamed.
-
- * automake.in (handle_dependencies): Handle %cxx_extensions.
- Include depend2.am when appropriate.
-
- * depend2.am: New file; contents from depend.am but templatized.
-
- * automake.in (initialize_per_input): Initialize
- %cxx_extensions.
- (handle_source_transform): Set %cxx_extensions.
-
-Sat Aug 10 10:29:30 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * interlock: New file.
-
- * automake.in (handle_yacc_lex): New sub.
- (handle_source_transform): Removed most yacc/lex handling.
- (initialize_per_input): Init yacc_sources, lex_sources.
- (generate_makefile): Run handle_yacc_lex.
- (handle_merge_targets): Use `scalar' and not $# to find length of
- array.
-
- * m4/AM_FEATURE_EXIT.m4: Wrote.
- * m4/AM_FEATURE_CTYPE.m4: Wrote.
- * m4/AM_FEATURE_ERRNO.m4: Wrote.
-
- * aclocal.in (macro_seen): New global.
- (add_file): Set macro_seen entry. Only push required macro on
- @rlist if not already seen. Test defun.test.
-
- * automake.in (get_object_extension): Handle directory prefix on
- `ansi2knr' option.
-
- * kr-extra.am: New file.
-
- * kr-vars.am: Removed.
-
- * automake.in (handle_options): Handle directory prefix on
- `ansi2knr' option.
-
- * automake.in (scan_configure): Recognize AM_FUNC_STRTOD.
-
- * aclocal.in (add_file): Error if macro is duplicated. Test
- dup.test.
-
-Fri Aug 9 09:18:46 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_programs): Substitute @XLINK@. Make sure
- linker variable is transformed name.
- * program.am (@PROGRAM@): Use @XLINK@ to link.
-
- * automake.in (handle_scripts): Fixed call to
- am_primary_prefixes.
- (handle_libraries): Better error message when AC_PROG_RANLIB
- required.
-
- * automake.in (handle_libraries): Canonicalize library name. Test
- canon4.test.
- * library.am (lib@LIBRARY@.a): Use @XLIBRARY@ where appropriate.
- (lib@LIBRARY@.a): Look at _DEPENDENCIES variable.
-
-Thu Aug 8 10:57:21 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_scripts): Correctly compute
- $scripts_installed. Test scripts.test.
-
-Wed Aug 7 12:13:15 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * ansi2knr.c: New version.
-
-Tue Aug 6 10:58:37 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_source_transform): Handle more C++ file
- extensions. "Handle" Objective C. Handle more FORTRAN
- extensions.
-
- * compile-vars.am (LEX): Removed.
- (YACC): Removed.
-
- * automake.in (handle_source_transform): Correctly handle lex
- source. Test lex.test.
- (handle_source_transform): Skip more C++ headers. Generate macro
- definitions for YACC and LEX on first use.
-
- * aclocal.in (parse_arguments): Mention GNU.
- * automake.in (parse_arguments): Mention GNU.
-
-Mon Aug 5 00:12:45 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_programs): Define program_LINK.
- * program.am (@PROGRAM@): Use program_LINK to link.
-
- * Released version 1.1b
-
- * automake.in (scan_configure): AM_INIT_AUTOMAKE sets
- seen_prog_install to `2'.
-
- * configure.in: Don't run AM_PROG_INSTALL.
-
- * automake.in (parse_arguments): Use $PACKAGE.
- ($PACKAGE): New global.
- ($am_c_prototypes): Renamed.
- (get_object_extension): Use am_c_prototypes.
- (scan_configure): Ditto.
- (scan_configure): Use AM_MAINTAINER_MODE.
- (scan_configure): Warn about obsolete macros.
-
- * aclocal.in (parse_arguments): Use $PACKAGE.
- ($PACKAGE): New global.
-
- * Makefile.am (CLEANFILES): Added aclocal.
- (ETAGS_ARGS): Added aclocal.in.
- (TAGS_DEPENDENCIES): Ditto.
- (maintainer-check): Depend on aclocal.
- (maintainer-check): Check aclocal.
- (bin_SCRIPTS): Include aclocal.
-
- * automake.in (scan_configure): Handle AM_INIT_AUTOMAKE.
- (scan_configure): Use AM_PROG_INSTALL.
-
- * configure.in: Use AM_INIT_AUTOMAKE.
-
- * automake.in (keyed_aclocal_warning): Warning tells about
- aclocal.
- (handle_aclocal_m4): New sub.
- (handle_configure): Use it.
-
- * aclocal.in (output_file): New global.
- (usage): Handle --output.
- (parse_arguments): Handle --output.
-
- * m4/AM_INIT_AUTOMAKE.m4: New file.
-
- * m4/AM_PROG_CC_STDC.m4: Require AC_PROG_CC.
- Don't touch CFLAGS.
-
- * automake.in (handle_dist_worker): Reverted erroneous "-chmod".
- (handle_texinfo): Don't generate `.info-[0-9]' as a filename.
-
- * texinfos.am (.texi.info): Force .info file to be built in
- srcdir. From Franc,ois Pinard.
-
- From Jim Meyering:
- * m4/AM_PROG_CC_STDC.m4: (fp_PROG_CC_STDC): Include sys/stat.h in
- test program so that DYNIX/ptx V4.1.3 doesn't use `-Xc
- -D__EXTENSIONS__' -- with those options on that system, sys/stat.h
- gets compile errors. With help from Marcus Daniels.
-
- * automake.in (initialize_global_constants): Put elisp-comp into
- @common_files. Bug from Glenn Amerine.
-
-Sun Aug 4 12:52:43 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist_worker): Use fgrep, not grep.
-
- * m4/AM_C_PROTOTYPES.m4: Changes from François Pinard.
-
- * automake.in (handle_emacs_lisp): Include lisp-clean.am in
- output.
- (initialize_global_constants): [install_man_format] Don't hide
- "ugliness" at install time.
-
- * lisp-clean.am: New file.
-
- * tags-clean.am (maintainer-clean-tags): Remove TAGS and ID here.
-
- * automake.in (handle_man_pages): Patch from Janos Farkas to fix
- bug when installing man pages. Test man.test.
- (initialize_global_constants): [install_man_format] Make sure man
- page can actually be found in either source or build dirs.
- (handle_dist_worker): Use "755" permissions on distdir.
-
- * automake.in (handle_dist): Allow chmod's to fail.
- (am_primary_prefixes): New function.
- (am_install_var): Use it.
- (handle_libraries): Use it. Test libfiles.test.
- (handle_dist): For dist-tarZ, assume traditional "tar" and
- "compress".
-
- * m4/AM_FUNC_STRTOD.m4: New file.
-
- * automake.in (handle_dist): Only generate `distdir' variable if
- it doesn't already exist.
-
- Fix for bug reported by Harlan Stenn. Test tags.test.
- * automake.in (initialize_per_input): Define dir_holds_sources.
- (handle_tags): Check dir_holds_headers.
- (handle_headers): Set dir_holds_headers.
-
- * automake.in (handle_texinfo): Generate "version.texi" dependency
- for .dvi file. Bug reported by Glenn Amerine. Test vtexi2.test.
-
- * automake.in (handle_configure): Require file $input, not
- "$local.in". From Nyul Laszlo. Test colon.test.
-
-Sun Jul 28 11:14:52 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * aclocal.in: New file.
- * configure.in: Generate m4/Makefile, aclocal.
- * Makefile.am (SUBDIRS): Include m4.
- * m4/Makefile.am: New file.
-
-Fri Jul 19 10:12:27 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (initialize_global_constants): Put ansi2knr.c and
- ansi2knr.1 into common_files. Bug report from François Pinard.
-
-Mon Jul 15 10:28:29 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * install-sh: Updated copyright notice.
-
-Fri Jul 5 08:23:00 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * subdirs.am (maintainer-clean-recursive): Don't be so noisy.
- Report from Josh MacDonald.
-
- Bugs from Gord Matzigkeit:
- * automake.in (handle_footer): Push contents of $(SUFFIXES), not
- `$(SUFFIXES)'.
- (handle_dist): Ignore chmod return results.
-
- * programs-clean.am (clean-@DIR@PROGRAMS): Work around failing
- Solaris "rm -f". Bug from Kaveh R. Ghazi.
- * libraries-clean.am (clean-@DIR@LIBRARIES): Likewise.
-
-Fri Jun 21 10:42:06 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfos.am (install-info): Use "if", not "&&", to avoid
- install problem when glob doesn't match.
-
- * automake.in (initialize_global_constants): [USAGE] Added
- --no-force.
- (force_generation): New global.
- (parse_arguments): Handle --no-force.
- (generate_makefile): Handle --no-force.
-
- * Makefile.am (maintainer-check): Ensure all invocations of
- mkinstalldirs are correct.
-
-Tue Jun 18 10:53:54 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_tests): Don't directly generate site.exp.
-
-Sun Jun 16 22:21:16 1996 Harlan Stenn <harlan@brown.pfcs.com>
-
- * automake.in: Treat an initial `#' on a word in AUTOMAKE_OPTIONS
- as a comment start. Add support for a dist-tarZ target.
-
-Tue Jun 11 22:14:21 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
-
- * depend.am ($(srcdir)/.deps/%.P): Convert absolute $(top_srcdir)
- paths into relative paths.
-
-Mon Jun 10 21:11:20 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfo.tex: New version.
-
- * automake.in: Look for AM_PROG_LIBTOOL. From Gord Matzigkeit.
- (initialize_global_constants): Added libtool to
- @common_sometimes.
- (handle_source_transform): Pass YFLAGS to yacc and LFLAGS to lex.
-
-Sun Jun 9 17:45:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfos.am (install-info): Don't install ~ files. Bug report
- from Greg McGary.
- * automake.in (handle_texinfo): Don't push '.info*' onto
- @infos_list.
-
- * automake.in (handle_gettext): Ensure po and intl in SUBDIRS when
- using gettext.
- (handle_dist): Pass --with-included-gettext to configure if using
- gettext.
-
- * compile-kr.am (._c._o): Pass -c to $(COMPILE).
- (.c._o): Ditto.
- * compile.am (.c.o): Pass -c to $(COMPILE).
- * compile-vars.am (COMPILE): Don't include -c.
-
- * remake.am ($(srcdir)/Makefile.in): Pass --strictness to
- automake.
- * automake.in (handle_configure): Supply --strictness arg to
- automake.
-
-Fri Jun 7 12:31:31 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_tests): Fix quoting on `pwd`.
- (handle_options): Recognize no-installinfo option.
- (handle_man_pages): Don't put man directory on @installdirs if
- no-installman is specified.
- (handle_texinfo): Handle no-installinfo option.
- (handle_options): Compare version against $num_version, not
- $VERSION.
- (handle_source_transform): Generate rules for output of lex,
- yacc. Bug report from Thomas Morgan. Test yacc.test.
- (handle_dist): "distcheck" now runs "make dvi".
- (handle_tests): Support $(TESTS_ENVIRONMENT). Idea from Ulrich
- Drepper.
-
- * dejagnu.am (check-DEJAGNU): Depend on site.exp.
-
-Sun Jun 2 10:33:10 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_emacs_lisp): New function.
- (initialize_global_constants): Added elisp-comp to
- @common_sometimes.
- (seen_lispdir): New global.
- (scan_configure): Handle ud_PATH_LISPDIR.
-
- * elisp-comp: New file.
-
- * lisp.am: New file.
-
- * automake.in (generate_makefile): Run handle_emacs_lisp.
-
- * aclocal.m4 (ud_PATH_LISPDIR): New macro, from Ulrich Drepper.
-
- * automake.in (initialize_global_constants): Removed version.texi
- from common_sometimes.
- (initialize_global_constants): Added texinfo.tex to common_files.
- Test texinfo.test.
- (handle_tests): Allow dejagnu- and automake-style test suites to
- coexist. Test dejagnu.test.
- (initialize_global_constants): New constants AC_CANONICAL_HOST,
- AC_CANONICAL_SYSTEM.
- (scan_configure): Use new constants.
- (handle_tests): Put target specific information into site.exp if
- AC_CANONICAL_* used.
- (read_am_file): Generate some extra variables when AC_CANONICAL_*
- used.
- (handle_options): Allow version number to have letters appended.
- (handle_tests): Error if RUNTEST, RUNTESTFLAGS defined but dejagnu
- option not specd.
- (initialize_global_constants): install_man_format changed to
- handle built man pages.
-
-Wed May 29 10:35:01 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * config.guess, config.sub: New versions.
-
-Tue May 28 19:27:11 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * configure.in (VERSION): Upped to 1.0.
-
-Sat May 25 10:19:53 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_tests): Handle dejagnu.
- (handle_options): Recognize dejagnu option.
-
- * dejagnu.am: New file.
-
-Thu May 23 10:01:13 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist): Run installcheck target from
- distcheck.
-
- * configure.in (VERSION): Upped to 0.34.
-
- * automake.in (scan_configure): Always allow upgrading to
- fp_PROG_INSTALL. Test fpinstall.test.
-
-Wed May 22 14:45:28 1996 Joshua Cowan <jcowan@hermit.reslife.okstate.edu>
-
- (handle_dist): Make `distcheck' check `install' target, too.
-
-Wed May 22 09:49:27 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (initialize_per_input): Don't initialize
- $output_directory here; initialize it globally. From Joshua
- Cowan. Test outdir.test.
-
-Sat May 18 10:57:40 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_tests): Don't push TESTS onto dist_common.
- (initialize_global_constants): Put install-sh and mkinstalldirs
- into @common_files. Test insh2.test.
-
-Fri May 17 09:02:02 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_source_transform): Don't generate _OBJECTS
- when no source files specified. Test number.test.
-
- From Joerg-Martin Schwarz:
- * automake.in (seen_package, seen_version): New globals.
- (scan_configure): Look for PACKAGE= and VERSION=.
-
- * automake.in (handle_options): Recognize dist-zip.
- (handle_dist): Handle dist-zip.
- (handle_options): Use ' ', not \s+, with split. Test
- backsl.test.
- (handle_source_transform): Likewise.
- (handle_lib_objects): Likewise.
- (handle_libraries): Likewise.
- (handle_texinfo): Likewise.
- (handle_man_pages): Likewise.
- (handle_subdirs): Likewise.
- (handle_gettext): Likewise.
- (handle_footer): Likewise.
- (handle_tests): Likewise.
- (scan_configure): Likewise.
- (am_install_var): Likewise.
-
- * Makefile.am (TAGS_DEPENDENCIES): New macro.
-
- * tags.am (tags-recursive): New target.
- (TAGS): Depend on it.
-
- * automake.in (handle_tags): Put tags-recursive on @phony.
-
- * tags-subd.am (TAGS): Depend on HEADERS, SOURCES,
- TAGS_DEPENDENCIES.
- * tags.am (TAGS): Depend on HEADERS, SOURCES, TAGS_DEPENDENCIES.
-
-Thu May 16 09:21:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * remake.am (configure): Depend on $(CONFIGURE_DEPENDENCIES).
-
- * automake.in (scan_configure): Look for install-sh and
- mkinstalldirs here.
- (initialize_global_constants): Moved mdate-sh from
- common_sometimes to common_files. Test mdate2.test.
-
-Tue May 14 21:52:01 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (seen_maint_mode): New global.
- (scan_configure): Handle jm_MAINTAINER_MODE.
- (read_am_file): Handle seen_maint_mode.
- (file_contents_with_transform): Handle seen_maint_mode.
- (handle_source_transform): Changed interface, all callers.
-
- From Jim Meyering:
- * remake-hdr.am, remake-subd.am, remake.am, texi-version.am:
- Handle @MAINT@.
- * aclocal.m4 (jm_MAINTAINER_MODE): New macro.
-
- * automake.in (handle_configure): Check $config_aux_dir against
- empty string. From Markku Rossi. Test mkinstall.test.
-
-Fri May 10 14:38:47 1996 Gord Matzigkeit <gord@gnu.ai.mit.edu>
-
- * automake.in (distcheck): Added new rule to top level
- Makefile.in.
-
-Wed May 8 21:57:21 1996 Gord Matzigkeit <gord@gnu.ai.mit.edu>
-
- * automake.in (scan_configure): Make sure that gm_PROG_LIBTOOL
- sets seen_ranlib.
- (generate_makefile): libtool, config.sub, and config.guess should
- only ever appear in the top directory of a package.
-
-Tue May 14 10:24:30 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (initialize_global_constants): Added libversion.in
- to @common_files.
-
- * configure.in (VERSION): Upped to 0.33.
-
- * automake.in (am_install_var): Fixed problem in EXTRA_ handling.
- Test extra.test.
-
-Mon May 13 10:41:41 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * install-sh (transformbasename): Correct misspelling of
- transformbasename. From Ian Lance Taylor.
-
-Sat Apr 27 11:39:10 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_configure): Set mkinstalldirs variable
- here.
- (handle_dist_worker): Explicitly set distdir in subdir makes.
- (handle_dist): Handle separate distdir target.
- (handle_dist_worker): Only generate distdir target.
-
- * texinfos.am (install-info): Use $(mkinstalldirs).
- * scripts.am (install-@DIR@SCRIPTS): Use $(mkinstalldirs).
- * programs.am (install-@DIR@PROGRAMS): Use $(mkinstalldirs).
- * libraries.am (install-@DIR@LIBRARIES): Use $(mkinstalldirs).
- * header.am (install-@DIR@HEADERS): Use $(mkinstalldirs).
- * data.am (install-@DIR@DATA): Use $(mkinstalldirs).
-
- * automake.in (read_am_file): Set mkinstalldirs variable.
- (handle_man_pages): Use it.
- (handle_installdirs): Ditto.
-
-Fri Apr 26 15:10:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_man_pages): Fix mkinstalldirs invocation.
-
-Thu Apr 25 18:40:06 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist_worker): Use $(TAR), not tar.
- (handle_merge_targets): Make sure config header is built before
- recursing into subdirs.
- (handle_libraries): Generate LIBFILES for check_LIBRARIES.
- (handle_merge_targets): Handle case where nothing is installed but
- something must be built -- "make install" must still work.
-
- * dist-vars.am (TAR): New macro.
-
- * automake.in (scan_configure): Support AC_REPLACE_GNU_GETOPT.
- (handle_configure): Require stamp-h.in when config header used.
-
-Tue Apr 23 17:57:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * doc/mdate-sh: Extract the last field from the date output, not
- the sixth, which will fail when the timezone name has more than
- one word or is missing.
-
-Wed Apr 24 20:29:26 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (am_install_var): Use delete, not undef, to remove
- EXTRA entry. From Gord Matzigkeit.
-
-Mon Apr 22 17:48:50 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (read_am_file): Handle case where last line doesn't
- end in newline.
-
-Tue Apr 9 22:53:16 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (variable_defined): New function.
- (read_am_file): Ensure a blank line comes before starting comments
- from Makefile.am.
- (initialize_per_input): Initialize %targets.
- (read_am_file): Set appropriate entry in %targets.
- Many changes to use variable_defined.
- (check_gnu_standards): Only require ChangeLog at top level. From
- Gord Matzigkeit.
- (handle_tests): check-TESTS depends on $(TESTS). From Gord
- Matzigkeit.
-
-Mon Apr 8 22:51:41 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (parse_arguments): Added short options.
- (initialize_global_constants): Ditto.
-
-Fri Apr 5 00:22:14 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * mkinstalldirs (errstatus): Don't necessarily die if mkdir
- fails.
-
- * automake.in (handle_source_transform): Typo fix.
-
-Thu Apr 4 15:10:50 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist_worker): Renamed dist-local to
- dist-hook.
- (handle_merge_targets): Added install-data-hook and
- install-exec-hook.
- (handle_source_transform): Handle EXTRA_prog_SOURCES form.
-
- * automake.in (handle_scripts): Never allow scripts_installed to
- become 0.
-
- * scripts.am (install-@DIR@SCRIPTS): Scripts can be found in
- srcdir.
-
- * automake.in (generate_makefile): Derived file names from given
- input; don't assume Makefile.in and Makefile.am.
- (am_file_name, in_file_name): New globals.
- (read_am_file): Use them.
-
- * program.am (@PROGRAM@): Use transformed program name.
-
- * remake-hdr.am (stamp-h): Actually touch stamp-h.
-
-Wed Apr 3 15:16:06 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (require_file_internal): Use correct file for error
- messages. Test insh.test.
-
-Mon Apr 1 09:47:44 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfos.am (.texi.info): Build output file in srcdir.
-
- * automake.in (require_file_internal): If $dir is ".",then look in
- relative directory.
- (handle_texinfo): Canonicalize name of texi file before looking
- for dependency variable.
-
-Thu Mar 28 08:33:21 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (require_conf_file_with_conf_line): Yet another
- function of this form.
- (libtool_line): New variable.
- (handle_libraries): Handle libtool.
-
- * libraries-vars.am: Removed.
-
- * automake.in (seen_libtool): New variable.
- (scan_configure): Look for gm_PROG_LIBTOOL or AC_PROG_LIBTOOL.
-
- * automake.in (handle_dist_worker): Handle dist-local.
-
- * Makefile.am (maintainer-check): Do "make check" after all syntax
- checks.
-
- * texi-version.am (stamp-@VTI@): Look for mdate-sh in appropriate
- directory.
-
- * automake.in ($seen_arg_prog): New global.
- (handle_programs): Error if AC_ARG_PROGRAM not seen.
- (handle_scripts): Ditto.
- (handle_configure): mkinstalldirs now a config file.
- (handle_installdirs): Find mkinstalldirs in config_aux_dir.
- (handle_dist_worker): Removed DIST_SUBDIRS.
- (require_file_path): New variable.
- (require_file_with_conf_line): Set it.
- (require_file_with_line): Ditto.
- (require_file): Ditto.
- (require_file_internal): Incorporated code from
- require_config_file.
- (require_config_file): Rewrote.
- (require_conf_file_with_line): New function.
- (handle_texinfo): Use it for mdate-sh.
- (handle_texinfo): Look for mdate-sh in appropriate directory.
-
-Tue Mar 26 13:47:54 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * Makefile.am (cvs-dist): Find NEWS in srcdir.
- * automake.in (handle_dist_worker): Find NEWS in srcdir.
- ($RULE_PATTERN): Include chars "$(){}/" in allowable patterns in a
- rule.
- (require_config_file): Set config_aux_path when file found.
- ($config_aux_dir): New variable.
- (require_config_file): Set it.
- (handle_man_pages): Find mkinstalldirs in config_aux_dir.
-
-Mon Mar 25 15:32:57 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * data.am (install-@DIR@DATA): Also allow data to be in build
- directory.
-
-Sun Mar 24 19:56:28 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (am_install_var): Don't look in EXTRA_primary
- variable any more; it is handled in the main loop.
-
-Wed Mar 20 16:22:35 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * data.am (install-@DIR@DATA): Find data in srcdir.
-
-Fri Mar 15 18:30:31 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (require_config_file): Use correct filename when
- looking for errors. Also, install file in `.' if not found. Bug
- reported by Gord Matzigkeit. Test installsh.test.
-
-Thu Mar 14 09:28:21 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * Makefile.am (cvs-diff): New target.
-
- Fix for bug when install var substitutes empty. Test empty.test.
- * header.am (install-@DIR@HEADERS): Allow empty list of headers.
- (uninstall-@DIR@HEADERS): Ditto.
- * scripts.am (install-@DIR@SCRIPTS): Allow empty list of scripts.
- (uninstall-@DIR@SCRIPTS): Ditto.
- * libraries.am (install-@DIR@LIBRARIES): Allow empty list of
- libraries.
- (uninstall-@DIR@LIBRARIES): Ditto.
- * data.am (install-@DIR@DATA): Allow empty list of data.
- (uninstall-@DIR@DATA): Ditto.
- * programs.am (install-@DIR@PROGRAMS): Added missing semicolon.
- From François Pinard.
- (install-@DIR@PROGRAMS): Fixed bug when list of programs empty.
- (uninstall-@DIR@PROGRAMS): Ditto.
-
-Wed Mar 13 19:50:23 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * tags-subd.am (ID): Name of ID file must be flush against -f.
-
- * configure.in (VERSION): Version 0.32.
-
-Mon Mar 11 17:50:58 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (seen_linguas, all_linguas_line): New variables.
- (handle_gettext): New function.
- (generate_makefile): Run it.
- (scan_configure): Recognize ALL_LINGUAS.
-
-Mon Mar 11 14:34:36 1996 Gord Matzigkeit <gord@enci.ucalgary.ca>
-
- * automake.texi: doc fix.
-
- * automake.in (am_install_var): Added support for check and
- installcheck special prefixes.
-
-Sun Mar 10 10:44:42 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_subdirs): Don't do SUBDIRS check for
- gettext.
-
-Tue Mar 5 18:12:04 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (OBJECT_PATTERN): Removed.
- (am_install_var): No error if name is invalid.
- (handle_programs): Canonicalize program names.
- (BOGUS_MACRO_PATTERN): New variable.
- (read_am_file): Error if bad macro name given.
- (require_file_internal): Use am_line_error, not am_conf_error.
-
- * program.am (@PROGRAM@): Recognize @PROGRAM@_DEPENDENCIES.
-
-Mon Mar 4 19:30:24 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_lib_objects): New function.
- (handle_libraries): Use it.
- (handle_programs): Ditto.
- (handle_dist_worker): Deprecate DIST_SUBDIRS.
- (am_install_var): Allow extended directory mechanism to work.
- Test exdir.test.
-
- * dist-vars.am (DISTFILES): Use EXTRA_DIST.
- (DEP_DISTFILES): Ditto.
-
- * automake.in (OBJECT_PATTERN): New variable.
- (am_install_var): Use it.
- (handle_dist): DIST_OTHER is an anachronism.
-
-Sat Mar 2 17:04:38 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist_worker): Only cause Automake to be
- re-run if not making a distribution. Fixes bug reported by
- Joerg-Martin Schwarz.
- (require_file_with_line): New function.
- (require_file): Use it.
- (am_line_error): Don't print line number if $symbol is empty.
- (get_object_extension): Use require_file_with_line.
- (handle_libraries): Use require_file_with_line.
- (handle_texinfo): Use require_file_with_line.
- (handle_configure): Use am_conf_line_error and
- require_file_with_conf_line.
- (handle_subdirs): Use require_file_with_conf_line.
- (handle_configure): Use require_file_with_conf_line.
- (handle_tests): Push check-TESTS on @phony.
- (am_conf_line_error): New function.
- (require_file_with_conf_line): New function.
- (require_file_internal): New function.
- (require_file_with_line): Use it.
- (require_file): Ditto.
- (am_conf_line_error): Handle empty line number.
- (ac_gettext_line, ac_output_line): New variables.
- (scan_configure): Set them.
-
-Fri Mar 1 00:13:04 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (parse_arguments): Default strictness is gnu.
- Changed `normal' to `foreign' everywhere.
- (parse_arguments): Handle --foreign.
- (initialize_global_constants): Document --foreign.
- (handle_dependencies): Better error message.
- (handle_texinfo): Don't push $vtexi on @texis.
- (handle_texinfo): Only push $vtexi on @texi_deps if not null.
- (handle_configure): install-sh is a config file; require it as
- such.
- (parse_arguments): Renamed --install-missing to --add-missing.
- (add_missing): Renamed from install_missing.
- (am_install_var): Check to make sure contents of install variable
- are correct if primary requires it. Test badprog.test.
- (initialize_global_constants): Initialize
- %primary_uses_subobjects.
- (handle_source_transform): Skip configure substitutions. Test
- depend.test. Also, skip empty elements.
-
-Thu Feb 29 22:00:30 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * texinfo.tex: New version.
-
- * automake.in (am_install_var): Allow extended range of
- installation directories.
-
- * automake.in (get_object_extension): Don't allow
- @CONFIG_INCLUDE_SPEC@ in the Makefile.in when config.h not used.
- From Gord Matzigkeit. Test confincl.test.
-
- * texinfos.am (install-info): Changed usage of install-info (in
- comment). Per Feb 25 GNU Standards document.
-
-Wed Feb 28 07:40:55 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_tests): New function.
- (generate_makefile): Call it.
- (handle_subdirs): Skip directories whose names look like configure
- substitutions.
- (handle_subdirs): Require intl and po, not @INTLSUB@ and @POSUB@,
- when using gettext.
- (scan_configure): Clear in_ac_output if "]" found. Test
- acoutqnl.test.
- (require_config_file): New function.
- (generate_makefile): Use require_config_file.
- (config_aux_path): New variable.
- (scan_configure): Check for AC_CONFIG_AUX_DIR.
- (handle_merge_targets): Add install-strip rule.
-
-Tue Feb 27 20:00:36 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * mdate-sh: New version from Ulrich Drepper.
-
- * automake.in (handle_source_transform): Changed fill back to
- empty string.
- (handle_libraries): Ditto.
- (handle_dist): Ditto.
- (handle_dependencies): Ditto.
- (handle_footer): Ditto.
- (handle_phony): Ditto.
-
- * Makefile.am (DIST_SUBDIRS): Removed.
- (installcheck-local): Use Perl, not test -x.
- (PERL): New macro.
- (maintainer-check): Use $(PERL), not @PERL@.
-
- * configure.in (VERSION): Upped to 0.31.
-
-Sat Feb 24 18:02:19 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (scan_configure): AC_CHECK_TOOL requires config.sub
- and config.guess.
-
- * automake.in: Use keyed_aclocal_warning when warning about
- fp_PROG_INSTALL.
- (get_object_extension): Use keyed_aclocal_warning when warning
- about fp_C_PROTOTYPES.
- (keyed_aclocal_warning): New function.
-
- * Makefile.am (pkgdata_DATA): Install aclocal.m4.
- * aclocal.m4: Include fp_C_PROTOTYPES, fp_PROG_CC_STDC.
-
- * automake.in (get_object_extension): Only give error about
- fp_C_PROTOTYPES once.
-
- * automake.in (seen_ranlib): New variable.
- (scan_configure): Recognized AC_PROG_RANLIB.
- (handle_libraries): Error if ranlib not checked for.
-
- * automake.in (default_strictness): Default to GNU.
- (default_strictness_name): Ditto.
-
-Wed Feb 21 18:15:02 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (read_am_file): Removed @kr@ support.
- (get_object_extension): Ditto.
-
- * Makefile.am (pkgdata_DATA): Include ansi2knr.c and ansi2knr.1.
-
-Tue Feb 20 17:25:18 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * depend.am ($(srcdir)/.deps/%.P): Regexp fix.
-
-Mon Feb 19 19:53:09 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * remake.am ($(srcdir)/Makefile.in): Depend on configure.in.
- * remake-subd.am ($(srcdir)/Makefile.in): Depend on configure.in.
-
- * automake.in (handle_scripts): Ensure $scripts_installed set to
- boolean value. Test proginst.test.
-
- * Makefile.am (installcheck-local): New target.
-
- * automake.in (require_file): No error if missing file is
- installed.
-
-Sun Feb 18 17:10:00 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_scripts): SCRIPTS no longer automatically
- cleaned. Now possible to install scripts in pkgdatadir.
- ($seen_canonical): New variable.
- (generate_makefile): Check for config.guess and config.sub here;
- fixes bug reported by Gord Matzigkeit.
-
- * Makefile.am (pkgdata_SCRIPTS): New variable.
- (CLEANFILES): New macro.
-
- * scripts-clean.am: Removed.
-
-Sat Feb 17 00:15:20 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (am_install_var): Error if primary variable actually
- defined.
- (am_install_var): Skip elements that look like configure
- substitutions.
- (am_install_var): "EXTRA" is a valid prefix.
- (am_install_var): Push contents EXTRA_PRIMARY onto @result.
- (handle_merge_targets): Treat "all" target like "install".
- (handle_subdirs): Don't push all-recursive.
-
- * header.am (install-@DIR@HEADERS): Don't depend on all.
- * data.am (install-@DIR@DATA): Don't depend on all.
- * libraries.am (install-@DIR@LIBRARIES): Don't depend on all.
- * programs.am (install-@DIR@PROGRAMS): Don't depend on all.
- * scripts.am (install-@DIR@SCRIPTS): Don't depend on all.
-
- * automake.in (am_install_var): Push generated install targets
- onto @phony.
-
- * subdirs.am: No longer depend on Makefile and $(CONFIG_HEADER).
- * automake.in (handle_merge_targets): Correctly handle recursive
- calls of uninstall, install-exec, and install-data.
- (handle_merge_targets): Put Makefile, and possibly $config_name,
- onto @all.
- (handle_merge_targets): Push 'all' onto @install as appropriate.
-
-Fri Feb 16 18:27:04 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_configure): config.status is in
- $(top_builddir), not $(top_srcdir). Reported by Anthony Green.
-
- * automake.in (scan_configure): Recognize (AC|fp)_FUNC_FNMATCH.
-
-Thu Feb 15 19:12:45 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in: (seen_prog_yacc): New variable.
- (scan_configure): Look for yacc.
- (handle_source_transform): Skipp C++ header files.
- (handle_source_transform): .cxx is a C++ source file.
-
-Wed Feb 14 08:36:02 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * depend.am ($(srcdir)/.deps/.P): Use "echo", not ":".
-
- Implemented --verbose feature; idea from Greg Woods:
- * automake.in (verbose): New global.
- (generate_makefile): Print creating message if verbose.
- (grep_for_vers_texi): Print message if verbose.
- (handle_dependencies): Ditto.
- (scan_configure): Ditto.
- (read_am_file): Ditto.
- (parse_arguments): Added --verbose.
- (initialize_global_constants): Ditto.
-
- * automake.in (get_object_extension): Use am_line_error.
- (handle_source_transform): Ditto.
- (handle_libraries): Ditto.
- (handle_texinfo): Ditto.
- (handle_man_pages): Ditto.
- (handle_dist): Ditto.
- (handle_dist): Ditto.
- (handle_subdirs): Ditto.
- (handle_configure): Ditto.
- (handle_merge_targets): Ditto.
- (am_install_var): Ditto.
- (am_line_error): Allow actual line number as argument.
- (handle_configure): Use am_line_error.
- (scan_configure): Set config_header_line.
- (config_header_line): New global.
- Use @PERL@ to find perl during exec. From Greg Woods.
-
-Tue Feb 13 22:06:51 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (initialize_per_input): Init %content_lines.
- (read_am_file): Set appropriate content_lines elements while
- reading.
- (am_line_error): New function.
- (read_am_file): Use it.
- (handle_options): Ditto.
-
- * automake.in (scan_configure): Handle case where more than one .o
- is put into LIBOBJS at once. Test libobj.test.
-
-Mon Feb 12 20:39:28 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (scan_configure): Ignore "\" in AC_OUTPUT line.
- Test acouttbs.test.
- (handle_subdirs): Restored intl, po warnings.
-
- * automake.in (scan_configure): Delete everything after "," or
- ")". Test acoutnoq.test.
- (handle_dist): Use $relative_dir, not nonexistent $subdir.
- (handle_subdirs): 'po' and 'intl' are sometimes substituted into
- SUBDIRS; don't warn about their absence.
-
-Sun Feb 11 16:55:15 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_texinfo): Removed bogus error message.
-
- * automake.in (handle_texinfo): Push $(INFO_DEPS), not 'info',
- onto @all.
- (handle_options): Handle version number.
-
- * automake.in ($maint_charset, $dist_charset): New variables.
- (initialize_per_input): Init $local_maint_charset.
- (handle_dist): Handle DIST_CHARSET and MAINT_CHARSET.
- (generate_makefile): Don't print "creating...".
-
-Sat Feb 10 16:45:07 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (get_object_extension): Substitute
- @CONFIG_INCLUDE_SPEC@ if CONFIG_HEADER defined.
- (handle_source_transform): Use $1, not \1.
- (pretty_print_internal): Handle Tabs in fill when computing indent
- on new line.
- (handle_merge_targets): Always generate install-exec and
- install-data targets. Test instexec.test.
- Fixed error message if fp_PROG_INSTALL missing.
-
- * compile-vars.am (DEFS): Include -I., -I$(srcdir), and
- @CONFIG_INCLUDE_SPEC@.
-
- * automake.in (scan_configure): Delete everything after "]". Test
- acoutput.test.
-
- * configure.in (AC_OUTPUT): Create tests/Makefile.
- * Makefile.am (SUBDIRS): New macro.
-
- * automake.in (handle_texinfo): Put $vtexi on texi_deps. From Jim
- Meyering.
-
- * configure.in (AC_OUTPUT): Ensure automake is executable.
-
-Thu Feb 8 17:30:29 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_subdirs): Error if directory in SUBDIRS does
- not exist.
-
- * automake.in (handle_configure): Handle AC_OUTPUT ":" syntax.
-
- From Jim Meyering:
- * libraries.am (install-@DIR@LIBRARIES): Depend on all, not
- (@DIR@_LIBFILES).
- * header.am (install-@DIR@HEADERS): Depend on all, not
- $(@DIR@_HEADERS).
- * data.am (install-@DIR@DATA): Depend on all, not $(@DIR@_DATA).
- * scripts.am (install-@DIR@SCRIPTS): Depend on all, not
- $(@DIR@_SCRIPTS).
- * programs.am (install-@DIR@PROGRAMS): Depend on all, not
- $(@DIR@_PROGRAMS).
-
- * automake.in (initialize_per_input): Initialize
- $use_dependencies.
- ($seen_path_xtra): New variable.
- (scan_configure): Look for AC_PATH_XTRA.
- (get_object_extension): Add variables to output if X seen.
-
-Thu Feb 8 10:02:45 1996 Greg A. Woods <woods@most.weird.com>
-
- * automake.in (handle_programs): add pkglib to list of
- directories for C
- (various): include a tab as fill for continuation lines
- printed with pretty_print*, esp. for macro variable assignments.
- [ changed to 4 spaced by me ]
-
-Wed Feb 7 18:00:29 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * configure.in (VERSION): Upped to 0.30.
-
- * Makefile.am (automake): Removed.
- (DIST_OTHER): Removed.
-
- * automake.in (handle_source_transform): All dep_files are
- relative to $(srcdir).
- (handle_libraries): Ditto.
- (scan_configure): Test for AC_PROG_INSTALL as well as
- fp_PROG_INSTALL. Don't error here.
- (seen_prog_install): Now global.
- (scripts_installed): New global.
- (handle_scripts): Set it.
- Give error if appropriate install macro not seen.
- (handle_subdirs): Ensure $seen_gettext before requiring
- gettext-specific files.
- (handle_configure): Automatically rebuild
-
- From Jim Meyering:
- * automake.in (handle_source_transform): Use \W when quoting
- regexp. When blah_SOURCES not explicitly defined, still create
- entry in %deps.
- * depend.am ($(srcdir)/.deps/%.P): Don't use \< in regexp.
- * subdirs.am (maintainer-clean-recursive): Now depends on
- $(CONFIG_HEADER) and Makefile.
-
- * automake.in (handle_source_transform): Skip macro references.
-
-Mon Feb 5 14:58:58 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_texinfo): Include "rm" when deleting files.
-
- * Makefile.am (maintainer-check): Expect only one ${...}.
- * texinfos.am (install-info): Remove unneeded ${...}. From Jim
- Meyering.
-
- * automake.in (handle_configure): Only define CONFIG_HEADER if
- $config_name.
- ($seen_gettext): New variable.
- (handle_subdirs): Do all gettext-related checking here.
- (scan_configure): Just set $seen_gettext.
- (handle_man_pages): Properly quote $(MANS).
-
-Wed Jan 31 09:51:30 1996 Tom Tromey (tromey@gerbil.cygnus.com)
-
- * depend.am: Don't use srcdir anywhere.
- * automake.in (handle_libraries): Don't make .deps relative to
- srcdir.
- (handle_options): Recognize no-dependencies.
-
- * depend.am (MKDEP): From Jim Meyering: Do nothing if srcdir is
- ".". Properly quote regexp.
-
-Tue Jan 30 12:19:09 1996 Tom Tromey (tromey@gerbil.cygnus.com)
-
- * automake.in (handle_configure): Only defined CONFIG_HEADER if
- $config_name.
- (read_am_file): Quote regexp when substituting top_builddir.
- (handle_source_transform, handle_libraries): Look in
- $(srcdir)/.deps for .P files.
-
-Fri Jan 26 00:15:25 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (am_conf_error): New function.
- (scan_configure): Use it.
- (scan_configure): A comma also ends AC_OUTPUT macro.
-
- * automake.in (read_am_file): Compute top_builddir when including
- header-vars.am.
- (handle_configure): Use $top_builddir, not $top_reldir.
- (other_input_files): New variable.
- (dirname): Fixed bug where dirname of 'a/b/c' was 'a', not 'a/b'.
-
- Changes from Gord Matzigkeit to enabled hierarchies deeper than 2:
- * automake.in (input_files, seen_make_set): Declare globally.
- (parse_arguments): Use input_files, not make_list.
- Only scan configure.in once.
- (handle_dist): Use SUBDIRS to determine when to make
- subdirectories and recurisvely dist. Use $(topdir), not "..", to
- find top of dist tree.
- (handle_configure): Check for AC_PROG_MAKE_SET here. Don't require
- configure.in (done elsewhere).
- (scan_configure): seen_make_set is global. Allow arbitrary space
- in LIBOBJS assignment.
- (top_builddir): New variable.
- * header-vars.am (top_builddir): New variable.
- * remake-subd.am (Makefile): Look in top_builddir, not .., when
- remaking.
- * automake.in (handle_merge_targets): Run 'all' before
- check-recursive.
-
- * automake.in (file_contents_with_transform): Changed error
- message.
- (handle_configure): Define $contents{'CONFIG_HEADER'}.
-
- * texi-version.am: Many changes to support multiple .texi files.
- Replaced "version.texi" with "@VTEXI@". Replaced "vti" with
- "@VTI@".
- * automake.in (handle_configure): install.sh is an anachronism.
- (handle_texinfo): Generalized for multiple .texi files. Handle
- 'clean-info' internally.
- * texi-clean.am: Removed.
- * Makefile.am: Updated for removal.
-
-Wed Jan 24 22:55:32 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (grep_for_vers_texi): New function.
- (handle_texinfo): Use grep_for_vers_texi, not system("grep").
- (handle_texinfo): Changes to generalize to multiple .texi files.
-
-Tue Jan 23 14:22:16 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- Fixes from Gord Matzigkeit:
- * libraries.am (install-@DIR@LIBRARIES): Use top_srcdir, not
- topsrcdir.
- * header.am: New file.
- * Makefile.am (pkgdata_DATA): Install header.am.
- * automake.in (handle_headers): Use header.am, not data.am.
- (am_install_var): Allow pattern to be compiled multiple times.
-
- * config.guess, config.sub: New files.
- * Makefile.am (pkgdata_DATA): Install config.guess and
- config.sub.
- * automake.in (scan_configure): Recognize AC_CANONICAL_HOST and
- AC_CANONICAL_SYSTEM.
-
-Sun Jan 21 15:51:48 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_texinfo): Use info_TEXINFOS, not TEXINFOS.
- (handle_man_pages): Use man_MANS, not MANS.
-
- * Makefile.am (info_TEXINFOS): Renamed.
-
- * automake.in (scan_configure): Remove comments from input line.
- (am_variable): Removed.
-
- * remake-hdr.am (stamp-h): Use new macro CONFIG_HEADER_IN.
-
- * automake.in (config_name, config_header): New globals.
- (scan_configure): Look for AC_CONFIG_HEADER.
- (handle_configure): Handle more uses of AC_CONFIG_HEADER.
-
-Sat Jan 20 15:54:24 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist_worker): Bug fix.
-
-Fri Jan 19 00:50:29 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (require_file): Install missing files only according
- to desired strictness.
- (initialize_per_input): Don't init libsources.
- (scan_configure): Reinit libsources.
- (handle_libraries): Search _LIBADD for @LIBOBJS@ and @ALLOCA@.
- (fp_c_prototypes): New global.
- (scan_configure): Set it.
- (get_object_extension): Error if fp_C_PROTOTYPES not in
- configure.in when using ansi2knr.
- (handle_source_transform): Skip header files.
-
- * automake.in (handle_dist_worker): Explicitly make 'dist' in
- subdirs.
-
-Thu Jan 18 00:25:56 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- From François Pinard:
- * automake.in (handle_source_transform): Transform $o file into .P
- file.
- (handle_dist_worker): Handle case where DISTFILES includes
- wildcard. Bug fix in subdir case.
-
- * automake.in (parse_arguments): Initialize strictness to
- 'normal'.
-
-Sun Jan 14 13:54:16 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (scan_configure): Look for NLS support.
-
- Changes from François Pinard:
- * texinfos.am (install-info): Correctly install when build dir is
- not srcdir.
- * tags-subd.am (ID): Indentation change.
- * kr-vars.am (o): Use ".@U@o", not "@U@o".
- * depend.am ($(srcdir)/.deps/%.P): Remove temporary file.
- * automake.in (handle_dist_worker): Fixlets.
- (handle_dist): Sort keys going into dist_common.
-
-Sat Jan 13 00:18:06 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (handle_dist_worker): If Gnits, don't allow release
- until NEWS is updated.
-
- * configure.in (VERSION): Version 0.29.
-
- * Makefile.am (maintainer-check): Look for perl4.036 in path.
-
- * dist-vars.am (DISTFILES): Include BUILT_SOURCES.
- (DEP_DISTFILES): Ditto.
-
- * automake.in (handle_dist_worker): Depend on DEP_DISTFILES.
- * dist-vars.am (DEP_DISTFILES): New variable.
-
- * automake.in (handle_options): Support dist-shar option.
- (handle_dist_worker): New function.
- (handle_dist): Use it.
-
- * texi-version.am (mostlyclean-vti): Remove version.tmp, not
- *.tmp.
-
- * automake.in (handle_dist): Chmod distdir 777. From François
- Pinard.
-
- * automake.in (scan_configure): New function.
- (initialize_per_input): Init libsources.
- (generate_makefile): Run handle_configure first.
- (handle_configure): Run scan_configure.
- (handle_configure): Don't look for AC_PROG_MAKE_SET here.
-
-Thu Jan 11 23:14:18 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * Makefile.am (AUTOMAKE_OPTIONS): New variable.
-
- * automake.in (strictness, strictness_name): Renamed.
- (initialize_per_input): Set strictness, strictness_name.
- Initialize %options.
- (generate_makefile): Run handle_options.
- (handle_options): New function.
- (handle_man_pages): Make install-man depend on $(MANS). Turn off
- man page install if no-installman option given.
- (read_am_file): Deprecate @kr@.
- (get_object_extension): Look at ansi2knr option.
- (parse_arguments): Take global strictness from command-line
- options.
-
-Tue Jan 9 11:24:14 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- Fixes from François Pinard:
- * depend.am ($(srcdir)/.deps/%.P): Handle deansification.
- * automake.in (get_object_extension): Use $o, not $(kr)o.
- (handle_source_transform): Don't look for $(kr)c files.
- * kr-vars.am (o): New macro.
- (kr): Removed.
-
- * depend.am (DEP_FILES): Removed.
- * automake.in (handle_source_transform): Push .P file onto
- dep_files.
- (initialize_per_input): New variable %dep_files.
- (handle_dependencies): Generate DEP_FILES here.
-
-Mon Jan 8 22:27:33 1996 Tom Tromey <tromey@creche.cygnus.com>
-
- * automake.in (do_one_clean_target): Only remove config.status in
- top-level directory.
- (handle_tags): Removed 'id' from .PHONY list. From Jim Meyering.
-
- * clean.am (maintainer-clean-generic): Remove BUILT_SOURCES.
-
- * automake.in (handle_dist): Make "ln" quiet.
-
- * tags-subd.am (ID): Depend on HEADERS and SOURCES.
-
-Sat Jan 6 10:58:23 1996 Tom Tromey <tromey@cambric.colorado.edu>
-
- * automake.in (handle_merge_targets): 'check' shouldn't depend on
- 'all' at top level.
- (file_contents_with_transform): New function.
- (am_install_var): Use file_contents_with_transform.
- (handle_programs): Ditto.
- (handle_libraries): Ditto.
- (handle_texinfo): Ditto.
- (handle_merge_targets): Let 'install' depend on 'all' if no other
- dependencies exist. From Jim Meyering.
- (check_gnu_standards): GNU requires AUTHORS file. (See
- maintain.text).
- (require_file): Put body in loop.
- (get_object_extension): Only call require_file once.
- (handle_configure): Ditto.
-
- From Jim Meyering:
- * depend.am ($(srcdir)/.deps/.P): Depend on $(BUILT_SOURCES).
- * tags-subd.am (id): Removed.
-
-Fri Jan 5 10:31:19 1996 Tom Tromey <tromey@cambric.colorado.edu>
-
- * Added copyright notice to each .am file.
-
- * automake.in: Cleanups from François Pinard to avoid $#.
- (require_argument): Fixed sense of test.
- (set_strictness): Bug fix.
-
-Thu Jan 4 21:21:29 1996 Tom Tromey <tromey@cambric.colorado.edu>
-
- * Makefile.am (pkgdata_DATA): Removed old dist files.
-
- * dist-subd-top.am, dist-subd.am, dist.am: Removed.
-
- * automake.in (set_strictness): Set $strictness_name.
- (strictness_name): New variable.
- (handle_dist): Substantially rewrote.
-
- * configure.in: Point AC_INIT at automake.in.
-
- * automake.in (generate_makefile): Report errors against
- Makefile.in, not Makefile.am.
-
-Wed Jan 3 00:05:40 1996 Tom Tromey <tromey@cambric.colorado.edu>
-
- * mdate-sh: Bug fix from Jim Meyering.
-
- * dist.am (dist): Changed in parallel with dist-subd-top.am.
-
- * mkinstalldirs: Reverted.
-
- * automake.in (initialize_global_constants): Allow COPYING.LIB
- again.
- (check_gnits_standards): Disallow COPYING.LIB.
-
- * texinfos.am (install-info): Only look in $(srcdir) for info
- files.
-
- * automake.in (initialize_global_constants): New variable
- gen_copyright.
- (read_am_file): Put a copyright in each Makefile.in.
-
- * dist-vars.am (DISTFILES): Put DIST_COMMON first.
-
- * automake.in (am_install_var): Put space before "=".
- (handle_dist): Put README first in DIST_COMMON.
-
- * Makefile.am (pkgdata_DATA): Include COPYING.
-
- * COPYING: New file.
-
- * automake.in (parse_arguments): Added --gnu and --gnits as
- synonyms.
- (initialize_global_constants): Ditto.
- (initialize_global_constants): Don't auto-distribute COPYING.LIB.
- (initialize_global_constants): Look for README first.
- (initialize_global_constants): Auto-distribute AUTHORS, BACKLOG,
- ABOUT-GNU.
- (check_gnu_standards): Require file COPYING.
-
- From François Pinard:
- * automake.in (file_contents): Comment out "warn"s.
- (usage): Use 4 columns.
- (USAGE_FORMAT): Ditto.
-
- * texinfos.am (install-info): Look for info file relative to $$d.
-
- * Makefile.am (cvs-dist): Suppress output of "grep".
-
- * configure.in (VERSION): Version 0.28.
-
- * automake.in (pretty_print_internal): Fix for Perl 4
- compatibility.
-
- * configure.in (VERSION): Version 0.27.
-
- * depend.am ($(srcdir)/.deps/%.P): Must regexp-quote srcdir in sed
- invocation.
-
- * automake.in (initialize_global_constants): Don't quote "@" in
- $install_man_format.
- (handle_merge_targets): use "@:" as empty command, not ":".
-
-Tue Jan 2 23:33:24 1996 Tom Tromey <tromey@cambric.colorado.edu>
-
- * texinfos.am (install-info): Look in $d for info files. From
- François Pinard.
-
- * depend.am ($(srcdir)/.deps/%.P): Fixed regexp.
-
- * automake.in (read_am_file): Correctly deal with continued
- variable definitions.
-
-Mon Jan 1 15:43:25 1996 Tom Tromey <tromey@cambric.colorado.edu>
-
- * automake.in (handle_merge_targets): 'check' target depends on
- 'all'.
- (file_contents): Don't be so verbose.
- (read_am_file): Ditto.
- (read_am_file): Must use substr to check for trailing \.
- (am_install_var): Use push_phony_cleaners.
- (file_contents): Set $was_rule when assuming a rule is seen.
- (read_am_file): Ditto.
- (do_one_clean_target): Removed spurious newline.
-
- Some changes from François Pinard:
- * Removed trailing whitespace from all '.am' files.
- * tags-subd.am (ID): Use &&, not ;.
- (TAGS): Ditto.
- * automake.in (parse_arguments): Removed useless message.
- (parse_arguments): Don't explicitly referenced STDERR.
- (require_argument): Ditto.
- (am_error): Ditto.
- (set_strictness): Ditto.
- (file_contents): Ditto.
- (read_am_file): Ditto.
- (generate_makefile): Style tweaks.
- (handle_programs): Ditto.
- (handle_libraries): Ditto.
- (handle_texinfo): Ditto.
- (handle_man_pages): Ditto.
- (handle_tags): Ditto.
- (handle_dist): Ditto.
- (handle_subdirs): Ditto.
- (handle_configure): Ditto.
- (handle_footer): Don't put newline before footer.am contents.
- (handle_merge_targets): Style tweaks.
- (do_one_clean_target): Ditto.
- (dirname): Ditto.
- (am_variable): Ditto.
- Defined some new constants.
- (generate_makefile): Don't call generate_header.
- (generate_header): Removed.
- (file_contents): Rewrote.
- (read_am_file): Rewrote.
-
- * automake.in (generate_makefile): Handle phony target.
- (do_one_clean_target): Pretty-print dependencies.
- (handle_installdirs): Pretty-print rule.
-
- * Makefile.am (maintainer-check): Made some commands silent.
-
- * automake.in (initialize_global_constants): Don't install or
- uninstall cat'd man pages.
- (initialize_per_input): Added phony target.
- (push_phony_cleaners): New function.
- (get_object_extension): Handle phony targets.
- (handle_texinfo): Ditto.
- (handle_man_pages): Ditto.
- (handle_tags): Ditto.
- (handle_dist): Ditto.
- (handle_subdirs): Ditto.
- (handle_installdirs): Ditto.
- (handle_merge_targets): Ditto.
- (handle_clean): Ditto.
- (do_one_merge_target): Ditto.
- (am_install_var): Ditto.
- (handle_phony): New function.
- (generate_makefile): Call it.
- (pretty_print_internal): New function.
- (pretty_print_rule): Ditto.
-
-Sun Dec 31 13:04:59 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * automake.in (initialize_global_constants): Don't print body of
- loop at make time.
-
- Changes from François Pinard:
- * depend.am (MKDEP): Include DEFS, INCLUDES, CPPFLAGS, CFLAGS.
- (DEP_FILES): Put dependency files in $(srcdir).
- Look in $(srcdir) when including dependency files.
- ($(srcdir)/.deps/.P): .deps/.P is in $(srcdir).
- (.deps/%.P): MKDEP includes all macro expansions.
- * dist-subd-top.am (dist): Get absolute path for distdir. Don't
- be so verbose.
- * dist-subd.am (dist): Don't be so verbose.
- * dist.am (dist): Don't be so verbose.
-
- * automake.in (do_one_clean_target): Remove config.status in
- maintainer-clean. From Jim Meyering.
-
- * programs-clean.am (clean-@DIR@PROGRAMS): Bug fix. From Jim
- Meyering.
-
- * automake.in (handle_merge_targets): Add dummy command for empty
- install target. From Jim Meyering.
-
-Tue Dec 12 10:06:28 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * texinfos.am (uninstall-info): Bug fix.
-
- * Makefile.am (maintainer-check): Error if ${...} used.
- * depend.am (DEP_FILES): Prefer $(...).
-
- * scripts.am (install-@DIR@SCRIPTS): Only install script if it
- exists.
- * libraries.am (install-@DIR@LIBRARIES): Only install library if
- it exists.
- * programs.am (install-@DIR@PROGRAMS): Only install program if it
- exists.
-
- * texinfos-vars.am (TEXFILES): Removed.
-
- * Makefile.am (pkgdata_DATA): Removed libprograms.am.
-
- * automake.in (do_one_merge_target): Never generate trailing
- whitespace.
- (pretty_print): New function.
- (handle_footer): Prettyprint definitions.
- (am_install_var): Ditto.
- (handle_source_transform): Ditto.
- (handle_dist): Ditto.
- (handle_libraries): Ditto.
- (read_am_file): Put comments nearer appropriate code.
-
- * texi-clean.am (mostlyclean-info): Use continued lines, not
- multiple rm's. From Jim Meyering.
-
-Sun Dec 10 11:59:33 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * Makefile.am (pkgdata_DATA): Cause INSTALL, install-sh, mdate-sh,
- mkinstalldirs, texinfo.tex to be installed.
- * automake.in (symlink_exists): New global.
- (install_missing): Ditto.
- (require_file): Install missing files if possible.
- (parse_arguments): Handle --install-missing option.
- (initialize_global_constants): Document --install-missing.
-
- * Makefile.am (cvs-dist): Don't release unless NEWS updated.
- Ensure 'checks' pass before release.
- (maintainer-check): Renamed. Look in $(srcdir) for sources. From
- Franc,ois Pinard.
- (cvs-dist): Depend on maintainer-check instead of explicitly
- running check.
-
- * configure.in (VERSION): Version 0.26.
-
- * Makefile.am (check-local): Only look at [a-z]*.am. Fixed sense
- of 'if' test.
-
- * depend.am (DEP_FILES): Bug fix.
-
- * automake.in (do_one_clean_target): Typo.
-
- * Makefile.am (check-local): Run syntax check under Perl 4.
-
- * automake.in: Fixes for Perl 4, from Gord Matzigkeit.
- (handle_source_transform): Loop variable is now $_. From Gor
-
- * Makefile.am (check-local): Check for 'true' in source.
- * texinfos.am (install-info): Can't use "true" in any rule.
-
-Sat Dec 9 10:16:48 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * Makefile.am (cvs-dist): New target.
-
- * tags.am (TAGS): Use "test -z ... ||" to avoid spurious
- failures.
-
- * texinfos.am (install-info): Don't do install-info for now.
-
- * clean.am (distclean-generic): Don't remove config.status here.
- * automake.in (do_one_clean_target): Remove config.status later,
- for 'make -j2'. From Jim Meyering.
-
-Fri Dec 8 16:30:48 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * configure.in (VERSION): Version 0.25.
-
- * automake.in (handle_texinfo): Use "$? >> 8", not "$?".
- (handle_configure): Check for AC_PROG_MAKE_SET.
-
- * depend.am (DEP_FILES): Handle deANSIfication case. From Jim
- Meyering.
-
- * automake.in (am_install_var): Changed how 'clean' handled for
- uniform name targets.
- * Makefile.am (pkgdata_DATA): Added new files.
- * data-clean.am: New file.
- * scripts-clean.am: New file.
- * libraries-clean.am: New file.
- * programs-clean.am: New file.
-
-Wed Dec 6 00:06:11 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * automake.in (am_install_var): Error if variable name
- "misspelled".
- (handle_source_transform): Automatically include .c file
- corresponding to .y or .l.
-
-Tue Dec 5 00:46:14 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * programs.am: Changed for uniform naming scheme.
-
- * automake.in (read_am_file): Allow '-' and '.' in target names.
- (generate_makefile): Don't pass arguments to handle_libraries.
- (initialize_per_input): Define @sources, @objects.
- (generate_makefile): Init @sources, @objects if needed.
- (handle_source_transform): Push onto @sources, @objects here.
- (am_install_var): Push primary onto @all, for configure-time
- customization.
- (handle_programs): Use new uniform naming scheme.
-
- * Makefile.am (check-local): New target.
-
- * automake.in (handle_libraries): Use uniform naming scheme.
-
- * libraries.am: Rewrote for uniform naming scheme.
-
- * scripts.am: Updated names of all clean targets.
-
- * automake.in (handle_programs): Split on all whitespace.
- (handle_libraries): Ditto.
- (handle_texinfo): Ditto.
- (handle_man_pages): Ditto.
- (am_install_var): Changed return result.
- (am_install_var): Changed interface.
- (am_install_var): Push onto @clean@ if requested.
- (handle_scripts): Pass -clean to am_install_var.
-
-Mon Dec 4 11:55:36 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * automake.in (am_install_var): Push target onto @all.
- (get_object_extension): Use $(...).
- (handle_source_transform): Ditto.
- (handle_programs): Ditto.
-
- * automake.in (require_argument): New function.
- (parse_arguments): Use it.
- (push_dist_common): New function.
- (generate_makefile): Use it.
- (handle_texinfo): Ditto.
- (handle_dist): Ditto.
- (handle_configure): Ditto.
- (require_file): Ditto.
- (generate_makefile): Don't pass arguments to handle_scripts.
- (handle_configure): Require configure.in.
- (check_gnu_standards): New function.
- (check_gnits_standards): Ditto.
- (generate_makefile): Check standards.
-
- * Makefile.am (bin_SCRIPTS): Changed name from SCRIPTS.
-
- * automake.in (LENIENT, GNU, GNITS): New constants.
- (initialize_per_input): New function.
- (generate_makefile): Use it.
- (initialize_global_constants): Renamed from init_globals.
- (require_file): Added strictness argument.
- (parse_arguments): Added --strict option.
- (set_strictness): New function.
- (parse_arguments): use it.
- (initialize_global_constants): Document --strictness.
-
- * automake.in: Use ${1+"$@"} to preserve quoting when running
- under sh.
-
- * texinfos.am (install-info): Don't use "true".
- * tags.am (TAGS): Don't use "true".
-
- * dist.am, dist-subd-top.am, remake-hdr.am, remake-subd.am,
- remake.am, subdirs.am, texinfos.am: Use "&&" after cd.
-
- * program.am (@PROGRAM@): Use LINK macro.
- * compile.am (.c.o): Use COMPILE macro.
-
- * clean.am, remake-hdr.am, remake.am, texinfos.am: Use $(...), not
- ${...}.
-
- * subdirs.am (RECURSIVE): Removed macro.
-
- * clean.am: Changed to not be so verbose.
-
- * Makefile.am (pkgdata_DATA): Include texi-clean.am.
- * automake.in (handle_texinfo): Transform texi-clean and put into
- output rules.
- * texinfos-vars.am (TEXFILES): Removed.
- * texinfos.am: Removed 'clean' targets.
- * texi-clean.am: New file.
-
- * Makefile.am (ETAGS_ARGS): Just use 'automake.in'.
-
- * texinfos-vars.am (TEXFILES): Added *.op.
-
- * dist-vars.am (DISTFILES): Renamed from DIST_FILES, per GNU
- standards.
- * dist.am (dist): Use DISTFILES.
- * dist-subd.am (dist): Use DISTFILES.
- * dist-subd-top.am (dist): Use DISTFILES.
-
-Sun Dec 3 00:24:08 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * Makefile.am (ETAGS_ARGS): Define.
-
- * depend.am (.deps/.P): Use ":", not "echo timestamp". From Jim
- Meyering.
-
- * dist-vars.am (DIST_FILES): Removed PACKAGEDATA.
-
- * automake.in (handle_scripts): Use am_install_var.
-
- * scripts.am: Rewrote for new uniform naming scheme.
-
- * Makefile.am (pkgdata_DATA): Removed libscripts.am.
-
- * libscripts.am: Removed.
-
- * packagedata.am: Removed.
-
- * Makefile.am (PACKAGEDATA): Removed packagedata.am.
- (pkgdata_DATA): Renamed from PACKAGEDATA.
-
- * automake.in (handle_data): Use am_install_var.
- (init_globals): Init %exec_dir_p.
-
- * data.am: Rewrote for new uniform naming scheme.
-
- * automake.in (get_object_extension): New function.
- (handle_programs): Use it.
- (dir_holds_sources): Changed interpretation.
- (handle_headers): New function.
- (am_install_var): New function.
- (generate_makefile): Call handle_headers.
-
- * header-vars.am (pkgdatadir): New macro.
- (pkglibdir): Ditto.
- (pkgincludedir): Ditto.
-
- * automake.in (handle_source_transform): New function.
- (am_error): New function.
- (generate_makefile): Use it.
- (handle_source_transform): Ditto.
- (handle_texinfo): Ditto.
- (handle_dependencies): Ditto.
- (handle_merge_targets): Ditto.
- (require_file): Ditto.
-
-Sat Dec 2 21:39:56 1995 Tom Tromey <tromey@cambric.colorado.edu>
-
- * automake.in: Updated FSF address. From Jim Meyering.
- * header-vars.am: Updated FSF address.
-
- * distname.am: Removed.
-
- * automake.in (file_contents): Strip "##" comments.
- * Various files: Added "##" comments for strange things.
-
- * automake.in (handle_tags): Generate TAGS rule for every
- directory.
-
- * subdirs.am (RECURSIVE): Include installcheck-recursive.
- * automake.in (installcheck): New variable.
- (generate_makefile): Initialize it.
- (handle_subdirs): Push 'installcheck-recursive'.
- (handle_merge_targets): Handle installcheck target.
-
-Thu Nov 30 20:13:16 1995 Tom Tromey <tromey@cambric>
-
- * automake.in ($PACKAGE): Removed.
-
- * header-vars.am (ALL): Removed.
-
- * automake.in: Reworked 'all' target handling.
-
- * automake.in (generate_makefile):
- Don't use AM_ forms in call to am_variable.
-
- * automake.in: Changes for Perl 5, from Gord Matzigkeit
-
- * clean.am (MOSTLYCLEANFILES, MAINTAINERCLEANFILES): New variables.
-
- * automake.in (handle_footer): Allow SUFFIXES variable.
-
- * automake.in (am_variable): New function.
- (handle_texinfo): Use it.
- (generate_makefile): Use it.
-
- * configure.in: Version 0.24.
-
-Wed Nov 29 23:50:14 1995 Tom Tromey <tromey@cambric>
-
- * automake.in (handle_libraries):
- Generate blah_LIBADD defines if required.
-
- * library.am (lib@LIBRARY@.a): Look at $(@LIBRARY@_LIBADD)
-
- * libraries-vars.am (LIBOBJS, ALLOCA): Removed.
-
- * compile-kr.am: ($(OBJECTS)): Depend on $(ANSI2KNR), not ansi2knr.
-
- * configure.in: Version 0.23
-
- * dist-subd-top.am (dist): Don't die if a subdirectory already exists.
-
- * dist-subd-top.am, dist.am (dist): Give automake --output-dir option.
-
- * automake.in: New option --output-dir
-
- * automake.in (handle_configure): Fixed typo.
-
- * automake.in (handle_installdirs): Always make installdirs target.
-
- * subdirs.am (RECURSIVE): Removed uninstall-data-recursive and
- uninstall-exec-recursive. Added installdirs-recursive.
-
- * automake.in (handle_installdirs): Handle installdirs-recursive.
- (handle_man_pages): 'all' depends on $(MANS)
-
- * Makefile.am: Removed mans.am.
-
- * automake.in: More man-related fixes
-
- * automake.in: Bug fixes
-
- * automake.in: Rewrote man page handling.
-
- * texi-version.am, remake-hdr.am, depend.am: Don't use touch.
-
- * automake.in (handle_installdirs): New function.
- (@installdirs): New global.
- Many changes to deal with installdirs.
-
- * clean.am (clean-generic): Always supply 'else' clause to 'if'
-
- * automake.in (generate_header): Don't use header.am.
- (handle_dist): Don't use dist-subd-vars.am.
-
- * Makefile.am (PACKAGEDATA): Removed dist-subd-vars.am, header.am.
-
- * Makefile.am (DISTCLEANFILES): Removed.
-
- * clean.am (clean-generic): Bug fix.
-
- * clean.am (clean-generic): Only remove CLEANFILES if nonempty
-
- * texi-version.am (clean-vti): No such macro as VTI
-
-Tue Nov 28 19:56:07 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: Bug fix for maintainer-clean
-
- * automake.in (do_one_clean_target):
- Print special text in maintainer-clean.
- (handle_clean): Always include clean.am
-
- * clean.am: Use -generic clean targets.
-
- * compile.am: Added clean targets.
-
- * configure.in: Version 0.22.
-
- * automake.in (handle_dependencies):
- Put trailing newline after all deps.
-
- * automake.in (handle_dependencies): Another dependency bug fix.
-
- * automake.in (handle_dependencies):
- Bug fix when including dependencies.
-
- * automake.in (handle_configure):
- Verify existence of install-sh, mkinstalldirs
-
- * automake.in (handle_texinfo): Include stamp-vti in distribution
-
- * dist-subd-vars.am, dist-vars.am (DIST_FILES):
- Include DATA, PACKAGEDATA.
-
- * Makefile.am: Nothing
-
- * Makefile.am (DIST_OTHER): Don't distribute gettext-sh
-
- * automake.in (handle_texinfo): Typo
-
- * automake.in: If script ends up in shell, feed to perl
-
- * automake.in: Rewrote 'clean' rules.
- Documentation made and installed first.
- 'all' depends on 'info'
-
-Mon Nov 27 23:57:29 1995 Tom Tromey <tromey@cambric>
-
- * configure.in, Makefile.am: Turned off internationalization.
-
- * clean-kr.am: Rewrote for new clean scheme.
-
- * tags-clean.am: Remove TAGS in distclean, not maintainer-clean
-
- * Makefile.am (PACKAGEDATA): Include tags-clean.am
-
- * subdirs.am: Removed bogus local clean targets
-
- * tags-clean.am: Initial revision
-
- * texi-version.am: Added clean targets
-
- * texinfos.am: Fixes to clean targets.
-
- * texinfos.am, libscripts.am, scripts.am, libraries.am, libprograms.am, programs.am:
- Added clean targets
-
- * compile-kr.am (ansi2knr.o): Depend on CONFIG_HEADER
-
- * automake.in: Completely revamped automatic de-ANSI-fication
-
- * compile-kr.am: (ansi2knr, $(OBJECTS)): New targets
-
- * compile-vars.am (LINK): New macro
-
- * kr-vars.am: Trailing blank line
-
- * compile-kr.am: Rewrote
-
- * compile-vars.am (COMPILE): New macro
-
- * compile-vars.am (ANSI2KNR): Removed
-
- * Makefile.am (PACKAGEDATA): Removed all sed scripts. Added kr-vars.am
-
- * kr-vars.am: Initial revision
-
- * automake.in (require_file): New function.
- (handle_texinfo): Require 'mdate-sh'
- (common_sometimes): New variable
- (usage): Use it.
-
- * texi-version.am (stamp-vti): Use Ulrich's mdate-sh script
-
- * mdate-sh: Initial revision
-
- * automake.in (handle_footer): Don't define SOURCES or OBJECTS if empty
-
- * automake.in (generate_makefile):
- Put Makefile.in, Makefile.am in @dist_common
- (handle_configure): Use @dist_common as appropriate
-
- * dist-subd-vars.am, dist-vars.am (DIST_CONF): Removed
-
- * configure.in: Abort if perl not found
-
- * configure.in: Look for perl
-
- * automake.in: Reimplemented in Perl
-
- * automake.in: Fixlet
-
-Sun Nov 26 08:09:30 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: Always print ".SUFFIXES:" rule.
-
- * automake.in: Distribution config.h.in if required
-
- * automake.in: Bug fix when including texi-version.am
-
- * automake.in: Bug fix when looking for .texi file in $am_reldir
-
- * depend.am: Comment fix
-
- * automake.in: Look for .texi file in $am_reldir
-
- * automake.in: Fixlet
-
- * automake.in: Blank line after targets from user's Makefile.am
-
- * automake.in: Move footer items to actual footer
-
- * automake.in: Include stamp-h.in in DIST_COMMON if necessary
-
- * automake.in (common):
- Don't include acconfig.h, config.h.top, config.h.bot
-
- * Makefile.am (CONFIG_HEADER): Renamed from CONFIG_H
-
- * Makefile.am (CONFIG_H): Define
-
- * acconfig.h: Initial revision
-
- * configure.in: Use AC_CONFIG_HEADER.
-
- * automake.in: Put blah_TEXINFOS into DIST_COMMON
-
- * automake.in: .info file explicitly depends on primary .texi file
-
- * texinfos.am (install-info): Always supply 'else' clause to 'if'
-
- * tags.am (TAGS): Always supply 'else' clause to 'if'
-
- * subdirs.am (.NOEXPORT): Removed (now in footer.am)
-
- * automake.in: Always include footer.am in output
-
- * mans.am (install-man): Always supply 'else' clause to 'if'
-
- * automake.in: More version.texi fixes
-
- * automake.in: Only do version.texi processing if requested.
-
- * automake.in: Minor internationalization fixes.
- Subshell can now exit with nonzero status.
- Fixed up .texi handling; now uses texi-version.am
- Make sure '.c' and '.o' are in .SUFFIXES if required.
-
- * Makefile.am (PACKAGEDATA): Include texi-version.am
- (stamp-vti, version.texi): Removed
- (TEXINFOS): Don't reference version.texi
-
- * texi-version.am: Initial revision
-
- * dist.am, dist-subd-top.am (dist):
- [DIST_SUBDIRS] Follow symlinks when copying.
-
- * dist-subd-top.am (dist): Removed unneeded subdir= option to make
-
-Sat Nov 25 23:23:39 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: Added --amdir option
-
- * Makefile.am, configure.in: Turned on internationalization
-
- * Makefile.am: Set EDITION
-
- * configure.in: Version 0.21
-
- * tags.am, tags-subd.am: Don't use double-colon rules
-
- * automake.in: Redid install-data, install-exec, uninstall handling
-
- * configure.in: Turn off i18n
-
-Fri Nov 24 23:51:37 1995 Tom Tromey <tromey@cambric>
-
- * automake.in (common): Remove NLS
-
- * automake.in (common): Include ABOUT-NLS.
-
- * automake.in: Test for install-sh and mkinstalldirs
-
- * automake.in: Blank line after OBJECTS= line
-
- * automake.in: Start subshell in loop after check for Makefile.am
-
- * automake.in: --use-deps now the default
-
- * automake.in (am_dir): Don't apply transform to install directory name
-
- * packagedata.am: Don't apply transform to install directory name
-
- * Makefile.am (SUBDIRS): Hold off on internationalization
-
-Thu Nov 23 18:02:38 1995 Tom Tromey <tromey@cambric>
-
- * automake.in:
- Write 'SOURCES =' line after copying Makefile.am variables
-
- * automake.in: Fixed bug in "--" option processing
-
- * subdirs.am: ($(RECURSIVE)): Removed trailing \ from last line
-
- * Makefile.am (DIST_OTHER): Include gettext-sh
-
- * Makefile.am (SUBDIRS): Define
-
- * configure.in: Include internationalization bits
-
- * automake.in: Many changes to avoid double-colon rules.
-
- * subdirs.am: ($(RECURSIVE)): Print name of target actually used
-
- * subdirs.am: Removed "::" rules
-
- * header.am: Removed install, uninstall
-
- * header.am: Added install, uninstall targets
-
- * hack-make.sed: Rewrite targets like "all-local" to "all_local"
-
- * header.am, libraries.am, mans.am, texinfos.am, footer.am:
- Removed "::" rules
-
- * Makefile.am (PACKAGEDATA): Include libscripts.am
-
- * libprograms.am: Don't install libscripts here
-
- * libscripts.am: Initial revision
-
- * scripts.am, programs.am, libprograms.am: Removed "::" rules
-
- * automake.in (am_dir): Run package name through name transform.
-
- * automake.in: Don't use packagedata.sed or data.sed
-
- * Makefile.am (PACKAGEDATA): Removed data.sed, packagedata.sed. Added
- packagedata.am
-
- * data.am: No longer run through sed
-
- * packagedata.am: Initial revision
-
-Wed Nov 22 22:31:02 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: No blank line after Usage
-
- * automake.in: Removed "NLS nuisances" section.
- Now uniformly uses $echo for user-visible messages (in advance of
- internationalization)
-
- * subdirs.am (maintainer-clean): Don't use realclean-local
-
- * Makefile.am: Use PACKAGEDATA, not custom code
-
- * data.am: Use @LONG@, not $(@LONG@)
-
- * automake.in: Handle DATA and PACKAGEDATA
-
- * packagedata.sed: Initial revision
-
- * data.am: Use @DIR@, not $(@DIR@)
-
- * data.sed: Use $(datadir), not datadir
-
- * data.sed: Initial revision
-
- * data.am: Wrote uninstall targets
-
- * data.am: Initial revision
-
- * dist-subd.am (dist): Don't link a file that has already been linked
-
- * dist-subd-top.am, dist.am (dist):
- Run `automake --include-deps' before making distribution
-
- * automake.in: More dependency-tracking bug fixes
-
- * dist-vars.am (DIST_FILES): Rearranged to be like dist-vars-subd.am
-
- * dist-subd-vars.am (DIST_FILES): Include DIST_COMMON
-
- * tags-subd.am, tags.am: Added trailing blank line
-
- * depend.am: Use ".P", not "empty.P", as placeholder.
-
- * automake.in: Only include depend.am if SOURCES not empty
-
- * automake.in: Added --use-deps and --include-deps options.
- Handle auto-generating dependencies.
-
- * Makefile.am (am_DATA): Include depend.am
-
- * depend.am: Initial revision
-
- * automake.in: Look for acconfig.h, config.h.top, and config.h.bot
-
- * automake.in: Put blank line after .SUFFIXES
-
- * scripts.am: Added blank line at end
-
- * scripts.am: Removed unnecessary comment
-
- * scripts.am: Removed unnecessary workarounds
-
- * automake.in: Don't include programs.am if PROGRAMS empty
-
- * header-vars.am (INSTALL_SCRIPT): Typo
-
- * texinfos.am, compile-kr.am: Don't include .SUFFIXES
-
- * automake.in: Handle .SUFFIXES here.
-
- * configure.in: Use fp_PROG_INSTALL
-
- * header-vars.am: Changes for autoconf 2.5.
- Now includes INSTALL_SCRIPTS.
-
- * texinfos.am (install-info): Bug fix
-
- * automake.in:
- Include scripts.am or libscripts.am in output if appropriate
-
- * programs.am (install-programs, uninstall-programs):
- Don't install SCRIPTS
-
- * Makefile.am (am_DATA): Include scripts.am
-
- * scripts.am: Initial revision
-
-Tue Nov 21 09:11:38 1995 Tom Tromey <tromey@cambric>
-
- * automake.in:
- Cleaned up how "prog_SOURCES" variable is found in input.
- Ditto prog_OBJECTS.
- Put static sed scripts into separate, installed files.
-
- * Makefile.am (am_DATA): Include hack-make.sed and nl-remove.sed
-
- * hack-make.sed, nl-remove.sed: Initial revision
-
- * texinfos.am (install-info): Rewrote
-
- * subdirs.am (all-recursive): Put with other -recursive rules
-
- * configure.in: Version 0.20
-
- * automake.in: Another bug fix
-
- * automake.in: Bug fix when looking for texinfo.tex
-
- * texinfo.tex: Initial revision
-
- * automake.in:
- If TEXINFOS defined but texinfo.tex does not exist, give warning.
-
- * subdirs.am (all): Renamed from _all. Now uses all-recursive
- (all-recursive): Don't fail immediately if -k specified.
-
-Mon Nov 20 22:48:03 1995 Tom Tromey <tromey@cambric>
-
- * subdirs.am (_all):
- New target. Now use Jim Meyering's formulation of AIX
- workaround.
- (install-exec, install-data): New targets
-
-Sat Nov 18 19:07:30 1995 Tom Tromey <tromey@cambric>
-
- * remake.am (Makefile.in): automake "Makefile", not "Makefile.am"
-
- * automake.in: Use @datadir@
-
- * automake.in: Added @configure_input@ line
-
-Fri Nov 17 23:32:43 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: "--help" option now prints auto-recognized file names.
- Allow AM_ overriding of more variables.
-
- * texinfos.am (install-info):
- Don't cd to srcdir to avoid breaking install-sh
- Other bug fixes
-
- * Makefile.am: Handle automake.texi
-
-Thu Nov 16 18:43:43 1995 Tom Tromey <tromey@cambric>
-
- * subdirs.am (all): Separated out due to AIX 3.2.5 bug.
-
- * tags.am (TAGS): bug fix
-
- * automake.in: Use am_dir, not AM_DIR.
- Use version, not VERSION.
- Bug fix in TAGS code.
-
- * Makefile.am (am_DATA): Include tags.am and tags-subd.am
-
- * subdirs.am: TAGS target now in tags.am
-
- * footer.am: TAGS and ID targets now in tags-subd.am
-
- * tags-subd.am, tags.am: Initial revision
-
- * automake.in: Cleaned up AM_PROGRAM code.
- Handle TAGS target better
-
- * remake.am, remake-subd.am (Makefile.in): Bug fix.
-
- * automake.in (usage): Updated
-
- * remake-subd.am, remake.am:
- Added rule where Makefile.in depends on Makefile.am
-
- * automake.in: Entire body of 'for' loop now in subshell
-
- * automake.in (common): config.guess and config.sub are common files.
-
- * dist-subd-top.am, dist.am (dist): Bug fix.
-
- * Makefile.am (DIST_OTHER): Don't include TODO
-
- * automake.in: Auto-include TODO and THANKS files.
-
- * dist-subd-top.am, dist.am (dist): Don't depend on DIST_DIRS
-
- * automake.in: More bug fixes in "look for Makefile.am" code.
-
- * automake.in: Bug fix in "look for Makefile.am" code.
-
- * automake.in:
- If no arguments given, look for all Makefile.am's in this
- directory and in immediate subdirs
-
- * automake.in: Bug fixes for LDADD-override feature.
-
- * program.am: Use @PROGRAM@_LDADD, and put after LDFLAGS
-
- * automake.in: Allow `prog_LDADD', if specified, to override LDADD.
-
- * automake.in: Use AM_PROGRAMS, not ALLPROGRAMS, and invert sense.
-
- * header-vars.am (ALL): Use PROGRAMS, not ALLPROGRAMS.
-
-Wed Nov 15 01:54:43 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: No longer look for _SOURCES or _OBJECTS
-
- * header-vars.am:
- Remove "automatically created" header (now in automake).
- Updated copyright.
-
- * automake.in: Put version info in Makefile header
-
-Tue Nov 14 23:38:17 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: Minor cleanups
-
- * dist-subd-top.am, dist.am (dist):
- Don't link or copy file if it already exists.
-
- * automake.in:
- Look for _SOURCES (common sources) and generate _OBJECTS.
-
- * footer.am (ID, TAGS): Include HEADERS
-
- * dist-vars.am, dist-subd-vars.am (DIST_FILES): Include HEADERS
-
-Mon Nov 13 22:20:02 1995 Tom Tromey <tromey@cambric>
-
- * dist-subd.am (distdir): Is relative to ".."
-
- * dist-subd-vars.am (PACKAGE, VERSION): Define
-
- * dist-subd.am (dist): Don't handle DIST_DIRS.
-
- * mans.am (uninstall-man): Another bug fix.
-
- * mans.am (uninstall-man): Bug fix.
-
- * dist.am, dist-subd-top.am (dist): Bug fix
-
- * Makefile.am (DIST_SUBDIRS): New macro
-
- * dist-subd-top.am, dist.am (dist): Handle DIST_SUBDIRS
-
- * Makefile.am (DIST_OTHER): Include automake.in
-
- * Makefile.am (DISTCLEANFILES): New macro.
-
- * automake.in (common): Include COPYING.LIB
-
- * Makefile.am (automake): New rule.
-
- * texinfos.am (install-info): Changed per GNU standards
-
- * remake-hdr.am (stamp-h.in):
- Use "touch", not "date", per GNU standards.
-
- * automake.in (common): Include texinfo.tex
-
-Sun Nov 12 23:59:08 1995 Tom Tromey <tromey@cambric>
-
- * automake.in: More fixes when finding common files.
-
- * Makefile.am (DIST_OTHER): Another removal.
-
- * automake.in: Special-case when amdir=.
-
- * Makefile.am (DIST_OTHER): Removed auto-detected files.
-
- * automake.in:
- Search for commonly-used files and auto-include them in distribution
-
- * dist-vars.am (DIST_FILES): Include DIST_COMMON.
- (DIST_CONF): Removed files searched for by automake.
-
- * automake.in: More arg-parsing bug fixes.
-
- * Makefile.am (DIST_OTHER): Include install-sh
-
- * Makefile.am (DIST_OTHER): Don't include auto-included files.
-
- * automake.in: Bug fixes to argument parsing code.
-
- * automake.in: Handle --version and --help.
- NLS stuff from autoconf.
-
- * Makefile.am (amdatadir): Fixed typo.
- (install): Make install directories
-
- * Makefile.am: Use "install::", not "install:"
-
- * install-sh, mkinstalldirs: Initial revision
-
- * configure.in: Use AC_PROG_INSTALL
-
- * automake.in: Set AM_DIR based on configure results.
-
- * Makefile.am (install): New target.
- (amdatadir): New variable.
-
- * automake.in: Use "#! /", not "#!/".
-
- * Makefile.am, configure.in: Initial revision
-
- * automake.in: Renamed from "automake".
- Set VERSION.
-
- * dist.am (PACKAGE, VERSION): Now in dist-vars.am
-
- * automake.in: Insert remake-subd.am if appropriate.
-
- * subdirs.am (TAGS): Include $(CONFIG_HEADER) when making tags.
-
- * automake.in: Handle ALLPROGRAMS variable.
-
- * header-vars.am (ALL): Use ALLPROGRAMS, not PROGRAMS.
-
- * automake.in: Fixlet when printing "subdir=DIR"
-
- * automake.in: Put "subdir=DIR" into subdir Makefile
-
- * automake.in: Don't refer to distname.am.
- Only put footer.am in subdir Makefiles.
-
- * subdirs.am (id, ID): New target.
- (.NOEXPORT): Copied from footers.am.
-
- * subdirs.am (TAGS): Bug fixes.
-
- * subdirs.am (TAGS): Don't fail if a subdir doesn't have TAGS target.
-
- * subdirs.am (maintainer-clean-local): Remove TAGS
-
- * subdirs.am (TAGS): Make tags file that includes all subdir tags files
-
- * subdirs.am: Use maintainer-clean, per GNU standards
-
- * dist-subd-top.am: Some variables defined in dist-vars.am
-
- * dist-vars.am (PACKAGE, VERSION):
- New variables, initialized by configure
-
- * footer.am (id, ID): New targets
- (TAGS): Put TAGS file in build, not source, directory
-
- * remake-subd.am (Makefile): Don't assume subdir is 'src'
-
- * dist.am: Changed to assume PACKAGE and VERSION are set by configure.
-
- * dist-subd.am: Changed to conform to new top-level dist target.
-
- * dist-subd-top.am:
- Changed to assume PACKAGE and VERSION are set by configure.
-
- * clean-kr.am, clean.am (maintainer-clean):
- Updated rules per GNU standards.
-
- * clean.am, clean-kr.am (maintainer-clean): Renamed from realclean.
-
-Sat Nov 5 14:39:50 1994 djm <djm@cambric>
-
- * automake.in, texinfos.am: kludge for multiple-part info files
-
-Thu Nov 3 13:33:44 1994 djm <djm@cambric>
-
- * clean.am, clean-kr.am: remove INFOS
-
-Wed Nov 2 06:15:42 1994 djm <djm@cambric>
-
- * texinfos.am: add path
-
- * remake.am, remake-hdr.am: account for VPATH limitations
-
-Mon Oct 24 23:01:59 1994 djm <djm@cambric>
-
- * automake.in, dist-subd-top.am, dist-subd.am, dist.am, header-vars.am, libprograms.am, programs.am:
- handle SCRIPTS and LIBSCRIPTS similar to PROGRAMS
-
-Sun Oct 23 01:50:41 1994 djm <djm@cambric>
-
- * texinfos.am: install-info depends on info files
-
- * dist-subd-vars.am, dist-vars.am: distrib info files
-
-Sun Oct 2 02:03:06 1994 djm <djm@cambric>
-
- * clean-kr.am, clean.am: fix up distclean
-
- * subdirs.am: fix typo
-
- * clean.am: do more in distclean
-
-Sat Oct 1 23:52:51 1994 djm <djm@cambric>
-
- * libraries.am: make install depend on all
-
- * automake.in: fix typo
-
-Wed Sep 28 21:15:26 1994 djm <djm@cambric>
-
- * dist-subd-vars.am, dist-vars.am, header-vars.am: fix doc bugs
-
- * automake.in, compile-vars.am, dist.am: fix dist for no subdirs
-
- * dist-subd-top.am: Initial revision
-
- * automake.in, header-vars.am, libraries-vars.am, mans-vars.am, texinfos-vars.am:
- centralize prefix var setting
-
- * header-vars.am: set all the std vars based on prefix
-
-Tue Sep 27 01:32:22 1994 djm <djm@cambric>
-
- * automake.in: don't add kr stuff if not needed
-
- * dist-vars.am: add config vars to dist
-
-Mon Sep 26 23:09:09 1994 djm <djm@cambric>
-
- * program.am: add LDADD
-
- * compile-vars.am: remove LDADD from LDFLAGS
-
- * clean.am: move knr stuff to another file
-
- * automake.in: use different clean file for ansi2knr
-
- * clean-kr.am: Initial revision
-
-Thu Sep 22 03:45:02 1994 djm <djm@cambric>
-
- * automake.in, dist-subd.am, dist.am: fix rules and dist
-
-Tue Sep 20 21:29:40 1994 djm <djm@cambric>
-
- * compile.am, automake.in: split out knr
-
- * compile-kr.am: Initial revision
-
- * libprograms.am: fix typo
-
- * automake.in, clean.am, compile-vars.am, header-vars.am, libprograms.am:
- make libprograms work
-
- * libprograms.am: Initial revision
-
- * automake.in, compile.am, header-vars.am: fix little bugs
-
- * compile.am: allow parallel K&R
-
- * clean.am: remove kerb temps
-
- * automake.in: fix recognizing start of rules
-
- * dist-subd.am, dist.am: fix dist
-
- * automake.in, compile.am, footer.am, texinfos.am: fix ansi2knr
-
-Mon Sep 19 23:39:21 1994 djm <djm@cambric>
-
- * automake.in: works on m4 too
-
- * automake.in, mans.am: works on fileutils
-
- * automake.in, clean.am, compile.am, dist-subd.am, dist.am, footer.am, header-vars.am, header.am, libraries.am, library.am, mans-vars.am, mans.am, programs.am, remake-hdr.am, remake-subd.am, remake.am, subdirs.am, texinfos.am:
- works on fileutils except for all
-
- * automake.in: vars thing
-
- * header-vars.am: Initial revision
-
- * texinfos-vars.am, mans-vars.am, libraries-vars.am, dist-vars.am, dist-subd-vars.am:
- entered into RCS
-
- * compile-vars.am: Initial revision
-
- * automake.in: many improvements
-
- * footer.am: Initial revision
-
- * dist.am: remove distname
-
- * automake.in: namespace cleanup
-
- * distname.am: Initial revision
-
- * automake.in, clean.am, compile.am, dist-subd.am, dist.am, header.am, libraries.am, library.am, mans.am, program.am, programs.am, remake-hdr.am, remake.am, subdirs.am, texinfos.am:
- might work
-
- * mans.am, libraries.am, texinfos.am, library.am, compile.am, program.am, programs.am, clean.am, subdirs.am, remake-subd.am, remake.am, remake-hdr.am, dist.am, dist-subd.am, header.am, automake.in:
- Initial revision
-
-
------
-
-Copyright 1994-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/ChangeLog.98 b/old/ChangeLog.98
deleted file mode 100644
index a9fa322db..000000000
--- a/old/ChangeLog.98
+++ /dev/null
@@ -1,2191 +0,0 @@
-1998-12-22 Marcus G. Daniels <mgd@chama.santafe.edu>
-
- * automake.in (handle_dependencies): Transform EXT & PFX in
- Objective C case.
-
-1998-12-11 Marcus G. Daniels <mgd@chama.santafe.edu>
-
- * automake.in: Register Objective C language.
- (finish_languages): Consider Objective C to be non_c.
- (lang_objc_rewrite, lang_objc_finish): New functions.
- (resolve_linker): Recognize OBJCLINK before LINK.
-
-1999-01-10 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): Handle empty $config_aux_dir.
-
- * automake.in (handle_texinfo): Set $conf_pat correctly when
- config_aux_dir not used.
- (handle_texinfo): Run maintainer-clean-aminfo rules in srcdir.
- From Erez Zadok.
- * texi-vers.am (maintainer-clean-@VTI@): Prefix file names with
- $(srcdir). From Erez Zadok.
- ($(srcdir)/stamp-@VTI@): Don't run mdate-sh from srcdir.
-
-1999-01-08 Thomas Tanner <tanner@gmx.de>
-
- * depend.am: remove the dependencies (.deps)
- in "make distclean", not "make maintainer-clean"
-
-1999-01-10 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (write_aclocal): Updated copyright.
- (parse_arguments): Likewise.
- * automake.in (parse_arguments): Updated copyright.
- (initialize_global_constants): Likewise.
-
- * Makefile.am (pkgdata_DATA): Renamed from pkgdata_SCRIPTS.
- (install-data-hook): New hook. Report from Petter Reinholdtsen.
-
- * remake-hdr.am: Provide `else' clause for each `if'.
-
-1999-01-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * remake-hdr.am: recover from removal of config headers, and try
- to get real timestamps, which is useful for CVS files
-
-1999-01-10 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_merge_targets): Don't special-case "-local"
- targets. Test all.test.
-
- * automake.in (handle_texinfo): Prepend $(srcdir) to directory
- used to find texinfo.tex. Report from Glenn Amerine.
-
-1999-01-07 Tom Tromey <tromey@cygnus.com>
-
- Based on report from Marcus G. Daniels. Fixes include.test.
- * automake.in (generate_makefile): Call read_main_am_file.
- (read_main_am_file): New sub.
- (read_am_file): Moved header generation code into
- read_main_am_file.
-
-1999-01-06 Gary V. Vaughan <garyv@oranda.demon.co.uk>
-
- * automake.in (require_file_internal): qub perl on win32 hangs
- on a call to unlink for a non-existant file, which in turn causes
- tests/symlink.test to hang on win32. Check that the file exists
- before unlinking it!
-
-1998-12-24 Thomas Tanner <tanner@gmx.de>
-
- * automake.in (handle_ltlibraries): check whether -module was
- defined for libraries names without 'lib' prefix.
-
-Fri Dec 11 10:20:42 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * compile_f_c_cxx.test: Change to use F77 and F77LINK instead of
- FC and FLINK, respectively.
- * flibs.test: same
- * fnoc.test: same
- * fo.test: same
- * fonly.test: same
- * link_f_c.test: same
- * link_f_c_cxx.test: same
- * link_f_cxx.test: same
- * link_f_only.test: same
-
-Fri Dec 11 10:23:17 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * automake.in, automake.texi: Change all of the Fortran 77 code to
- use the new `F77' prefix instead of the older `FC' prefix.
- Specifically this changed FC, FCOMPILE, LTFCOMPILE, FLINK and FLD
- to F77, F77COMPILE, LTF77COMPILE, F77LINK and F77LD, respectively.
-
-1999-01-05 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (%.o): Use \012, not \n, to avoid losing `tr's. From
- Bill Currie.
- (%.lo): Likewise.
-
-1998-12-22 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * depend2.am: Don't assume backslash can't occur in the middle of
- filename; it loses on M$W
-
-1998-12-21 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_libraries): Reverted Thomas Tanner's
- change. Non-libtool libraries still must fit naming
- requirements.
-
-1998-12-21 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (handle_configure): Dist inputs for AC_OUTPUT.
-
-1998-12-21 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * depend2.am: don't use .p and .P for dependencies; it loses on
- case-insensitive filesystems.
- Reported by Henrik Frystyk Nielsen <frystyk@w3.org>
-
-1998-12-20 Thomas Tanner <tanner@gmx.de>
-
- * automake.in (handle_libraries, handle_ltlibraries): relax the
- name checking to not enforce `^lib.*' for the sake of building libtool
- modules.
-
-1998-12-21 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (do_one_merge_target): Special case
- install-data-hook and install-exec-hook.
- (handle_merge_targets): Removed install-data-hook and
- install-exec-hook code. Test insthook.test.
-
-1998-12-16 Tom Tromey <tromey@cygnus.com>
-
- * tags.am (ID): Uniquify list of sources. Report from Jim
- Meyering.
-
-1998-12-11 Tom Tromey <tromey@cygnus.com>
-
- Bug report from Paul D. Smith:
- * automake.in (handle_merge_targets): Set
- AM_INSTALL_PROGRAM_FLAGS, not INSTALL_PROGRAM.
- * header-vars.am (INSTALL_PROGRAM): Added
- AM_INSTALL_PROGRAM_FLAGS.
-
-1998-12-03 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist): Print prettier banner when
- `make dist' succeeds. From Akim Demaille.
-
-1998-12-02 Tom Tromey <tromey@cygnus.com>
-
- * configure.in: Upped version to 1.3e (1.3d was just released).
-
- * configure.in: Upped version to 1.3d.
-
- * texinfo.tex, config.guess, config.sub, install-sh: New
- versions.
- * ansi2knr.c: New version.
-
- * automake.in (handle_configure): Quote @MAINTAINER_MODE_TRUE@ to
- avoid problems where AM_MAINTAINER_MODE is put into automake's own
- configure.in.
-
- * Makefile.am (cvs-dist): Run `cvs tag' operation in srcdir.
-
- Some bugs from François Pinard:
- * automake.in (usage): Remove duplicates in file list.
-
- * automake.in (usage): Print files in column-major order.
- (handle_gettext): Only require ABOUT-NLS for GNU programs.
-
-1998-12-01 Tom Tromey <tromey@cygnus.com>
-
- * automake.texi (Dist): Documented GZIP_ENV.
- * automake.in (handle_dist): Define and use GZIP_ENV, not GZIP.
- (initialize_global_constants): Use GZIP_ENV, not GZIP.
-
-1998-11-27 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (quote_cond_val): Use "\002", not '\002', to
- represent null string.
- (unquote_cond_val): Removing all "\002" strings from result. Test
- cond7.test.
-
- * automake.texi: Formatting changes for latest texinfo.
-
- * automake.in (handle_java): Removed debugging print.
-
-1998-11-18 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (finish_languages): Use CCLD, not CLD.
-
- * automake.in (finish_languages): Define CLD; use it in LINK
- definition.
- (lang_cxx_finish): Define CXXLD; use it in CXXLINK definition.
- (lang_f77_finish): Define FLD; use it in FLINK definition.
- (lang_ppf77_finish): Likewise.
- (lang_ratfor_finish): Likewise.
-
-1998-11-10 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * automake.in (scan_one_configure_file): Recognize
- AC_F77_LIBRARY_LDFLAGS, and recognize FLIBS as a configure
- substitution.
-
- * automake.texi: Fix several little Fortran 77 references to now
- point to autoconf.texi. Rename associated Fortran 77 macros from
- `AM_' to `AC_'.
-
-1998-11-10 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (read_am_file): Handle configure_vars case. Test
- pluseq4.test.
-
-1998-11-09 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (read_am_file): `conditional_stack' isn't a
- function. Correctly add new value to existing value in `+='
- case.
-
-1998-10-29 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
-
- * automake.in (parse_arguments): Fixed type of -c for copying
-
-1998-10-30 Tom Tromey <tromey@cygnus.com>
-
- * automake.texi (Install): Documented DESTDIR more fully. From
- Jeff Garzik.
-
- * automake.in (MACRO_PATTERN): Recognize `+='.
- (BOGUS_MACRO_PATTERN): Likewise.
- (read_am_file): Handle `+=' assignments.
-
-1998-10-28 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (maintainer-check): Changed code to be acceptable to
- bash 2.01.1.
-
- * automake.in (do_one_clean_target): Special-case config.status.
- Report from Jeff Garzik.
-
- * m4/Makefile.am (m4data_DATA): Don't mention f77.m4.
- * m4/f77.m4: Removed; macro now in autoconf proper.
-
-1998-10-24 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Typo fix in code testing to
- see if subdir is `.'. From Raja R Harinath.
-
- * m4/lispdir.m4: Fixed sed invocation. From Akim Demaille.
-
-1998-10-20 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_dependency_file): Fixed test on `while' loop.
- Fixes depend2.test. Report from Akim Demaille.
-
-1998-10-16 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_ltlibraries): Specify `noinst' when
- computing valid prefixes. From Ulrich Drepper.
-
- * automake.in (scan_dependency_file): Don't give an error if there
- is text after the last line. Report from Matthew D. Langston.
-
- * m4/mktime.m4: Detect glibc mktime bug. From Jim Meyering.
-
- * Makefile.am (SUBDIRS): Added `.' again.
-
- * Makefile.am (EXTRA_DIST): Removed automake.spec.in. From
- Matthew D. Langston.
- (info_TEXINFOS): Removed am-f77.texi.
-
- * automake.in (handle_ltlibraries): Allow `noinst' LTLIBRARIES.
- These are libtool convenience libraries.
-
-1998-10-13 Tom Tromey <tromey@cygnus.com>
-
- * m4/f77.m4: New file.
- * m4/Makefile.am (m4data_DATA): Added f77.m4.
-
-Thu Oct 8 15:00:57 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * automake.in (resolve_linker): Put the Fortran 77 linker where it
- needs to be.
-
- * automake.in (lang_f77_finish): Add support for Fortran 77.
-
- * automake.in (f77_extensions): New helper function for function
- `lang_f77_finish'.
-
- * automake.in (lang_f77_rewrite): Change to return success.
-
- * automake.in (scan_one_configure_file): Add test for the Fortran
- 77 compiler.
-
- * automake.in (finish_languages): Changed tests for "C++ only" to
- "C++ and/or Fortran 77 only", and renamed `all_cxx' to `non_c'.
-
- * automake.in: Registered the ppf77 language (`.F' extension) for
- preprocessed Fortran 77.
-
- * automake.in: Registered the ratfor language (`.r' extension).
-
- * automake.in: Registered Fortran 77 header files with the "header
- language" (`.inc' extension).
-
-Tue Sep 8 14:50:50 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * automake.texi: Added several new index entries.
-
-Sun Aug 30 16:10:31 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * automake.texi:
- - Add `@ovindex' (output variable index).
- - Merge `@defmac' (Autoconf macros) and `@ovindex' to the General
- Index.
-
- * automake.texi (Macros):
- - Changed the `@table @code' list of macros to `@defmac'.
- - Add `AC_PROG_FC' and `MDL_F77_LIBRARY_LDFLAGS' to the list.
-
-Tue Aug 11 10:42:39 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
- * automake.texi (C++): Change `@table' to `@vtable'.
-
- * automake.texi (Fortran 77): Add Fortran 77 documentation.
-
-1998-10-11 Tom Tromey <tromey@cygnus.com>
-
- Preliminary (completely untested) multilib support.
- * automake.texi (Macros): Document AM_ENABLE_MULTILIB.
- * m4/Makefile.am (m4data_DATA): Added multi.m4.
- * Makefile.am (amfiles): Added multilib.am.
- * automake.in (seen_multilib): New global.
- (scan_one_configure_file): Recognize AM_ENABLE_MULTILIB.
- (generate_makefile): Call handle_multilib.
- (handle_multilib): New function.
- * multilib.am: New file.
- * m4/multi.m4: New file.
-
-1998-10-08 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist): Always include configure.in and
- configure in distribution. Fixes confdist.test.
-
- * automake.in (do_one_merge_target): Be silent when running
- install-exec-am and install-data-am. Fixes extra3.test and
- extra4.test.
-
-1998-10-07 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (am_install_var): Added -noextra option.
- (handle_data): Pass -noextra to am_install_var.
-
-Sun Oct 4 22:24:10 1998 Tom Tromey <tromey@cygnus.com>
-
- * m4/winsz.m4 (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use
- 3-argument form of AC_DEFINE.
- * m4/regex.m4 (AM_WITH_REGEX): Use 3-argument form of AC_DEFINE.
- * m4/ptrdiff.m4 (AM_TYPE_PTRDIFF_T): Use 3-argument form of
- AC_DEFINE.
- * m4/protos.m4 (AM_C_PROTOTYPES):Use 3-argument form of
- AC_DEFINE.
- * m4/obstack.m4 (AM_FUNC_OBSTACK): Use 3-argument form of
- AC_DEFINE.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use 3-argument form of
- AC_DEFINE.
- * m4/dmalloc.m4 (AM_WITH_DMALLOC): Use 3-argument form of
- AC_DEFINE.
-
-Tue Oct 6 00:02:15 1998 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (%.lo): Handle case where compiler does not put space
- before ":". From Raja R Harinath.
-
-Mon Oct 5 13:05:43 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): AC_CONFIG_HEADER is not
- obsolete; it simply isn't preferred with automake.
- (scan_one_configure_file): Likewise for AC_DECL_YYTEXT and
- AC_PROG_LEX.
-
- * automake.in (am_line_error): Handle case where variable defined
- in configure.in. Fixes test badline.test.
- (%configure_vars): Redefined meaning of values.
- (scan_one_configure_file): Set $configure_vars values
- appropriately.
-
-Sat Oct 3 14:53:34 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_aclocal_m4): Use new MAINTAINER_MODE
- conditional.
- (handle_configure): Likewise.
- (read_am_file): Likewise.
- (file_contents_with_transform): Likewise.
- (scan_one_configure_file): Recognize that AM_MAINTAINER_MODE
- defines a conditional.
- * automake.texi (Optional): Document new AM_MAINTAINER_MODE.
- * texi-vers.am ($(srcdir)/@VTEXI@): Look at MAINTAINER_MODE
- conditional.
- (maintainer-clean-@VTI@): Likewise.
- * remake.am ($(srcdir)/configure): Look at MAINTAINER_MODE
- conditional.
- * remake-hdr.am ($(srcdir)/@CONFIG_HEADER_IN@): Look at
- MAINTAINER_MODE conditional.
- * m4/maintainer.m4 (AM_MAINTAINER_MODE): Defined MAINTAINER_MODE
- conditional.
-
-1998-10-03 Jim Blandy <jimb@zwingli.cygnus.com>
-
- * depend2.am (%.lo): When editing the dependency file to add the
- .lo file to the targets, allow for whitespace between the end of
- the filename and the colon. Some compilers (notably the Cygnus
- release of GCC 2.7-97r1) put space there: "alist.o : ..."
-
-Sat Oct 3 12:07:21 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Handle case where there is no
- Makefile in the config header directory. Fixes test config.test.
-
-Thu Oct 1 00:51:51 1998 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (%.o): Append sed results to .P file in this case
- too. From Raja R Harinath.
-
- * m4/lispdir.m4 (AM_PATH_LISPDIR): Correctly find xemacs and
- xemacs install directories. From Robert Bihlmeyer.
-
- * depend2.am: Don't bother trying to delete source file from
- list.
-
- * depend2.am (%.o): Handle deleted header file problem.
- (%.lo): Likewise.
-
- * texinfos.am (install-info-am): Handle case where INFO_DEPS is
- empty. Reported by Andrew Cagney.
- (uninstall-info): Likewise.
- (dist-info): Likewise.
-
- * automake.in (handle_texinfo): Error if user tries to generate
- HTML.
-
-Wed Sep 30 00:41:40 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (do_one_clean_target): Don't push previous clean
- target if this target is `mostly'. Report from Raja R Harinath.
-
- * subdirs.am (mostlyclean-recursive ...): Build local_target, not
- target. From Raja R Harinath.
-
- Completely changed how languages and source files are handled:
- * automake.in: Call register_language for each language.
- (lang_c_rewrite): New function.
- (lang_cxx_rewrite): Likewise.
- (lang_header_rewrite): Likewise.
- (lang_yacc_rewrite): Likewise.
- (lang_yaccxx_rewrite): Likewise.
- (lang_lex_rewrite): Likewise.
- (lang_lexxx_rewrite): Likewise.
- (lang_asm_rewrite): Likewise.
- (lang_fortran_rewrite): Likewise.
- (register_language): Likewise.
- (extension_map): New global.
- (language_map): Likewise.
- (resolve_linker): New function.
- (handle_single_transform_list): Rewrote to use lang_X_rewrite
- functions. Changed meaning of first argument.
- (initialize_per_input): Removed seen_any_source. Initialize
- language_scratch, extension_seen. Removed cxx_extensions,
- seen_c_source, dir_holds_headers, dir_holds_sources.
- (handle_source_transform): Don't compute $objpat. Pass $obj
- directly to handle_single_transform_list.
- (handle_built_sources): Fixed call to
- handle_single_transform_list.
- (lang_c_finish): New function.
- (lang_cxx_finish): Likewise.
- (lang_header_finish): Likewise.
- (lang_yacc_finish): Likewise.
- (lang_yaccxx_finish): Likewise.
- (lang_lex_finish): Likewise.
- (lang_lexxx_finish): Likewise..
- (lang_asm_finish): Likewise.
- (lang_fortran_finish): Likewise.
- (yacc_lex_finish_helper): Likewise.
- (libtool_compiler): Likewise.
- (saw_extension): New function.
- (handle_lib_objects_cond): Use saw_extension, not old variables.
- (handle_yacc_lex_cxx): Removed.
- (finish_languages): New function.
- (get_object_extension): Don't set dir_holds_sources.
- (handle_headers): Don't set dir_holds_headers. Instead, call
- saw_extension.
- (saw_sources_p): New function.
- (handle_tags): Use it.
- (handle_dependencies): Likewise.
- (cxx_extensions): New function.
- (handle_dependencies): Use it.
- (generate_makefile): Call finish_languages, not
- handle_yacc_lex_cxx.
-
-1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * texi-vers.am: Use the correct target names. Fix generation of
- stamp file.
-
- * automake.in (handle_tests): In commands generating site.exp copy
- the old contents from site.exp, not site.bak, which does not
- exist.
-
-Tue Sep 29 00:10:22 1998 Tom Tromey <tromey@cygnus.com>
-
- Fixed noinst.test again:
- * automake.in (do_one_merge_target): Special-case `install-am'.
- (handle_merge_targets): Don't compute @install variable.
-
- Fixes for recurs2.test. Report from Jim Meyering.
- * automake.in (vars_scanned): Define globally.
- (variable_value_as_list_worker): Delete $var entry in
- %vars_scanned after local work is done.
-
-1998-05-26 Marcus G. Daniels <mgd@ute.santafe.edu>
-
- * automake.in: New pattern: INCLUDE_PATTERN.
- (read_am_file): Make AM_FILE a local filehandle.
- For INCLUDE_PATTERN, store included paths on @include_stack and call
- read_am_file with argument.
- (handle_configure): When printing the dependencies for
- Makefile.in, print the items on include_stack (if any) as
- dependencies, too.
-
- * automake.texi: Make a command index `cm' that goes into the
- concept index. Put if, endif, else, and include in the command index.
- (Include): Show usage of include directive.
-
-Mon Sep 28 00:03:45 1998 Tom Tromey <tromey@cygnus.com>
-
- `.' in SUBDIRS changes order of builds:
- * Makefile.am (SUBDIRS): Added `.'. Put tests last.
- * tags.am (TAGS): Don't look for TAGS file in `.'.
- * automake.texi (Top level): Document SUBDIRS change.
- * automake.in (handle_installdirs): Create separate installdirs-am
- target.
- (handle_merge_targets): Don't put all-am onto @all. Fixed error
- message. Correctly handle install-info. Give error if
- install-info-local inappropriately defined. Don't special-case
- install-data, install-exec, install, uninstall, or all.
- (handle_subdirs): Don't push `-recursive' target names onto
- corresponding lists.
- (do_one_merge_target): Always define `-am' form of rule, and point
- ordinary form to `-am' or `-recursive' as appropriate.
- Special-case `all'.
- (do_check_merge_target): Generate check-am target.
- (handle_dist_worker): Use target_defined.
- (handle_dist): Likewise.
- (handle_merge_targets): Likewise.
- (do_one_merge_target): Likewise.
- (do_check_merge_target): Likewise.
- (do_one_clean_target): Likewise.
- (initialize_per_input): Initialize $all_target.
- (do_one_clean_target): Always generate -am form of rule; other
- changes for new SUBDIRS change.
- (handle_clean): Always generate clean-am form of rule.
- (handle_tags): Only build subdir if not `.'.
- (handle_dist_worker): Skip `.' directory.
- * subdirs.am: Allow `.' to be specified in SUBDIRS.
-
-Sun Sep 27 20:02:21 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.texi (Dist): Document EXTRA_DIST change.
- * automake.in (handle_dist_worker): Allow subdirs in EXTRA_DIST.
-
- * automake.in (handle_ltlibraries): Wrote better comment about
- EXTRA_LTLIBRARIES.
-
- * automake.texi (Invoking Automake): Document --copy.
- * automake.in (copy_missing): New global.
- (parse_arguments): Recognize --copy/-c.
- (require_file_internal): Handle $copy_missing. Fixed error
- message.
- (initialize_global_constants): Document -c/--copy.
-
- * automake.texi: Document LIBOBJS trick.
-
- * automake.in (handle_dist_worker): If DIST_SUBDIRS defined, use
- it even when SUBDIRS not conditional.
-
- * automake.in (quote_cond_val): Turn tabs into \003.
- (unquote_cond_val): Turn \003 back into tabs. Fixes test
- cond6.test.
-
- * automake.in (read_am_file): Treat backslash-newline as
- whitespace. Test parse.test.
-
-Sat Sep 26 19:31:22 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Upped version to 1.3c.
-
- Track recent autoconf changes:
- * m4/Makefile.in: Rebuilt.
- * m4/Makefile.am (m4data_DATA): Updated for deleted files.
- * m4/init.m4 (AM_INIT_AUTOMAKE): Use AC_PROG_INSTALL.
- * m4/mingw.m4: Removed.
- * m4/cygwin.m4: Removed.
- * m4/install.m4: Removed.
- * m4/exeext.m4: Removed.
- * automake.in (scan_one_configure_file): Don't look for
- AM_EXEEXT.
- (check_cygnus): Only mention AC_EXEEXT.
- (obsolete_macros): Mention AM_PROG_INSTALL, AM_EXEEXT,
- AM_CYGWIN32, AM_MINGW32.
- ($seen_prog_install): Changed interpretation; changed all users.
- (scan_one_configure_file): Don't look for AM_PROG_INSTALL.
- ($scripts_installed): Removed.
- (handle_scripts): Use local $scripts_installed.
- * aclocal.in (obsolete_macros): Added AM_PROG_INSTALL, AM_EXEEXT,
- AM_CYGWIN32, AM_MINGW32.
-
-Mon Jul 6 14:52:49 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * compile.am (mostlyclean-compile): If OBJEXT, remove *.$(OBJEXT)
- along with *.o.
-
-Thu May 28 18:49:47 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (seen_objext): New variable.
- (get_object_extension): If seen_objext, use .$(OBJEXT) rather than
- .o. When including compile.am, keep or discard OBJEXT lines
- according to whether seen_objext is set. If seen_objext, add .obj
- to @suffixes. If seen_objext, use .$(OBJEXT) rather than .o when
- building ansi2knr.
- (handle_yacc_lex_cxx): If seen_objext, add a rule to create .obj
- files. If seen_objext, use .$(OBJEXT) rather than .o when
- building ansi2knr.
- (scan_one_configure_file): Check for .obj as well as .o in
- LIBOBJS. Set seen_exeext if we see AC_EXEEXT. Look for
- AC_OBJEXT, and if found set seen_objext and set OBJEXT in
- configure_vars.
- (check_cygnus): Change error message to permit AC_EXEEXT.
- * compile.am: Add OBJEXT lines for .c.obj compilation.
- * Makefile.in: Rebuild.
- * m4/Makefile.in: Rebuild.
- * tests/Makefile.in: Rebuild.
-
-Mon Sep 11 16:07:55 1997 Chris Provenzano <proven@cygnus.com>
-
- * header-vars.am: SHELL=@SHELL@
- Ran aclocal, autoconf, and automake.
-
-Sat Sep 26 16:31:29 1998 Tom Tromey <tromey@cygnus.com>
-
- * ltlib.am: Use $(INSTALL) and not $(INSTALL_DATA).
-
-Mon Sep 14 08:27:38 1998 Per Cederqvist <ceder@lysator.liu.se>
-
- * automake.in (handle_texinfo): The logic for when to provide
- texinfo.tex was broken. Attempt to fix.
-
-Mon Sep 14 00:55:12 1998 Per Cederqvist <ceder@lysator.liu.se>
-
- Fix for Dynix 3.1.1.
- * automake.in (handle_yacc_lex_cxx): Transform "# " to "#line";
- some compilers (such as /bin/cc on Dynix 3.1.1) don't accept the
- output from the preprocessor.
-
-Tue Aug 25 18:40:51 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_tests): Don't create site.exp target if it
- is already in Makefile.am.
-
-Sun Aug 16 23:26:26 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Use @inputs, not
- @rewritten_inputs, when constructing CONFIG_FILES. Use different
- list to test for file existence. Test colon6.test.
- (rewrite_inputs_into_dependencies): Added add_srcdir argument.
- Updated all callers.
-
-Wed Aug 12 14:16:57 1998 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.3b.
-
-Tue Aug 11 12:18:59 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_clean): Added missing close-paren. Quote
- `$' so it doesn't expand when replacing. From Markus
- F.X.J. Oberhumer.
-
- * aclocal.in (usage): Changed bug address.
- * automake.in (usage): Changed bug address.
-
- * clean.am (distclean-generic): Don't mention
- DISTCONFIGCLEANFILES. From Markus F.X.J. Oberhumer.
-
-Mon Aug 10 20:57:35 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_yacc_lex_cxx): Redirect ansi2knr output to
- correct file. From Kave Ghazi.
-
-Sun Aug 2 16:05:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.3a.
-
- * config.sub, config.guess, texinfo.tex: New versions from FSF.
-
-Sun Jul 19 00:04:25 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (variable_conditions): Initialize %vars_scanned.
- (variable_conditions_sub): Check it. Test cond5.test.
-
-Sat Jul 18 00:24:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (variable_value_as_list_worker): Renamed from
- variable_value_as_list. Set entry in vars_scanned, and give error
- if variable recursively defined. Test recurs.test.
- (value_to_list): Call it instead.
- (variable_value_as_list): New function.
-
- * automake.in (variable_conditions_sub): If var is not
- conditional, but does have conditional subvariables, then return
- value should be all permutations of subvariable conditions. Test
- cond4.test.
- (handle_source_transform): Define _OBJECTS variable with each
- condition; no need to define multiple new variables.
-
-Fri Jul 17 12:56:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (am_install_var): Use DESTDIR, not DATADIR. From
- Motoyuki Kasahara.
-
- * automake.in (scan_dependency_file): Recognize DOS-style paths as
- absolute.
- * ylwrap: Recognize DOS-style paths as absolute. From Ian Lance
- Taylor.
-
-Fri Jul 17 07:37:20 1998 H.J. Lu (hjl@gnu.org)
-
- * ylwrap: Don't use absolute path if the input is in the
- current directory.
-
-Fri Jul 17 11:58:27 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in: Use $(AM_MAKEFLAGS) in every invocation of $(MAKE).
- * subdirs.am: Likewise.
-
-Thu Jul 16 18:09:03 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * remake.am (config.status): Depend upon
- $(CONFIG_STATUS_DEPENDENCIES).
- * automake.in (handle_configure): Examine
- CONFIG_STATUS_DEPENDENCIES.
-
-Tue Jul 14 13:37:48 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am: Always look in srcdir for automake.in.
-
-Tue Jun 23 14:00:27 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * progs.am: Don't let $(EXEEXT) interfere with $(transform).
- Report from Mike Stump <mrs@wrs.com>.
-
-Tue Jun 2 13:27:34 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): Make CONFIGURE file
- handle local. From Kevin Street.
-
- * automake.in (read_am_file): Error if blank line or comment
- follows trailing backslash. Test syntax.test.
- (file_contents_with_transform): Likewise.
-
-Thu May 28 18:49:47 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (handle_configure): Always use $(SHELL) when running
- config.status.
-
-Mon Jun 1 14:23:29 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_yacc_lex_cxx): Use AM_CPPFLAGS, AM_CXXFLAGS,
- AM_CFLAGS.
- (output_yacc_build_rule): Use AM_YFLAGS, AM_LFLAGS.
- (handle_dependencies): Don't define CXXMKDEP.
-
- * clean.am (mostlyclean-generic): Prefix rule with MOSTLYCLEAN.
- (clean-generic): Prefix rule with CLEAN.
- (distclean-generic): Prefix rule with DISTCLEAN.
- (maintainer-clean-generic): Prefix rule with MAINTAINERCLEAN.
- BUILT_SOURCES now handled in automake itself.
- * automake.in (initialize_per_input): Initialize
- maintainer_clean_files.
- (handle_yacc_lex_cxx): Put lex and yacc output files onto
- @maintainer_clean_files.
- (handle_clean): Handle @maintainer_clean_files. Transform
- clean.am when installing; try to remove unnecessary tests in
- generated code.
-
- * automake.in (do_check_merge_target): Only generate $(MAKE)
- command if there are check targets to make. Report from Karl
- Heuer.
-
-Sun May 17 23:05:55 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (write_aclocal): Fixed generated copyright message.
- From Eleftherios Gkioulekas.
-
- * automake.in (parse_arguments): Typo fix from Paul D. Smith.
-
-Fri May 8 12:14:03 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_yacc_lex_cxx): Put lex and yacc output files
- onto @clean.
-
-Wed May 6 01:18:05 1998 Tom Tromey <tromey@cygnus.com>
-
- * header-vars.am (DESTDIR): Changed from DISTDIR.
-
-Fri Apr 24 10:16:20 1998 Tom Tromey <tromey@cygnus.com>
-
- * libs.am: Don't display loop while it runs.
-
-Sun Apr 5 13:58:24 1998 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.3.
-
- * automake.in (handle_options): Correctly handle trailing alpha
- version letter or lack thereof. Test version3.test.
-
- * automake.in (am_conf_line_warning): Perl 4 fixlet; typo fix.
-
- * automake.in (handle_ltlibraries): Examine _DEPENDENCIES
- variable. Report from Chris Provenzano. Test library.test.
- (handle_libraries): Likewise.
-
- * m4/lex.m4: Allow AM_PROG_LEX to be called with no arguments.
-
-Sun Apr 5 13:54:25 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in (scan_one_configure_file): Only warn about
- AC_DECL_YYTEXT and AC_PROG_LEXX.
- (am_conf_line_warning): New function.
-
-Fri Apr 3 15:43:46 1998 Doug Evans <devans@seba.cygnus.com>
-
- * automake.in (handle_configure): Fix setting of colon_infile
- in case where multiple files are used to build Makefile.
- [ Test colon5.test ]
-
-Fri Apr 3 13:07:58 1998 Tom Tromey <tromey@cygnus.com>
-
- * ansi2knr.c, texinfo.tex: New versions from respective
- maintainers.
-
- * automake.in (scan_one_configure_file): Exclude INSTALL_DATA from
- configure_vars. Test instdata.test.
-
-Tue Mar 31 21:07:42 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_yacc_lex_cxx): Changed to use new version of
- ansi2knr.
- * ansi2knr.c: New version from L. Peter Deutsch.
-
-Thu Mar 26 11:00:04 1998 Tom Tromey <tromey@cygnus.com>
-
- * m4/exeext.m4: Correctly eliminate bad cases when computing
- am_cv_exeext. Report from Markus F.X.J. Oberhumer.
-
-Wed Mar 25 15:09:56 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_options): Support alpha version numbers.
-
- * lisp.am (install-@DIR@LISP): Allow .el files to appear in build
- directory. From Gary V Vaughan.
-
-Mon Mar 23 07:55:04 1998 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.2h.
-
- * header.am (install-@DIR@HEADERS): A header can appear in the
- build directory as well as the source directory. From Gary V
- Vaughan.
-
- * automake.in (handle_yacc_lex_cxx): Push lib sources onto
- de_ansi_files before generating ._c dependencies. Test
- libobj8.test.
-
- * m4/mktime.m4: New version from Jim Meyering.
-
- * aclocal.in (usage): Document --print-ac-dir.
- (parse_arguments): Added --print-ac-dir.
-
- * ansi2knr.c, ansi2knr.1: New versions from ghostscript.
- (main): Reapplied "-" change from Harlan Stenn.
-
-Fri Mar 20 22:42:30 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): Use &am_conf_line_error,
- not warn. Check to make sure warnings happen only for
- configure.in, not for "not aclocal.m4".
-
-Fri Mar 20 22:35:31 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * automake.in: understand AM_PROG_LEX as a replacement for
- AC_PROG_LEX and AC_DECL_YYTEXT
- warn if the replaced macros are used.
- * m4/Makefile.am: add lex.m4
- * m4/lex.m4 (AM_PROG_LEX): new file and macro
- * missing: added lex/flex support
- instead of touching flex and bison output files, try to copy
- them from a filename based on the last given argument
-
-Fri Mar 20 00:26:10 1998 Tom Tromey <tromey@cygnus.com>
-
- * m4/protos.m4: Require AC_PROG_CPP.
-
- * aclocal.in (add_file): If &search fails, and macro matches AM_,
- then print error. Test aclocalii.test.
-
- De-ansi-fication fixes from Harlan Stenn:
- * ansi2knr.c (main): Accept "-" argument to mean stdin.
- * automake.in (handle_yacc_lex_cxx): Preprocess C source before
- running through ANSI2KNR.
- (get_object_extension): Generate rule for <dir>/ansi2knr.o.
-
- * texinfos.am: Include $(DESTDIR).
- * lisp.am: Include $(DESTDIR).
- * java.am: Include $(DESTDIR).
- * mans.am (install-man@SECTION@): Include $(DESTDIR).
- * automake.in (handle_man_pages): Include $(DESTDIR) in
- installdirs variable.
- (handle_texinfo): Likewise.
- (am_install_var): Likewise.
- * header-vars.am (DISTDIR): Define.
- * data.am, header.am, libs.am, ltlib.am, progs.am, scripts.am:
- Support $(DESTDIR) at install time. From Assar Westerlund.
-
- * automake.in (handle_java): Put Java sources in distribution.
-
-Thu Mar 19 01:33:35 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_java): Put JAVACFLAGS after -d option. From
- Per Bothner.
-
- * automake.in (handle_java): Use $(JAVAROOT) in place of `../..'
- in default CLASSPATH.
- (am_install_var): Allow `JAVA' variable to be defined. Don't
- define `JAVA' primary.
-
- * automake.in (scan_one_configure_file): Check for `sinclude' and
- turn into recursive call.
-
- * automake.in (initialize_per_input): Set $output_all.
- (generate_makefile): Don't set $output_header or generate
- `default' target. Print $output_all before $output_header.
- (handle_merge_targets): Put `all' target into $output_all.
-
-Wed Mar 18 14:48:44 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Put secondary dependencies from
- multi-":" AC_OUTPUT entry into dependency list for file created by
- config.status, not file created by automake. Test colon3.test.
- (generate_makefile): Pass $output, not $makefile, to
- handle_merge_targets.
-
- * Makefile.am (pkgdata_DATA): Added java.am, java-clean.am.
- * java-clean.am: New file.
- * java.am: New file.
- * automake.in (generate_makefile): Call handle_java.
- (handle_java): New sub.
- (am_install_var): Only push primary variable on @all if not doing
- Java.
-
-Sun Mar 8 15:43:09 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): When recognizing AC_OUTPUT ":"
- syntax, make regexp less greedy. From Maciej W. Rozycki. Test
- colon4.test.
-
-Fri Mar 6 21:20:53 1998 Tom Tromey <tromey@cygnus.com>
-
- * m4/exeext.m4 (AM_EXEEXT): Ignore am_c_test.o. From Bruno
- Haible.
-
-Tue Feb 24 12:10:44 1998 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.2f.
-
- * mans.am (install-man@SECTION@, uninstall-man@SECTION@): Quote
- `$' in sed expression.
-
- * config.guess, config.sub, texinfo.tex: New versions from FSF.
-
- * Makefile.am (pkgdata_DATA): Added mans.am.
- * automake.in (handle_man_pages): Rewrote for new man page
- handling.
- (initialize_global_constants): Removed install_man_format,
- uninstall_man_format.
- * mans.am: New file.
-
- * data.am, header.am, libs.am, lisp.am, ltlib.am, progs.am,
- scripts.am, texinfos.am: Put `@' before NORMAL_UNINSTALL
- invocation.
-
-Mon Feb 23 13:38:56 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (get_object_extension): Remove .c.lo rule from
- libtool when dependencies turned on.
- * libtool.am (.c.lo): Disable when dependency checking turned on.
-
- Dependency fixes from Alexandre Oliva:
- * automake.in (handle_dependencies): Fixed quoting when
- substituting @PFX@ and @EXT@. Don't look for the `.P' file.
- * depend2.am (%.o): Use @PFX@ and @EXT@.
- (%.lo): New rule.
-
- * texinfos.am (.txi.info, .txi.dvi, .txi): New rules.
- * automake.in (handle_texinfo): Recognize .txi files. From Karl
- Berry.
-
- * automake.in (handle_single_transform_list): $objpat now a
- parameter. Set $objpat when suffix rule found.
-
- * aclocal.in (parse_arguments): Only put current year in --version
- output.
- * automake.in (parse_arguments): Only put current year in
- --version output.
-
-Mon Feb 16 00:12:03 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_aclocal_m4): When processing -I options,
- directory is separate argument. Test aclocali.test.
-
-Fri Feb 13 14:35:39 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (handle_texinfo): Correct condition for whether
- texinfo.tex is required. [Test texinfo5.test]
-
-Fri Feb 13 00:28:53 1998 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.2e.
-
- * Makefile.am: Removed bogus line.
-
-Thu Feb 12 22:27:05 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (get_object_extension): Conditionally include .c.o
- rule from compile.am.
- (handle_dependencies): Generate correct code when including new
- depend2.am.
- (file_contents_with_transform): Better error reporting.
- * depend.am (MKDEP): Removed.
- (.deps/.P): Removed. Don't include .deps/.P.
- * compile.am (.c.o): Now conditional on dependencies not being
- generated by compiles.
- * depend2.am (%.o): New rule.
- (.deps/%.P): Removed.
-
- * tags.am (TAGS): Uniquify list of files. From Harlan Stenn.
-
- * aclocal.in (scan_m4_files): Reverse-sort keys when constructing
- `search' function. From Johan Danielsson.
-
-Tue Sep 16 14:13:15 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * automake.in: Create new option --generate-deps. This option has
- automake generate a .dep_segment file containing just the
- dependencies created from the .P list. This is needed to maintain
- other makefiles that automake doesn't deal with (Makefile.DOS,
- SMakefile, etc.)
- * automake.texi (Invoking Automake): Document it.
-
-Thu Feb 12 19:45:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (scan_configure): Tightened regexp a bit. Test
- whoami.test. From Johan Danielsson.
-
- Report from H.J. Lu.
- * automake.in (output_yacc_build_rule): Don't write rule to create
- `.h' file.
- (handle_yacc_lex_cxx): Generate rule to build each .h file.
-
- * automake.in (handle_options): Set readme-alpha and check-news
- for Gnits after main processing. Test alpha.test. From Jim
- Meyering.
-
- * aclocal.in (usage): Updated bug-reporting address.
- * automake.in (usage): Updated bug-reporting address.
-
- * compile.am: Remove *.core for 4.4BSD systems. From Assar
- Westerlund.
-
- * automake.in (handle_single_transform_list): Don't set
- seen_any_source if all sources are C++.
-
-Wed Feb 11 17:30:01 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (write_aclocal): Write to $output_file, not
- aclocal.m4. From Alexandre Oliva.
-
-Thu Feb 5 13:38:55 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): Put CXCPP before CXX in
- regexp. From Garth Corral. Test cxxxcpp.test.
-
-Sun Jan 25 11:16:53 1998 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (generate_makefile): Run handle_minor_options before
- handle_dist, to make sure README-alpha ends up in distribution.
- From Jim Meyering.
-
-Tue Jan 13 09:19:33 1998 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (add_file): Hack for Perl 4. From Seth Alves.
-
-Thu Dec 11 12:29:46 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * scripts.am: Don't add @EXEEXT@ to installed scripts. Scripts
- are not executables.
-
-Tue Dec 2 20:07:18 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (initialize_global_constants): Bug fix in
- uninstall_man_format. Report from Eric Backus.
-
-Mon Dec 1 13:52:39 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_source_transform): Correctly generate
- _OBJECTS when _SOURCES is defined conditionally. Reported by Rob
- Savoye. Test cond3.test.
-
- Fixes for test objc.test:
- * automake.in (initialize_per_input): New global seen_any_source.
- (handle_yacc_lex_cxx): Use seen_any_source to decide when to
- define LINK, et al.
- (handle_single_transform_list): Set seen_any_source.
- (handle_lib_objects_cond): Likewise.
-
-Wed Nov 26 13:41:57 1997 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.2d.
-
- * m4/ccstdc.m4: Don't force AM_PROG_CC_STDC before AC_PROG_CPP.
- Temporary hack.
-
- * m4/mktime.m4 (AM_FUNC_MTIME): New version from Paul Eggert.
-
- * header-vars.am (NORMAL_INSTALL, PRE_INSTALL, POST_INSTALL,
- NORMAL_UNINSTALL, PRE_UNINSTALL, POST_UNINSTALL): Define as `:',
- not `true'.
-
- * automake.in (output_yacc_build_rule): Don't overwrite .h file in
- non-ylwrap case.
-
- * tags.am (ID): Scan lisp files.
- (TAGS): Make tags for lisp files.
-
-Tue Nov 25 14:20:42 1997 Tom Tromey <tromey@cygnus.com>
-
- * ltlib.am: Use INSTALL_DATA, not INSTALL_PROGRAM. From Gord
- Matzigkeit.
-
-Fri Nov 21 15:15:50 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/mingw.m4, m4/cygwin.m4: Argument to AC_TRY_COMPILE is
- function body, not entire function. From Ian Taylor.
-
-Sat Oct 25 12:39:19 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): Skip empty string for
- Perl 4. From Assar Westerlund.
-
- * config.guess, config.sub, texinfo.tex: New versions from FSF.
-
-Fri Oct 24 23:15:09 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (output_yacc_build_rule): Use YFLAGS again.
- (handle_yacc_lex_cxx): Error if YACCFLAGS used.
-
-Wed Aug 27 19:26:45 1997 Rob Savoye <rob@chinadoll.cygnus.com>
-
- * compile.am: Add suffix rules for ".s.o" and ".S.o" so assembler
- files can be used.
- * libtool.am: Add suffix rules for ".s.lo" and ".S.lo" so assembler
- files can be used.
- * automake.in: Add .S and .s to the standard list of suffixes so
- assembler files can be used.
-
-Fri Oct 24 13:39:01 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/exeext.m4: Require AM_MINGW32. Check MINGW32 setting.
-
-Thu Oct 23 21:16:28 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/init.m4 (missing_dir): AC_REQUIRE AM_SANITY_CHECK,
- AC_ARG_PROGRAM, and AC_PROG_MAKE_SET.
-
-Tue Oct 21 16:49:36 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_options): Recognize `cygnus'.
-
-Tue Sep 9 17:09:47 1997 Rob Savoye <rob@chinadoll.cygnus.com>
-
- * m4/mingw.m4: New file for mingw32 support.
- * m4/exeext.m4: Also check for the mingw32 environment.
-
-Tue Oct 21 00:39:44 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/Makefile.am (m4data_DATA): Added mingw.m4.
-
- * automake.in (handle_lib_objects_cond): Don't require @LEXLIB@.
- (handle_programs): Likewise.
-
- * subdirs.am (check-recursive installcheck-recursive
- info-recursive dvi-recursive): Handle case when SUBDIRS is empty.
- (maintainer-clean-recursive): Likewise. From Assar Westerlund.
-
- * aclocal.in (scan_m4_files): If macro recognized, &search will
- return 1.
- (scan_configure): If AM_ macro not found, give error.
-
- * m4/sanity.m4: If `ls' completely fails, die. From Jim
- Meyering.
-
-Mon Oct 20 16:13:48 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_single_transform_list): Fixlet for Fortran.
- From Bernard Urban.
-
- * libtool.am: Remove _libs, for libtool 1.0d. From Gord
- Matzigkeit.
-
-Sun Oct 19 22:59:35 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am: Bug fix. From John W. Coomes.
-
-Mon Sep 29 12:57:00 1997 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.2c.
-
- * automake.in (handle_dist_worker): In topmost directory of
- project, use `distdir', not `top_distdir', as argument to
- --output-dir; likewise when building in subdirs.
-
-Sun Sep 28 15:55:46 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/sanity.m4: Test $*, not $@. From Akim Demaille.
-
- * automake.in (handle_minor_options): New sub.
- (check_gnits_standards): Don't handle README-alpha here.
- (handle_dist_worker): Check NEWS file if `check-news' option
- requested.
- (generate_makefile): Run handle_minor_options.
- (handle_options): Handle readme-alpha and check-news. Set them if
- --gnits.
-
- * depend.am (MKDEP): Use $(CC), not gcc.
-
-Wed Sep 24 23:48:26 1997 Tom Tromey <tromey@cygnus.com>
-
- * Release 1.2b.
-
- * m4/ccstdc.m4 (AM_PROG_CC_STDC): Make sure this is run before
- AC_PROG_CPP. From Markus Oberhumer.
-
-Fri Sep 12 00:04:19 1997 Paul Eggert <eggert@twinsun.com>
-
- * m4/ccstdc.m4 (AM_PROG_CC_STDC): Don't look at __STDC__;
- look only at whether function prototypes are supported.
-
-Wed Sep 24 16:10:37 1997 Tom Tromey <tromey@cygnus.com>
-
- * Various: Put "-" before each `rm' line. This avoids a bug in
- some losing makes (Ultrix, 4.3 BSD).
-
- * automake.in (handle_dist_worker): Correctly handle subdirs that
- have their own configure.in. From Peter Mattis.
-
- * automake.in (handle_yacc_lex_cxx): Handle de-ansi-fied sources
- in srcdir as well as build dir.
-
- * automake.in (scan_one_configure_file): Detect AC_OUTPUT().
- (handle_single_transform_list): Don't apply length() to a list.
-
- * automake.in (handle_programs): Define _DEPENDENCIES variable if
- not defined by user.
-
-Thu Sep 18 19:43:38 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/sanity.m4: Quote "$@" for m4. From Gord Matzigkeit.
-
-Mon Sep 1 23:50:38 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): Set need_texi_file only when
- TEXINFO_TEX not defined.
-
-Thu Aug 28 09:37:29 1997 Tom Tromey <tromey@cygnus.com>
-
- From Juergen Erhard:
- * automake.in (SUFFIX_RULE_PATTERN): New global.
- (handle_single_transform_list): If suffix matches a source suffix,
- rewrite.
- (read_am_file): Add suffix rules to %suffix_rules.
- (initialize_per_input): Initialize %suffix_rules.
-
-Wed Aug 27 12:56:50 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): Also remove .kys and .ps files.
-
- * automake.in (handle_yacc_lex_cxx): Quoting fixlet. From Kaveh
- Ghazi.
-
- * aclocal.in (write_aclocal): Print copyright and copying
- permissions. From RMS.
- * automake.in (initialize_global_constants): More copyright stuff
- from RMS.
-
- * automake.in (handle_texinfo): Only require texinfo.tex in
- appropriate situations. Report from Paul D. Smith.
-
-Mon Aug 25 15:45:52 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_dependency_file): Fix so that
- OMIT_DEPENDENCIES will work. From Alexander Lukyanov.
-
- * automake.in (handle_texinfo): texi2dvi can generate `.cn'
- files. From Akim Demaille.
-
-Wed Aug 6 10:51:37 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): Reversed sense of test.
-
-Tue Aug 5 17:49:54 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dependencies): Always mark OMIT_DEPENDENCIES
- as seen.
-
- * automake.in (handle_yacc_lex_cxx): Make each _.c file depend on
- ansi2knr.
-
- * automake.in (handle_yacc_lex_cxx): Fix for makes which don't
- allow $< in non-suffix rules. From Akim Demaille.
-
- * automake.in (value_to_list): If variable name contains configure
- substitution, then just ignore it.
-
- * automake.in (variable_defined): Mark variable is seen, even if
- only conditionally seen.
-
- * Makefile.am: Check for bad splits.
- * automake.in (various): Use split(' ',...), not split(/ /,...).
-
-Tue Aug 5 14:08:51 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * ylwrap: If the program is a relative path, force it to be
- absolute.
-
-Tue Aug 5 16:59:41 1997 Tom Tromey <tromey@cygnus.com>
-
- * missing: Examine A[CM]_CONFIG_HEADER for name of files to
- touch. From Markus F.X.J. Oberhumer.
-
- * automake.in (require_file_internal): Better error message when
- installing.
-
- * automake.in (handle_texinfo): Smarter test when deleting output
- of makeinfo.
-
-Sat Aug 2 13:32:45 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (do_check_merge_target): In --cygnus mode, check
- doesn't depend on all.
-
- * automake.in (output_yacc_build_rule): Use YACCFLAGS, not
- YFLAGS. Per GNU Standards.
-
- * dejagnu.am (RUNTESTDEFAULTFLAGS): New macro.
- (check-DEJAGNU): Use it.
-
- * subdirs.am (maintainer-clean-recursive): Actually reverse subdir
- list. From Alexander Lukyanov.
-
- * automake.in (initialize_global_constants): Changed generated
- copyright. From RMS.
-
- * automake.in (handle_configure): Pass correct value for
- CONFIG_FILES. From Ian Taylor.
-
-Thu Jul 31 17:36:10 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * ylwrap (pairlist): Shift out trailing "--"; don't pass it to
- $prog.
-
-Thu Jul 24 00:52:02 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (initialize_global_constants): Changed index names
- in dist hash so that alternate dist targets will be generated.
- Report from Glenn Amerine.
-
- Suggestion from Karl Berry:
- * automake.in (usage): Added short info line.
-
- * aclocal.in (usage): Updated bug-reporting address. Added short
- info line.
-
- * automake.in (handle_emacs_lisp): Put contents of lisp-clean.am
- into output. Report from Karl Berry.
-
-Mon Aug 25 16:14:32 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Only generate ":" syntax for
- CONFIG_FILES when really needed.
-
-Wed Aug 6 14:47:12 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * remake-hdr.am (@CONFIG_HEADER@): Use a dummy command to force
- GNU make to recheck the file modification time.
-
-Tue Aug 5 14:44:10 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * ylwrap: If the program is a relative path, force it to be
- absolute.
-
-Mon Aug 4 14:52:08 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in ($RULE_PATTERN): Accept $ in body of rule name.
- (handle_programs): Don't append $(EXEEXT) if the
- program name contains '.'.
- (am_install_var): When rewriting _PROGRAMS, don't append $(EXEEXT)
- if the program names contains '.'. Also, handle conditionals.
-
-Sat Aug 2 14:43:41 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/exeext.m4: Fixed quoting.
-
- * m4/exeext.m4 (am_cv_exeext): Use echo, not ls.
-
- * automake.in (handle_programs): Transform @EXEEXT@ when including
- program.am.
-
-Fri Aug 1 17:09:09 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_programs): Don't transform CYGWIN or
- NOTCYGWIN.
- (am_install_var): Likewise.
-
- * progs-clean.am (clean-@DIR@PROGRAMS): Never include EXEEXT.
-
- * progs.am: Removed @EXEEXT@; it is now implicit.
- * program.am: Add @EXEEXT@ in appropriate places; removed
- cygwin-dependent code.
- * automake.in (seen_exeext): Renamed from seen_cygwin32.
- (handle_programs): Use seen_exeext.
- (scan_one_configure_file): Look for AM_EXEEXT, not AM_CYGWIN32.
- (check_cygnus): Use seen_exeext.
- (am_install_var): Likewise.
- (am_install_var): When handling PROGRAMS primary, append EXELIST
- to program names as necessary.
- * m4/exeext.m4: Require AM_CYGWIN32.
-
-Thu Jul 31 17:36:10 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * ylwrap (pairlist): Shift out trailing "--"; don't pass it to
- $prog.
-
- * texinfos.am: Add -I $(srcdir) when invoking $(MAKEINFO) for
- CYGNUS .texinfo.info case and .texinfo case.
-
- * automake.in (handle_configure): Correct handling of inputs for
- for AC_OUTPUT files when invoking config.status.
-
-Mon Jul 28 15:29:25 1997 Rob Savoye <rob@chinadoll.cygnus.com>
-
- * m4/cygwin.m4: Set a variable CYGWIN32, rather than EXEEXT.
- * m4/exeext.m4: New autoconf test for an executable suffix.
- * m4/Makefile.in: Install the new exeext.m4 test.
-
-Sun Jun 22 14:01:59 1997 Tom Tromey <tromey@cygnus.com>
-
- * Released version 1.2.
-
- * automake.in (handle_texinfo): Look for texinfo.tex in aux dir.
-
- * automake.in (require_file_internal): Only print "installing"
- when actually installing. From Gord Matzigkeit.
-
- * automake.in (handle_tests): Exit status `77' means `ignore
- test'. From François Pinard.
- (handle_tests) Also, make banner same size as text.
-
- * automake.in (handle_configure): Don't handle PRE_BUILT_SOURCES.
- (handle_built_sources): Likewise; don't have `all' depend on
- BUILT_SOURCES.
-
- * depend.am (DEPS_MAGIC): New variable.
- (.deps/.P): Depend on BUILT_SOURCES again.
-
- * texinfos.am: Use ||, not ;.
-
-Tue Jun 10 11:04:16 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/cygwin.m4: Examine output of compiler to see if .exe needed.
-
-Sun Jun 1 13:16:05 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_built_sources): Handle PRE_BUILT_SOURCES.
- (handle_configure): Likewise.
-
- * depend2.am (.deps/%.P): Don't generate file if MKDEP fails.
- From Alexandre Oliva.
-
- * depend.am (.deps/.P): Depend on PRE_BUILT_SOURCES, not
- BUILT_SOURCES.
-
- * automake.in (initialize_global_constants): Added 1997 to
- copyright info.
-
- * automake.in (output_yacc_build_rule): Never move y.tab.c over
- the .h file. From Jim Meyering.
-
-Thu May 29 23:16:02 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): Avoid defining ACLOCAL,
- AUTOCONF, AUTOMAKE, AUTOHEADER. From David Zaroski.
-
-Sat Feb 22 16:05:24 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * Makefile.am (pkgdata_DATA): Under this new scheme, we no longer
- need compile-kr.am. Delete it.
-
- * automake.in (handle_yacc_lex_cxx, get_object_extension): Use
- _.c, _.o, _.lo instead of ._c, ._o, .l_o for de-ansification.
-
- * ansi2knr.c (main): Parse our arguments a little differently so
- that we don't create null output files when we can't read the
- input file.
-
-Wed May 28 23:40:33 1997 Tom Tromey <tromey@cygnus.com>
-
- * depend.am (.deps/.P): Depend on $(BUILT_SOURCES) again. From
- Gord Matzigkeit.
-
-Mon May 26 22:50:49 1997 Tom Tromey <tromey@cygnus.com>
-
- * remake-hdr.am ($(srcdir)/@STAMP@.in): Make echo silent. Report
- from Alexandre Oliva.
-
- * automake.in (generate_makefile): If --no-force, check
- Makefile.in against configure.in and aclocal.m4. Report from
- Alexandre Oliva.
-
- * automake.in (handle_dist_worker): Put --include-deps on command
- line if specified originally.
- (handle_configure): Likewise.
-
- * configure.in: Error if Perl 5.001 is used.
-
- * ylwrap: Don't quote $prog when executing it. From Jim
- Meyering.
-
-Thu May 15 12:05:20 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_merge_targets): Set INSTALL_SCRIPT in
- install-strip target.
-
-Tue May 13 08:20:02 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dependencies): Don't generate dependencies
- if DEP_FILES would be empty.
-
-Sun May 11 13:59:14 1997 Tom Tromey <tromey@cygnus.com>
-
- * config.guess: New version from FSF.
-
- * automake.in (get_object_extension): If ansi2knr in another
- directory, always define ANSI2KNR to full path. From Akim
- Demaille.
-
- * kr-extra.am (clean-krextra): Remove ansi2knr here, not in
- distclean-krextra.
-
- * missing: Regularized grammar. From François Pinard.
-
-Sat May 10 16:48:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.1p.
-
- * m4/init.m4: Error if source directory already configured.
-
- * automake.in (scan_dependency_file): Always use srcdir name as
- passed in on command line.
-
-Thu May 1 12:53:46 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (value_to_list): Don't fail when a variable
- substitution is not a complete word.
-
-Tue May 6 15:22:41 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * subdirs.am: Fix check for make -k to use $(MAKEFLAGS) and to not
- get fooled by command line arguments.
-
-Sat May 10 15:48:46 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/ccstdc.m4: Print "none needed" if compiler accepts ANSI C by
- default.
-
-Mon May 5 23:24:09 1997 Tom Tromey <tromey@cygnus.com>
-
- * mkinstalldirs, config.guess, config.sub, COPYING, texinfo.tex:
- New versions from FSF.
-
-Sun May 4 15:21:22 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am (install-info): Avoid the Debian install-info.
- (uninstall-info): Likewise.
-
- * automake.in (handle_single_transform_list): Strip any directory
- name before processing name.
-
-Thu May 1 19:24:08 1997 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (.deps/%.P): Don't put $(srcdir)/ into dependency.
-
-Wed Apr 30 19:15:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Change how top_distdir is
- computed. Based on patch from Ian Taylor.
- (handle_dist): Define top_distdir.
-
- * automake.in (handle_yacc_lex_cxx): Include CXXFLAGS in CXXLINK.
- (handle_yacc_lex_cxx): Include CFLAGS in LINK.
-
-Wed Apr 30 14:46:37 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (handle_dist_worker): When building a distribution,
- if SUBDIRS is defined conditionaly, recur into each possible
- subdirectory.
-
- * clean.am (distclean-generic): Remove stamp-h[0-9]*.
-
-Tue Apr 29 19:11:45 1997 Tom Tromey <tromey@cygnus.com>
-
- * INSTALL, mkinstalldirs, install-sh: Update from François
- Pinard.
-
- * aclocal.in (add_macro): If AC_ macro was defined, then mark it
- as seen. Report from Janos Farkas.
-
- * subdirs.am: Clean targets now run in reverse order. From Kevin
- Dalley.
-
- * automake.in (handle_texinfo): Put `aminfo', not `info' on
- @clean.
-
- * mdate-sh: New version from Ulrich Drepper.
-
-Mon Apr 28 01:18:05 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Makefile only depends on
- BUILT_SOURCES when generating dependencies.
-
- * Released 1.1o.
-
-Sun Apr 27 23:58:20 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist): Use variable_value, not
- variable_contents.
-
-Wed Apr 23 14:04:28 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (IF_PATTERN): Define.
- (ELSE_PATTERN, ENDIF_PATTERN): Define.
- (AM_CONDITIONAL_PATTERN): Define.
- (%configure_cond): New global hash table.
- (handle_source_transform): If xx_SOURCES is defined conditionally,
- define xx_OBJECTS using the same conditions.
- (handle_lib_objects): If variable is defined conditionally, define
- xx_DEPENDENCIES conditionally. Most code moved into subroutine.
- (handle_lib_objects_cond): New function, broken out of
- handle_lib_objects.
- (scan_one_configure_file): Look for $AM_CONDITIONAL_PATTERN.
- (conditional_true_when): New function.
- (variable_defined): Add new parameter: cond. Change some
- callers.
- (variable_conditions): New function.
- (variable_conditionally_defined): New function.
- (variable_value): New function. Change most uses of $contents to
- call variable_value instead.
- (value_to_list): New function, from variable_value_as_list.
- (variable_value_as_list): Add new parameter: cond. Change all
- callers. Move some code into subroutine value_to_list.
- (define_pretty_variable): Add new parameter: cond. Change call
- callers.
- (read_am_file): Handle conditionals.
- (initialize_per_input): Initialize %conditional and
- @conditional_stack.
- * m4/cond.m4: New file.
- * m4/Makefile.am (m4data_DATA): Add cond.m4.
-
-Sun Apr 27 11:03:36 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Run automake once per
- directory, instead of once at the top.
- (handle_dist_worker): Changed interface.
- (handle_dist): Likewise.
- (generate_makefile): Better error message if can't write the
- file.
- (handle_dist_worker): Pass top_distdir to subdir makes.
-
- * automake.in (handle_dist_worker): Use mode 777 on directories in
- distribution. GNU Standards compliance.
-
- * automake.in (handle_yacc_lex_cxx): Don't use interlock.
- (output_yacc_build_rule): Don't use interlock; just use new ylwrap
- instead. The new ylwrap builds in a subdir; idea from Mark
- Eichin.
- (output_lex_build_rule): Likewise.
- (initialize_global_constants): [common_files] Don't include
- interlock.
-
- * Makefile.am (pkgdata_SCRIPTS): Removed interlock.
- * interlock: Removed.
- * ylwrap: Changed interface. Now runs command in subdir.
-
- * remake.am (config.status): Look in srcdir for config header.
- ($(srcdir)/configure): Likewise.
- * remake-hdr.am (@STAMP@): Look in srcdir for config header. From
- Phil Nelson.
- ($(srcdir)/@CONFIG_HEADER_IN@): Likewise.
-
- * automake.in (handle_aclocal_m4): Make target $(ACLOCAL_M4), not
- value spelled out. From Phil Nelson
-
- * automake.in (handle_configure): Don't skip Makefiles; instead
- skip automake inputs.
- (handle_merge_targets): Changed interface; put $makefile at
- beginning of @all (rather than Makefile at end).
-
- * automake.in (handle_yacc_lex_cxx): Correctly compute
- de_ansi_sources.
-
- * clean-kr.am (distclean-kr): Do nothing; ansi2knr is removed in
- kr-extra.am.
-
- * Makefile.am: Check to make sure there are no accidental
- configure substitutions.
-
- * automake.in (handle_texinfo): Don't allow configure substitution
- on @MAKEINFO@ here.
-
- * automake.in (handle_yacc_lex_cxx): ._c and ._o files both depend
- on $(ANSI2KNR).
-
- * kr-extra.am (ansi2knr): Removed.
- (ansi2knr.o): Likewise.
-
- * automake.in (get_object_extension): Allow ansi2knr to be built
- from any directory.
-
-Fri Apr 25 12:33:23 1997 Tom Tromey <tromey@cygnus.com>
-
- * missing: Changed bison text. From Ian Taylor.
-
- * m4/missing.m4: Redirect stdin of testee. From Bill Fenner.
-
- * automake.in (output_yacc_build_rule): Generate rule to create .h
- file.
- (handle_footer): Generate unique, sorted list of suffixes.
-
- * automake.in (scan_one_configure_file): Recognize AC_PROG_AWK,
- _CPP, _CXCPP, _LN_S. From Ralph Schleicher.
-
-Mon Apr 21 12:35:57 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * automake.in (@config_fullnames): New array.
- (@config_names): New array, replacing $config_name.
- (@config_headers): New array, replacing $config_header.
- (get_object_extension): Handle multiple header files.
- (handle_tags, handle_merge_targets): Likewise.
- (scan_one_configure_file): Likewise.
- (handle_configure): Likewise. Don't check for the configuration
- header file in AC_OUTPUT; it won't be there.
- * remake-hdr.am: Handle multiple header files.
- * clean-hdr.am: New file, broken out of remake-hdr.am.
- * m4/header.m4: Handle multiple header files.
- * Makefile.am (pkgdata_DATA): Add clean-hdr.am.
-
-Wed Apr 16 00:05:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am (.texi.info, .texi, .texinfo.info, .info): Remove
-
- * automake.in (define_program_variable): Added `override' argument.
- (handle_texinfo): Pass override arg when defining MAKEINFO.
- (AC_MISSING_PROG): New constant.
- (scan_one_configure_file): Use it.
-
-Tue Apr 15 12:12:28 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_texinfo): In --cygnus mode, reserve
- clean-info for the user.
-
- * automake.in (handle_subdirs): Typo fix. From Akim Demaille.
-
- * automake.in (handle_tags): Only use SUBDIRS if it is actually
- defined. Report from Ian Taylor.
-
- * tags.am: Added prefix to SUBDIRS rules.
-
-Wed Apr 9 17:09:40 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_ltlibraries): Use correct rpath
- substitution. Bug from Jim Blandy.
-
-Mon Apr 7 17:40:18 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (AM_INIT_AUTOMAKE_PATTERN): Fixed for new 3rd arg.
- Test version2.test.
-
-Thu Apr 3 19:07:59 1997 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.1n.
-
- * tags.am (TAGS): Run "cd && etags" in subshell for proper
- associativity.
-
- * texinfos.am (install-info-am): If --cygnus, then info file can
- be in build dir. From David Zaroski.
-
- * ltlibrary.am (@LTLIBRARY@): use @RPATH@, not explicit -rpath.
-
- * automake.in (handle_ltlibraries): Treat EXTRA_ libraries
- specially.
-
-Wed Apr 2 00:03:50 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_source_transform): Don't generate dependency
- on config.h.
- (scan_dependency_file): Strip the .P file from the target.
-
- * automake.in (handle_tags): Use single, not double, quotes when
- setting list variable.
-
- * data.am, header.am, libs.am, lisp.am, ltlib.am, progs-clean.am,
- progs.am, scripts.am, tags.am: Use single quotes to fill list
- variable; otherwise `$' in filename will not work. From Per
- Bothner.
-
- * mdate-sh: Use "ls -d" so mdate-sh can be run on a directory.
- From Bruno Haible.
-
- * automake.in (handle_programs): Error if LIBADD used where LDADD
- meant.
- (handle_libraries): Error if LDADD used where LIBADD meant.
- (handle_ltlibraries): Likewise.
-
-Tue Apr 1 22:46:33 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (check_canonical_spelling): New sub.
- (handle_programs): Use it.
- (handle_libraries): Likewise.
- (handle_ltlibraries): Likewise.
-
-Mon Mar 31 12:13:08 1997 Tom Tromey <tromey@cygnus.com>
-
- * depend2.am (.deps/%.P): Make .P file depend on everything the .c
- file includes.
-
-Fri Mar 28 23:34:49 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_configure): Error if stamp-h appears in
- AC_OUTPUT line.
-
-Thu Mar 27 17:28:47 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_dist_worker): Avoid automake rules in
- generated Makefile when no-dependencies specified. From Greg
- Woods.
-
- * m4/lispdir.m4: Don't AC_SUBST ELCFILES. From Greg Woods.
-
- * texi-vers.am (stamp-@VTI@): Make commands silent.
-
- * Makefile.am (maintainer-check): "true" is ok now.
-
- * m4/init.m4: Added optional 3rd argument, which avoids
- AC_DEFINE.
-
- * automake.in (scan_one_configure_file): Explicitly avoid
- INSTALL_SCRIPT to avoid defining it twice.
-
- * header-vars.am: Change _INSTALL variable definitions to `true'.
- Updated all users to put `@' before invocation.
-
-Tue Mar 25 22:09:45 1997 Tom Tromey <tromey@cygnus.com>
-
- Update to follow GNU Standards:
- * automake.in (handle_man_pages): Use NORMAL_UNINSTALL before
- uninstall-man.
- * texinfos.am (uninstall-info): Use two loops, and have
- PRE_UNINSTALL before running install-info.
- * data.am, header.am, libs.am, lisp.am, ltlib.am, progs.am,
- scripts.am, texinfos.am: Use NORMAL_UNINSTALL.
- * header-vars.am (PRE_UNINSTALL, POST_UNINSTALL,
- NORMAL_UNINSTALL): Define.
-
- * automake.in (scan_one_configure_file): Don't define ANSI2KNR as
- a configure varriable.
-
- * m4/missing.m4: Run test in a subshell. From Gord Matzigkeit.
-
-Mon Mar 24 23:28:59 1997 Tom Tromey <tromey@cygnus.com>
-
- * m4/sanity.m4: Sleep before creating temp file.
-
- * header-vars.am (NORMAL_INSTALL, PRE_INSTALL, POST_INSTALL):
- Define.
-
-Sat Mar 22 00:06:00 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (am_install_var): Make sure to delete
- CYGWIN/NOTCYGWIN tokens as appropriate.
- (handle_programs): Remove NOTCYGWIN tokens as well.
- (file_contents_with_transform): A single newline makes an empty
- line.
-
- * program.am: Remove executable before linking.
-
- * texinfos.am (.texi.dvi): Look in @TEXINFODIR@ for texinfo.tex.
- (.texinfo.dvi): Likewise.
-
- * automake.in (handle_texinfo): TEXINFO_TEX variable can set
- location of texinfo.tex.
-
-Fri Mar 21 10:22:51 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am (.texinfo.dvi): Mirror .texi.dvi.
-
- * ansi2knr.c, ansi2knr.1: New versions from L. Peter Deutsch.
-
- * scripts.am: Add @EXEEXT@ to installed scripts.
-
-Wed Jan 22 20:12:31 1997 Jim Meyering <meyering@na-net.ornl.gov>
-
- * m4/mktime.m4 (AM_FUNC_MKTIME): Run tests for each of a few values
- for the TZ environment variable. Andre Novaes Cunha provided the
- hairy TZ setting that exercized the Solaris tzset bug.
-
-1997-01-22 Paul Eggert <eggert@twinsun.com>
-
- * m4/mktime.m4: (AM_FUNC_MKTIME): Fix bug in mktime test -- don't
- test now, test a couple of thousand times.
-
-Thu Mar 20 00:16:54 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_programs): Remove CYGWIN lines unless
- AM_CYGWIN32 seen.
- (am_install_var): Remove CYGWIN lines from -clean file as well.
-
- * progs.am: Put @EXEEXT@ where appropriate.
-
- * program.am (@PROGRAM@): If using Cygwin32, then create actual
- name in addition to ".exe" name.
-
- * progs-clean.am (clean-@DIR@PROGRAMS): Conditionalize on CYGWIN.
-
- * automake.in (check_cygnus): Require AM_CYGWIN32 in --cygnus mode.
- (am_install_var): If AM_CYGWIN32 not seen, then remove @EXEEXT@
- from .am files.
-
- * automake.in (seen_cygwin32): New global.
- (scan_one_configure_file): Check for AM_CYGWIN32.
-
- * m4/cygwin.m4: New file.
-
- * automake.in (scan_one_configure_file): Explicitly handle
- AC_CONFIG_HEADER so we can avoid spurious warnings.
- (obsolete_macros): Removed AC_CONFIG_HEADER.
-
- * automake.in (handle_yacc_lex_cxx): Perl 4 fixes. From Greg
- A. Woods.
-
-Wed Mar 19 00:35:13 1997 Tom Tromey <tromey@cygnus.com>
-
- * Released 1.1m.
-
- * m4/missing.m4: Print message saying what is happening.
-
- * m4/sanity.m4: sleep before testing.
-
-Tue Mar 18 17:20:03 1997 Tom Tromey <tromey@cygnus.com>
-
- * config.guess, config.sub: New from the FSF.
-
- * automake.in (initialize_global_constants): [common_files]
- Include `missing'.
- (scan_configure): Require `missing'.
-
- * header-vars.am (MAKEINFO): Don't define.
-
- * m4/init.m4 (missing_dir): Use AM_MISSING_PROG.
- * m4/missing.m4: New file.
-
- `missing' changes from François Pinard:
- * Everywhere: Use ACLOCAL_M4 to name aclocal.m4 file; ACLOCAL now
- names aclocal program.
- * m4/init.m4: Replace programs with `missing' if not found.
- * automake.in (handle_texinfo): Define MAKEINFO as @MAKEINFO@.
- (AC_CHECK_PATTERN): Check for alphanumeric names only.
- (handle_aclocal_m4): Use ACLOCAL, not aclocal.
- * Makefile.am (pkgdata_SCRIPTS): Include missing.
- * missing: New file.
-
- * automake.in (target_defined): New sub.
- (handle_footer): Error if target .SUFFIXES used.
-
-Sun Mar 16 14:33:41 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_lib_objects): Set seen_c_source to line
- number.
- (handle_yacc_lex_cxx): Use seen_c_source as line number.
- (am_line_error): Line of -1 means skip line-number check.
-
- * automake.in (read_am_file): Change to keep perl -w quiet.
- (check_typos): Removed extra check of EXTRA_ containing config
- subs.
-
-Mon Mar 10 23:17:19 1997 Tom Tromey <tromey@cygnus.com>
-
- * remake-hdr.am (stamp-h): Set CONFIG_HEADERS to
- $(CONFIG_HEADER_FULL).
- * automake.in (handle_configure): Define CONFIG_HEADER_FULL.
-
- * automake.in (handle_lib_objects): Set seen_c_source as
- appropriate. From Alexander V. Lukyanov. Test cxxlibobj.test.
-
-Sat Mar 8 22:54:35 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfo.tex: New version.
-
- * automake.in (handle_emacs_lisp): If EMACS is `no', then we
- couldn't find an Emacs. So don't bother running elisp-comp. From
- Ulrich Drepper.
-
- * automake.in (handle_texinfo): Added .tr and .cv to list of
- texinfo clean extensions. From Karl Berry.
-
-Fri Feb 28 22:14:53 1997 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am: Make sure we never use "undef".
-
- * automake.in (usage): Changed bug-reporting address.
- (handle_dist): Use undef, not delete.
-
-Wed Feb 26 08:41:11 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
-
- * automake.in (%obsolete_macros): Reintroduce, with hints for what
- to do to upgrade the support.
-
- * automake.in, ltlib-clean.am, ltlib.am, ltlibrary.am: Revamped
- libtool support to use the _LTLIBRARIES primary.
-
-Wed Feb 26 00:20:39 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_tags): In default case, add @tags_deps to
- dependencies of tags target.
-
-Tue Feb 25 23:46:29 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_tests): If a test failed, then make should
- fail. From Jim Meyering.
-
-Mon Feb 24 19:02:21 1997 Tom Tromey <tromey@cygnus.com>
-
- * texi-vers.am (@VTEXI@): Copy stamp file into output.
-
-Sun Feb 23 00:10:36 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (handle_programs): Give correct error line for lex
- error.
- (am_line_error): Avoid uninitialized value errors from perl -w.
-
- * aclocal.in (scan_m4_files): Fixed perl -w warning.
-
- * texinfos.am (.texi, .texinfo): New targets.
-
- * automake.in (scan_texinfo_file): Renamed.
- (handle_texinfo): Handle files without ".info" extension.
-
- * automake.in (handle_subdirs): Error if directory contains "/".
- (handle_yacc_lex_cxx): Quoting fix.
- (handle_single_transform_list): Use transformed (non-ansi) version
- of $obj instead of explicit ".o". From Gord Matzigkeit.
-
- * m4/sanity.m4: Pass -L to ls if possible.
-
-Sat Feb 22 15:22:31 1997 Tom Tromey <tromey@cygnus.com>
-
- * dist-vars.am (DISTFILES): Don't distribute MANS.
-
- * automake.in (handle_dist): Use define_variable to define TAR,
- GZIP.
- (handle_dist): Pass GZIP in environment to tar.
- (initialize_global_constants): Likewise.
-
- From Kaveh Ghazi:
- * m4/protos.m4: Don't put any dependencies on AC_C_INLINE or
- AC_C_CONST.
- * m4/ccstdc.m4: Force AM_PROG_CC_STDC to come before AC_C_INLINE
- or AC_C_CONST.
-
-Fri Feb 21 00:39:17 1997 Tom Tromey <tromey@cygnus.com>
-
- From The Crimson Binome:
- * automake.in (handle_yacc_lex_cxx): Handle C++ yacc/lex source.
- (output_yacc_build_rule): New sub for C++ yacc/lex.
-
- * automake.in (my_glob): New sub.
- (handle_dependencies): Use my_glob.
- (handle_aclocal_m4): Scan ACLOCAL_AMFLAGS for dependencies.
-
- * ltlibs.am, lisp.am, libs.am, header.am, data.am, progs.am,
- scripts.am, texinfos.am: Add leading space to echo.
-
- * automake.in (handle_texinfo): Added .tps and .vrs to list of TeX
- endings. From Jim Blandy.
- (install_man_format): Make rule silent; instead print actual
- command.
-
-Tue Feb 4 18:29:42 1997 Tom Tromey <tromey@cygnus.com>
-
- * dist-vars.am (TAR): Removed.
- * automake.in (TAR): New variable.
- (handle_dist): Explicitly define TAR.
- * configure.in: Compute TAR.
-
- * automake.in (handle_lib_objects): Put @ALLOCA@ on @dep_list, not
- @dep_files.
- (AC_SUBST_PATTERN): Typo fix.
- (handle_aclocal_m4): Use ACLOCAL_AMFLAGS.
- (handle_clean): Put -recursive target before -am target.
- (handle_merge_targets): Put basename of $config_name on @all.
- Test confsub.test. From Ramón García Fernández.
-
-Tue Jan 28 22:19:04 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (initialize_global_constants): Put libtoolize files
- into @common_files, not @common_sometimes. From Gord Matzigkeit.
-
-Sun Jan 26 17:46:08 1997 Tom Tromey <tromey@cygnus.com>
-
- * texinfos.am (.texi.info): If --cygnus, set -I $(srcdir). From
- Per Bothner.
-
-Sun Jan 12 18:28:16 1997 Fred Fish (fnf@ninemoons.com)
-
- * automake.in: Use 'interlock' and 'ylwrap' from source
- directory or aux config directory, not build directory.
-
-Tue Jan 7 18:35:10 1997 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.in (parse_arguments): Handle -I.
- (usage): Ditto.
- (scan_m4_files): Ditto.
-
- * automake.in (handle_single_transform_list): Don't give error
- message if extension unrecognized.
-
-Tue Dec 17 11:18:20 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m4/header.m4 (AM_CONFIG_HEADER): Check for $CONFIG_HEADERS, not
- $CONFIG_HEADER.
-
-Tue Jan 7 17:59:26 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (scan_one_configure_file): AM_INIT_GUILE_MODULE runs
- AM_PROG_INSTALL, not AC_PROG_INSTALL. From Jim Blandy.
- (handle_texinfo): Handle no-texinfo.tex option.
- (handle_options): Ditto.
-
-Thu Jan 2 14:16:17 1997 Tom Tromey <tromey@cygnus.com>
-
- * automake.in (am_install_var): Ignore EXTRA libtool libraries.
- From Marius Vollmer.
-
------
-
-Copyright 1997-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification, are
-permitted provided the copyright notice and this notice are preserved.
diff --git a/old/TODO b/old/TODO
deleted file mode 100644
index ad7fc4e1b..000000000
--- a/old/TODO
+++ /dev/null
@@ -1,504 +0,0 @@
-the new YFLAGS code doesn't correctly handle srcdir
-
-allow foo_NAME to rename an object (library or program)
-at build/install time
-
-remove _LTLIBRARIES and just use _LIBRARIES
-then use this for zip/jar as well
-
-add an error if the user makefile.am violates our
- namespace rules
-
-we need a document describing automake from the end user's point of view
-eg describe INSTALL_HEADER there, among other things
-
-* maintainer-clean
-
-Akim:
-> @@ -31,5 +31,9 @@
-> DISTCLEAN -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
->
-> maintainer-clean-generic:
-> +## FIXME: shouldn't we really print these messages before running
-> +## the dependencies?
-> + @echo "This command is intended for maintainers to use"
-> + @echo "it deletes files that may require special tools to rebuild."
-> -rm -f Makefile.in
-
-Tom:
-> I'd like to eventually fix the FIXME comment by having
-> maintainer-clean look like:
->
-> maintainer-clean:
-> @echo ...
-> $(MAKE) whatever
->
-> We're left with the question of whether we should repeat them in every
-> subdir.
-
-*
-Alexandre Oliva:
-> Hmm... Interesting. It must have been a side effect of the enabling
-> of forced `relink' on GNU/Linux/x86. Anyway, on platforms that
-> actually require relinking, this problem remains, and I see no way to
-> overcome it other than arranging for automake to install libraries
-> before executables, as you suggest. This shouldn't be a big problem,
-> anyway.
->
-> A bigger problem could show up if two libraries in the same directory,
-> one dependent on the other, are installed concurrently. If relinking
-> is needed for the dependent library, we have a problem. It appears to
-> me that user will have to live without `make -j install', in this
-> case.
-
-Alex Hornby
-> Here's an Automake patch and changelog entry allow make -j install on
-> such degenerate systems (and Linux with buggy libtool <g>)
->
-> If you install to locations other that bin_ and lib_ then a larger fix
-> is necessary, but this should fix the 90% case.
-
-* think about how per-object flags should work. in particular:
- * how should they be specified?
- using the object name is confusing when .lo/.obj in use
- however, the object name provides a nice interaction with
- per-exe flags
- * how should they interact with per-executable flags?
- [ this is probably a feature in search of a problem ]
-
-* cross-compilation support:
- programs built and used by the build process need to be
- built for CC_FOR_BUILD
- introduce a new prefxi for this, e.g. `build_PROGRAMS'
- [ we can do this in an automatic way I think.
- unfortunately it isn't that useful until autoconf has support
- for this sort of thing as well ]
-
-* one performance enhancement would be to have autoconf write
- a single file containing all the macro assignments.
- then read this file via `include'
- unfortunately this can't be done because of conditionals
- -- but it could be made to work if we also changed:
- * automake to rewrite @FOO@ to $(FOO), and
- * the implementation of conditionals to rely on some new
- config.status magic
-
-* support prog_LIBS as override for LIBS
-
-* Test subdir-objects option with yacc, lex, ansi2knr
- Our locking scheme won't prevent a parallel make from losing
- if there are two `bar.o' files and the timing is just right
- This only happens with parallel make and no-`-c -o' compiler,
- so it probably isn't very important
- `-c -o' when doing libtool
- try to find a losing compiler and see if it really works.
- (actually: hack config.cache and do it)
-
-* per-exe flags
-** LIBOBJS shouldn't be used when there are per-exe flags (?)
-
-* Allow creation of Java .zip/.jar files in natural way
- If you are building a compiled Java library, then the .zip/.jar
- ought to be made automatically.
-
-* examine possibility of using any character in a macro name
- and rewriting names automatically. this means we must rewrite
- all references as well.
- [ this is a 2.0-style feature ]
-
-* `distcheck' and `dist' should depend on `all'
-
-* Add code to generate foo-config script like gnome, gtk
-
-* document user namespace for macro/target names
- adopt some conventions and use uniformly
- [ this is a good thing for the rewrite ]
-
-* distclean must remove config.status
- can't this cause problems for maintainer-clean?
- shouldn't maintainer-clean print the message before running
- any part of the make? (just to slow things down long enough
- for the user to stop it)
- (maybe doesn't matter since people who even know about
- maintainer-clean already have a clue)
-
-* reintroduce AM_FUNC_FNMATCH which sets LIBOBJS
- Then have automake know about fnmatch.h.
- [ probably should wait for autoconf to get right functionality ]
-
-* "make diff" capability
- look at gcc's Makefile.in to see what to do
- or look at maint program
-
-* in --cygnus, clean-info not generated at top level
-
-* what if an element of a scanned variable looks like
- $(FOO).$(BAR) ?
- or some other arbitrary thing?
- right now we try to cope, but not very well
- [ this is only of theoretical interest for now ]
- [ We now have an 'inner_expand' option to traverse_recursively,
- but it is not yet used. ]
-
-* make sure every variable that is used is also defined
- [ we don't really look at variable uses in detail.
- 2.0 thing ]
-
-* make sure `missing' defines are generated
-
-* missing should handle install -d and rmdir -p (for uninstall)
-
-* NORMAL_INSTALL / NORMAL_UNINSTALL -vs- recursive rules
- [ requires changes to the standard ]
-
-* should not put texiname_TEXINFOS into distribution
- should rename this macro anyway, to foo_texi_DEPENDENCIES
-
-* For now I guess I'll just have automake give an error if it encounters
-non-C source in a libtool library specification.
-
-* if program has the same name as a target, do something sensible:
- - if the target is internal, rename it
- - if the target is mandated (eg, "info"), tell the user
- consider auto-modifying the program name to work around this
-
-* should separate actual options from strictness levels
- strictness should only cover requirements
- You should be able to pick and choose options
-
-having just one Makefile for a project would give a big speed increase
-for a project with many directories, eg glibc. ideally (?) you'd
-still be able to have a Makefile.am in each directory somehow; this
-might make editing conceptually easier.
-
-* finish up TAGS work
-
-* only remove libtool at top level?
-
-* clean up source directory by moving stuff into subdirs
-
-* consider adding other variables similar to pkglibexecdir?
- requests for pkg-dirs with version included
-
-Avoid loops when installing; instead unroll them in automake
-[ Impossible when @AC_SUBST@ values are used. ]
-
-Some long-term projects:
-* if $(FOO) is used somewhere, ensure FOO is defined, either by
- user or by automake if possible
-
-[ include, += support ]
-* even better would be allowing targets in different included
- fragments to be merged. e.g., `install-local'.
-
-consider putting all check-* targets onto @check?
-
-take diff-n-query code from libit
-
-Per Bothner says:
-Per> 1) Being able to build a set of non-source programs
-Per> from source programs, without necessarily linking them together.
-Per> I.e. one should be able to say something like:
-Per> dummy_SOURCES=foo.c bar.c
-Per> and automake should realize that it needs to build foo.o and bar.o.
-Per> 2) Being intelligent about new kinds of suffixes.
-Per> If it sees:
-Per> SUFFIXES = .class .java
-Per> and a suffix rule of the form:
-Per> .java.class:
-Per> then it should be able to realize it can build .class files from
-Per> .java files, and thus be able to generate a list of
-Per> .class files from a list of .java source files.
-[What Per wanted here was a way to have automate automatically follow
-suffix rules. So for instance if you had a `.x.y:' rule, and automake
-saw a `.x' file, it would automatically build and install the
-corresponding `.y' file.]
-
-Jim's idea: should look for @setfilename and warn if filenames too long
-* guess split size
-
-from joerg-martin schwarz:
- -- If Makefile.am contains $(CC), $(COMPILE), $(YLWRAP), ....
- in an explicitly written rule, you should emit the corresponding
- Makefile variables automatically.
-
-From the GNU Standards. These things could be checked, and probably
-should be if --gnu.
-* Make sure that the directory into which the distribution unpacks (as
-well as any subdirectories) are all world-writable (octal mode 777).
-* Make sure that no file name in the distribution is more than 14
-characters long.
-* Don't include any symbolic links in the distribution itself.
- (ditto hard links)
-* Make sure that all the files in the distribution are world-readable.
-
-should be able to determine what is built by looking at rules (and
-configure.ac). Then built man pages (eg) could automatically be
-omitted from the distribution.
-
-Right now, targets generated internally (eg "install") are not
-overridable by user code. This should probably be possible, even
-though it isn't very important. This could be done by generating all
-internal rules via a function call instead of just appending to
-$output_rules.
- [ this will be harder to implement when scanning a rule like all-recursive
- from subdirs.am ]
-
-Other priorities:
-* Must rewrite am_install_var. Should break into multiple functions.
- This will allow the callers to be a little smarter.
-* Rewrite clean targets.
-* Fix up require_file junk.
-
-djm wants ``LINKS'' variable; list of things to link together after
-install. In BSD environment, use:
- LINKS = from1 to1 from2 to2 ...
-
-Need way to say there are no suffixes in a Makefile (Franc,ois'
-"override" idea suffices here)
-
-Check to make sure various scripts are executable (IE when looking for
-them in a directory)
-
-Add support for html via an option. Use texi2html. Use
-"html_TEXINFOS", and htmldir = .../html. Include html files in
-distribution. Also allow "html_DATA", for raw .html files.
- [ when will texinfo directly support html? ]
-See also Karl Berry's message on a roadmap for a "info -> html"
-transition:
-<http://lists.gnu.org/archive/html/texinfo-devel/2012-03/msg00018.html>
-
-uninstall and pkg-dirs should rm -rf the dir.
-
-In general most .am files should be merged into automake. For
-instance all the "clean" targets could be merged by keeping lists of
-things to be removed. This would be a lot nicer looking. Note that
-the install targets probably should not be merged; it is sometimes
-useful to only install a small part.
-
-* Lex, yacc support:
-** It would be nice to automatically support using bison's better features
- to rename the output files. This requires autoconf support
-** Consider supporting syntax from autoconf "derived:source", eg:
- y.tab.c:perly.y
- for yacc and lex source
-** what if you use flex and the option to avoid -lfl?
- should support this?
-
-* Multi-language support:
-** should have mapping of file extensions to languages
-** should automatically handle the linking issue (special-case C++)
-** must get compile rules for various languages; FORTRAN probably
- most important unimplemented language
-This should be integrated in some way with Per's idea.
-Eg .f.o rules should be recognized & auto-handled in _SOURCES
-That way any random language can be treated with C/C++ on a first-class
-basis (maybe)
-
-It might be cool to generate .texi dependencies by grepping for
-@include. (If done, it should be done the same way C dependencies are
-done)
-[ Ask Karl Berry for a -M option to makeinfo and texi2dvi? ]
-
-It would be good to check some parts of GNU standards. Already check
-for install-sh and mkinstalldirs. What else is required to be in
-package by GNU standards or by automake?
-Some things for --strictness=gnits:
-* "cd $(foo); something" is an error in a rule. Should be:
- "cd $(foo) && something"
-* Look for 'ln -s' and warn about using $(LN_S) and AC_PROG_LN_S
-* Look for $(LN_S) and require AC_PROG_LN_S
-
-Auto-distribute "ChangeLog.[0-9]+"? "ChangeLog.[a-z]+"?
-
-Check all source files to make sure that FSF address is up-to-date.
---gnits or --gnu only.
-
-Merge each -vars.am file with corresponding ".am" file. Can do this
-because of changes to &file_contents.
-
-Should libexec programs have the name transform done on them?
-
-Order the output rules sensibly, so FOO_SOURCES and FOO_OBJECTS are
-together and rules are in the usual order.
-
-djm says:
-David> To avoid comments like the one about subdirs getting buried in
-David> the middle of a Makefile.in, how about pushing comments that
-David> start with ### to the top of the Makefile.in (in order)? Sort
-David> of like how Autoconf uses diversions to force initialization
-David> code to the top of configure.
-
-================================================================
-
-Stuff for aclocal:
-
-probably should put each group of m4 files into a subdir owned by the
-containing application.
-
-================================================================
-
-Document:
-
-AM_MISSING_PROG
-
-how to use the generated makefiles
- - standard targets
- - required targets
- - NORMAL_INSTALL junk
-
-rationale for avoiding
- make CFLAGS="$CFLAGS" ...
-in subdirs make rule
-
-write example of using automake with dejagnu
-follow calc example in dejagnu docs
-
-document which variables are actually scanned and which are not.
-
-Document customary ordering of Makefile.am. From François.
-
-Should include extended version of diagram from Autoconf (suggested by
-Greg Woods)
-
-Make a definition of the term "source"
-
-document how to use Automake with CVS. Idea from Mark Galassi. Also
-include Greg Woods' more sophisticated "cvs-dist" target.
-
--- must document all variables that are supposed
- to be public knowledge
-
-must document the targets required for integration with
-non-automake-using subdirs
-
-document the "make SHELL='/bin/sh -x'" trick for debugging
-
-section on relationship to GNU make. include notes on parallel makes
-
-add a concept index
-
-move discussion of cygwin32, etags, mkid under other gnu tools
-
-CCLD, CXXLD, FLD
-
-================================================================
-
-Libraries:
-
-* Should support standalone library along with subdir library in same
- Makefile.am. Maybe: turn off "standalone" mode if library's Makefile.am
- is not only one specd? [ add an option for this ]
-
-================================================================
-
-Longer term:
-
-Would it be useful to integrate in some way with the Debian package
-building utility? Must check. maybe it would be possible to deal
-with all the different package utilities somehow. Lately I've been
-hearing good things about the RedHat packaging utilities. Why are
-there so many of these? Are they fun to write or something?
-The RedHat package utility is called RPM; see
- ftp://ftp.redhat.com/pub/code/rpm
-It actually has problems, like no configure script and no documentation.
-
-For Cygnus it would probably be good to be able to handle the native
-package utility on each platform. There are probably 3 or 4 of these
-(sysv, solaris?, aix?)
-
-tcl/unix/Makefile.in has some code to generate a Solaris package.
-
-Automake probably can't do all of this on its own. A new tool might
-be a better idea
-
-I have some notes from a Debian developer on how the integration
-should work
-
-================================================================
-
-A tool to guess what the local Makefile.am should look like:
-(see Gord's Maint program!)
-
-* Probably integrate with autoscan
-* Use various simple rules to determine what to do:
- * get name of top directory, sans version info
- * search for .c files with 'main' in them
- * if in main.c, use directory name for program
- * if in more than one, generate multiple programs
- * if not found, generate a library named after directory
- * order subdir searches correctly: lib first, src last
- * assume 'testsuite' dir means we are using dejagnu
-* maybe be smart about reading existing Makefile.am, so tool
- can be run for incremental changes? You could imagine:
-
- Makefile.am:
- autoproject --incremental
-
-================================================================
-
-Stuff NOT to do, and why:
-
-consider auto-including any file that matches "*.in".
- [ no: po/Makefile.in shouldn't be included ]
-
-must look at mkid to see how it works (for subdir usage)
- [ right now, it doesn't. i don't see a simple fix right now ]
-
-if configure.ac not found, move up a directory and try again? This
-could eliminate a common source of problems.
- [ this is just a bad idea ]
-
-* scripts are installed in $exec_prefix/bin, not $prefix/bin
- Bug or feature?
- [ the consensus on Gnits is that this isn't required.
- doubters can work around it anyway ]
-
-Scan source directories and warn about missing files, eg .c/.h files
-that aren't mentioned?
- [ distcheck makes this less useful ]
-
-* quoting bugs
- - how to install file with a space in its name?
- [ don't bother with this -- make is just too losing ]
-
-* notice when a .c file is a target somewhere, and auto-add it to
- BUILT_SOURCES
- [ BUILT_SOURCES are for files that need to be built before anything
- else because of hidden dependencies (something .c files are
- unlikely to be) ]
-
-* Scan multiple input files when Makefile is generated?
- This would provide flexibility for large projects; subsumes
- the "Makefile.tmpl" idea
- [ can't do this. must explain why in manual.
- basically, solving all the problems is too hard
- like: how to remove redundancies between generated .in files
- instead should implement `include' directive for Makefile.am ]
-
-* Should be a way to have "nobuild_PROGRAMS" which aren't even built,
- but which could be by running the magic make command.
- [ We already have EXTRA_PROGRAMS for this. ]
-
-
-* copyright notice
-
-Copyright 1994-2015 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/>.
-
-
-Local Variables:
-mode: outline
-End:
diff --git a/t/CheckListOfTests.am b/t/CheckListOfTests.am
deleted file mode 100644
index 46a019dc2..000000000
--- a/t/CheckListOfTests.am
+++ /dev/null
@@ -1,68 +0,0 @@
-## -*- Automake -*-
-##
-## Copyright (C) 2011-2015 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/>.
-##
-
-## Temporary files used in the 'check-list-of-tests' recipe.
-am__tmk = tests-in-makefile-list.tmp
-am__tfs = tests-on-filesystem-list.tmp
-am__tdf = diff-in-tests-lists.tmp
-
-## Check that the list of tests given in the Makefile is equal to the
-## list of all test scripts in the Automake testsuite.
-.PHONY: maintainer-check-list-of-tests
-maintainer-check-list-of-tests:
-## Prefer unified diffs over plain diffs, for readability.
- @if diff -u /dev/null /dev/null >/dev/null 2>&1; then \
- diff='diff -u'; \
- else \
- diff='diff'; \
- fi; \
-## List of tests in Makefile.
- lst='$(expected_list_of_tests)'; \
- test -n "$$lst" || lst='$(TESTS)'; \
- for t in $$lst; do \
- echo "$$t"; \
- done | sort >$(am__tmk); \
-## List of subdirs where to look for tests.
- dirs='$(test_subdirs)'; \
- test -n "$$dirs" || dirs=.; \
-## List of tests on filesystem. Be careful to cater for VPATH builds too.
- test_extensions='$(TEST_EXTENSIONS)'; \
- for ext in $$test_extensions; do \
- for dir in $$dirs; do \
- ls $$dir/*$$ext 2>/dev/null; \
- if test $(srcdir) != $(builddir); then \
- ($(am__cd) $(srcdir) && ls $$dir/*$$ext 2>/dev/null); \
- fi; \
- done; \
- done | sed 's,^\./,,' | sort | uniq >$(am__tfs); \
-## Compare the two lists, complain if they differ.
- if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \
- result=0; \
- else \
- echo '$@: list of tests in Makefile an on filesystem differ' >&2; \
- echo "+ $$diff in-makefile on-filesystem" >&2; \
- cat $(am__tdf) >&2; \
- result=1; \
- fi; \
- rm -f $(am__tmk) $(am__tfs) $(am__tdf); \
- exit $$result;
-
-.PHONY: clean-maintcheck-testslist-tmp
-clean-local: clean-maintcheck-testslist-tmp
-clean-maintcheck-testslist-tmp:
- rm -f $(am__tmk) $(am__tfs) $(am__tdf)
diff --git a/t/Makefile.inc b/t/Makefile.inc
index 6ced9266b..15f0a523b 100644
--- a/t/Makefile.inc
+++ b/t/Makefile.inc
@@ -35,9 +35,71 @@ AM_TAP_LOG_DRIVER_FLAGS = --merge
EXTRA_DIST += %D%/README %D%/ax/is %D%/ax/is_newest %D%/ax/deltree.pl
-## Will be updated later.
-TESTS =
+# Hand-written tests for stuff in 'contrib/'.
+include $(srcdir)/contrib/%D%/Makefile.inc
+# All tests, both hand-written and autogenerated.
+# IMPORTANT: This assumes that the autogenerated tests are placed
+# in the $(srcdir) as well!
+all_TESTS = \
+ $(wildcard $(srcdir)/%D%/*.sh) \
+ $(wildcard $(srcdir)/%D%/*.tap) \
+ $(wildcard $(srcdir)/%D%/pm/*.pl)
+
+# This is to ensure longer-running tests will be run earlier, which is
+# useful when running the testsuite in parallel on multicore machines.
+# Here too we assume that the autogenerated tests are placed in $(srcdir).
+long_running_TESTS = \
+ $(srcdir)/%D%/dist-many.sh \
+ $(srcdir)/%D%/parallel-tests-many.sh \
+ $(srcdir)/%D%/add-missing.tap \
+ $(srcdir)/%D%/instspc.tap \
+ $(wildcard $(srcdir)/%D%/depcomp-*.tap) \
+ $(wildcard $(srcdir)/%D%/*libtool*.sh) \
+ $(wildcard $(srcdir)/%D%/lt*.sh) \
+ $(wildcard $(srcdir)/%D%/remake*.sh)
+
+TESTS = \
+ $(long_running_TESTS) \
+ $(filter-out $(long_running_TESTS), $(all_TESTS)) \
+ $(contrib_TESTS)
+
+EXTRA_DIST += $(TESTS)
+
+# FIXME: this "expected failures" are in truth an hack used to
+# FIXME: to verify that some incorrect usages of our perl libraries
+# FIXME: raise an error. We should find a cleaner way to check that.
+perl_fake_XFAIL_TESTS = \
+ %D%/pm/Cond2.pl \
+ %D%/pm/Cond3.pl \
+ %D%/pm/DisjCon2.pl \
+ %D%/pm/DisjCon3.pl \
+ %D%/pm/Version2.pl \
+ %D%/pm/Version3.pl
+
+XFAIL_TESTS = \
+ %D%/all.sh \
+ %D%/auxdir-pr19311.sh \
+ %D%/override-suggest-local.sh \
+ %D%/comments-in-var-def.sh \
+ %D%/cond17.sh \
+ %D%/dist-srcdir2.sh \
+ %D%/gcj6.sh \
+ %D%/txinfo-nodist-info.sh \
+ %D%/override-conditional-2.sh \
+ %D%/dist-pr109765.sh \
+ %D%/instdir-cond2.sh \
+ %D%/interp3.sh \
+ %D%/java-nobase.sh \
+ %D%/objext-pr10128.sh \
+ %D%/override-conditional-pr13940.sh \
+ %D%/remake-timing-bug-pr8365.sh \
+ %D%/remake-am-pr10111.sh \
+ %D%/remake-m4-pr10111.sh \
+ %D%/subobj-vpath-pr13928.sh \
+ %D%/var-undef-append.sh \
+ $(perl_fake_XFAIL_TESTS)
+
# Some testsuite-influential variables should be overridable from the
# test scripts, but not from the environment.
# Keep this in sync with the similar list in ax/runtest.in.
@@ -69,40 +131,17 @@ AM_TESTS_ENVIRONMENT += \
PATH='$(abs_builddir)/%D%/ax$(PATH_SEPARATOR)'$$PATH; \
export PATH;
-# Hand-written tests.
-
-include $(srcdir)/%D%/list-of-tests.mk
-
-TESTS += $(handwritten_TESTS)
-EXTRA_DIST += $(handwritten_TESTS)
-
-# Automatically-generated tests wrapping hand-written ones.
-# Also, automatically-computed dependencies for tests.
+# Automatically-computed dependencies for tests.
+include $(srcdir)/testsuite-autodeps.am
-include $(srcdir)/%D%/testsuite-part.am
-
-TESTS += $(generated_TESTS)
-EXTRA_DIST += $(generated_TESTS)
-
-$(srcdir)/%D%/testsuite-part.am:
- $(AM_V_at)rm -f %D%/testsuite-part.tmp $@
- $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \
- --srcdir $(srcdir) > %D%/testsuite-part.tmp
- $(AM_V_at)chmod a-w %D%/testsuite-part.tmp
- $(AM_V_at)mv -f %D%/testsuite-part.tmp $@
-EXTRA_DIST += gen-testsuite-part
-
-# The dependecies declared here are not truly complete, but such
+# The dependencies declared here are not truly complete, but such
# completeness would cause more issues than it would solve. See
# automake bug#11347.
-$(generated_TESTS): $(srcdir)/gen-testsuite-part
-$(srcdir)/%D%/testsuite-part.am: $(srcdir)/gen-testsuite-part
-$(srcdir)/%D%/testsuite-part.am: Makefile.am
-
-# Hand-written tests for stuff in 'contrib/'.
-include $(srcdir)/contrib/%D%/Makefile.inc
-TESTS += $(contrib_TESTS)
-EXTRA_DIST += $(contrib_TESTS)
+$(srcdir)/testsuite-autodeps.am: $(srcdir)/gen-testsuite-part
+ $(AM_V_at)rm -f $(@F)-t $@
+ $(AM_V_GEN)$(PERL) $< --srcdir $(srcdir) > $(@F)-t
+ $(AM_V_at)chmod a-w $(@F)-t && mv -f $(@F)-t $@
+EXTRA_DIST += gen-testsuite-part
# Static dependencies valid for each test case (also further
# extended later). Note that use 'noinst_' rather than 'check_'
@@ -127,9 +166,8 @@ EXTRA_DIST += %D%/ax/distcheck-hook-m4.am
%D%/ax/test-defs.sh: %D%/ax/test-defs.in Makefile
$(AM_V_at)rm -f $@ $@-t
- $(AM_V_at)$(MKDIR_P) %D%/ax
- $(AM_V_GEN)in=%D%/ax/test-defs.in \
- && $(do_subst) <$(srcdir)/$$in >$@-t
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(AM_V_GEN)$(do_subst)
$(generated_file_finalize)
EXTRA_DIST += %D%/ax/test-defs.in
CLEANFILES += %D%/ax/test-defs.sh
@@ -137,10 +175,9 @@ nodist_noinst_DATA += %D%/ax/test-defs.sh
%D%/ax/shell-no-trail-bslash: %D%/ax/shell-no-trail-bslash.in Makefile
$(AM_V_at)rm -f $@ $@-t
- $(AM_V_GEN)in=%D%/ax/shell-no-trail-bslash.in \
- && $(MKDIR_P) %D%/ax \
- && $(do_subst) <$(srcdir)/$$in >$@-t \
- && chmod a+x $@-t
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(AM_V_GEN)$(do_subst)
+ $(AM_V_at)chmod a+x $@-t
$(generated_file_finalize)
EXTRA_DIST += %D%/ax/shell-no-trail-bslash.in
CLEANFILES += %D%/ax/shell-no-trail-bslash
@@ -148,10 +185,9 @@ nodist_noinst_SCRIPTS += %D%/ax/shell-no-trail-bslash
%D%/ax/cc-no-c-o: %D%/ax/cc-no-c-o.in Makefile
$(AM_V_at)rm -f $@ $@-t
- $(AM_V_GEN)in=%D%/ax/cc-no-c-o.in \
- && $(MKDIR_P) %D%/ax \
- && $(do_subst) <$(srcdir)/$$in >$@-t \
- && chmod a+x $@-t
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(AM_V_GEN)$(do_subst)
+ $(AM_V_at)chmod a+x $@-t
$(generated_file_finalize)
EXTRA_DIST += %D%/ax/cc-no-c-o.in
CLEANFILES += %D%/ax/cc-no-c-o
@@ -159,10 +195,9 @@ nodist_noinst_SCRIPTS += %D%/ax/cc-no-c-o
runtest: %D%/ax/runtest.in Makefile
$(AM_V_at)rm -f $@ $@-t
- $(AM_V_GEN)in=%D%/ax/runtest.in \
- && $(MKDIR_P) %D%/ax \
- && $(do_subst) <$(srcdir)/$$in >$@-t \
- && chmod a+x $@-t
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(AM_V_GEN)$(do_subst)
+ $(AM_V_at)chmod a+x $@-t
$(generated_file_finalize)
EXTRA_DIST += %D%/ax/runtest.in
CLEANFILES += runtest
@@ -225,7 +260,7 @@ check-local: check-tests-syntax
# that helps catching such problems in Automake-generated recipes.
# See automake bug#10436.
check-no-trailing-backslash-in-recipes:
- $(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) check \
+ $(AM_V_GEN)$(MAKE) check \
CONFIG_SHELL='$(abs_top_builddir)/%D%/ax/shell-no-trail-bslash'
.PHONY: check-no-trailing-backslash-in-recipes
@@ -235,8 +270,7 @@ check-no-trailing-backslash-in-recipes:
# otherwise only present themselves later "in the wild". See also the
# long discussion about automake bug#13378.
check-cc-no-c-o:
- $(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) check \
- AM_TESTSUITE_SIMULATING_NO_CC_C_O=yes
+ $(AM_V_GEN)$(MAKE) check AM_TESTSUITE_SIMULATING_NO_CC_C_O=yes
.PHONY: check-cc-no-c-o
# Automake-generated Makefiles should work when run with parallel make.
@@ -245,21 +279,22 @@ check-parallel:
AM_TESTSUITE_MAKE="$${AM_TESTSUITE_MAKE-$${MAKE-make}} -j4"
.PHONY: check-parallel
-## Checking the list of tests.
-test_subdirs = %D% %D%/pm contrib/%D%
-include %D%/CheckListOfTests.am
-
# Run the testsuite with the installed aclocal and automake.
installcheck-local: installcheck-testsuite
installcheck-testsuite:
- $(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) check \
- am_running_installcheck=yes
+ $(AM_V_GEN)$(MAKE) check am_running_installcheck=yes
+# Run the testsuite without skipping expensive tests by default.
+check-expensive installcheck-expensive: %-expensive:
+ $(AM_V_GEN)$(MAKE) $* RUN_EXPENSIVE_TESTS=yes
+
# Performance tests.
-.PHONY: perf
perf: all
- $(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) check \
+ $(AM_V_GEN)$(MAKE) check \
TEST_SUITE_LOG='$(PERF_TEST_SUITE_LOG)' TESTS='$(perf_TESTS)'
+.PHONY: perf
+perf_TESTS = $(wildcard $(srcdir)/%D%/perf/*.sh) \
+ $(wildcard $(srcdir)/%D%/perf/*.tap)
PERF_TEST_SUITE_LOG = %D%/perf/test-suite.log
CLEANFILES += $(PERF_TEST_SUITE_LOG)
EXTRA_DIST += $(perf_TESTS)
diff --git a/t/README b/t/README
index 23dd943f5..03850ca2d 100644
--- a/t/README
+++ b/t/README
@@ -1,4 +1,4 @@
- The Automake test suite
+ The Automake-NG test suite
User interface
@@ -8,10 +8,16 @@ User interface
Running the tests
-----------------
- To run all tests:
+ To run (almost) all tests:
make -k check
+ With the above, few tests (which are very time-consuming) will be skipped.
+ If you want to run them too, for extra coverage, you can use either of:
+
+ make -k check-expensive
+ make -k check RUN_EXPENSIVE_TESTS=yes
+
By default, verbose output of a test 't/foo.sh' or 't/foo.tap' is retained
in the log file 't/foo.log'. Also, a summary log is created in the file
'test-suite.log' (in the top-level directory).
@@ -27,17 +33,16 @@ Running the tests
To run only tests that are newer than their last results:
- make -k check RECHECK_LOGS=
+ make -k check AM_LAZY_CHECK=yes
To run only selected tests:
- make -k check TESTS="t/foo.sh t/bar.tap" (GNU make)
- env TESTS="t/foo.sh t/bar.tap" make -e -k check (non-GNU make)
+ make -k check TESTS="t/foo.sh t/bar.tap"
To run the tests in cross-compilation mode, you should first configure
- the automake source tree to a cross-compilation setup. For example, to
- run with a Linux-to-MinGW cross compiler, you will need something like
- this:
+ the Automake-NG source tree to a cross-compilation setup. For example,
+ to run with a Linux-to-MinGW cross compiler, you will need something
+ like this:
./configure --host i586-mingw32msvc --build i686-pc-linux-gnu
@@ -67,10 +72,10 @@ Interpretation
About the tests
---------------
- There are two kinds of tests in the Automake testsuite (both implemented
- as shell scripts). The scripts with the '.sh' suffix are "simple"
- tests, their outcome completely determined by their exit status. Those
- with the '.tap' suffix use the TAP protocol.
+ There are two kinds of tests in the Automake-NG testsuite (both
+ implemented as shell scripts). The scripts with the '.sh' suffix
+ are "simple" tests, their outcome completely determined by their
+ exit status. Those with the '.tap' suffix use the TAP protocol.
If you want to run a test by hand, you should be able to do so using the
'runtest' script provided in the Automake distribution:
@@ -91,8 +96,7 @@ Supported shells
'/bin/my-sh':
# Running through the makefile test driver.
- make check AM_TEST_RUNNER_SHELL=/bin/my-sh (GNU make)
- AM_TEST_RUNNER_SHELL=/bin/my-sh make -e check (non-GNU make)
+ make check AM_TEST_RUNNER_SHELL=/bin/my-sh
# Run a test directly from the command line.
AM_TEST_RUNNER_SHELL=/bin/my-sh ./runtest t/foo.sh
@@ -108,8 +112,8 @@ Reporting failures
------------------
Send verbose output, i.e., the contents of test-suite.log, of failing
- tests to <bug-automake@gnu.org>, along with the usual version numbers
- (which Automake, which Autoconf, which operating system, which make
+ tests to <automake-ng@gnu.org>, along with the usual version numbers
+ (which Automake-NG, which Autoconf, which operating system, which make
version, which shell, etc.)
@@ -164,14 +168,14 @@ Writing test cases
set the shell variable 'am_serial_tests' to "yes" before including
test-init.sh.
-* Some tests in the Automake testsuite are auto-generated; those tests
- might have custom extensions, but their basename (that is, with such
- extension stripped) is expected to end with "-w" string, optionally
- followed by decimal digits. For example, the name of a valid
- auto-generated test can be 'color-w.sh' or 'tap-signal-w09.tap'.
+* Some tests in the Automake-NG testsuite are auto-generated; those
+ tests might have custom extensions, but their basename (that is,
+ with such extension stripped) is expected to end with "-w" string,
+ optionally followed by decimal digits. For example, the name of a
+ valid auto-generated test can be 'color-w.sh' or 'tap-signal-w09.tap'.
Please don't name hand-written tests in a way that could cause them
- to be confused with auto-generated tests; for example, 'u-v-w.sh'
- or 'option-w0.tap' are *not* valid name for hand-written tests.
+ to be confused with auto-generated tests; for example, 'u-v-w.sh' or
+ 'option-w0.tap' are *not* valid name for hand-written tests.
* test-init.sh brings in some commonly required files, and sets a skeleton
configure.ac. If possible, append to this file. In some cases you'll
@@ -231,8 +235,8 @@ Writing test cases
* Use '$PATH_SEPARATOR', not hard-coded ':', as the separator of
PATH's entries.
-* It's more important to make sure that a feature works, than make
- sure that Automake's output looks correct. It might look correct
+* It's more important to make sure that a feature works, than make sure
+ that the output of Automake-NG looks correct. It might look correct
and still fail to work. In other words, prefer running 'make' over
grepping Makefile.in (or do both).
@@ -249,8 +253,8 @@ Writing test cases
`echo $filename | ...`.
* Make sure your test script can be used to faithfully check an
- installed version of automake (as with "make installcheck"). For
- example, if you need to copy or grep an automake-provided script,
+ installed version of Automake-NG (as with "make installcheck"). For
+ example, if you need to copy or grep an Automake-NG provided script,
do not assume that they can be found in the '$top_srcdir/lib'
directory, but use '$am_scriptdir' instead. The complete list of
such "$am_...dir" variables can be found in the 't/ax/test-defs.in'
@@ -272,10 +276,6 @@ Writing test cases
by a C++ compiler, for similar reasons (i.e., the isatty(3) function
from that same unistd.h header would be required otherwise).
-* Add any new test to handwritten_TESTS in 't/list-of-tests.mk', and
- to XFAIL_TESTS in addition if needed (that is, if the test is expected
- to fail).
-
* In test scripts, prefer using POSIX constructs over their old
Bourne-only equivalents:
@@ -296,6 +296,10 @@ Writing test cases
years we'll discover that this test failed for some other bogus reason.
This happened many times. Better use something like
+* Do not test an Automake-NG error with "$AUTOMAKE && Exit 1", or in
+ three years we'll discover that this test failed for some other bogus
+ reason. This happened many times. Better use something like
+
AUTOMAKE_fails
grep 'expected diagnostic' stderr
diff --git a/t/aclocal-deps.sh b/t/aclocal-deps.sh
index 52e0b839b..6447a2157 100644
--- a/t/aclocal-deps.sh
+++ b/t/aclocal-deps.sh
@@ -69,7 +69,6 @@ cat >m4/mymacro.m4 <<'EOF'
AC_DEFUN([MY_MACRO], [AC_LIBOBJ([foo])])
EOF
-using_gmake || $MAKE
$MAKE check-foo
:
diff --git a/t/add-missing-multiple.sh b/t/add-missing-multiple.sh
index a335775fa..55cd60d76 100644
--- a/t/add-missing-multiple.sh
+++ b/t/add-missing-multiple.sh
@@ -28,20 +28,16 @@ mkdir one
mkdir two
echo 'SUBDIRS = one two' > Makefile.am
+
echo 'info_TEXINFOS = mumble.texi' > one/Makefile.am
-cat >one/mumble.texi <<'END'
-@setfilename mumble.info
-@include version.texi
-END
+echo @setfilename mumble.info > one/mumble.texi
cp one/Makefile.am one/mumble.texi two
$ACLOCAL
$AUTOMAKE --add-missing --copy
-test -f one/mdate-sh
test -f one/texinfo.tex
-test -f two/mdate-sh
test -f two/texinfo.tex
:
diff --git a/t/add-missing.tap b/t/add-missing.tap
index b3ea29d42..0c1cb645b 100644
--- a/t/add-missing.tap
+++ b/t/add-missing.tap
@@ -176,8 +176,8 @@ check_ ()
done
# No files should be automatically installed by automake if it
# is not told to.
- if ls "$build_aux" | grep .; then r='not ok'; else r=ok; fi
- result_ "$r" "$pfx no extra files installed"
+ command_ok_ "$pfx no extra files installed" \
+ eval '! ls "$build_aux" | grep -v "^am-ng$" | grep .'
AUTOMAKE_run -d "$pfx automake run successfully" -- $opts
ls -l . $build_aux
# The expected files should get installed correctly (e.g., no
@@ -197,7 +197,7 @@ check_ ()
# require 'missing' and 'install-sh', so account for them.
all_files="install-sh missing $files"
for f in $all_files; do echo $f; done | sort | uniq > files.exp
- (cd $build_aux && ls) | sort > files.got
+ (cd $build_aux && ls) | grep -v '^am-ng$' | sort > files.got
cat files.exp
cat files.got
command_ok_ \
diff --git a/t/all-prog-libs.sh b/t/all-prog-libs.sh
new file mode 100644
index 000000000..4947db1c1
--- /dev/null
+++ b/t/all-prog-libs.sh
@@ -0,0 +1,85 @@
+#! /bin/sh
+# Copyright (C) 2007-2014 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 internal automake variables:
+# - $(am.all-progs).
+# - $(am.all-libs).
+# - $(am.all-ltlibs).
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_SUBST([CC], [who-cares])
+m4_define([AM_PROG_AR], [AC_SUBST([AR], [who-cares])])
+AM_PROG_AR
+AC_SUBST([RANLIB], [who-cares])
+AC_SUBST([LIBTOOL], [who-cares])
+AC_SUBST([EXEEXT], [''])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-dependencies
+
+check_PROGRAMS = p1
+check_LIBRARIES = lib01.a
+check_LTLIBRARIES = lib1.la
+check_SCRIPTS = x1
+
+EXTRA_PROGRAMS = p2
+EXTRA_LIBRARIES = lib02.a
+EXTRA_LTLIBRARIES = lib2.la
+EXTRA_SCRIPTS = x2
+
+bin_PROGRAMS = p3
+lib_LIBRARIES = lib03.a
+lib_LTLIBRARIES = lib3.la
+bin_SCRIPTS = x3
+
+noinst_PROGRAMS = p4
+noinst_LIBRARIES = lib04.a
+noinst_LTLIBRARIES = lib4.la
+noinst_SCRIPTS = x4
+
+mydir = $(prefix)
+my_PROGRAMS = p5
+my_LIBRARIES = lib05.a
+my_LTLIBRARIES = lib5.la
+my_SCRIPTS = x5
+
+.PHONY: debug test
+debug:
+ @echo PROGS-BEG: $(am.all-progs) :PROGS-END
+ @echo LIBS-BEG: $(am.all-libs) :LIBS-END
+ @echo LTLIBS-BEG: $(am__all_ltlibs) :LTLIBS-END
+test: debug
+ test '$(am.all-progs)' = 'p1 p2 p3 p4 p5'
+ test '$(am.all-libs)' = 'lib01.a lib02.a lib03.a lib04.a lib05.a'
+ test '$(am.all-ltlibs)' = 'lib1.la lib2.la lib3.la lib4.la lib5.la'
+END
+
+: > ltmain.sh
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+$MAKE test
+$MAKE test EXEEXT=.exe
+$MAKE test EXEEXT=.bin
+
+:
diff --git a/t/all2.sh b/t/all2.sh
index dcb2c059f..931d2d12e 100644
--- a/t/all2.sh
+++ b/t/all2.sh
@@ -26,7 +26,8 @@ for target in $targets; do
echo "${target}-local:" > Makefile.am
$AUTOMAKE
grep "${target}-local ${target}-local" Makefile.in && exit 1
- grep "${target}-am:.*${target}-local" Makefile.in
+ grep "${target}-am:.*${target}-local" Makefile.in \
+ || grep "${target}-am:.*${target}-local" am-ng/*.mk
done
:
diff --git a/t/am-default-source-ext.sh b/t/am-default-source-ext.sh
index fb055c223..eeae761cc 100644
--- a/t/am-default-source-ext.sh
+++ b/t/am-default-source-ext.sh
@@ -42,30 +42,41 @@ END
cat > sub2/Makefile.am << 'END'
bin_PROGRAMS = bla
if COND
-AM_DEFAULT_SOURCE_EXT = .foo .quux
+AM_DEFAULT_SOURCE_EXT = .c .quux
endif
-SUFFIXES = .foo .c
-.foo.c:
+%.c: %.foo
cat $< >$@
-BUILT_SOURCES = bla.c
-CLEANFILES = bla.c
+EXTRA_DIST = $(addsuffix .foo,$(bin_PROGRAMS))
+CLEANFILES = $(addsuffix .c,$(bin_PROGRAMS))
END
cat > foo.c << 'END'
-int main () { return 0; }
+/* Valid C, invalid C++. */
+int main (void)
+{
+ int new = 0;
+ return new;
+}
END
-
-cp foo.c sub/bar.cpp
-cp foo.c sub/baz.cpp
cp foo.c sub2/bla.foo
+cat > sub/bar.cpp << 'END'
+/* Valid C++, invalid C. */
+using namespace std;
+int main (void)
+{
+ return 0;
+}
+END
+cp sub/bar.cpp sub/baz.cpp
+
$ACLOCAL
$AUTOCONF
# Conditional AM_DEFAULT_SOURCE_EXT does not work yet :-(
# (this limitation could be lifted).
AUTOMAKE_fails --add-missing
-grep 'defined conditionally' stderr
+grep 'AM_DEFAULT_SOURCE_EXT.*defined conditionally' stderr
sed '/^if/d; /^endif/d' sub2/Makefile.am > t
mv -f t sub2/Makefile.am
@@ -73,7 +84,7 @@ mv -f t sub2/Makefile.am
# AM_DEFAULT_SOURCE_EXT can only assume one value
# (lifting this limitation is not such a good idea).
AUTOMAKE_fails --add-missing
-grep 'at most one value' stderr
+grep 'AM_DEFAULT_SOURCE_EXT.*at most one value' stderr
sed 's/ \.quux//' sub2/Makefile.am > t
mv -f t sub2/Makefile.am
diff --git a/t/am-dir.sh b/t/am-dir.sh
new file mode 100644
index 000000000..8ae384252
--- /dev/null
+++ b/t/am-dir.sh
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 support for private automake working directory in builddir:
+#
+# * internal variables:
+# $(am.dir)
+# $(am.dir.abs)
+# $(am.top-dir)
+# $(am.top-dir.abs)
+#
+# * cleaning rules and "make distcheck" interaction.
+#
+
+. test-init.sh
+
+d=.am
+
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([xsrc/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+SUBDIRS = . xsrc
+all-local: | $(am.dir)
+END
+
+mkdir xsrc
+cat >> xsrc/Makefile.am <<'END'
+subdir:
+ mkdir $@
+all-local: | $(am.dir) subdir
+ : > $(am.dir)/sub
+ : > $(am.top-dir)/top
+ (cd ./subdir && : > $(am.dir.abs)/abs-sub)
+ rmdir subdir
+ (cd /tmp && : > $(am.top-dir.abs)/abs-top)
+END
+
+sort > exp <<END
+$d
+$d/top
+$d/abs-top
+xsrc/$d
+xsrc/$d/sub
+xsrc/$d/abs-sub
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+do_check ()
+{
+ srcdir=$1
+ $srcdir/configure
+ $MAKE
+ # The grep is to ignore files used internally by Automake-NG.
+ find $d xsrc/$d | grep -v '\.mk$' | sort > got
+ cat $srcdir/exp
+ cat got
+ diff $srcdir/exp got
+}
+
+mkdir build
+cd build
+do_check ..
+
+cd ..
+do_check .
+
+$MAKE distcheck
+$MAKE clean
+test -d $d
+$MAKE distclean
+test ! -e $d
+
+:
diff --git a/t/am-xargs-map.sh b/t/am-xargs-map.sh
new file mode 100644
index 000000000..6bb234ad5
--- /dev/null
+++ b/t/am-xargs-map.sh
@@ -0,0 +1,176 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 Automake internal function 'am.xargs-map', in several usage
+# scenarios.
+
+am_create_testdir=empty
+. test-init.sh
+
+# Filter out Automake comments.
+grep -v '^##' "$am_amdir"/header-vars.mk > defn.mk \
+ || fatal_ "fetching makefile fragment headers-vars.am"
+echo 'x-warning = $(warning $1)' >> defn.mk
+echo 'y-warning = $(warning $1 -- $2)' >> defn.mk
+
+sed 's/^[0-9][0-9]*:://' > Makefile << 'END'
+01::include ./defn.mk
+02::
+03::args1 := 0 1 2 3 4 5 6 7 8 9
+04::args2 := $(args1) $(args1)
+05::args4 := $(args2) $(args2)
+06::args8 := $(args4) $(args4)
+07::args16 := $(args8) $(args8)
+08::
+09::WARN := no
+10::ifeq ($(WARN),yes)
+11:: $(call am.xargs-map,x-warning,$(args16))
+12:: $(call am.xargs-map,x-warning,$(args16) 0 1 2 3)
+13:: $(call am.xargs-map,x-warning,x y z)
+14:: $(call am.xargs-map,y-warning,$(args16) 0 1 2 3,X)
+15::endif
+
+args32 := $(args16) $(args16)
+args64 := $(args32) $(args32)
+
+bar = test '$1' = '$(args4)'$(am.chars.newline)
+test-xargs-map:
+ $(call am.xargs-map,bar,$(args16))
+
+args = $(error 'args' should be overridden from the command line)
+more-args = $(error 'more-args' should be overridden from the command line)
+
+foo = @echo $1$(am.chars.newline)
+echo-xargs-map:
+ $(call am.xargs-map,foo,$(args))
+
+foo2 = @echo $1$(if $2, -- $2)$(am.chars.newline)
+echo2-xargs-map:
+ $(call am.xargs-map,foo2,$(args),$(more-args))
+END
+
+args1="0 1 2 3 4 5 6 7 8 9"
+args2="$args1 $args1"
+args4="$args2 $args2"
+
+run_make -E .am/nil WARN=yes
+grep '^Makefile:' stderr # For debugging
+test $(grep -c "^Makefile:11: $args4$" stderr) -eq 4
+test $(grep -c "^Makefile:12: $args4$" stderr) -eq 4
+test $(grep -c "^Makefile:12: 0 1 2 3$" stderr) -eq 1
+test $(grep -c "^Makefile:13: x y z$" stderr) -eq 1
+test $(grep -c "^Makefile:14: $args4 -- X$" stderr) -eq 4
+test $(grep -c "^Makefile:14: 0 1 2 3 -- X" stderr) -eq 1
+test $(grep -c "^Makefile:" stderr) -eq 15
+
+$MAKE 'test-xargs-map'
+
+check_echo ()
+{
+ cat > exp
+ mk="$MAKE --no-print-directory"
+ case $# in
+ 1) $mk "echo-xargs-map" args="$1";;
+ 2) $mk "echo2-xargs-map" args="$1" more-args="$2";;
+ *) fatal_ "check_echo: incorrect usage";;
+ esac >got \
+ || { cat got >&2; exit 1; }
+ cat exp && cat got && diff exp got || exit 1
+}
+
+echo "$args1" | check_echo '$(args1)'
+echo "$args1 -- x" | check_echo '$(args1)' x
+echo "$args2" | check_echo '$(args2)'
+echo "$args2 -- no" | check_echo '$(args2)' '$(WARN)'
+echo "$args4" | check_echo '$(args4)'
+echo "$args4 -- a b c" | check_echo '$(args4)' '$(notdir x/a ./b c)'
+
+check_echo '$(args8)'<<END
+$args4
+$args4
+END
+
+check_echo "$args4 $args4" <<END
+$args4
+$args4
+END
+
+check_echo "$args4 $args4 x" <<END
+$args4
+$args4
+x
+END
+
+check_echo "$args4 $args4 x" '.:.' <<END
+$args4 -- .:.
+$args4 -- .:.
+x -- .:.
+END
+
+check_echo "$args4 01 02 03 04 05 06 07" <<END
+$args4
+01 02 03 04 05 06 07
+END
+
+check_echo "$args4 01 2 03" "+++" <<END
+$args4 -- +++
+01 2 03 -- +++
+END
+
+check_echo '$(args32) 11 12 13 67' <<END
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+11 12 13 67
+END
+
+check_echo '$(args32) 11 12 13 67' 'lol cat' <<END
+$args4 -- lol cat
+$args4 -- lol cat
+$args4 -- lol cat
+$args4 -- lol cat
+$args4 -- lol cat
+$args4 -- lol cat
+$args4 -- lol cat
+$args4 -- lol cat
+11 12 13 67 -- lol cat
+END
+
+check_echo '$(args64)' <<END
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+$args4
+END
+
+:
diff --git a/t/amopts-variable-expansion.sh b/t/amopts-variable-expansion.sh
index d76d00a38..af75a55dc 100644
--- a/t/amopts-variable-expansion.sh
+++ b/t/amopts-variable-expansion.sh
@@ -16,6 +16,7 @@
# Check that AUTOMAKE_OPTIONS support variable expansion.
+am_create_testdir=empty
. test-init.sh
# We want complete control over automake options.
@@ -25,28 +26,38 @@ cat > configure.ac <<END
AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE([-Wall -Werror gnu])
AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AC_PROG_RANLIB
+# The absence of AM_PROG_AR will give a warning with
+# '-Wextra-portability', which we want to elicit.
END
cat > Makefile.am <<'END'
-# The following should expand to '-Wnone -Wno-error foreign -Wportability'.
+# The following should expand to:
+# no-dist -Wnone -Wno-error foreign -Wextra-portability
AUTOMAKE_OPTIONS = $(foo) foreign
AUTOMAKE_OPTIONS += ${bar}
foo = $(foo1)
foo1 = ${foo2}
-foo2 = -Wnone
+foo2 = no-dist -Wnone
foo2 += $(foo3)
foo3 = -Wno-error
-bar = -Wportability
-# This will give a warning with '-Wportability'.
-zardoz :=
+bar = -Wextra-portability
+noinst_LIBRARIES = libfoo.a
# This would give a warning with '-Woverride'.
install:
END
+: > compile
+: > missing
+: > depcomp
+: > install-sh
+
$ACLOCAL
AUTOMAKE_run
-grep '^Makefile\.am:.*:=.*not portable' stderr
-grep README stderr && exit 1
+$FGREP 'AM_PROG_AR' stderr
+$FGREP 'README' stderr && exit 1
$EGREP '(install|override)' stderr && exit 1
+$EGREP 'distdir|\.tar[ .]' Makefile.in && exit 1
:
diff --git a/t/ansi2knr-no-more.sh b/t/ansi2knr-no-more.sh
deleted file mode 100644
index cd7dcee1f..000000000
--- a/t/ansi2knr-no-more.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 any attempt to use the obsolete de-ANSI-fication support
-# is diagnosed.
-
-. test-init.sh
-
-warn_rx='automatic de-ANSI-fication.*removed'
-
-echo AC_PROG_CC >> configure.ac
-$ACLOCAL
-mv aclocal.m4 aclocal.sav
-cp configure.ac configure.sav
-
-echo AM_C_PROTOTYPES >> configure.ac
-
-$ACLOCAL -Wnone 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep "^configure\\.ac:5:.*$warn_rx" stderr
-
-cat aclocal.sav "$am_automake_acdir"/obsolete.m4 > aclocal.m4
-$AUTOCONF -Wnone 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep "^configure\\.ac:5:.*$warn_rx" stderr
-
-for opt in ansi2knr lib/ansi2knr; do
- # ansi2knr option in Makefile.am
- cp configure.sav configure.ac
- echo "AUTOMAKE_OPTIONS = $opt" > Makefile.am
- rm -rf autom4te*.cache
- AUTOMAKE_fails -Wnone
- grep "^Makefile\.am:1:.*$warn_rx" stderr
- # ansi2knr option in configure.ac
- : > Makefile.am
- sed "s|^\\(AM_INIT_AUTOMAKE\\).*|\1([$opt])|" configure.sav >configure.ac
- cat configure.ac # For debugging.
- rm -rf autom4te*.cache
- AUTOMAKE_fails -Wnone
- grep "^configure\\.ac:2:.*$warn_rx" stderr
-done
-
-:
diff --git a/t/autodist-aclocal-m4.sh b/t/autodist-aclocal-m4.sh
index a57c1a7ce..1bf7ec762 100644
--- a/t/autodist-aclocal-m4.sh
+++ b/t/autodist-aclocal-m4.sh
@@ -34,8 +34,8 @@ cat > Makefile.am <<'END'
test: distdir
ls -l $(distdir)
test ! -f $(distdir)/aclocal.m4
- echo $(DISTFILES) | grep 'aclocal\.m4' && exit 1; :
- echo $(DIST_COMMON) | grep 'aclocal\.m4' && exit 1; :
+ echo $(am.dist.all-files) $(am.dist.common-files) \
+ | grep 'aclocal\.m4' && exit 1; :
check-local: test
END
diff --git a/t/autodist-config-headers.sh b/t/autodist-config-headers.sh
deleted file mode 100644
index 541f5c7f7..000000000
--- a/t/autodist-config-headers.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 config.h.bot and config.h.top are automatically
-# distributed if the AC_CONFIG_HADERS macro is used and they
-# exist at automake runtime.
-# Related to automake bug#7819.
-
-. test-init.sh
-
-cat >> configure.ac <<END
-AC_CONFIG_HEADERS([config.h sub/config.h cfg2.h:conf2.hin])
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-.PHONY: test
-test: distdir
- ls -l $(distdir) $(distdir)/sub
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]config\.h\.bot '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]config\.h\.top '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]cfg2\.h\.bot '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]cfg2\.h\.top '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]sub/config\.h\.bot '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]sub/config\.h\.top '
- test -f $(distdir)/config.h.bot
- test -f $(distdir)/config.h.top
- test -f $(distdir)/cfg2.h.bot
- test -f $(distdir)/cfg2.h.top
- test -f $(distdir)/sub/config.h.bot
- test -f $(distdir)/sub/config.h.top
-END
-
-mkdir sub
-touch config.h.in config.h.top config.h.bot \
- conf2.hin cfg2.h.top cfg2.h.bot \
- sub/config.h.in sub/config.h.top sub/config.h.bot
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-./configure
-$MAKE test
-
-:
diff --git a/t/autodist-configure-no-subdir.sh b/t/autodist-configure-no-subdir.sh
index 267e36df9..d8a719e2a 100644
--- a/t/autodist-configure-no-subdir.sh
+++ b/t/autodist-configure-no-subdir.sh
@@ -47,8 +47,8 @@ configure:
configure.ac:
$(dontbuild)
check-local:
- echo $(DISTFILES) | grep 'configure' && exit 1; :
- echo $(DIST_COMMON) | grep 'configure' && exit 1; :
+ echo $(am.dist.all-files) $(am.dist.common-files) \
+ | grep 'configure' && exit 1; :
END
: > sub/configure.ac
diff --git a/t/autodist-stamp-vti.sh b/t/autodist-stamp-vti.sh
index 06e2a642d..11c921386 100644
--- a/t/autodist-stamp-vti.sh
+++ b/t/autodist-stamp-vti.sh
@@ -30,7 +30,7 @@ info_TEXINFOS = foo.texi
.PHONY: test
test: all distdir
ls -l $(distdir)
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]stamp-vti '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]stamp-vti '
test -f $(distdir)/stamp-vti
END
diff --git a/t/autodist-subdir.sh b/t/autodist-subdir.sh
index b66584d6b..63cbe3ddd 100644
--- a/t/autodist-subdir.sh
+++ b/t/autodist-subdir.sh
@@ -48,8 +48,8 @@ cat > Makefile.am <<'END'
SUBDIRS = sub
check-local:
## For debugging.
- @echo DIST_COMMON:
- @for f in $(DIST_COMMON); do echo " $$f"; done
+ @echo am.dist.common-files:
+ @for f in $(am.dist.common-files); do echo " $$f"; done
@echo DISTDIR:
@ls -l $(distdir) | sed 's/^/ /'
## Now the checks.
@@ -66,8 +66,8 @@ cat > sub/Makefile.am <<'END'
include distfiles.am
check-local:
## For debugging.
- @echo DIST_COMMON:
- @for f in $(DIST_COMMON); do echo " $$f"; done
+ @echo am.dist.common-files:
+ @for f in $(am.dist.common-files); do echo " $$f"; done
@echo DISTDIR:
@ls -l $(distdir) | sed 's/^/ /'
## Now the checks.
@@ -76,7 +76,7 @@ check-local:
## Some filenames might contain dots, but this won't cause spurious
## failures, and "spurious successes" are so unlikely that they're
## not worth worrying about.
- echo ' ' $(DIST_COMMON) ' ' | grep "[ /]$$f " >/dev/null \
+ echo ' ' $(am.dist.common-files) ' ' | grep "[ /]$$f " >/dev/null \
|| { echo $$f: distcom fail >&2; exit 1; }; \
done
END
diff --git a/t/autodist.sh b/t/autodist.sh
index 958c6dd2e..82178e8d4 100644
--- a/t/autodist.sh
+++ b/t/autodist.sh
@@ -47,8 +47,8 @@ cat > Makefile.am <<'END'
include distfiles.am
check-local:
## For debugging.
- @echo DIST_COMMON:
- @for f in $(DIST_COMMON); do echo " $$f"; done
+ @echo am.dist.common-files:
+ @for f in $(am.dist.common-files); do echo " $$f"; done
@echo DISTDIR:
@ls -l $(distdir) | sed 's/^/ /'
## Now the checks.
@@ -59,7 +59,7 @@ check-local:
## Some filenames might contain dots, but this won't cause spurious
## failures, and "spurious successes" are so unlikely that they're
## not worth worrying about.
- echo ' ' $(DIST_COMMON) ' ' | grep "[ /]$$f " >/dev/null \
+ echo ' ' $(am.dist.common-files) ' ' | grep "[ /]$$f " >/dev/null \
|| { echo $$f: distcom fail >&2; exit 1; }; \
done
END
@@ -88,9 +88,15 @@ rm -rf $me-1.0 # Remove $(distdir).
: > distfiles.am
for f in $list; do
- echo dummy > $f
+ test "$f" = install-sh || echo dummy > $f
done
+# The 'install-sh' script must have legit content, because it's going
+# to be used by the "make distdir" target on systems lacking a decent
+# 'install' program.
+cp "$am_scriptdir/install-sh" . \
+ || fatal_ "fetching auxiliary script 'install-sh'"
+
ls -l # For debugging.
$AUTOMAKE
diff --git a/t/autohdr-subdir-pr12495.sh b/t/autohdr-subdir-pr12495.sh
index d940b05c7..35ceb973a 100644
--- a/t/autohdr-subdir-pr12495.sh
+++ b/t/autohdr-subdir-pr12495.sh
@@ -73,9 +73,7 @@ for x in b c; do
rm -f $x.h.in
run_make -E -e FAIL $x.h.in
test ! -f $x.h.in
- if using_gmake; then
- grep "No rule to make target [\`\"']$x\.h\.in[\`\"']" stderr
- fi
+ grep "No rule to make target [\`\"']$x\.h\.in[\`\"']" stderr
: > $x.h.in
cd "$ocwd" || fatal_ "cannot chdir back"
done
diff --git a/t/autohdr3.sh b/t/autohdr3.sh
index 47e508b58..b0b7bf591 100644
--- a/t/autohdr3.sh
+++ b/t/autohdr3.sh
@@ -30,8 +30,8 @@ cat > Makefile.am <<'END'
.PHONY: test
check-local: test
test: all
- cat $(srcdir)/config.hin ;: For debugging.
- cat config.h ;: Likewise.
+ cat $(srcdir)/config.hin # For debugging.
+ cat config.h # Likewise.
grep '#.*GREPME' $(srcdir)/config.hin
grep '#.*define.*GREPME' config.h
END
diff --git a/t/auxdir.sh b/t/auxdir.sh
index 039bc0c14..b4f3398a2 100644
--- a/t/auxdir.sh
+++ b/t/auxdir.sh
@@ -26,17 +26,13 @@ AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile])
END
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-cp "$am_scriptdir/mkinstalldirs" .
+: > Makefile.am
# The "././" prefix confuses Automake into thinking it is doing a
# subdir build. Yes, this is hacky.
$ACLOCAL
$AUTOMAKE ././Makefile
-grep '/\./\./mkinstalldirs' Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)/\./\.$' Makefile.in
:
diff --git a/t/auxdir6.sh b/t/auxdir6.sh
index b40d0617c..4a2878e38 100644
--- a/t/auxdir6.sh
+++ b/t/auxdir6.sh
@@ -31,20 +31,15 @@ END
mkdir subdir auxdir
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-cp Makefile.am subdir/Makefile.am
-
-: > auxdir/mkinstalldirs
+: > Makefile.am
+: > subdir/Makefile.am
: > auxdir/install-sh
: > auxdir/missing
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/auxdir/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/auxdir/mkinstalldirs' subdir/Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)/auxdir$' Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)/auxdir$' subdir/Makefile.in
:
diff --git a/t/auxdir7.sh b/t/auxdir7.sh
index 16402f444..deac6a82b 100644
--- a/t/auxdir7.sh
+++ b/t/auxdir7.sh
@@ -30,18 +30,13 @@ END
mkdir subdir
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-cp Makefile.am subdir/Makefile.am
-
-: > mkinstalldirs
+: > Makefile.am
+: > subdir/Makefile.am
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/mkinstalldirs' subdir/Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)$' Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)$' subdir/Makefile.in
:
diff --git a/t/auxdir8.sh b/t/auxdir8.sh
index 38957bfcc..aaab88a85 100644
--- a/t/auxdir8.sh
+++ b/t/auxdir8.sh
@@ -17,7 +17,7 @@
# Test to make sure AC_CONFIG_AUX_DIR works correctly.
# This test tries without an explicit call to AC_CONFIG_AUX_DIR;
# the config auxdir should be implicitly defined to '.' since
-# the install-sh, mkinstalldirs, etc., scripts are in the top-level
+# the install-sh, py-compile, etc., scripts are in the top-level
# directory.
# Keep this in sync with sister tests 'auxdir6.sh' and 'auxdir7.sh'.
@@ -29,18 +29,13 @@ END
mkdir subdir
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-cp Makefile.am subdir/Makefile.am
-
-: > mkinstalldirs
+: > Makefile.am
+: > subdir/Makefile.am
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/mkinstalldirs' subdir/Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)$' Makefile.in
+grep '^am\.conf\.aux-dir = \$(top_srcdir)$' subdir/Makefile.in
:
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index 35541c323..6a1981b60 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -38,12 +38,13 @@ distdir=$me-1.0
# a recursively invoked sub-make. Any $MAKE invocation in a test is
# conceptually an independent invocation, not part of the main
# 'automake' build.
-unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
-unset __MKLVL__ MAKE_JOBS_FIFO # For BSD make.
-unset DMAKE_CHILD DMAKE_DEF_PRINTED DMAKE_MAX_JOBS # For Solaris dmake.
+unset MFLAGS MAKEFLAGS MAKELEVEL
# Unset verbosity flag.
unset V
-# Also unset variables that might influence "make install".
+# Distribution formats.
+unset AM_DIST_FORMATS
+# Also unset variables that might let "make install" divert files
+# into unwanted directories.
unset DESTDIR
unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
unset htmldir includedir infodir libdir libexecdir localedir mandir
@@ -61,11 +62,11 @@ unset srcdir
unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT
unset DISABLE_HARD_ERRORS
unset AM_COLOR_TESTS
+unset AM_LAZY_CHECK
unset TESTS
unset XFAIL_TESTS
unset TEST_LOGS
unset TEST_SUITE_LOG
-unset RECHECK_LOGS
unset VERBOSE
for pfx in TEST_ SH_ TAP_ ''; do
unset ${pfx}LOG_COMPILER
@@ -176,10 +177,6 @@ is_valid_varname ()
# disk, in a regular file named 'output'. This option supersedes
# both the '-O' and '-E' options.
#
-# This function also handle command-line override of variable definition
-# in a smart way, using AM_MAKEFLAGS if a non-GNU make implementation
-# is in use.
-#
run_make ()
{
am__make_redirect_stdout=no
@@ -203,51 +200,6 @@ run_make ()
shift
done
- # Use append mode here to avoid dropping output. See automake bug#11413
- if using_gmake; then
- # We can trust GNU make to correctly pass macro definitions given
- # on the command line down to sub-make invocations, and this allow
- # us to have a vary simple implementation: delegate all the work
- # to GNU make.
- :
- else
- # We have to explicitly parse arguments passed to make. Not 100%
- # safe w.r.t. options like '-I' that can have an argument, but
- # should be good enough for our usages so far.
- for am__x
- do
- case $am__x in
- *=*)
- am__maybe_var=${am__x%%=*}
- am__maybe_val=${am__x#*=}
- am__maybe_def="${am__maybe_var}=${am__maybe_val}"
- # Some variables should be portably overridable from the command
- # line, even when using non-GNU make.
- case $am__maybe_var in
- V|\
- DESTDIR|\
- SHELL|\
- VERBOSE|\
- DISABLE_HARD_ERRORS|\
- DISTCHECK_CONFIGURE_FLAGS)
- ;;
- *)
- if is_valid_varname "$am__maybe_var"; then
- append_single_quoted am__make_flags "$am__maybe_def"
- fi
- esac
- unset am__maybe_var am__maybe_val am__maybe_def
- ;;
- esac
- done
- unset am__x
- fi
-
- if test x"$am__make_flags" != x; then
- set AM_MAKEFLAGS="$am__make_flags" ${1+"$@"}
- unset am__make_flags
- fi
-
# In redirecting make output below, use append mode, to avoid
# dropping output. See automake bug#11413 for details.
# The exit status of 253 is a more-or-less random choice, to
@@ -398,116 +350,6 @@ grep_configure_help ()
$EGREP "$2" am--our-help || exit 1
}
-# using_gmake
-# -----------
-# Return success if $MAKE is GNU make, return failure otherwise.
-# Caches the result for speed reasons.
-using_gmake ()
-{
- case $am__using_gmake in
- yes)
- return 0;;
- no)
- return 1;;
- '')
- # Use --version AND -v, because SGI Make doesn't fail on --version.
- # Also grep for GNU because newer versions of FreeBSD make do
- # not complain about --version (they seem to silently ignore it).
- if $MAKE --version -v | grep GNU; then
- am__using_gmake=yes
- return 0
- else
- am__using_gmake=no
- return 1
- fi;;
- *)
- fatal_ "invalid value for \$am__using_gmake: '$am__using_gmake'";;
- esac
-}
-am__using_gmake="" # Avoid interferences from the environment.
-
-# make_can_chain_suffix_rules
-# ---------------------------
-# Return 0 if $MAKE is a make implementation that can chain suffix rules
-# automatically, return 1 otherwise. Caches the result for speed reasons.
-make_can_chain_suffix_rules ()
-{
- if test -z "$am__can_chain_suffix_rules"; then
- if using_gmake; then
- am__can_chain_suffix_rules=yes
- return 0
- else
- mkdir am__chain.dir$$
- cd am__chain.dir$$
- unindent > Makefile << 'END'
- .SUFFIXES: .u .v .w
- .u.v: ; cp $< $@
- .v.w: ; cp $< $@
-END
- echo make can chain suffix rules > foo.u
- if $MAKE foo.w && diff foo.u foo.w; then
- am__can_chain_suffix_rules=yes
- else
- am__can_chain_suffix_rules=no
- fi
- cd ..
- rm -rf am__chain.dir$$
- fi
- fi
- case $am__can_chain_suffix_rules in
- yes) return 0;;
- no) return 1;;
- *) fatal_ "make_can_chain_suffix_rules: internal error";;
- esac
-}
-am__can_chain_suffix_rules="" # Avoid interferences from the environment.
-
-# useless_vpath_rebuild
-# ---------------------
-# Tell whether $MAKE suffers of the bug triggering automake bug#7884.
-# For example, this happens with FreeBSD make, since in a VPATH build
-# it tends to rebuilt files for which there is an explicit or even just
-# a suffix rule, even if said files are already available in the VPATH
-# directory.
-useless_vpath_rebuild ()
-{
- if test -z "$am__useless_vpath_rebuild"; then
- if using_gmake; then
- am__useless_vpath_rebuild=no
- return 1
- fi
- mkdir am__vpath.dir$$
- cd am__vpath.dir$$
- touch foo.a foo.b bar baz
- mkdir build
- cd build
- unindent > Makefile << 'END'
- .SUFFIXES: .a .b
- VPATH = ..
- all: foo.b baz
- .PHONY: all
- .a.b: ; cp $< $@
- baz: bar ; cp ../baz bar
-END
- if run_make all && test ! -e foo.b && test ! -e bar; then
- am__useless_vpath_rebuild=no
- else
- am__useless_vpath_rebuild=yes
- fi
- cd ../..
- rm -rf am__vpath.dir$$
- fi
- case $am__useless_vpath_rebuild in
- yes) return 0;;
- no) return 1;;
- "") ;;
- *) fatal_ "useless_vpath_rebuild: internal error";;
- esac
-}
-am__useless_vpath_rebuild=""
-
-yl_distcheck () { useless_vpath_rebuild || run_make distcheck ${1+"$@"}; }
-
null_install ()
{
for am__v in nulldirs destdir instdir; do
@@ -779,7 +621,7 @@ require_tool ()
$CC -? </dev/null \
|| skip_all_ "Microsoft C compiler '$CC' not available"
;;
- etags)
+ ${ETAGS-etags})
# Exuberant Ctags will create a TAGS file even
# when asked for --help or --version. (Emacs's etags
# does not have such problem.) Use -o /dev/null
@@ -788,19 +630,6 @@ require_tool ()
etags --version -o /dev/null \
|| skip_all_ "required program 'etags' not available"
;;
- GNUmake)
- for am_make in "$MAKE" gmake gnumake :; do
- MAKE=$am_make
- am__using_gmake= # Invalidate cache used by 'using_gmake()'.
- test "$MAKE" = : && break
- echo "$me: determine whether $MAKE is GNU make"
- using_gmake && break
- : For shells with busted 'set -e'.
- done
- test "$MAKE" = : && skip_all_ "this test requires GNU make"
- export MAKE
- unset am_make
- ;;
gcj)
GCJ=$GNU_GCJ GCJFLAGS=$GNU_GCJFLAGS; export GCJ GCJFLAGS
test "$GCJ" = false && skip_all_ "GNU Java compiler unavailable"
@@ -892,12 +721,6 @@ require_tool ()
fi
unset priv_check_temp overwrite_status
;;
- # Extra quoting required to avoid maintainer-check spurious failures.
- 'perl-threads')
- if test "$WANT_NO_THREADS" = "yes"; then
- skip_all_ "Devel::Cover cannot cope with threads"
- fi
- ;;
native)
# Don't use "&&" here, to avoid a bug of 'set -e' present in
# some (even relatively recent) versions of the BSD shell.
diff --git a/t/ax/depcomp-shuffle.sh b/t/ax/depcomp-shuffle.sh
new file mode 100644
index 000000000..8ee6ef664
--- /dev/null
+++ b/t/ax/depcomp-shuffle.sh
@@ -0,0 +1,175 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Dependency tracking in the face of added/removed/renamed files.
+# This is meant to be sourced by other the tests, after they've
+# set the variables '$xdir' and '$vpath' appropriately.
+
+required=cc
+. test-init.sh
+
+test x${xdir+"set"} = x"set" || fatal_ "\$xdir is unset"
+test x${vpath+"set"} = x"set" || fatal_ "\$vpath is unset"
+
+if test $vpath = no; then
+ srcdir=.
+elif test $vpath = yes; then
+ srcdir=..
+else
+ fatal_ "invalid value for \$vpath: '$vpath'"
+fi
+
+if test -z "$xdir"; then
+ thedir=$srcdir
+else
+ thedir=$srcdir/$xdir
+ xdir=$xdir/
+fi
+
+
+finalize_edit ()
+{
+ diff "$1" t && exit 1
+ mv -f t "$2"
+}
+
+func_subst ()
+{
+ subst=$1; shift
+ for file
+ do
+ sed "$subst" "$file" > t
+ finalize_edit "$subst" "$file"
+ done
+}
+
+prepend ()
+{
+ cat "$1" "$2" > t
+ finalize_edit "$@"
+}
+
+if cross_compiling; then
+ grep_prog_out () { :; }
+else
+ grep_prog_out () { ./prg && ./prg | grep "$1" || exit 1; }
+fi
+
+cat >> configure.ac <<'END'
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am <<END
+noinst_PROGRAMS = prg
+noinst_LIBRARIES = liber.a
+prg_SOURCES = ${xdir}main.c
+liber_a_SOURCES = ${xdir}niam.c
+get-exeext:
+ @echo \$(EXEEXT)
+END
+
+cat configure.ac # For debugging.
+cat Makefile.am # Likewise.
+
+test -z "$xdir" || mkdir "$xdir"
+
+echo '#define THE_STRING "foofoofoo"' > ${xdir}foo.h
+
+cat > ${xdir}main.c << 'END'
+#include "foo.h"
+#include <stdio.h>
+int main (void)
+{
+ printf ("%s\n", THE_STRING);
+ return 0;
+}
+END
+
+sed 's/main/niam/' ${xdir}main.c > ${xdir}niam.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+test $vpath = no || { mkdir build && cd build; } || exit 99
+
+$srcdir/configure --enable-dependency-tracking
+$MAKE
+grep_prog_out foofoofoo # Sanity check.
+
+EXEEXT=$($MAKE -s --no-print-directory get-exeext) \
+ || fatal_ "cannot get \$EXEEXT"
+
+# Modify an header file.
+$sleep
+echo '#define THE_STRING "oofoofoof"' > $thedir/foo.h
+$MAKE
+is_newest prg$EXEEXT $thedir/foo.h
+is_newest liber.a $thedir/foo.h
+grep_prog_out oofoofoof
+
+# Rename an header file.
+$sleep
+mv $thedir/foo.h $thedir/foo2.h
+func_subst 's|foo\.h|foo2.h|' $thedir/main.c $thedir/niam.c
+$MAKE
+is_newest prg$EXEEXT $thedir/main.c
+is_newest liber.a $thedir/niam.c
+grep_prog_out oofoofoof
+
+# Add an header file, modify another one.
+$sleep
+mv $thedir/foo2.h $thedir/bar.h
+echo '#include "bar.h"' > $thedir/foo2.h
+$MAKE
+grep_prog_out oofoofoof
+is_newest prg$EXEEXT $thedir/foo2.h
+is_newest liber.a $thedir/foo2.h
+
+# Remove an header file, modify another one.
+$sleep
+echo '#define THE_STRING "bazbazbaz"' > $thedir/foo2.h
+rm -f $thedir/bar.h
+$MAKE
+is_newest prg$EXEEXT $thedir/foo2.h
+is_newest liber.a $thedir/foo2.h
+grep_prog_out bazbazbaz
+
+# Add two header files, rename another file.
+$sleep
+echo '#define S_ONE "zar"' > $thedir/1.h
+echo '#define S_TWO "doz"' > $thedir/2.h
+cat > $thedir/baz.h <<'END'
+#include "1.h"
+#include "2.h"
+#define THE_STRING S_ONE S_TWO
+END
+func_subst 's|foo2\.h|baz.h|' $thedir/main.c $thedir/niam.c
+rm -f $thedir/foo2.h
+$MAKE
+is_newest prg$EXEEXT $thedir/*.[ch]
+is_newest liber.a $thedir/*.[ch]
+grep_prog_out zardoz
+
+# Check the distribution.
+$sleep
+echo prg_SOURCES += ${xdir}baz.h ${xdir}1.h ${xdir}2.h >> $srcdir/Makefile.am
+$MAKE distcheck
+
+:
diff --git a/t/ax/distcheck-hook-m4.am b/t/ax/distcheck-hook-m4.am
index 76772e0ca..58f51b334 100644
--- a/t/ax/distcheck-hook-m4.am
+++ b/t/ax/distcheck-hook-m4.am
@@ -19,7 +19,7 @@ AUTOMAKE_OPTIONS = -Wno-obsolete
distcheck-hook:
@fatal () { echo "$@: $$*" >&2; exit 1; }; \
- $(am__cd) $(distdir) && chmod u+w . && mkdir _m4 \
+ cd $(distdir) && chmod u+w . && mkdir _m4 \
|| fatal "cannot setup distdir"; \
$(ACLOCAL) -I _m4 $(ACLOCAL_AMFLAGS) --install --output=_am.m4 \
|| fatal "cannot regenerate aclocal.m4"; \
diff --git a/t/ax/runtest.in b/t/ax/runtest.in
index 635d40f9d..e3491cd71 100644
--- a/t/ax/runtest.in
+++ b/t/ax/runtest.in
@@ -28,6 +28,10 @@ set -e; set -u
: ${abs_builddir='@abs_builddir@'}
: ${PATH_SEPARATOR='@PATH_SEPARATOR@'}
+# If a test is called directly, it should be unconditionally run,
+# even it it's expensive.
+RUN_EXPENSIVE_TESTS=yes; export RUN_EXPENSIVE_TESTS
+
# For sourcing of extra "shell libraries" by our test scripts. As per
# POSIX, sourcing a file with '.' will cause it to be looked up in $PATH
# in case it is given with a relative name containing no slashes.
diff --git a/t/ax/shell-no-trail-bslash.in b/t/ax/shell-no-trail-bslash.in
index e241eb801..fdf8d4e67 100644
--- a/t/ax/shell-no-trail-bslash.in
+++ b/t/ax/shell-no-trail-bslash.in
@@ -44,10 +44,9 @@ am_SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}
shell_script=$1
shell_command=$(cat <"$shell_script")
else
- # Some make implementations, like *BSD's, pass the recipes to the
- # shell through its standard input. Trying to run our extra checks
- # in this case would be too tricky, so we just skip them.
- exit 0
+ echo "$0: fatal: no shell script given," \
+ "nor a command given via the '-c' option" >&2
+ exit 1
fi
fi
original_shell_command=$shell_command
diff --git a/t/ax/test-lib.sh b/t/ax/test-lib.sh
index adbb42acd..23ef7430d 100644
--- a/t/ax/test-lib.sh
+++ b/t/ax/test-lib.sh
@@ -158,6 +158,13 @@ fi
## Auxiliary shell functions. ##
## ---------------------------- ##
+expensive_()
+{
+ if test x"$RUN_EXPENSIVE_TESTS" != x"yes"; then
+ skip_all_ 'expensive: disabled by default'
+ fi
+}
+
# Tell whether we should keep the test directories around, even in
# case of success. By default, we don't.
am_keeping_testdirs ()
diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh
index b9ba31ef1..f46df7c05 100644
--- a/t/ax/testsuite-summary-checks.sh
+++ b/t/ax/testsuite-summary-checks.sh
@@ -68,8 +68,7 @@ do_check ()
{
cat > summary.exp
expect_failure=false
- xfail_tests=''
- tests="$*"
+ tests=$* xfail_tests=
for t in $*; do
case $t in fail*|xpass*|error*) expect_failure=:;; esac
case $t in xfail*|xpass*) xfail_tests="$xfail_tests $t";; esac
diff --git a/t/backslash-issues.sh b/t/backslash-issues.sh
index e0183a97d..b369a058d 100644
--- a/t/backslash-issues.sh
+++ b/t/backslash-issues.sh
@@ -38,10 +38,4 @@ SUBDIRS = \
END
$AUTOMAKE
-# Make sure we diagnose trailing backslash at the end of a file.
-# Report from Akim Demaile <akim@epita.fr>.
-echo 'foo = \' > Makefile.am
-AUTOMAKE_fails
-grep 'trailing backslash' stderr
-
:
diff --git a/t/backslash-tricks.sh b/t/backslash-tricks.sh
new file mode 100644
index 000000000..c86f18767
--- /dev/null
+++ b/t/backslash-tricks.sh
@@ -0,0 +1,78 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+#
+# - Automake should handle trailing backslashes in comments the way GNU
+# make does, i.e., considering the next line as a continuation of the
+# comment.
+#
+# - Automake should allow backslash-escaped '#' characters at the end
+# of a line (in variable definitions as well as well as in recipes),
+# because GNU make allows that.
+#
+# - GNU make handles comments following trailing backslashes gracefully,
+# so Automake should do the same.
+#
+# - Automake should not complain if the Makefile ands with a backslash
+# and newline sequence, because GNU make handles that gracefully.
+#
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+# Avoid possible interferences from the environment.
+var1= var2=; unset var1 var2
+
+cat > Makefile.am << 'END'
+# a comment with backslash \
+var1 = foo
+var2 = bar
+
+var3 = \#
+var4 = $(var3)
+
+var5 = ok \
+# ko
+
+var6 = \# \
+\#\\\\\# seen # not seen
+
+var6 += \# \# # again not seen
+
+.PHONY: test
+test:
+ test -z '$(var1)'
+ test '$(var2)' = bar
+ test '$(var3)' = '#'
+ test '$(var4)' = \#
+ # Use '[', not 'test', here, so that spurious comments
+ # are ensured to cause syntax errors.
+ [ $(var5) = ok ]
+ test '$(var6)' = '# #\\# seen # #'
+
+# Yes, this file ends with a backslash-newline. So what?
+\
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE test
+
+:
diff --git a/t/built-sources-fork-bomb.sh b/t/built-sources-fork-bomb.sh
index d99bd015c..f9b18b869 100644
--- a/t/built-sources-fork-bomb.sh
+++ b/t/built-sources-fork-bomb.sh
@@ -21,9 +21,7 @@
# For more background, see:
# <http://lists.gnu.org/archive/html/help-smalltalk/2012-08/msg00027.html>
# <http://lists.gnu.org/archive/html/automake-patches/2012-08/msg00052.html>
-# Backported to improve coverage of mainline Automake.
-required=GNUmake
. test-init.sh
echo AC_OUTPUT >> configure.ac
@@ -42,6 +40,7 @@ foo:
is_too_deep := $(shell test $(MAKELEVEL) -lt 10 && echo no)
## Extra indentation here required to avoid confusing Automake.
+## FIXME: now that we assume make is GNU make, this shouldn't happen!
ifeq ($(is_too_deep),no)
# All is ok.
else
@@ -50,7 +49,7 @@ is_too_deep := $(shell test $(MAKELEVEL) -lt 10 && echo no)
END
$ACLOCAL
-$AUTOMAKE -Wno-portability
+$AUTOMAKE
$AUTOCONF
./configure
diff --git a/t/built-sources.sh b/t/built-sources.sh
index 9d4dbc7dd..9a2ea2875 100644
--- a/t/built-sources.sh
+++ b/t/built-sources.sh
@@ -29,8 +29,8 @@ BUILT_SOURCES = foo.c
noinst_PROGRAMS = bar baz
foo.c:
rm -f $@ $@-t
-## Use printf, not echo, to avoid spurious interpretation of
-## the "\n" as a newline (seen on NetBSD 5.1).
+ # Use printf, not echo, to avoid spurious interpretation of
+ # the "\n" as a newline (seen on NetBSD 5.1).
printf '%s\n' '#include <stdio.h>' > $@-t
printf '%s\n' 'int main (void)' >> $@-t
printf '%s\n' '{ ' >> $@-t
diff --git a/t/canon.sh b/t/canon.sh
index 2fc37ea8c..9af086734 100644
--- a/t/canon.sh
+++ b/t/canon.sh
@@ -29,7 +29,6 @@ END
$ACLOCAL
AUTOMAKE_fails
-grep 'Makefile\.am:2:.* bad .*variable.*sniff-glue_SOURCES' stderr
grep 'Makefile\.am:2:.* use .*sniff_glue_SOURCES' stderr
:
diff --git a/t/canon5.sh b/t/canon5.sh
index f19e803f0..dc24688c7 100644
--- a/t/canon5.sh
+++ b/t/canon5.sh
@@ -45,7 +45,6 @@ bin_PROGRAMS = ,foo
END
AUTOMAKE_fails
-grep 'Makefile\.am:2:.* bad .*variable.*,foo_SOURCES' stderr
grep 'Makefile\.am:2:.* use .*_foo_SOURCES' stderr
cat > Makefile.am << 'END'
@@ -53,6 +52,6 @@ bin_PROGRAMS = ,foo
_foo_SOURCES = foo.c
END
-$AUTOMAKE -Wno-portability
+$AUTOMAKE
:
diff --git a/t/ccnoco3.sh b/t/ccnoco3.sh
index 429d3c9db..d506cbfaf 100644
--- a/t/ccnoco3.sh
+++ b/t/ccnoco3.sh
@@ -26,7 +26,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = wish
wish_SOURCES = a.c
END
diff --git a/t/check-concurrency-bug9245.sh b/t/check-concurrency-bug9245.sh
index 2fc0b048b..87347f2c3 100644
--- a/t/check-concurrency-bug9245.sh
+++ b/t/check-concurrency-bug9245.sh
@@ -14,8 +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/>.
-# Look for a bug where FreeBSD make in concurrent mode reported success
-# even when the Automake-generated parallel testsuite harness failed.
+# Look for a bug where make in concurrent mode reported success even
+# when the Automake-generated parallel testsuite harness failed.
+# This issue was originally present only with FreeBSD make, but we
+# keep the test anyway, for extra safety.
# See automake bug#9245.
. test-init.sh
@@ -42,16 +44,14 @@ $AUTOMAKE -a
./configure
-$MAKE -j1 || skip_ "'$MAKE' doesn't support the -j option"
-
for j in '' -j1 -j2; do
- $MAKE $j check && exit 1
- run_make -e FAIL -- $j TESTS=foo.test check
- $MAKE $j recheck && exit 1
- run_make -e FAIL -- $j TEST_LOGS=foo.log check
+ $MAKE $j check && exit 1
+ $MAKE $j TESTS=foo.test check && exit 1
+ $MAKE $j recheck && exit 1
+ $MAKE $j TESTS=foo check && exit 1
rm -f test-suite.log
- run_make -e FAIL $j test-suite.log
- test -f test-suite.log || exit 1
+ $MAKE $j test-suite.log && exit 1
+ test -f test-suite.log || exit 1
done
:
diff --git a/t/check.sh b/t/check.sh
deleted file mode 100644
index a418590e0..000000000
--- a/t/check.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 Automake style tests.
-
-# For gen-testsuite-part: ==> try-with-serial-tests <==
-. test-init.sh
-
-cat > Makefile.am << 'END'
-TESTS = frob.test
-END
-
-test x"$am_serial_tests" = x"yes" || : > test-driver
-
-$ACLOCAL
-$AUTOMAKE
-
-grep 'check-TESTS.*:' Makefile.in
-grep 'check-DEJAGNU' Makefile.in && exit 1
-
-# 'check-TESTS' is phony.
-sed -n '/^\.PHONY:/,/^$/p' Makefile.in | $EGREP '(^| )check-TESTS($| )'
-
-# 'check' should depend directly on 'check-am' (similar tests are
-# in check2.sh and check3.sh).
-$EGREP '^check:.* check-am( |$)' Makefile.in
-
-:
diff --git a/t/check10.sh b/t/check10.sh
index 95bcaea57..87349049e 100644
--- a/t/check10.sh
+++ b/t/check10.sh
@@ -56,18 +56,21 @@ $AUTOMAKE -a
./configure
(
- run_make -e IGNORE TESTS=pass check
- run_make -e IGNORE TESTS=fail check
- run_make -e IGNORE TESTS=skip check
- run_make -e IGNORE TESTS=xfail check
- run_make -e IGNORE TESTS=xpass check
- run_make -e IGNORE TESTS="pass pass2" check
- run_make -e IGNORE TESTS="fail fail2" check
- run_make -e IGNORE TESTS="skip skip2" check
- run_make -e IGNORE TESTS="xfail xfail2" check
- run_make -e IGNORE TESTS="xpass xpass2" check
- run_make -e IGNORE TESTS='pass skip xfail' check
- run_make -e IGNORE check
+ # Do not check for failure in this subshell
+ set +e
+ $MAKE check TESTS="pass"
+ $MAKE check TESTS="fail"
+ $MAKE check TESTS="skip"
+ $MAKE check TESTS="xfail"
+ $MAKE check TESTS="xpass"
+ $MAKE check TESTS="pass pass2"
+ $MAKE check TESTS="fail fail2"
+ $MAKE check TESTS="skip skip2"
+ $MAKE check TESTS="xfail xfail2"
+ $MAKE check TESTS="xpass xpass2"
+ $MAKE check TESTS="pass skip xfail"
+ $MAKE check
+ :
) >stdout || { cat stdout; exit 1; }
cat stdout
diff --git a/t/check12.sh b/t/check12.sh
index 0f3928a35..d02b2652f 100644
--- a/t/check12.sh
+++ b/t/check12.sh
@@ -182,8 +182,8 @@ for vpath in : false; do
CHECKLOCAL_EXIT_STATUS=1 $MAKE check && exit 1
grep 'check-local failed :-(' local.log
- # Do not trust the exit status of 'make -k'.
- NAIL=screw B_EXIT_STATUS=23 CHECKLOCAL_EXIT_STATUS=1 $MAKE -k check || :
+ env NAIL=screw B_EXIT_STATUS=23 CHECKLOCAL_EXIT_STATUS=1 \
+ $MAKE -k check && exit 1
test -f hammer.log
test -f hammer.sum
test -f spanner.log
diff --git a/t/check2.sh b/t/check2.sh
index 2bf433dba..b2b5f011f 100644
--- a/t/check2.sh
+++ b/t/check2.sh
@@ -55,14 +55,8 @@ run_make -O check
grep '^PASS: subrun\.sh *$' stdout
grep 'PASS.*echo\.sh' stdout && exit 1
-# 'check' should depend directly on 'check-am' (similar tests are
-# in 'check.sh' and 'built-sources-check.sh').
-$EGREP '^check:.* check-recursive( |$)' Makefile.in
-$EGREP '^check:.* check-am( |$)' dir/Makefile.in
-
# Make sure subrun.sh is still on its line as above. This means Automake
-# hasn't rewritten the TESTS line unnecessarily (we can tell, because all
-# Automake variables are reformatted by VAR_PRETTY).
+# hasn't rewritten the TESTS line unnecessarily.
grep '^ subrun\.sh$' Makefile.in
:
diff --git a/t/check4.sh b/t/check4.sh
index 8d0b1adfd..c5ca64e1a 100644
--- a/t/check4.sh
+++ b/t/check4.sh
@@ -55,26 +55,20 @@ run_make -O -e FAIL -- check
grep '^FAIL: fail\.sh *$' stdout
grep '^PASS: ok\.sh *$' stdout && exit 1
-# The exit status of 'make -k' can be anything
-# (depending on the Make implementation)
-run_make -O -e IGNORE -- -k check
+run_make -O -e FAIL -- -k check
grep '^FAIL: fail\.sh *$' stdout
grep '^PASS: ok\.sh *$' stdout
# Should also works when -k is not in first position.
-run_make -O -e IGNORE -- -s -k check
+run_make -O -e FAIL -- -s -k check
grep '^FAIL: fail\.sh *' stdout
grep '^PASS: ok\.sh *' stdout
-# The rest of the test is for GNU Make.
-
-if using_gmake; then
- # Try with a long-option that do not have a short option equivalent
- # (here, --no-print-directory). That should cause all options to
- # appear verbatim in MAKEFLAGS.
- run_make -e FAIL -O -- --no-print-directory -k check
- grep '^FAIL: fail\.sh *$' stdout
- grep '^PASS: ok\.sh *$' stdout
-fi
+# Try with a long-option that do not have a short option equivalent
+# (here, --no-print-directory). That should cause all options to
+# appear verbatim in MAKEFLAGS.
+run_make -O -e FAIL -- --no-print-directory -k check
+grep '^FAIL: fail\.sh *$' stdout
+grep '^PASS: ok\.sh *$' stdout
:
diff --git a/t/check5.sh b/t/check5.sh
index c4e5b52f7..271804424 100644
--- a/t/check5.sh
+++ b/t/check5.sh
@@ -32,8 +32,15 @@ check-local:
test -f one$(EXEEXT)
test -f two$(EXEEXT)
touch ok
-expect-tests:
- is $(TESTS) == one$(EXEEXT) two$(EXEEXT)
+prepare-for-fake-exeext:
+ rm -f ok
+ mv -f one$(EXEEXT) one.bin
+ mv -f two$(EXEEXT) two.bin
+post-check-for-fake-exeext:
+ test -f ok
+ test ! -f one$(EXEEXT)
+ test ! -f two$(EXEEXT)
+.PHONY: prepare-for-fake-exeext post-check-for-fake-exeext
END
$ACLOCAL
@@ -49,12 +56,15 @@ END
cp one.c two.c
./configure
+
$MAKE check
test -f ok
-run_make expect-tests
-run_make expect-tests EXEEXT=.bin
-# No am__EXEEXT_* variable is needed.
-grep '_EXEEXT_[1-9]' Makefile.in && exit 1
-$FGREP 'TESTS = $(check_PROGRAMS)' Makefile.in
+
+$MAKE prepare-for-fake-exeext
+$MAKE check EXEEXT=.bin
+$MAKE post-check-for-fake-exeext
+
+# No TESTS rewriting has taken place.
+grep '^TESTS = \$(check_PROGRAMS)$' Makefile.in
:
diff --git a/t/check7.sh b/t/check7.sh
index 313470289..ca045b177 100644
--- a/t/check7.sh
+++ b/t/check7.sh
@@ -30,10 +30,22 @@ TESTS = $(XFAIL_TESTS)
XFAIL_TESTS = a b c d
check_PROGRAMS = a c d
check_SCRIPTS = b
+EXTRA_PROGRAMS = new old
EXTRA_DIST = $(check_SCRIPTS)
-expect-xfail-tests:
- is $(XFAIL_TESTS) == a$(EXEEXT) b c$(EXEEXT) d$(EXEEXT)
+prepare-for-fake-exeext:
+ rm -f out.new out.old
+ touch a.fake c.fake d.fake
+ mv -f new$(EXEEXT) new.fake
+ mv -f old$(EXEEXT) old.fake
+post-check-for-fake-exeext:
+ test -f new.fake
+ test -f old.fake
+ test ! -f new
+ test ! -f new$(EXEEXT)
+ test ! -f old
+ test ! -f old$(EXEEXT)
+.PHONY: prepare-for-fake-exeext post-check-for-fake-exeext
END
cat > b <<'END'
@@ -53,14 +65,42 @@ END
cp a.c c.c
cp a.c d.c
+cat > new.c <<'END'
+#include <stdio.h>
+int main (void)
+{
+ FILE *fp = fopen ("out.new", "w");
+ fprintf (fp, "%s!\n", "Hello, Brave New World");
+ return (fclose (fp) != 0);
+}
+END
+
+cat > old.c <<'END'
+#include <stdio.h>
+int main (void)
+{
+ FILE *fp = fopen ("out.old", "w");
+ fprintf (fp, "%s!\n", "Hello, Europe");
+ return (fclose (fp) == 0);
+}
+END
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
./configure
$MAKE check
-run_make expect-xfail-tests
-run_make expect-xfail-tests EXEEXT=.bin
+
+$MAKE check TESTS='old new' XFAIL_TESTS=old
+grep 'Hello, Brave New World!' out.new
+grep 'Hello, Europe!' out.old
+
+$MAKE prepare-for-fake-exeext
+$MAKE check TESTS='old new' EXEEXT=.fake XFAIL_TESTS=old
+$MAKE post-check-for-fake-exeext
+grep 'Hello, Brave New World!' out.new
+grep 'Hello, Europe!' out.old
$MAKE distcheck
diff --git a/t/check8.sh b/t/check8.sh
index c3929661d..1da0ec4da 100644
--- a/t/check8.sh
+++ b/t/check8.sh
@@ -26,7 +26,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
TESTS = foo sub/foo $(check_PROGRAMS)
XFAIL_TESTS = foo sub/baz
check_PROGRAMS = bar sub/bar baz sub/baz
@@ -64,6 +63,7 @@ $AUTOCONF
$AUTOMAKE -a
./configure
+
run_make -E -O -e FAIL check
grep 'XPASS.* foo$' stdout
grep '^[^X]*PASS.* sub/foo$' stdout
diff --git a/t/checkall.sh b/t/checkall.sh
deleted file mode 100644
index 9529e9f8e..000000000
--- a/t/checkall.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# Copyright (C) 1996-2015 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 for bug where check target doesn't depend on all.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-bin_SCRIPTS = derived
-check-local:
- true
-END
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^check-am:.*all-am' Makefile.in
-grep 'MAKE.*check-local' Makefile.in
diff --git a/t/clean-many.sh b/t/clean-many.sh
new file mode 100644
index 000000000..f64c2d2df
--- /dev/null
+++ b/t/clean-many.sh
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 our cleaning rules do not hit errors due to a huge number
+# of files to be removed. Checks similar in spirit are done by sister
+# test 'clean-many2.sh', which fakes an artificially low command line
+# length limit for 'rm'.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_SUBST([safe_include], [include])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+# Don't use 'include' here: we want this processed at make runtime,
+# not at automake runtime. Otherwise Automake runs too slow.
+@safe_include@ files.mk
+MOSTLYCLEANFILES = $(files)
+CLEANFILES = $(files)
+DISTCLEANFILES = $(files)
+MAINTANERCLEANFILES = $(files)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+# Yes, we want to clean ~ 130 thousands files. So what?
+i=2
+echo foo bar > t
+while test $i -le 17; do
+ i=$(($i + 1))
+ cat t t > t2
+ mv -f t2 t
+done
+(echo 'files = \' && sed '$!s/$/ \\/' t) > files.mk
+rm -f t
+
+# 2^17 + 1 = 65537.
+test $(wc -l <files.mk) -eq 65537 || fatal_ "populating 'files.mk'"
+
+touch foo bar
+$MAKE maintainer-clean
+test ! -e foo
+test ! -e bar
+
+:
diff --git a/t/clean-many2.sh b/t/clean-many2.sh
new file mode 100644
index 000000000..733d71fdf
--- /dev/null
+++ b/t/clean-many2.sh
@@ -0,0 +1,82 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 our cleaning rules do not hit errors due to an exceeded
+# command line length when there are many files to clean. Here, we
+# fake a very low command line length limit for 'rm' (max 50 arguments).
+# The sister test 'clean-many.sh' try to hit the real command line length
+# limit of the system, by declaring a huge number of files to be cleaned.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+oPATH=$PATH; export oPATH
+mkdir bin
+# Redundant quoting of 'rm' (here and below) to please maintainer-check.
+cat > bin/'rm' <<'END'
+#!/bin/sh
+PATH=$oPATH; export PATH
+if test $# -eq 0; then
+ echo "rm: missing argument" >&2
+ exit 1
+elif test $# -gt 50; then
+ echo "rm: argument list too long ($# arguments)" >&2
+ exit 1
+fi
+exec 'rm' "$@"
+END
+chmod a+x bin/rm
+PATH=$(pwd)/bin$PATH_SEPARATOR$PATH; export PATH
+
+cat > Makefile.am <<'END'
+MOSTLYCLEANFILES = $(files)
+CLEANFILES = $(files)
+DISTCLEANFILES = $(files)
+MAINTANERCLEANFILES = $(files)
+include files.am
+END
+
+echo foo bar > t
+i=1
+while test $i -le 10; do
+ cat t t > t2 && mv -f t2 t || exit 99
+ i=$(($i + 1))
+done
+
+# Sanity check.
+rm -f $(cat t) && fatal_ "setting up 'rm' wrapper"
+
+(echo 'files = \' && sed '$!s/$/ \\/' t) >files.am
+rm -f t
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+cp config.status config-status.sav \
+
+for target in mostlyclean clean distclean maintainer-clean; do
+ echo dummy > foo
+ echo dummy > bar
+ $MAKE $target
+ test ! -e foo
+ test ! -e foo
+ cp config-status.sav config.status && ./config.status Makefile \
+ || fatal_ "resetting Makefile after cleanup"
+done
+
+:
diff --git a/t/cleanvars.sh b/t/cleanvars.sh
new file mode 100644
index 000000000..c9fcee0e3
--- /dev/null
+++ b/t/cleanvars.sh
@@ -0,0 +1,100 @@
+#! /bin/sh
+# Copyright (C) 2001-2014 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 support for:
+# - MOSTLYCLEANFILES
+# - CLEANFILES
+# - DISTCLEANFILES
+# - MAINTAINERCLEANFILES
+# Especially checks that it is possible to extend them also from a
+# "wrapper" makefile never processed nor seen by Automake.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+setup () { touch mostly plain dist maint mostly2 plain2 dist2 maint2; }
+
+cat > Makefile.am << 'END'
+MOSTLYCLEANFILES = mostly
+CLEANFILES = plain
+DISTCLEANFILES = dist
+MAINTAINERCLEANFILES = maint
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+cat > GNUmakefile << 'END'
+include Makefile
+MOSTLYCLEANFILES += mostly2
+CLEANFILES += plain2
+DISTCLEANFILES += dist2
+MAINTAINERCLEANFILES += maint2
+END
+
+./configure
+cp config.status config.sav # Save for later.
+
+setup
+$MAKE mostlyclean
+test ! -f mostly
+test ! -f mostly2
+test -f plain
+test -f plain2
+test -f dist
+test -f dist2
+test -f maint
+test -f maint2
+
+setup
+$MAKE clean
+test ! -f mostly
+test ! -f mostly2
+test ! -f plain
+test ! -f plain2
+test -f dist
+test -f dist2
+test -f maint
+test -f maint2
+
+setup
+$MAKE distclean
+test ! -f mostly
+test ! -f mostly2
+test ! -f plain
+test ! -f plain2
+test ! -f dist
+test ! -f dist2
+test -f maint
+test -f maint2
+
+setup
+# The "make distclean" before has removed Makefile and config.status.
+mv config.sav config.status
+./config.status Makefile
+$MAKE maintainer-clean
+test ! -f mostly
+test ! -f mostly2
+test ! -f plain
+test ! -f plain2
+test ! -f dist
+test ! -f dist2
+test ! -f maint
+test ! -f maint2
+
+:
diff --git a/t/colneq.sh b/t/colneq.sh
deleted file mode 100644
index a0299ac91..000000000
--- a/t/colneq.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2015 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 that := definitions produce warnings, but otherwise work.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-ICONS := $(wildcard *.xbm)
-END
-
-$ACLOCAL
-AUTOMAKE_fails
-grep ':=.*not portable' stderr
-
-$AUTOMAKE -Wno-portability
-grep '^ICONS *:= *\$(wildcard \*\.xbm) *$' Makefile.in
-
-:
diff --git a/t/colon5.sh b/t/colon5.sh
index 9742dac54..02cc73d62 100644
--- a/t/colon5.sh
+++ b/t/colon5.sh
@@ -39,7 +39,7 @@ test-grep:
grep '=GrEp$(empty)Me_am=' Makefile
grep '=GrEp$(empty)Me_dep=' Makefile
test-distcommon:
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]Makefile.dep '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]Makefile.dep '
test-distdir: distdir
test -f $(distdir)/Makefile.dep
END
diff --git a/t/colon6.sh b/t/colon6.sh
index cd73fc3c9..ab7da9437 100644
--- a/t/colon6.sh
+++ b/t/colon6.sh
@@ -60,11 +60,6 @@ for vpath in : false; do
cd demo
$sleep
- # HP-UX make considers targets with exact time stamps as one of their
- # prerequisites out of date. Ensure Makefile is newer than config.status to
- # avoid triggering the am--refresh rule in the (here-nonexistent) toplevel
- # Makefile.
- touch Makefile
# version.good should depend on version.gin.
echo "Rebuilt (srcdir=$srcdir)" > ../$srcdir/demo/version.gin
@@ -87,9 +82,9 @@ for vpath in : false; do
# version.good should depend on version.gin.
rm -f version.good
- run_make -M -e FAIL version.good
+ run_make -E -e FAIL version.good
# Try to verify that we errored out for the right reason.
- $FGREP version.gin output
+ $FGREP version.gin stderr
cd .. # Back in top builddir.
cd $srcdir
diff --git a/t/colon7.sh b/t/colon7.sh
index 72a8f62b0..2282bf60a 100644
--- a/t/colon7.sh
+++ b/t/colon7.sh
@@ -33,10 +33,10 @@ mkdir subdir
: > Makefile.am
: > subdir/foo
cat > subdir/Makefile.am << 'END'
-# DIST_COMMON should contain 'foo', not 'subdir/foo'.
+# am.dist.common-files should contain 'foo', not 'subdir/foo'.
test:
- case '$(DIST_COMMON)' in *subdir/foo*) exit 1;; *) exit 0;; esac
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]foo '
+ case '$(am.dist.common-files)' in *subdir/foo*) exit 1;; *) exit 0;; esac
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]foo '
.PHONY: test
END
diff --git a/t/color-tests.sh b/t/color-tests.sh
index 0163a3106..67c80e0b1 100644
--- a/t/color-tests.sh
+++ b/t/color-tests.sh
@@ -88,36 +88,10 @@ test_color ()
test_no_color ()
{
- # With make implementations that, like Solaris make, in case of errors
- # print the whole failing recipe on standard output, we should content
- # ourselves with a laxer check, to avoid false positives.
- # Keep this in sync with lib/am/check.am:$(am__color_tests).
- if $FGREP '= Xalways; then' stdout; then
- # Extra verbose make, resort to laxer checks.
- # Note that we also want to check that the testsuite summary is
- # not unduly colorized.
- (
- set +e # In case some grepped regex below isn't matched.
- # Not a useless use of cat; see above comments "grep-nonprinting"
- # requirement in 'test-init.sh'.
- cat stdout | grep "TOTAL.*:"
- cat stdout | grep "PASS.*:"
- cat stdout | grep "FAIL.*:"
- cat stdout | grep "SKIP.*:"
- cat stdout | grep "XFAIL.*:"
- cat stdout | grep "XPASS.*:"
- cat stdout | grep "ERROR.*:"
- cat stdout | grep 'test.*expected'
- cat stdout | grep 'test.*not run'
- cat stdout | grep '===='
- cat stdout | grep '[Ss]ee .*test-suite\.log'
- cat stdout | grep '[Tt]estsuite summary'
- ) | grep "$esc" && exit 1
- : For shells with broken 'set -e'
- else
- cat stdout | grep "$esc" && exit 1
- : For shells with broken 'set -e'
- fi
+ # Not a useless use of cat; see above comments "grep-nonprinting"
+ # requirement in 'test-init.sh'.
+ cat stdout | grep "$esc" && exit 1
+ :
}
for vpath in false :; do
diff --git a/t/color-tests2.sh b/t/color-tests2.sh
index a1f25d2a3..37e0ae2eb 100644
--- a/t/color-tests2.sh
+++ b/t/color-tests2.sh
@@ -33,29 +33,6 @@ std="$esc\[m"
(set +e; expect -c 'exit 77'; test $? -eq 77) \
|| skip_ "requires a working expect program"
-# Also, if the $MAKE program fails to consider the standard output as a
-# tty (this happens with e.g., BSD make and Solaris dmake when they're
-# run in parallel mode; see the autoconf manual), there is little point
-# in proceeding.
-cat > Makefile <<'END'
-all:
-## Creative quoting in the 'echo' below to avoid risk of spurious output
-## matches by 'expect', below.
- @test -t 1 && echo "stdout" "is" "a" "tty"
-END
-
-cat > expect-check <<'END'
-eval spawn $env(MAKE)
-expect {
- "stdout is a tty" { exit 0 }
- default { exit 1 }
-}
-exit 1
-END
-MAKE=$MAKE expect -f expect-check \
- || skip_ "make spawned by expect should have a tty stdout"
-rm -f expect-check Makefile
-
# Do the tests.
cat >>configure.ac << 'END'
@@ -120,36 +97,10 @@ test_color ()
test_no_color ()
{
- # With make implementations that, like Solaris make, in case of errors
- # print the whole failing recipe on standard output, we should content
- # ourselves with a laxer check, to avoid false positives.
- # Keep this in sync with lib/am/check.am:$(am__color_tests).
- if $FGREP '= Xalways; then' stdout; then
- # Extra verbose make, resort to laxer checks.
- # Note that we also want to check that the testsuite summary is
- # not unduly colorized.
- (
- set +e # In case some grepped regex below isn't matched.
- # Not a useless use of cat; see above comments "grep-nonprinting"
- # requirement in 'test-init.sh'.
- cat stdout | grep "TOTAL.*:"
- cat stdout | grep "PASS.*:"
- cat stdout | grep "FAIL.*:"
- cat stdout | grep "SKIP.*:"
- cat stdout | grep "XFAIL.*:"
- cat stdout | grep "XPASS.*:"
- cat stdout | grep "ERROR.*:"
- cat stdout | grep 'test.*expected'
- cat stdout | grep 'test.*not run'
- cat stdout | grep '===='
- cat stdout | grep '[Ss]ee .*test-suite\.log'
- cat stdout | grep '[Tt]estsuite summary'
- ) | grep "$esc" && exit 1
- : For shells with broken 'set -e'
- else
- cat stdout | grep "$esc" && exit 1
- : For shells with broken 'set -e'
- fi
+ # Not a useless use of cat; see above comments "grep-nonprinting"
+ # requirement in 'test-init.sh'.
+ cat stdout | grep "$esc" && exit 1
+ :
}
our_make ()
@@ -160,7 +111,7 @@ our_make ()
}
cat >expect-make <<'END'
-eval spawn $env(MAKE) -e check
+eval spawn $env(MAKE) check
expect eof
END
@@ -182,7 +133,7 @@ for vpath in false :; do
our_make TERM=dumb
test_no_color
- our_make AM_COLOR_TESTS=no
+ our_make TERM=ansi MAKE="$MAKE AM_COLOR_TESTS=no"
test_no_color
$srcdir/configure testsuite_colorized=false
@@ -190,7 +141,7 @@ for vpath in false :; do
our_make TERM=ansi
test_no_color
- our_make TERM=ansi MAKE="env AM_COLOR_TESTS=always $MAKE"
+ our_make TERM=dumb MAKE="$MAKE AM_COLOR_TESTS=always"
test_color
$MAKE distclean
diff --git a/t/comment3.sh b/t/comment3.sh
deleted file mode 100644
index c36eefd93..000000000
--- a/t/comment3.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Make sure that '#' after a tab is a failure.
-# The Tru64 Unix V5.1 system make will pass these to the
-# shell, which in turn can't find '#' as a command.
-# Sigh. Some vendors must be destroyed.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-install-data-local:
- # Tru64 Unix must die
-END
-
-$ACLOCAL
-AUTOMAKE_fails
-grep 'Makefile.am:2:.*#' stderr
diff --git a/t/comment4.sh b/t/comment4.sh
index 998c881a1..440a9938d 100644
--- a/t/comment4.sh
+++ b/t/comment4.sh
@@ -31,11 +31,12 @@ EOF
$ACLOCAL
$AUTOMAKE
-# UnIqUe_COPYRIGHT_BOILERPLATE should appear near the top of the file.
-test $(sed -n -e '1,/UnIqUe_COPYRIGHT_BOILERPLATE/p' \
- Makefile.in | wc -l) -le 30
+# UnIqUe_COPYRIGHT_BOILERPLATE shouldn't appear just before the
+# definition of 'mumble'.
+test $(sed -n -e '/UnIqUe_COPYRIGHT_BOILERPLATE/,/UnIqUe_MUMBLE_VALUE/p' \
+ Makefile.in | wc -l) -gt 50
# UnIqUe_MUMBLE_COMMENT should appear right before the mumble declaration.
test $(sed -n -e '/UnIqUe_MUMBLE_COMMENT/,/UnIqUe_MUMBLE_VALUE/p' \
- Makefile.in | wc -l) -eq 2
+ Makefile.in | wc -l) -eq 2
:
diff --git a/t/comment5.sh b/t/comment5.sh
deleted file mode 100644
index af6df834f..000000000
--- a/t/comment5.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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 for PR/280.
-# (Automake should complain about trailing backslashes in comments.)
-
-. test-init.sh
-
-cat >> configure.ac <<'EOF'
-AC_OUTPUT
-EOF
-
-cat > Makefile.am << 'EOF'
-all-local:
- @echo ${var}
-
-# a comment with backslash \
-
-
-var = foo
-EOF
-
-$ACLOCAL
-AUTOMAKE_fails
-grep '^Makefile.am:5: error: blank line following trailing backslash' stderr
-
-
-## Here is a second test because head comments are
-## handled differently in Automake 1.5.
-
-cat > Makefile.am << 'EOF'
-# a comment with backslash \
-
-
-all-local:
- @echo ${var}
-
-var = foo
-EOF
-
-AUTOMAKE_fails
-grep '^Makefile.am:2: error: blank line following trailing backslash' stderr
-
-
-## Make sure we print an 'included' stack on errors.
-
-echo 'include Makefile.inc'> Makefile.am
-cat > Makefile.inc << 'EOF'
-# a comment with backslash \
-
-EOF
-
-AUTOMAKE_fails
-grep '^Makefile.inc:2: error: blank line following trailing backslash' stderr
-grep '^Makefile.am:1: .*included from here' stderr
-grep -v '^Makefile.am:1: .*error:' stderr
-
-
-## Make sure backslashes are still allowed within a comment.
-## This usually happens when commenting out a Makefile rule.
-
-cat > Makefile.am << 'EOF'
-all-local:
- @echo ${var}
-
-# a comment with backslash \
-# but terminated by a line without backslash
-
-var = foo
-EOF
-
-$AUTOMAKE
diff --git a/t/comment6.sh b/t/comment6.sh
index 15128e28b..999e4bea6 100644
--- a/t/comment6.sh
+++ b/t/comment6.sh
@@ -24,6 +24,8 @@ cat >> configure.ac <<'EOF'
AC_OUTPUT
EOF
+SOME_FILES=; unset SOME_FILES # Avoid spurious environment interference.
+
## There are two tests: one with backslashed comments at the top
## of the file, and one with a rule first. This is because
## Comments at the top of the file are handled specially
@@ -35,34 +37,41 @@ cat > Makefile.am << 'EOF'
file2 \
file3
-all-local:
- @echo Good
-
+.PHONY: test
+test:
+ test -z '$(SOME_FILES)'
EOF
+do_check ()
+{
+ $MAKE test
+ grep '^# SOME_FILES =' Makefile
+ # No useless munging please.
+ grep '#.*file[123]' Makefile && exit 1
+ :
+}
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
./configure
-$MAKE
-
-grep '# SOME_FILES' Makefile
-grep '# *file3' Makefile
+do_check
cat > Makefile.am << 'EOF'
-all-local:
- @echo Good
+test: test2
+.PHONY: test test2
# SOME_FILES = \
file1 \
file2 \
file3
+
+test:
+ test -z '$(SOME_FILES)'
EOF
$AUTOMAKE
-./configure
-$MAKE
-grep '# SOME_FILES' Makefile
-grep '# *file3' Makefile
+./config.status
+do_check
:
diff --git a/t/comment8.sh b/t/comment8.sh
index 10867c019..4375a4100 100644
--- a/t/comment8.sh
+++ b/t/comment8.sh
@@ -26,7 +26,7 @@ AC_OUTPUT
EOF
cat > Makefile.am << 'EOF'
-VAR = valA# comA ## com C
+VAR = valA # comA ## com C
VAR += valB # comB
if COND1
VAR += val1 # com1
@@ -35,10 +35,15 @@ VAR += valC
if COND2
VAR += val2 # com2
endif COND2
+VAR2 = # this will be happily ignored
+VAR2 += x
+VAR2 += # this will be happily ignored too
+VAR2 += y
.PHONY: test
test:
is $(VAR) == valA valB val1 valC val2
+ is $(VAR2) == x y
EOF
$ACLOCAL
diff --git a/t/cond30.sh b/t/cond30.sh
index 0cd93d8dc..3a213ccff 100644
--- a/t/cond30.sh
+++ b/t/cond30.sh
@@ -14,43 +14,68 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# For PR/352: make sure we support bin_PROGRAMS being defined conditionally.
+# For PR/352: make sure we support bin_PROGRAMS, lib_LIBRARIES and
+# lib_LTLIBRARIES being defined conditionally.
. test-init.sh
cat >>configure.ac <<'EOF'
-AM_CONDITIONAL([C1], [test -z "$two"])
-AM_CONDITIONAL([C2], [test -n "$two"])
+m4_define([AM_PROG_AR], [:])
+AM_PROG_AR
+AM_CONDITIONAL([C1], [test x"$two" != x"yes"])
+AM_CONDITIONAL([C2], [test x"$two" = x"yes"])
AC_OUTPUT
EOF
+# Avoid spurious interferences from the environment.
+unset undefined two || :
+
cat > Makefile.am <<'EOF'
AUTOMAKE_OPTIONS = no-dependencies
CC = false
+AR = false
+RANLIB = false
+LIBTOOL = false
EXEEXT = .foo
if C1
bin_PROGRAMS = a
+lib_LIBRARIES = liba.a
+lib_LTLIBRARIES = libxa.la
endif
if C2
bin_PROGRAMS = b $(undefined)
+lib_LIBRARIES = libb.a $(undefined)
+lib_LTLIBRARIES = libxb.la $(undefined)
endif
.PHONY: test-a test-b
test-a:
test a.foo = $(bin_PROGRAMS)
+ test liba.a = $(lib_LIBRARIES)
+ test libxa.la = $(lib_LTLIBRARIES)
test-b:
test b.foo = $(bin_PROGRAMS)
+ test libb.a = $(lib_LIBRARIES)
+ test libxb.la = $(lib_LTLIBRARIES)
EOF
+: > ltmain.sh
+
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
+
+$FGREP SOURCES Makefile.in # For debugging.
$FGREP 'a_SOURCES = a.c' Makefile.in
$FGREP 'b_SOURCES = b.c' Makefile.in
+$FGREP 'liba_a_SOURCES = liba.c' Makefile.in
+$FGREP 'libb_a_SOURCES = libb.c' Makefile.in
+$FGREP 'libxa_la_SOURCES = libxa.c' Makefile.in
+$FGREP 'libxb_la_SOURCES = libxb.c' Makefile.in
-./configure
+./configure two=no
$MAKE test-a
./configure two=yes
diff --git a/t/cond38.sh b/t/cond38.sh
index fb08f8292..25ac8041f 100644
--- a/t/cond38.sh
+++ b/t/cond38.sh
@@ -59,9 +59,6 @@ $AUTOCONF
$AUTOMAKE
./configure
-# Make sure no extra variable was created for the last 3 items.
-grep 'append.*=.* h iXYZ jZYX' Makefile
-# Check good ordering.
$MAKE test
:
diff --git a/t/condlib.sh b/t/condlib.sh
index 98db0814e..8c52489cb 100644
--- a/t/condlib.sh
+++ b/t/condlib.sh
@@ -21,7 +21,6 @@
cat >> configure.ac << 'END'
AC_PROG_RANLIB
-AM_MAINTAINER_MODE
AM_PROG_AR
AC_PROG_CC
END
diff --git a/t/condman3.sh b/t/condman3.sh
index 8041a619c..2acdd99ca 100644
--- a/t/condman3.sh
+++ b/t/condman3.sh
@@ -34,14 +34,14 @@ endif
.PHONY: test1 test2
test1:
- find $(mandir) ;: For debugging.
+ find $(mandir) # For debugging.
test -f $(mandir)/man1/foo.1
test -f $(mandir)/man4/6.4
test ! -f $(mandir)/man2/bar.2
test ! -f $(mandir)/man1/baz.1
test ! -f $(mandir)/man5/zap.5
test2:
- find $(mandir) ;: For debugging.
+ find $(mandir) # For debugging.
test -f $(mandir)/man2/bar.2
test -f $(mandir)/man1/baz.1
test -f $(mandir)/man5/zap.5
diff --git a/t/confdeps.sh b/t/confdeps.sh
index 86a345e00..faf928d17 100644
--- a/t/confdeps.sh
+++ b/t/confdeps.sh
@@ -24,7 +24,7 @@ $ACLOCAL
echo "$me: Generated by aclocal ..."
$AUTOMAKE
-grep '^\$(ACLOCAL_M4):' Makefile.in
+grep '^\$(am\.remake\.aclocal-m4):' Makefile.in
echo "$me: Not generated by aclocal ..."
# Pretend it is not from aclocal (remove the signature),
@@ -32,6 +32,6 @@ echo "$me: Not generated by aclocal ..."
sed -n '3,$p' aclocal.m4 >aclocal.m4t
mv -f aclocal.m4t aclocal.m4
$AUTOMAKE
-grep '^\$(ACLOCAL_M4):' Makefile.in && exit 1
+$FGREP '$(am.remake.aclocal-m4):' Makefile.in && exit 1
:
diff --git a/t/conffile-leading-dot.sh b/t/conffile-leading-dot.sh
index df3a3dd15..0cd2a2def 100644
--- a/t/conffile-leading-dot.sh
+++ b/t/conffile-leading-dot.sh
@@ -18,7 +18,6 @@
# with a dot (like "./Makefile"), since the remake rules might be subtly
# broken in that case.
-required=GNUmake
. test-init.sh
cat > configure.ac << END
diff --git a/t/confh-internals.sh b/t/confh-internals.sh
new file mode 100644
index 000000000..8214a65ae
--- /dev/null
+++ b/t/confh-internals.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+# Copyright (C) 2003-2014 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 internal make variable populated from AC_CONFIG_HEADERS calls.
+
+. test-init.sh
+
+cat >>configure.ac <<'EOF'
+AC_SUBST([BOT], [bot])
+AC_CONFIG_HEADERS([defs.h config.h:sub1/config.top:sub2/config.${BOT}],,
+ [BOT=$BOT])
+AC_CONFIG_HEADERS([sub0/CFG.h:sub0/CFG-H.in])
+AC_CONFIG_FILES([sub0/Makefile])
+AC_OUTPUT
+EOF
+
+mkdir sub0 sub1 sub2
+
+echo TOP > sub1/config.top
+echo BOT > sub2/config.bot
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub0
+.PHONY: test-vapth test-intree
+test-intree:
+ is $(am.config-hdr.local) == defs.h config.h
+ is $(am.config-hdr.local.in) == ./defs.h.in
+test-vpath:
+ is $(am.config-hdr.local) == defs.h config.h
+ is $(am.config-hdr.local.in) == ../defs.h.in
+END
+
+cat > sub0/Makefile.am << 'END'
+.PHONY: test-vapth test-intree
+test-intree:
+ is $(am.config-hdr.local) == CFG.h
+ is $(am.config-hdr.local.in) == ../sub0/CFG-H.in
+test-vpath:
+ is $(am.config-hdr.local) == CFG.h
+ is $(am.config-hdr.local.in) == ../../sub0/CFG-H.in
+END
+
+: > sub0/CFG-H.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOHEADER
+test -f defs.h.in
+$AUTOMAKE
+
+./configure
+$MAKE test-intree
+$MAKE distclean
+mkdir build
+cd build
+../configure
+$MAKE test-vpath
+$MAKE distcleancheck
+
+:
diff --git a/t/confh.sh b/t/confh.sh
index 85d21d4c3..66eb16f40 100644
--- a/t/confh.sh
+++ b/t/confh.sh
@@ -27,17 +27,16 @@ END
cat > Makefile.am << 'END'
.PHONY: test1 test2
test1:
- @echo DIST_COMMON = $(DIST_COMMON)
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]acconfig\.h '
+ @echo am.dist.common-files = $(am.dist.common-files)
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]include/config\.h\.in '
test2: distdir
ls -l $(distdir)/*
- test -f $(distdir)/acconfig.h
+ test -f $(distdir)/include/config.h.in
check-local: test1 test2
END
mkdir include
: > include/config.h.in
-: > acconfig.h
# The test used to fail if 'include/Makefile.am' was created (!)
: > include/Makefile.am
diff --git a/t/confh4.sh b/t/confh4.sh
index dc1a1d50c..6c7449a7e 100644
--- a/t/confh4.sh
+++ b/t/confh4.sh
@@ -21,27 +21,60 @@
# > How-To-Repeat:
# Use AM_CONFIG_HEADER(subdir/config.h) to place configuration
# header in subdirectory and observe that it is not included.
+# Also check that our preprocessing code is smart enough not to pass
+# repeated '-I<DIR>' options on the compiler command line.
. test-init.sh
cat >> configure.ac << 'END'
-AC_CONFIG_FILES([include/Makefile])
+AC_CONFIG_FILES([include/Makefile sub/Makefile])
AC_CONFIG_HEADERS([include/config.h])
-AC_PROG_CC
+AC_PROG_FGREP
+AC_OUTPUT
END
-cat > Makefile.am << 'END'
+mkdir include sub
+: > include/config.h.in
+
+cat > c-defs.am << 'END'
+## To bring in the definition of AM_DEFAULT_INCLUDES
+CC = who-cares
+AUTOMAKE_OPTIONS = no-dependencies
bin_PROGRAMS = foo
-foo_SOURCES = foo.c
END
-mkdir include
-: > include/Makefile.am
-: > include/config.h.in
+cat > Makefile.am << 'END'
+include $(top_srcdir)/c-defs.am
+.PHONY: test-default-includes
+test-default-includes:
+ echo ' ' $(AM_DEFAULT_INCLUDES) ' ' \
+ | $(FGREP) ' -I$(top_builddir)/include '
+END
+
+cp Makefile.am sub
+
+cat > include/Makefile.am << 'END'
+include $(top_srcdir)/c-defs.am
+.PHONY: test-default-includes
+test-default-includes:
+ echo ' ' $(AM_DEFAULT_INCLUDES) ' ' | $(FGREP) ' -I. '
+ case ' $(AM_DEFAULT_INCLUDES) ' in \
+ *'$(top_builddir)'*) exit 1;; \
+ *include*) exit 1;; \
+ *-I.*-I.*) exit 1;; \
+ *' -I. ') exit 0;; \
+ *) exit 1;; \
+ esac
+END
$ACLOCAL
+$AUTOCONF
$AUTOMAKE
-grep '^ *DEFAULT_INCLUDES *=.* -I\$(top_builddir)/include' Makefile.in
+./configure
+
+$MAKE test-default-includes
+$MAKE -C sub test-default-includes
+$MAKE -C include test-default-includes
:
diff --git a/t/confh8.sh b/t/confh8.sh
index da997099f..dc7a6fc30 100644
--- a/t/confh8.sh
+++ b/t/confh8.sh
@@ -27,11 +27,11 @@ END
cat > Makefile.am << 'END'
.PHONY: test0 test1 test2
test0:
- @echo DIST_COMMON = $(DIST_COMMON)
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]one\.h\.in '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]two\.h\.in '
- : Processed header files should not be distributed.
- if echo ' ' $(DIST_COMMON) ' ' | grep '\.h '; then \
+ @echo am.dist.common-files = $(am.dist.common-files)
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]one\.h\.in '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]two\.h\.in '
+ # Processed header files should not be distributed.
+ if echo ' ' $(am.dist.common-files) ' ' | grep '\.h '; then \
exit 1; \
else \
exit 0; \
@@ -43,7 +43,7 @@ test2: distdir
ls -l $(distdir)/*
test -f $(distdir)/one.h.in
test -f $(distdir)/two.h.in
- : Processed header files should not be distributed.
+ # Processed header files should not be distributed.
test ! -r $(distdir)/one.h
test ! -r $(distdir)/two.h
check-local: test0 test1 test2
diff --git a/t/conflnk2.sh b/t/conflnk2.sh
index f376573ae..451ab80be 100644
--- a/t/conflnk2.sh
+++ b/t/conflnk2.sh
@@ -19,18 +19,7 @@
. test-init.sh
-cat > Makefile.am << 'END'
-SUBDIRS = sdir
-.PHONY: test
-test: distdir
- test -f $(distdir)/src
- test -f $(distdir)/src2
- test -f $(distdir)/sdir/src3
- test -f $(distdir)/sdir-no-make/src4
- test 2 -gt `find $(distdir)/sdir -type d | wc -l`
- test 2 -gt `find $(distdir)/sdir-no-make -type d | wc -l`
- test 4 -gt `find $(distdir) -type d | wc -l`
-END
+echo SUBDIRS = sdir > Makefile.am
: > src
: > src2
@@ -52,6 +41,24 @@ $ACLOCAL
$AUTOMAKE
$AUTOCONF
./configure
-$MAKE test
+$MAKE distdir
+
+find $distdir # For debugging.
+
+rm -rf $distdir/am-ng
+
+test -f $distdir/src
+test -f $distdir/src2
+test -f $distdir/sdir/src3
+test -f $distdir/sdir-no-make/src4
+
+count_distributed_dirs ()
+{
+ find $distdir${1+"/$1"} -type d | wc -l
+}
+
+test 2 -gt $(count_distributed_dirs 'sdir')
+test 2 -gt $(count_distributed_dirs 'sdir-no-make')
+test 4 -gt $(count_distributed_dirs)
:
diff --git a/t/cscope.tap b/t/cscope.tap
index 6886f0831..c742cf140 100644
--- a/t/cscope.tap
+++ b/t/cscope.tap
@@ -135,29 +135,21 @@ my_configure ()
"$1"/configure EMACS=no --with-lispdir=/who/cares
}
-if using_gmake; then
-
- cd "$ocwd"
- pfx="relative VPATH"
- mkdir build
- cd build
- my_configure ..
- test_cscope
- test_cleanup
-
- cd "$ocwd"
- pfx="absolute VPATH"
- mkdir build2
- cd build2
- my_configure "$ocwd"
- test_cscope
- test_cleanup
-
-else
-
- skip_row_ 12 -r "cscope in VPATH requires GNU make"
+cd "$ocwd"
+pfx="relative VPATH"
+mkdir build
+cd build
+my_configure ..
+test_cscope
+test_cleanup
-fi
+cd "$ocwd"
+pfx="absolute VPATH"
+mkdir build2
+cd build2
+my_configure "$ocwd"
+test_cscope
+test_cleanup
cd "$ocwd"
pfx="in-tree build"
diff --git a/t/ctags.sh b/t/ctags.sh
new file mode 100644
index 000000000..342748f62
--- /dev/null
+++ b/t/ctags.sh
@@ -0,0 +1,111 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 vi-style tags.
+
+required=${CTAGS:=ctags}
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_SUBST([CC], [false])
+AM_CONDITIONAL([COND_FALSE], [false])
+AC_CONFIG_FILES([sub1/Makefile
+ sub3/Makefile
+ sub2/Makefile
+ sub2/subsub/Makefile])
+AC_OUTPUT
+END
+
+mkdir sub1 sub2 sub3 sub2/subsub
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub1 sub2 sub3
+test-ctags: ctags
+ test ! -f tags
+ cat sub1/tags
+ cat sub2/tags
+ cat sub2/subsub/tags
+ test ! -f sub3/tags
+ grep 'iguana\.c' sub1/tags
+ grep 'zap_zap' sub1/tags
+ grep 'main' sub1/tags
+ grep 'choke_me' sub1/tags && exit 1; :
+ grep 'subsub/foo\.h' sub2/tags
+ grep 'IsBigger' sub2/tags
+ grep 'bar\.f77' sub2/subsub/tags
+ grep 'foo\.cxx' sub2/subsub/tags
+ grep 'foo\.h' sub2/subsub/tags && exit 1; :
+check-local: test-ctags
+END
+
+cat > sub1/Makefile.am << 'END'
+if COND_FALSE
+bin_PROGRAMS = iguana
+endif
+END
+
+cat > sub1/iguana.c <<'END'
+int main (void) { return zap_zap (0); }
+
+int
+zap_zap (int x)
+{
+ return x + choke_me ();
+}
+END
+
+cat > sub2/Makefile.am << 'END'
+SUBDIRS = subsub .
+noinst_HEADERS = subsub/foo.h
+subsub/foo.h:
+ # Use and inlined function, not a #define, for the sake of
+ # Emacs and XEmacs ctags (at least up to version 23).
+ echo 'inline int IsBigger (int a, int b) { return (a > b); }' >$@
+CLEANFILES = $(noinst_HEADERS)
+END
+
+cat > sub2/subsub/Makefile.am << 'END'
+TAGS_FILES =
+EXTRA_DIST = bar.f77
+TAGS_FILES += bar.f77
+nodist_noinst_DATA = foo.cxx
+TAGS_FILES += foo.cxx
+CLEANFILES = foo.cxx
+foo.cxx:
+ echo "int cxx_func (void) { return 0; }" >$@
+END
+
+cat > sub2/subsub/bar.f77 << 'END'
+ subroutine foobarbaz
+ return
+ end
+END
+
+# No files to tag here, deliberately.
+: > sub3/Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -i
+
+./configure
+$MAKE test-ctags CTAGS="$CTAGS"
+$MAKE distcheck CTAGS="$CTAGS"
+
+$MAKE distclean
+find . -name tags | grep . && exit 1
+
+:
diff --git a/t/cxx-fortran.sh b/t/cxx-fortran.sh
new file mode 100644
index 000000000..0e734497c
--- /dev/null
+++ b/t/cxx-fortran.sh
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2006-2014 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 mixing Fortran 77 and C++.
+
+# For now, require the GNU compilers, to avoid possible spurious failure.
+required='gfortran g++'
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AC_PROG_F77
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = foo
+foo_SOURCES = new.cc old.f
+END
+
+cat > new.cc << 'END'
+#include <iostream>
+using namespace std;
+extern "C" { int cube_ (int *); }
+int main (void)
+{
+ int n = 3;
+ cout << "The Cube of " << n << " is " << cube_ (&n) << endl;
+ return 0;
+}
+END
+
+cat > old.f << 'END'
+ INTEGER FUNCTION CUBE(N)
+C COMPUTES AND RETURN THE CUBE OF THE INTEGER N
+ CUBE=N*N*N
+ RETURN
+ END
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+# The C++ linker should be preferred.
+grep '\$(FCLINK)' Makefile.in && exit 1
+grep '.\$(CXXLINK)' Makefile.in
+
+./configure
+$MAKE
+
+if cross_compiling; then :; else
+ ./foo
+ test "$(./foo)" = "The Cube of 3 is 27"
+fi
+
+$MAKE distcheck
diff --git a/t/cxx-lt-demo.sh b/t/cxx-lt-demo.sh
index 9817ecbba..54ff54d06 100644
--- a/t/cxx-lt-demo.sh
+++ b/t/cxx-lt-demo.sh
@@ -123,7 +123,7 @@ std::string target (void)
END
./configure
-run_make CC=false
+$MAKE CC=false
ls -l . src lib # For debugging.
$MAKE test-objs
VERBOSE=yes $MAKE check-TESTS
diff --git a/t/cxx.sh b/t/cxx.sh
deleted file mode 100644
index 12ed6ddf6..000000000
--- a/t/cxx.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 that '.c++' extension works.
-# From Ralf Corsepius.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-END
-
-cat > Makefile.am << 'END'
-bin_PROGRAMS = hello
-hello_SOURCES = hello.c++
-END
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^\.SUFFIXES:.*c[+][+]' Makefile.in
diff --git a/t/cxxnoc.sh b/t/cxxnoc.sh
deleted file mode 100644
index 14dfb92f7..000000000
--- a/t/cxxnoc.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2015 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 pure C++ sources don't include C-specific code.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-END
-
-cat > Makefile.am << 'END'
-sbin_PROGRAMS = anonymous
-anonymous_SOURCES = doe.C jane.C
-END
-
-: > doe.C
-: > jane.C
-
-$ACLOCAL
-$AUTOMAKE
-
-$FGREP '(CC)' Makefile.in && exit 1
-exit 0
diff --git a/t/dejagnu.sh b/t/dejagnu.sh
deleted file mode 100644
index 4e82f6d6b..000000000
--- a/t/dejagnu.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2015 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/>.
-
-# Superficial test to check that dejagnu tests and automake-style
-# tests can coexist. See also related deeper test 'check12.sh'.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = dejagnu
-TESTS = frob.test
-END
-
-test x"$am_serial_tests" = x"yes" || : > test-driver
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^check-TESTS' Makefile.in
-grep '^check-DEJAGNU' Makefile.in
-
-:
diff --git a/t/dejagnu2.sh b/t/dejagnu2.sh
index 28849a3f5..2a2c9211e 100644
--- a/t/dejagnu2.sh
+++ b/t/dejagnu2.sh
@@ -31,16 +31,10 @@ END
$ACLOCAL
$AUTOCONF
-$AUTOMAKE -Wno-override
-
-grep 'site\.exp' Makefile.in
-test $(grep -c '^site\.exp:' Makefile.in) -eq 1
+$AUTOMAKE
./configure
$MAKE site.exp
grep ':GREP:ME:' site.exp
-AUTOMAKE_fails
-grep '^Makefile\.am:3:.*site\.exp' stderr
-
:
diff --git a/t/deleted-am.sh b/t/deleted-am.sh
index 51f4218bd..c4a0691c7 100644
--- a/t/deleted-am.sh
+++ b/t/deleted-am.sh
@@ -35,12 +35,11 @@ $AUTOMAKE
$MAKE
rm -f zardoz.am
-using_gmake || $sleep # Required by BSD make.
-run_make -e FAIL -M
+run_make -e FAIL -E
# This error will come from automake, not make, so we can be stricter
# in our grepping of it.
-grep 'cannot open.*zardoz\.am' output
-grep 'foobar\.am' output && exit 1 # No spurious error, please.
+grep 'cannot open.*zardoz\.am' stderr
+grep 'foobar\.am' stderr && exit 1 # No spurious error, please.
# Try with one less indirection.
: > foobar.am
@@ -48,10 +47,9 @@ $AUTOMAKE Makefile
./config.status Makefile
$MAKE # Sanity check.
rm -f foobar.am
-using_gmake || $sleep # Required by BSD make.
-run_make -e FAIL -M
+run_make -e FAIL -E
# This error will come from automake, not make, so we can be stricter
# in our grepping of it.
-grep 'cannot open.*foobar\.am' output
+grep 'cannot open.*foobar\.am' stderr
:
diff --git a/t/deleted-m4.sh b/t/deleted-m4.sh
index 8d33982f6..287d40678 100644
--- a/t/deleted-m4.sh
+++ b/t/deleted-m4.sh
@@ -39,12 +39,12 @@ $AUTOMAKE
$MAKE
rm -f zardoz.m4
-run_make -e FAIL -M
+run_make -e FAIL -E
# This error will come from aclocal, not make, so we can be stricter
# in our grepping of it.
-grep ' foobar\.m4:1:.*zardoz\.m4.*does not exist' output
+grep ' foobar\.m4:1:.*zardoz\.m4.*does not exist' stderr
# No spurious errors, please.
-$FGREP -v ' foobar.m4:1:' output | $FGREP 'foobar.m4' && exit 1
+$FGREP -v ' foobar.m4:1:' stderr | $FGREP 'foobar.m4' && exit 1
# Try with one less indirection.
: > foobar.m4
@@ -53,11 +53,11 @@ $AUTOCONF
./configure
$MAKE # Sanity check.
rm -f foobar.m4
-run_make -e FAIL -M
+run_make -e FAIL -E
# This error will come from aclocal, not make, so we can be stricter
# in our grepping of it.
-grep 'foobar\.m4.*does not exist' output
+grep 'foobar\.m4.*does not exist' stderr
# No spurious errors, please (ok, this is really paranoid).
-$FGREP 'zardoz.m4' output && exit 1
+$FGREP 'zardoz.m4' stderr && exit 1
:
diff --git a/t/depcomp-implicit-auxdir.sh b/t/depcomp-implicit-auxdir.sh
index 8b628f609..63415cb94 100644
--- a/t/depcomp-implicit-auxdir.sh
+++ b/t/depcomp-implicit-auxdir.sh
@@ -48,7 +48,7 @@ libfoo_a_SOURCES = foo.c
END
cat > lib/foo.c << 'END'
-int foo () {}
+int foo (void) { return 0; }
END
cat > src/Makefile.am << 'END'
@@ -60,11 +60,4 @@ END
$ACLOCAL
$AUTOMAKE --gnu
-# Make sure that depcomp is *not* included in the definition
-# of DIST_COMMON in lib/Makefile.in. If you change this test
-# so that more files are included in lib's DIST_COMMON definition,
-# then you must handle the case in which depcomp is listed on a
-# continued line.
-grep '^DIST_COMMON.*depcomp' lib/Makefile.in && exit 1
-
:
diff --git a/t/depcomp-recover.sh b/t/depcomp-recover.sh
new file mode 100644
index 000000000..a48d93def
--- /dev/null
+++ b/t/depcomp-recover.sh
@@ -0,0 +1,110 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Dependency tracking:
+# - we can recover if any .Po file in $(DEPDIR) gets removed;
+# - in fact, we can recover if the whole $(DEPDIR) directory gets
+# removed.
+
+required=cc
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_PROG_CC
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+SUBDIRS = . sub
+noinst_PROGRAMS = foo
+foo_SOURCES = main.c foo.c foo.h
+get-depdir:
+ @echo '$(DEPDIR)'
+END
+
+cat > main.c <<'END'
+#include "foo.h"
+int main (void)
+{
+ return foo ();
+}
+END
+cat > foo.c <<'END'
+#include "foo.h"
+int foo (void)
+{
+ return 0;
+}
+END
+echo 'int foo (void);' > foo.h
+
+mkdir sub sub/src
+cat > sub/Makefile.am <<'END'
+noinst_PROGRAMS = foo
+foo_SOURCES = src/main.c src/foo.c src/foo.h
+END
+cp main.c foo.c foo.h sub/src
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+for vpath in : false; do
+
+ if $vpath; then
+ srcdir=..
+ mkdir build
+ cd build
+ else
+ srcdir=.
+ fi
+
+ $srcdir/configure --enable-dependency-tracking
+ $MAKE
+ depdir=$($MAKE -s --no-print-directory get-depdir) \
+ && test -n "$depdir" \
+ && test -d $depdir \
+ && test -d sub/src/$depdir \
+ || fatal_ "cannot find the depdir"
+
+ for remove_stuff in \
+ "rm -f $depdir/main.Po" \
+ "rm -f sub/src/$depdir/foo.Po" \
+ "rm -rf $depdir" \
+ "rm -rf $depdir sub/src/$depdir" \
+ ; do
+ $remove_stuff
+ # We can still use make and order a build, even if we have probably
+ # lost the dependency information registered in removed the .Po files.
+ # TODO: maybe we should detect such a situation and force a clean
+ # TODO: rebuild?
+ $MAKE
+ # But if we force a rebuild by hand by cleaning out the existing
+ # objects, everything works out as expected.
+ $MAKE clean
+ $MAKE
+ test -f $depdir/main.Po
+ test -f $depdir/foo.Po
+ test -f sub/src/$depdir/main.Po
+ test -f sub/src/$depdir/foo.Po
+ done
+
+ cd $srcdir
+
+done
+
+:
diff --git a/t/clean.sh b/t/depcomp-shuffle-sub-vpath.sh
index d2eded2d8..3ff1f3681 100644
--- a/t/clean.sh
+++ b/t/depcomp-shuffle-sub-vpath.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,13 +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/>.
-# Test to make sure a clean target depends on previous one.
+# Dependency tracking in the face of added/removed/renamed files.
+# - VPATH build
+# - use of subdir objects
-. test-init.sh
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^clean-am:.*mostlyclean-am' Makefile.in
+. test-lib.sh
+xdir='sub' vpath='yes'
+. depcomp-shuffle.sh
diff --git a/t/instexec.sh b/t/depcomp-shuffle-sub.sh
index d64a5613a..9898a7892 100644
--- a/t/instexec.sh
+++ b/t/depcomp-shuffle-sub.sh
@@ -1,5 +1,5 @@
-#!/bin/sh
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+#! /bin/sh
+# Copyright (C) 2012-2014 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,14 +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/>.
-# Test for this bug: when a Makefile.am builds nothing, no
-# install-exec target is generated.
+# Dependency tracking in the face of added/removed/renamed files.
+# - in-tree build
+# - use of subdir objects
-. test-init.sh
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^install-exec:' Makefile.in
+. test-lib.sh
+xdir='sub' vpath='no'
+. depcomp-shuffle.sh
diff --git a/t/depcomp-shuffle-vpath.sh b/t/depcomp-shuffle-vpath.sh
new file mode 100644
index 000000000..ce5d8407d
--- /dev/null
+++ b/t/depcomp-shuffle-vpath.sh
@@ -0,0 +1,22 @@
+# Copyright (C) 2012-2014 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/>.
+
+# Dependency tracking in the face of added/removed/renamed files.
+# - VPATH build
+# - no use of subdir objects
+
+. test-lib.sh
+xdir='' vpath='yes'
+. depcomp-shuffle.sh
diff --git a/t/commen10.sh b/t/depcomp-shuffle.sh
index 948749110..7bfd65580 100644
--- a/t/commen10.sh
+++ b/t/depcomp-shuffle.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,19 +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/>.
-# Make sure comments following trailing backslashes are diagnosed.
-# Report from Harald Dunkel.
+# Dependency tracking in the face of added/removed/renamed files.
+# - in-tree build
+# - no use of subdir objects
-. test-init.sh
-
-cat > Makefile.am << 'END'
-SUBDIRS = foo \
-# bar
-
-END
-
-mkdir foo
-
-$ACLOCAL
-AUTOMAKE_fails
-grep backslash stderr
+. test-lib.sh
+xdir='' vpath='no'
+. depcomp-shuffle.sh
diff --git a/t/depcomp8a.sh b/t/depcomp8a.sh
index cf263a560..c9d49107f 100644
--- a/t/depcomp8a.sh
+++ b/t/depcomp8a.sh
@@ -53,6 +53,7 @@ $ACLOCAL
$AUTOMAKE -a -Wno-unsupported
grep include Makefile.in # For debugging.
grep 'include.*\./\$(DEPDIR)/foo\.P' Makefile.in
+
LC_ALL=C grep 'include.*[^a-zA-Z0-9_/]sub/\$(DEPDIR)/bar\.P' Makefile.in
$EGREP 'include.*/(\.|sub)/\$\(DEPDIR\)' Makefile.in && exit 1
diff --git a/t/depcomp8b.sh b/t/depcomp8b.sh
index a7dd2bf2e..25a945ada 100644
--- a/t/depcomp8b.sh
+++ b/t/depcomp8b.sh
@@ -39,10 +39,11 @@ echo 'int foo (void) { return 0; }' > foo.c
echo 'int bar (void) { return 0; }' > sub/bar.c
libtoolize
-
$ACLOCAL
$AUTOMAKE -a
+
grep include Makefile.in # For debugging.
+LC_ALL=C grep 'include.*\./\$(DEPDIR)/foo\.P' Makefile.in
LC_ALL=C grep 'include.*[^a-zA-Z0-9_/]sub/\$(DEPDIR)/bar\.P' Makefile.in
$EGREP 'include.*/(\.|sub)/\$\(DEPDIR\)' Makefile.in && exit 1
diff --git a/t/depdist.sh b/t/depdist.sh
index 680d8dbf9..7d1b20b17 100644
--- a/t/depdist.sh
+++ b/t/depdist.sh
@@ -43,7 +43,7 @@ SUBDIRS = subdir
check-local: test1 test2
.PHONY: test1 test2
test1:
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]config/depcomp '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]config/depcomp '
test2: distdir
ls -l $(distdir)/*
test -f $(distdir)/config/depcomp
diff --git a/t/depend.sh b/t/depend.sh
index f8844d59a..097568b05 100644
--- a/t/depend.sh
+++ b/t/depend.sh
@@ -31,6 +31,6 @@ END
$ACLOCAL
$AUTOMAKE
-test 1 -eq $(grep -c '^@AMDEP_TRUE@@am__include@' Makefile.in)
+test 1 -eq $(grep -c '^@AMDEP_TRUE@-include' Makefile.in)
:
diff --git a/t/depend4.sh b/t/depend4.sh
index 00dba8310..7f5c892f8 100644
--- a/t/depend4.sh
+++ b/t/depend4.sh
@@ -30,7 +30,7 @@ for header in one.h two.h three.h four.h five.h six.h; do
fred_SOURCES = fred1.c $headers
END
$AUTOMAKE
- test 1 -eq $(grep -c '^@AMDEP_TRUE@@am__include@' Makefile.in)
+ test 1 -eq $(grep -c '^@AMDEP_TRUE@-include' Makefile.in)
done
:
diff --git a/t/depend5.sh b/t/depend5.sh
deleted file mode 100644
index 5f4deb3b9..000000000
--- a/t/depend5.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2008-2015 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 _AM_OUTPUT_DEPENDENCY_COMMANDS works with eval-style
-# quoting in $CONFIG_FILES, done by newer Autoconf.
-
-required=cc
-. test-init.sh
-
-cat >>configure.ac << END
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat > Makefile.am << END
-bin_PROGRAMS = foo
-foo_SOURCES = foo.c foo.h
-END
-
-cat >foo.c << END
-#include "foo.h"
-END
-: >foo.h
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-./configure --enable-dependency-tracking
-if test -d .deps; then
- depdir=.deps
-elif test -d _deps; then
- depdir=_deps
-else
- depdir=
-fi
-
-# 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"' \
- 'weird name with $ `#() characters"' \
- 'weird name with characters'
-do
- cp Makefile.in "$name.in" && break || :
-done
-
-for arg in Makefile \
- --file=Makefile \
- "--file=$name"
-do
- rm -rf .deps _deps
- ./config.status "$arg" depfiles >stdout 2>stderr ||
- { cat stdout; cat stderr >&2; exit 1; }
- cat stdout
- cat stderr >&2
- grep '[Nn]o such file' stderr && exit 1
-
- if test -n "$depdir"; then
- test -d $depdir || exit 1
- fi
-done
-
-:
diff --git a/t/dir-named-obj-is-bad.sh b/t/dir-named-obj-is-bad.sh
deleted file mode 100644
index 7eb1a20c5..000000000
--- a/t/dir-named-obj-is-bad.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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/>.
-
-# Naming a subdirectory 'obj/' is a bad idea. Automake should say so.
-
-. test-init.sh
-
-mkdir obj
-
-cat >>configure.ac << 'END'
-AC_CONFIG_FILES([obj/Makefile])
-AC_OUTPUT
-END
-
-: > obj/Makefile.am
-echo 'SUBDIRS = obj' > Makefile.am
-
-$ACLOCAL
-
-AUTOMAKE_fails
-grep "^Makefile\.am:1:.*'obj'.*BSD make" stderr
-
-cat >Makefile.am <<'END'
-SUBDIRS = @STH@
-FOO = obj
-DIST_SUBDIRS = $(FOO)
-END
-
-AUTOMAKE_fails
-grep "^Makefile\\.am:2:.*'obj'.*BSD make" stderr
-
-rm -rf autom4te*.cache
-
-cat >configure.ac << 'END'
-AC_INIT([x], [1.0])
-AC_CONFIG_AUX_DIR([obj])
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([Makefile])
-END
-
-rm -f obj/Makefile.am
-: > Makefile.am
-
-$ACLOCAL
-AUTOMAKE_fails -a
-grep "^configure\.ac:2:.*'obj'.*BSD make" stderr
-
-:
diff --git a/t/dist-auxfile-2.sh b/t/dist-auxfile-2.sh
index 599fc8450..445c48513 100644
--- a/t/dist-auxfile-2.sh
+++ b/t/dist-auxfile-2.sh
@@ -34,7 +34,7 @@ END
cat > Makefile.am <<'END'
SUBDIRS = sub
test: distdir
- ls -l $(distdir) $(distdir)/* ;: For debugging.
+ ls -l $(distdir) $(distdir)/* # For debugging.
test -f $(distdir)/sub/zardoz
.PHONY: test
check-local: test
diff --git a/t/dist-auxfile.sh b/t/dist-auxfile.sh
index 6b54fcd59..1d158b3fb 100644
--- a/t/dist-auxfile.sh
+++ b/t/dist-auxfile.sh
@@ -46,11 +46,11 @@ END
unindent >> Makefile.am <<'END'
SUBDIRS = subdir
test: distdir
- ls -l $(distdir) $(distdir)/* ;: For debugging.
- @echo DIST_COMMON = $(DIST_COMMON) ;: Likewise.
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)foo.txt '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)bar.sh '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)zardoz '
+ ls -l $(distdir) $(distdir)/* # For debugging.
+ @echo am.dist.common-files = $(am.dist.common-files) # Likewise.
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]$(auxdir)foo.txt '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]$(auxdir)bar.sh '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]$(auxdir)zardoz '
test -f $(distdir)/$(auxdir)foo.txt
test -f $(distdir)/$(auxdir)bar.sh
test -f $(distdir)/$(auxdir)zardoz
diff --git a/t/dist-formats.tap b/t/dist-formats.tap
index c5bb22f44..b3c7af72e 100644
--- a/t/dist-formats.tap
+++ b/t/dist-formats.tap
@@ -17,53 +17,52 @@
# Check support for different compression formats used by distribution
# archives.
-am_create_testdir=empty
. test-init.sh
-plan_ 66
+plan_ 18
-# ---------------------------------------------------- #
-# Common and/or auxiliary subroutines and variables. #
-# ---------------------------------------------------- #
-
-ocwd=$(pwd) || fatal_ "getting current working directory"
+# -------------------------------------- #
+# Auxiliary subroutines and variables. #
+# -------------------------------------- #
unset TAR
-# Create common aclocal.m4 file, for later tests.
-mkdir setup \
- && cd setup \
- && echo 'AC_INIT([x], [0]) AM_INIT_AUTOMAKE' > configure.ac \
- && $ACLOCAL \
- && mv aclocal.m4 .. \
- && cd .. \
- && rm -rf setup \
- || fatal_ "creating common aclocal.m4 file"
-
-# Some make implementations (e.g., HP-UX) don't grok '-j', some require
-# no space between '-j' and the number of jobs (e.g., older GNU make
-# versions), and some *do* require a space between '-j' and the number
-# of jobs (e.g., Solaris dmake). We need a runtime test to see what
-# works.
-for MAKE_j4 in "$MAKE -j4" "$MAKE -j 4" false; do
- echo all: | $MAKE_j4 -f - && break
- : For shells with buggy 'set -e'.
-done
-
# Set variables '$compressor' and '$suffix'.
setup_vars_for_compression_format ()
{
- suffix=NONE compressor=NONE
+ suffix=NONE
case $1 in
- gzip) suffix=tar.gz compressor=gzip ;;
- lzip) suffix=tar.lz compressor=lzip ;;
- xz) suffix=tar.xz compressor=xz ;;
- bzip2) suffix=tar.bz2 compressor=bzip2 ;;
- zip) suffix=zip compressor=zip ;;
+ gzip) suffix=tar.gz ;;
+ lzip) suffix=tar.lz ;;
+ xz) suffix=tar.xz ;;
+ bzip2) suffix=tar.bz2 ;;
+ zip) suffix=zip ;;
*) fatal_ "invalid compression format '$1'";;
esac
+ compressor=$1
+}
+
+check_tarball ()
+{
+ format=$1
+ (
+ setup_vars_for_compression_format $format \
+ && tarball=$distdir.$suffix \
+ && test -f $tarball \
+ && mkdir check-$format \
+ && cp $tarball check-$format \
+ && cd check-$format \
+ && $compressor -d $tarball \
+ && tar xvf $distdir.tar \
+ && diff ../Makefile.in $distdir/Makefile.in \
+ && diff ../aclocal.m4 $distdir/aclocal.m4 \
+ && diff ../configure $distdir/configure \
+ && cd .. \
+ && rm -rf check-$format
+ )
}
+
have_compressor ()
{
test $# -eq 1 || fatal_ "have_compressor(): bad usage"
@@ -127,185 +126,48 @@ have_all_compressors ()
test -z "$missing_compressors"
}
-start_subtest ()
+clean_dist ()
{
- name=$1; shift
- test -n "$name" || fatal_ "start_subtest: no subtest name given"
- if test $# -gt 0; then
- eval "$@" || fatal_ "start_subtest: evaluating assignments"
- fi
- ac_opts=$(echo $ac_opts | tr ',' ' ')
- am_opts=$(echo $am_opts | tr ',' ' ')
- mkdir "$name"
- cd "$name"
- unindent > configure.ac <<END
- AC_INIT([$name], [1.0])
- AM_INIT_AUTOMAKE([$ac_opts])
- AC_CONFIG_FILES([Makefile])
- AC_OUTPUT
-END
- echo "AUTOMAKE_OPTIONS = $am_opts" > Makefile.am
- # It is imperative that aclocal.m4 is copied after configure.ac has
- # been created, to avoid a spurious trigger of the automatic remake
- # rules for configure & co.
- cp "$ocwd"/aclocal.m4 \
- "$am_scriptdir"/missing \
- "$am_scriptdir"/install-sh \
- .
+ rm -rf *$distdir*
}
-end_subtest ()
-{
- unset name; unset ac_opts; unset am_opts;
- cd "$ocwd" || fatal_ "couldn't chdir back to '$ocwd'"
-}
+# ------------------------- #
+# Setup and basic checks. #
+# ------------------------- #
-command_ok_if_have_compressor ()
-{
- if have_compressor "$compressor"; then
- command_ok_ "$@"
- else
- skip_ -r "'$compressor' not available" "$1"
- fi
-}
-
-can_compress ()
-{
- test $# -eq 2 || fatal_ "can_compress: bad number of arguments"
- tarname=$1 format=$2
- setup_vars_for_compression_format "$format"
+echo AC_OUTPUT >> configure.ac
+: > Makefile.am
- command_ok_ "'dist-$format' target always created" $MAKE -n dist-$format
-
- command_ok_if_have_compressor "'make dist-$format' work by default" \
- eval '
- rm -rf *$tarname* \
- && $MAKE dist-$format \
- && test -f $tarname-1.0.$suffix \
- && ls -l *$tarname* \
- && test "$(echo *$tarname*)" = $tarname-1.0.$suffix'
-
- unset suffix compressor format tarname
-}
+$ACLOCAL && $AUTOCONF && $AUTOMAKE -a || fatal_ "autotools failed"
+./configure || fatal_ "./configure failed"
-# ---------------------------------------- #
-# Defaults layout of the dist-* targets. #
-# ---------------------------------------- #
+command_ok_ "make distcheck" $MAKE distcheck
-start_subtest defaults
+command_ok_ "only gzip archive is built by default" \
+ test "$(ls *$distdir*)" = $distdir.tar.gz
-command_ok_ "default [automake]" $AUTOMAKE
-command_ok_ "default [autoconf]" $AUTOCONF
-command_ok_ "default [configure]" ./configure
-command_ok_ "default [make distcheck]" $MAKE distcheck
-command_ok_ "'make dist' only builds *.tar.gz by default" \
- test "$(ls *defaults*)" = defaults-1.0.tar.gz
+# ------------------------------------- #
+# Test all known formats, separately. #
+# ------------------------------------- #
-rm -rf *defaults*
-
-for fmt in $all_compression_formats; do
- can_compress defaults $fmt
-done
-unset fmt
-
-end_subtest
-
-# ----------------------------------------------------------- #
-# Check diagnostic for no-dist-gzip without another dist-*. #
-# ----------------------------------------------------------- #
-
-nogzip_stderr ()
-{
- grep "$1:.*no-dist-gzip" stderr \
- && grep "$1:.* at least one archive format must be enabled" stderr
-}
-
-nogzip_automake_failure ()
-{
- AUTOMAKE_fails -d "no-dist-gzip ($1) without other formats is an error"
- command_ok_ "no-dist-gzip ($1) without other formats gives diagnostic" \
- nogzip_stderr "$2"
-}
-
-start_subtest am-nogz-only am_opts=no-dist-gzip ac_opts=
-nogzip_automake_failure 'am' 'Makefile\.am:1'
-end_subtest
-
-start_subtest ac-nogz-only am_opts= ac_opts=no-dist-gzip
-nogzip_automake_failure 'ac' 'configure\.ac:2'
-end_subtest
-
-# ------------------------------------------------- #
-# Check use of no-dist-gzip with a dist-* option. #
-# ------------------------------------------------- #
-
-append_to_opt ()
-{
- var=$1_opts val=$2
- eval "$var=\${$var:+\"\$$var,\"}\$val" || fatal_ "evaluating \${$var}"
- unset var val
-}
-
-nogzip ()
-{
- test $#,$1,$3,$5 = 6,in,and,in \
- && case $2,$6 in ac,ac|ac,am|am,ac|am,am) :;; *) false;; esac \
- || fatal_ "nogzip: invalid usage"
- format=$4 where_dist_nogzip=$2 where_dist_format=$6
- shift 6
-
- am_opts= ac_opts=
- append_to_opt $where_dist_format dist-$format
- append_to_opt $where_dist_nogzip no-dist-gzip
+for format in $all_compression_formats; do
setup_vars_for_compression_format "$format"
- # Do these before the am_opts and ac_opts variable can be munged
- # by 'start_subtest'.
- desc=
- test -n "$am_opts" && desc=${desc:+"$desc "}"am=$am_opts"
- test -n "$ac_opts" && desc=${desc:+"$desc "}"ac=$ac_opts"
-
- start_subtest nogzip-$format am_opts=$am_opts ac_opts=$ac_opts
-
- unindent >> Makefile.am <<END
- check-ark-name:
- test \$(DIST_ARCHIVES) = \$(distdir).$suffix
- check-ark-exists:
- test -f \$(distdir).$suffix
- check-no-tar-gz:
- test ! -f \$(distdir).tar.gz
-END
-
- command_ok_ "$desc [automake]" $AUTOMAKE
- command_ok_ "$desc [autoconf]" $AUTOCONF
- command_ok_ "$desc [configure]" ./configure
- command_ok_ "$desc [ark-name]" $MAKE check-ark-name
- command_ok_if_have_compressor "$desc [distcheck]" $MAKE distcheck
- command_ok_if_have_compressor "$desc [ark-exists]" $MAKE check-ark-exists
- command_ok_ "$desc [no .tar.gz]" $MAKE check-no-tar-gz
-
- unset desc
-
- end_subtest
-}
-
-# $1 $2 $3 $4 $5 $6
-nogzip in am and bzip2 in am
-nogzip in ac and xz in am
-nogzip in am and lzip in ac
-nogzip in ac and zip in ac
-
-
-# ----------------------------------------------------------- #
-# The 'dist-gzip' target is created also with no-dist-gzip. #
-# ----------------------------------------------------------- #
-
-start_subtest dist-gzip-persistence am_opts=no-dist-gzip,dist-xz
-command_ok_ "dist-gzip persistence [automake]" $AUTOMAKE
-command_ok_ "dist-gzip persistence [autoconf]" $AUTOCONF
-command_ok_ "dist-gzip persistence [configure]" ./configure
-can_compress dist-gzip-persistence gzip
-end_subtest
+ desc="$format distribution format"
+ command_ok_ "$desc [seems accepted]" \
+ $MAKE -n dist AM_DIST_FORMATS="$format"
+ if have_compressor "$compressor"; then
+ command_ok_ "$desc $format distribution format [works]" \
+ eval '$MAKE dist AM_DIST_FORMATS="$format" \
+ && ls -l *$distdir* \
+ && test -f $distdir.$suffix \
+ && test "$(echo *$distdir*)" = $distdir.$suffix'
+ else
+ skip_ -r "'$compressor' not available" "$1"
+ fi
+ clean_dist
+ unset desc suffix compressor format
+done
# ----------------------- #
@@ -313,33 +175,10 @@ end_subtest
# ----------------------- #
# We only use formats requiring 'gzip', 'bzip2' and 'xz' programs,
-# since there are the most likely to be all found on the majority
-# of systems.
-
-start_subtest parallel-compression ac_opts=dist-bzip2 am_opts=dist-xz
-
-desc=gzip+bzip2+xz
-tarname=parallel-compression-1.0
-
-check_tarball ()
-{
- format=$1
- setup_vars_for_compression_format $format
- (
- tarball=$tarname.$suffix \
- && test -f $tarball \
- && mkdir check-$format \
- && cp $tarball check-$format \
- && cd check-$format \
- && $compressor -d $tarball \
- && tar xvf $tarname.tar \
- && diff ../Makefile.in $tarname/Makefile.in \
- && cd .. \
- && rm -rf check-$format
- )
-}
+# since there are the most likely to be all found on the great
+# majority of systems.
-command_ok_ "$desc [automake]" $AUTOMAKE
+desc='parallel compression'
if ! have_compressor xz && ! have_compressor bzip2; then
skip_reason="both 'bzip2' and 'xz' are unavailable"
@@ -350,120 +189,33 @@ elif ! have_compressor bzip2; then
else
skip_reason=
fi
-if test "$MAKE_j4" = false; then
- test -z "$skip_reason" || skip_reason="$skip_reason, and "
- skip_reason="${skip_reason}make concurrency unavailable"
-fi
if test -n "$skip_reason"; then
skip_row_ 6 -r "$skip_reason" "$desc"
else
- command_ok_ "$desc [autoconf]" $AUTOCONF
- command_ok_ "$desc [configure]" ./configure
- command_ok_ "$desc [make -j4 dist-all]" $MAKE_j4 dist
+ command_ok_ "$desc [make -j8 distcheck]" \
+ $MAKE -j8 distcheck AM_DIST_FORMATS='gzip bzip2 xz'
ls -l # For debugging.
command_ok_ "$desc [check .tar.gz tarball]" check_tarball gzip
command_ok_ "$desc [check .tar.bz2 tarball]" check_tarball bzip2
command_ok_ "$desc [check .tar.xz tarball]" check_tarball xz
fi
-unset tarname desc skip_reason
-
-end_subtest
-
-
-# --------------------------------------------------------- #
-# The various 'dist-*' targets can happily work together. #
-# --------------------------------------------------------- #
-
-start_subtest all-together
-
-desc='all compressors together'
-tarname=all-together-1.0
-
-echo 'AM_INIT_AUTOMAKE([' > am-init.m4
-echo 'AUTOMAKE_OPTIONS =' > Makefile.am
-
-# Add half 'dist-*' options to AM_INIT_AUTOMAKE, half to AUTOMAKE_OPTIONS.
-flip=:
-for fmt in $all_compression_formats; do
- test $fmt = gzip && continue
- if $flip; then
- echo " dist-$fmt" >> am-init.m4
- flip=false
- else
- echo "AUTOMAKE_OPTIONS += dist-$fmt" >> Makefile.am
- flip=:
- fi
-done
-unset flip fmt
-
-echo '])' >> am-init.m4
-
-sed 's/AM_INIT_AUTOMAKE.*/m4_include([am-init.m4])/' configure.ac > t
-mv -f t configure.ac
+clean_dist
+unset desc skip_reason
-# For debugging.
-cat Makefile.am
-cat configure.ac
-cat am-init.m4
-command_ok_ "$desc [aclocal]" $ACLOCAL --force
-command_ok_ "$desc [automake]" $AUTOMAKE
-command_ok_ "$desc [autoconf]" $AUTOCONF
-command_ok_ "$desc [configure]" ./configure
-
-if have_all_compressors; then
- command_ok_ "$desc [make distcheck, real]" $MAKE distcheck
-else
- skip_ -r "not all compressors available" "$desc [make distcheck, real]"
-fi
-
-# We fake existence of all the compressors here, so that we don't have
-# to require any of them to run the further tests. This is especially
-# important since it's very unlikely that a non-developer has all the
-# compression tools installed on his machine at the same time.
-
-mkdir bin
-cd bin
-cat > check-distdir <<END
-#!/bin/sh
-{ ls -l '$tarname' && diff Makefile.am '$tarname'/Makefile.am; } >&2 \
- || { echo "== distdir fail =="; exit 1; }
-END
-cat > grep-distdir-error <<'END'
-#!/bin/sh
-grep 'distdir fail' && exit 1
-:
-END
-chmod a+x check-distdir grep-distdir-error
-for prog in tar $all_compressors; do
- case $prog in
- tar|zip) cp check-distdir $prog;;
- *) cp grep-distdir-error $prog;;
- esac
-done
-unset prog
-ls -l # For debugging.
-cd ..
-
-oPATH=$PATH
-PATH=$(pwd)/bin$PATH_SEPARATOR$PATH; export PATH
-
-command_ok_ \
- "$desc ['make dist-all', stubbed]" \
- $MAKE dist-all
-
-subdesc="$desc ['make dist -j4', stubbed]"
-if test "$MAKE_j4" = false; then
- skip_ -r "make concurrency unavailable" "$subdesc"
-else
- command_ok_ "$subdesc" $MAKE_j4 dist
-fi
-unset subdesc
+# ------------------------------- #
+# Invalid distribution formats. #
+# ------------------------------- #
-PATH=$oPATH; export PATH
+command_ok_ "invalid distribution formats [exit status]" \
+ run_make -E -e FAIL dist AM_DIST_FORMATS="foobar tarZ shar"
-end_subtest
+command_ok_ "invalid distribution formats [error report]" eval '
+ sed -e "s/^/ /" -e "s/$/ /" stderr >stderr2 \
+ && grep "[iI]nvalid distribution format.* foobar " stderr2 \
+ && grep "[iI]nvalid distribution format.* tarZ " stderr2 \
+ && grep "[iI]nvalid distribution format.* shar " stderr2'
:
diff --git a/t/dist-install-sh.sh b/t/dist-install-sh.sh
index 9c07fdfc9..b3534dea1 100644
--- a/t/dist-install-sh.sh
+++ b/t/dist-install-sh.sh
@@ -24,9 +24,8 @@ cat > Makefile.am << 'END'
pkgdata_DATA =
.PHONY: test
test: distdir
- find $(distdir) ;: For debugging.
- echo ' ' $(DISTFILES) ' ' | grep '[ /]install-sh '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]install-sh '
+ find $(distdir) # For debugging.
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]install-sh '
test -f $(distdir)/install-sh
END
diff --git a/t/dist-lzma.sh b/t/dist-lzma.sh
deleted file mode 100644
index ecbc6dc05..000000000
--- a/t/dist-lzma.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2015 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 support for no-dist-gzip with lzma.
-
-. test-init.sh
-
-errmsg='support for lzma.*removed'
-
-echo AUTOMAKE_OPTIONS = dist-lzma > Makefile.am
-$ACLOCAL --force
-AUTOMAKE_fails -Wnone -Wno-error
-grep "^Makefile\\.am:1:.*$errmsg" stderr
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([no-dist-gzip dist-lzma])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-: > Makefile.am
-
-rm -rf autom4te*.cache
-$ACLOCAL
-AUTOMAKE_fails -Wnone -Wno-error
-grep "^configure\\.ac:2:.*$errmsg" stderr
-
-:
diff --git a/t/dist-many.sh b/t/dist-many.sh
new file mode 100644
index 000000000..92cc47a5a
--- /dev/null
+++ b/t/dist-many.sh
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 our dist rules do not hit errors due to a huge number
+# of files to be distributed. Checks similar in spirit are done by
+# sister test 'dist-many2.sh', which fakes an artificially low
+# command line length limit for 'mkdir' and the shell.
+
+. test-init.sh
+
+expensive_
+
+echo AC_OUTPUT >> configure.ac
+
+file=an-empty-file-with-a-long-name
+dir1=a-directory-with-a-long-name
+dir2=another-long-named-directory
+
+# Distributed files will be 3 * $count.
+count=10000
+
+i=1
+while test $i -le $count; do
+ files="
+ $file.$i
+ $dir1.$i/foo
+ $dir2.$i/$file.$i
+ "
+ mkdir $dir1.$i $dir2.$i
+ for f in $files; do
+ : > $f
+ echo $f
+ done
+ i=$(($i + 1))
+ # Disable shell traces after the first iteration, to avoid
+ # polluting the test logs.
+ set +x
+done > t
+set -x # Re-enable shell traces.
+echo 'EXTRA_DIST = \' >> Makefile.am
+sed '$!s/$/ \\/' t >> Makefile.am
+rm -f t
+
+test $(wc -l <Makefile.am) -eq $(( 1 + (3 * $count) )) \
+ || fatal_ "populating 'EXTRA_DIST'"
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+$MAKE distdir
+
+# Only check head, tail, and a random sample.
+
+test -f $distdir/$file.1
+test -f $distdir/$dir1.1/foo
+test -f $distdir/$dir2.1/$file.1
+
+test -f $distdir/$file.$count
+test -f $distdir/$dir1.$count/foo
+test -f $distdir/$dir2.$count/$file.$count
+
+test -f $distdir/$file.163
+test -f $distdir/$dir1.7645/foo
+test -f $distdir/$dir2.4077/$file.4077
+
+$MAKE distcheck
+
+:
diff --git a/t/dist-many2.sh b/t/dist-many2.sh
new file mode 100644
index 000000000..cab4886b1
--- /dev/null
+++ b/t/dist-many2.sh
@@ -0,0 +1,118 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 our dist rules do not hit errors due to an exceeded
+# command line length when there are many files to distribute. Here,
+# we fake a very low command line length limit for 'mkdir' (max 50
+# arguments) and the shell (max 4000 chars in its command line).
+# The sister test 'dist-many.sh' try to hit the real command line length
+# limit of the system, by declaring a huge number of files to be cleaned.
+
+. test-init.sh
+
+mkdir bin
+
+cat > bin/mkdir << END
+#!$AM_TEST_RUNNER_SHELL -u
+PATH='$PATH'; export PATH
+END
+cat >> bin/mkdir << 'END'
+if test $# -eq 0; then
+ echo "mkdir: missing argument" >&2
+ exit 1
+elif test $# -gt 50; then
+ echo "mkdir: argument list too long ($# arguments)" >&2
+ exit 1
+fi
+exec mkdir "$@"
+END
+
+cat > bin/am--sh << END
+#!$AM_TEST_RUNNER_SHELL -u
+sh='$SHELL'
+END
+cat >> bin/am--sh << 'END'
+cmdline=$*
+cmdline_len=${#cmdline}
+test $cmdline_len -le 4000 || {
+ echo "sh: command line to long (~ $cmdline_len characters)" >&2
+ exit 1
+}
+exec $sh "$@"
+END
+
+chmod a+x bin/mkdir bin/am--sh
+PATH=$(pwd)/bin$PATH_SEPARATOR$PATH; export PATH
+CONFIG_SHELL=$(pwd)/bin/am--sh; export CONFIG_SHELL
+
+echo AC_OUTPUT >> configure.ac
+
+file=an-empty-file-with-a-long-name
+dir1=a-directory-with-a-long-name
+dir2=another-long-named-directory
+
+# Distributed files will be 3 * $count.
+count=200
+
+i=1
+while test $i -le $count; do
+ files="
+ $file.$i
+ $dir1.$i/foo
+ $dir2.$i/$file.$i
+ "
+ mkdir $dir1.$i $dir2.$i
+ for f in $files; do
+ : > $f
+ echo $f
+ done
+ i=$(($i + 1))
+ # Disable shell traces after the first iteration, to avoid
+ # polluting the test logs.
+ set +x
+done > t
+set -x # Re-enable shell traces.
+echo 'EXTRA_DIST = \' >> Makefile.am
+sed '$!s/$/ \\/' t >> Makefile.am
+rm -f t
+
+test $(wc -l <Makefile.am) -eq $(( 1 + (3 * $count) )) \
+ || fatal_ "populating 'EXTRA_DIST'"
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+$MAKE distdir
+
+# Only check head, tail, and a random sample.
+
+test -f $distdir/$file.1
+test -f $distdir/$dir1.1/foo
+test -f $distdir/$dir2.1/$file.1
+
+test -f $distdir/$file.$count
+test -f $distdir/$dir1.$count/foo
+test -f $distdir/$dir2.$count/$file.$count
+
+test -f $distdir/$file.87
+test -f $distdir/$dir1.32/foo
+test -f $distdir/$dir2.15/$file.15
+
+$MAKE distcheck
+
+:
diff --git a/t/dist-missing-am.sh b/t/dist-missing-am.sh
index e0ffd1d2d..e6e9a4fce 100644
--- a/t/dist-missing-am.sh
+++ b/t/dist-missing-am.sh
@@ -54,11 +54,11 @@ for vpath in false :; do
cd $distdir
./configure
fi
- run_make -e FAIL -M
+ run_make -e FAIL -E
# This error comes from automake, not make, so we can be stricter
# in our grepping of it.
- grep 'cannot open.*zardoz\.am' output
- grep 'foobar\.am' output && exit 1 # No spurious error, please.
+ grep 'cannot open.*zardoz\.am' stderr
+ grep 'foobar\.am' stderr && exit 1 # No spurious error, please.
cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
done
diff --git a/t/dist-missing-included-m4.sh b/t/dist-missing-included-m4.sh
index 8804c42ae..5ce602a7d 100644
--- a/t/dist-missing-included-m4.sh
+++ b/t/dist-missing-included-m4.sh
@@ -56,11 +56,11 @@ for vpath in false :; do
cd $distdir
./configure
fi
- run_make -e FAIL -M
+ run_make -e FAIL -E
# This error will come from automake, not make, so we can be stricter
# in our grepping of it.
- grep 'zardoz\.m4.*does not exist' output
- grep 'foobar\.m4' output && exit 1 # No spurious error, please.
+ grep 'zardoz\.m4.*does not exist' stderr
+ grep 'foobar\.m4' stderr && exit 1 # No spurious error, please.
cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
done
diff --git a/t/dist-missing-m4.sh b/t/dist-missing-m4.sh
index 2ead2fc77..4851baf3d 100644
--- a/t/dist-missing-m4.sh
+++ b/t/dist-missing-m4.sh
@@ -59,11 +59,11 @@ for vpath in false :; do
cd $distdir
./configure
fi
- run_make -e FAIL -M
+ run_make -e FAIL -E
# This error will come from autoconf, not make, so we can be stricter
# in our grepping of it.
- grep 'possibly undefined .*MY_ZARDOZ' output
- grep 'MY_FOOBAR' output && exit 1 # No spurious error, please.
+ grep 'possibly undefined .*MY_ZARDOZ' stderr
+ grep 'MY_FOOBAR' stderr && exit 1 # No spurious error, please.
cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
done
diff --git a/t/dist-tarZ.sh b/t/dist-obsolete-opts.sh
index de0e27752..4002c348a 100644
--- a/t/dist-tarZ.sh
+++ b/t/dist-obsolete-opts.sh
@@ -14,29 +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/>.
-# Trying to use removed option 'dist-tarZ' should trigger a clear
-# error message.
+# Obsolete 'dist-*' and 'no-dist-gzip' options.
. test-init.sh
-errmsg=".*legacy .*'compress'.* removed"
-
-echo AUTOMAKE_OPTIONS = dist-tarZ > Makefile.am
$ACLOCAL
-AUTOMAKE_fails -Wnone -Wno-error
-grep "^Makefile\\.am:1:.*$errmsg" stderr
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([no-dist-gzip dist-tarZ])
+for fmt in gzip bzip2 xz lzip zip tarZ lzma shar; do
+ echo AUTOMAKE_OPTIONS = dist-$fmt > Makefile.am
+ AUTOMAKE_fails -Wnone -Wno-error
+ grep "^Makefile\\.am:1:.* 'dist-$fmt' option.* no more supported" stderr
+ grep "^Makefile\\.am:1:.* use AM_DIST_FORMATS .*instead" stderr
+done
+
+rm -rf autom4te*.cache
+
+cat > configure.ac << 'END'
+AC_INIT([foo], [1.0])
+AM_INIT_AUTOMAKE([no-dist-gzip dist-xz])
AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
END
: > Makefile.am
-
-rm -rf autom4te*.cache
$ACLOCAL
AUTOMAKE_fails -Wnone -Wno-error
-grep "^configure\\.ac:2:.*$errmsg" stderr
+grep "^configure\\.ac:2:.* 'no-dist-gzip' option.* no more supported" stderr
+grep "^configure\\.ac:2:.* 'dist-xz' option.* no more supported" stderr
+grep "^configure\\.ac:2:.*use AM_DIST_FORMATS .*instead" stderr
:
diff --git a/t/dist-repeated.sh b/t/dist-repeated.sh
index fcff7d847..169ad89dd 100644
--- a/t/dist-repeated.sh
+++ b/t/dist-repeated.sh
@@ -29,13 +29,6 @@ bar_SOURCES = foo.c
python_PYTHON = bar.py
EXTRA_DIST = foo.c bar.py
-.PHONY: sanity-check
-sanity-check:
- for f in $(DISTFILES); do echo " $$f "; done > dist.txt
- cat dist.txt
- test `grep ' foo\.c ' dist.txt | wc -l` -eq 3
- test `grep ' bar\.py ' dist.txt | wc -l` -eq 2
-
# So that we don't have to require a C compiler.
AUTOMAKE_OPTIONS = no-dependencies
CC = false
@@ -94,7 +87,6 @@ $AUTOCONF
$AUTOMAKE
./configure
-$MAKE sanity-check || fatal_ "expected invariants not verified"
$MAKE distdir
test -f cp-wrapper-has-seen-foo-c && test -f cp-wrapper-has-seen-bar-py \
|| fatal_ "our cp wrapper hasn't run correctly"
diff --git a/t/dist-shar.sh b/t/dist-shar.sh
deleted file mode 100644
index 04a13d8d7..000000000
--- a/t/dist-shar.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2013-2015 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/>.
-
-# Trying to use removed option 'dist-shar' should trigger a clear
-# error message.
-
-required='shar unshar'
-. test-init.sh
-
-errmsg='support for shar .*removed'
-
-echo AUTOMAKE_OPTIONS = dist-shar > Makefile.am
-$ACLOCAL
-AUTOMAKE_fails -Wnone -Wno-error
-grep "^Makefile\\.am:1:.*$errmsg" stderr
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([no-dist-gzip dist-shar])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-: > Makefile.am
-
-rm -rf autom4te*.cache
-$ACLOCAL
-AUTOMAKE_fails -Wnone -Wno-error
-grep "^configure\\.ac:2:.*$errmsg" stderr
-
-:
diff --git a/t/dist-srcdir.sh b/t/dist-srcdir.sh
new file mode 100644
index 000000000..e9d80ce00
--- /dev/null
+++ b/t/dist-srcdir.sh
@@ -0,0 +1,92 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# We use EXTRA_DIST to distribute stuff *explicitly* from the srcdir.
+
+am_create_testdir=empty
+. test-init.sh
+
+ocwd=$(pwd) || fatal_ "cannot get current working directory"
+
+mkdir src
+cd src
+
+cat >> configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub
+
+EXTRA_DIST = \
+ $(srcdir)/one \
+ @srcdir@/two \
+ $(top_srcdir)/three \
+ @top_srcdir@/four
+
+.PHONY: test
+check-local: test
+test: distdir
+ find $(distdir) # For debugging.
+ test -f $(distdir)/one
+ test -f $(distdir)/two
+ test -f $(distdir)/three
+ test -f $(distdir)/four
+ test -f $(distdir)/sub/five
+ test -f $(distdir)/sub/six
+ test ! -f $(distdir)/five
+ test ! -f $(distdir)/six
+ test -f $(distdir)/seven
+ test -f $(distdir)/eight
+ test ! -f $(distdir)/sub/seven
+ test ! -f $(distdir)/sub/eight
+END
+
+mkdir sub
+cat > sub/Makefile.am <<'END'
+EXTRA_DIST = $(srcdir)/five @srcdir@/six
+EXTRA_DIST += $(top_srcdir)/seven @top_srcdir@/eight
+END
+
+touch one two three four sub/five sub/six seven eight
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir build
+cd build
+../configure
+$MAKE test
+$MAKE distcheck
+cd "$ocwd"
+
+mkdir a a/b a/b/c
+cd a/b/c
+../../../src/configure
+$MAKE test
+cd "$ocwd"
+
+mkdir build2
+cd build2
+"$ocwd"/src/configure
+$MAKE test
+cd "$ocwd"
+
+:
diff --git a/t/make-is-gnu.sh b/t/dist-srcdir2.sh
index de4eb29c7..21de574d7 100644
--- a/t/make-is-gnu.sh
+++ b/t/dist-srcdir2.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,52 +14,35 @@
# 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 $(am__is_gnu_make) can be used to correctly determine if
-# we are running under GNU make.
+# If we distribute a file whose name that starts with $(srcdir),
+# then the distribution rules should not try to instead distribute
+# a file with the same name from the builddir.
+# Currently, this doesn't work (the reasons and details for this
+# limitation should be explained in depth in comments in file
+# 'lib/am/distdir.am').
. test-init.sh
-if using_gmake; then
- as_expected () { test $1 -eq 0 && test -f ok && test ! -e ko; }
-else
- as_expected () { test $1 -gt 0 && test -f ko && test ! -e ok; }
-fi
-
echo AC_OUTPUT >> configure.ac
cat > Makefile.am <<'END'
-all: file
- $(am__is_gnu_make)
-file:
- if $(am__is_gnu_make); then : > ok; else : > ko; fi
+EXTRA_DIST = $(srcdir)/filename-that-is-easy-to-grep
END
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
-./configure
+$AUTOMAKE -a
-st=0; $MAKE || st=$?
-if using_gmake; then
- test $st -eq 0
- test -f ok
- test ! -e ko
-else
- test $st -gt 0
- test -f ko
- test ! -e ok
-fi
+mkdir build
+cd build
+../configure
-rm -f ok ko
+echo bad > filename-that-is-easy-to-grep
+run_make -e FAIL -E distdir
+grep 'filename-that-is-easy-to-grep' stderr
-run_make -M -- -s file
-if using_gmake; then
- test -f ok
- test ! -e ko
-else
- test -f ko
- test ! -e ok
-fi
-test ! -s output
+echo good > ../filename-that-is-easy-to-grep
+$MAKE distdir
+test "$(cat $distdir/filename-that-is-easy-to-grep)" = good
:
diff --git a/t/distcheck-configure-flags-am.sh b/t/distcheck-configure-flags-am.sh
index e3f4bd800..097ce4ee2 100644
--- a/t/distcheck-configure-flags-am.sh
+++ b/t/distcheck-configure-flags-am.sh
@@ -37,11 +37,6 @@ END
$ACLOCAL
$AUTOMAKE
-$FGREP '$(DISTCHECK_CONFIGURE_FLAGS)' Makefile.in
-$FGREP '$(AM_DISTCHECK_CONFIGURE_FLAGS)' Makefile.in
-grep 'DISTCHECK_CONFIGURE_FLAGS.*AM_DISTCHECK_CONFIGURE_FLAGS' Makefile.in \
- && exit 1
-
$AUTOCONF
./configure --enable-success sentence='it works :-)'
@@ -59,8 +54,8 @@ END
$AUTOMAKE Makefile
./config.status Makefile
-run_make -e FAIL -M distcheck
-grep "^configure:.* success='no', sentence='it works :-)'" output
+run_make -E -e FAIL distcheck
+grep "^configure:.* success='no', sentence='it works :-)'" stderr
$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-success=yes"
diff --git a/t/distcheck-configure-flags-subpkg.sh b/t/distcheck-configure-flags-subpkg.sh
index b9ff22231..a486cbc9e 100644
--- a/t/distcheck-configure-flags-subpkg.sh
+++ b/t/distcheck-configure-flags-subpkg.sh
@@ -74,7 +74,7 @@ $MAKE distcheck
# ... but not when "make distcheck" is run from the subpackage.
cd subpkg
-run_make -e FAIL -M distcheck
-grep '^configure:.* dc=KO am_dc=KO' output
+run_make -E -e FAIL distcheck
+grep '^configure:.* dc=KO am_dc=KO' stderr
:
diff --git a/t/distcheck-configure-flags.sh b/t/distcheck-configure-flags.sh
index fe7993333..c40a74cfa 100644
--- a/t/distcheck-configure-flags.sh
+++ b/t/distcheck-configure-flags.sh
@@ -32,8 +32,6 @@ unset sentence
$ACLOCAL
$AUTOMAKE
-$FGREP '$(DISTCHECK_CONFIGURE_FLAGS)' Makefile.in
-
$AUTOCONF
./configure --enable-success sentence='it works :-)'
@@ -47,7 +45,7 @@ $MAKE distcheck \
DISTCHECK_CONFIGURE_FLAGS="--enable-success=yes sentence='it works :-)'"
# Sanity check.
-run_make -M -e FAIL distcheck
-grep "^configure:.* success='no', sentence=''" output
+run_make -E -e FAIL distcheck
+grep "^configure:.* success='no', sentence=''" stderr
:
diff --git a/t/distcheck-hook.sh b/t/distcheck-hook.sh
index 0152b4340..4b29b871c 100644
--- a/t/distcheck-hook.sh
+++ b/t/distcheck-hook.sh
@@ -35,10 +35,6 @@ END
$ACLOCAL
$AUTOMAKE
-$FGREP 'distcheck-hook' Makefile.in
-$FGREP '$(MAKE) $(AM_MAKEFLAGS) distcheck-hook' Makefile.in
-grep '^distcheck-hook:' Makefile.in
-
$AUTOCONF
./configure
diff --git a/t/distcheck-hook2.sh b/t/distcheck-hook2.sh
index 45037f506..d503c13c4 100644
--- a/t/distcheck-hook2.sh
+++ b/t/distcheck-hook2.sh
@@ -60,13 +60,6 @@ $AUTOMAKE
$AUTOCONF
cd ..
-# For debugging.
-$FGREP 'distcheck-hook' Makefile.in subpkg/Makefile.in
-
-$FGREP 'distcheck-hook' subpkg/Makefile.in && exit 1
-$FGREP '$(MAKE) $(AM_MAKEFLAGS) distcheck-hook' Makefile.in
-grep '^distcheck-hook:' Makefile.in
-
./configure
$MAKE
diff --git a/t/distcheck-missing-m4.sh b/t/distcheck-missing-m4.sh
index 969623ade..1328bc1b6 100644
--- a/t/distcheck-missing-m4.sh
+++ b/t/distcheck-missing-m4.sh
@@ -66,9 +66,7 @@ $AUTOMAKE
check_no_spurious_error ()
{
$EGREP -i 'mkdir:|:.*(permission|denied)' output && exit 1
- # On failure, some make implementations (such as Solaris make) print the
- # whole failed recipe on stdout. The first grep works around this.
- grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && exit 1
+ grep -i 'autom4te.*\.cache' output && exit 1
: To placate 'set -e'.
}
@@ -85,7 +83,6 @@ $ACLOCAL -I m4 --install
test -f m4/bar.m4 # Sanity check.
test -f m4/baz.m4 # Likewise.
test -f m4/zar.m4 # Likewise.
-using_gmake || $MAKE Makefile
$MAKE distcheck
# We start to use new "third-party" macros from new .m4 files, but forget
@@ -110,7 +107,6 @@ $FGREP " (bar|baz|zar).m4" output && exit 1
$ACLOCAL -I m4 --install
test -f m4/qux.m4 # Sanity check.
test -f m4/bla.m4 # Likewise.
-using_gmake || $MAKE Makefile
$MAKE distcheck
:
diff --git a/t/distcheck-outdated-m4.sh b/t/distcheck-outdated-m4.sh
index f237c6116..a1bbb8cea 100644
--- a/t/distcheck-outdated-m4.sh
+++ b/t/distcheck-outdated-m4.sh
@@ -60,9 +60,7 @@ $MAKE distcheck # Sanity check.
check_no_spurious_error ()
{
$EGREP -i 'mkdir:|:.*(permission|denied)' output && exit 1
- # On failure, some make implementations (such as Solaris make) print the
- # whole failed recipe on stdout. The first grep works around this.
- grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && exit 1
+ grep -i 'autom4te.*\.cache' output && exit 1
: To placate 'set -e'.
}
@@ -88,7 +86,6 @@ $EGREP " (foo|bar).m4" output && exit 1
# Now we again use '--install' explicitly, and "make distcheck"
# should pass.
$ACLOCAL -I m4 --install
-using_gmake || $MAKE Makefile
$MAKE distcheck
# Similar to what have been done above, but this time we:
@@ -108,7 +105,6 @@ ACLOCAL_PATH="$cwd/pth"; export ACLOCAL_PATH
# The explicit use of '--install' here won't help when the installed file
# '.m4' will become out-of-date w.r.t. the one in the system acdir.
$ACLOCAL -I m4 --install
-using_gmake || $MAKE Makefile
$MAKE distcheck
# Only increase serial number, without changing the other contents; this
@@ -128,7 +124,6 @@ $EGREP " (foo|bar|baz).m4" output && exit 1
# Now we again use '--install' explicitly, and "make distcheck"
# should pass.
$ACLOCAL -I m4 --install
-using_gmake || $MAKE Makefile
$MAKE distcheck
:
diff --git a/t/distcheck-override-infodir.sh b/t/distcheck-override-infodir.sh
index 5db6f6ecb..af9c8e8ca 100644
--- a/t/distcheck-override-infodir.sh
+++ b/t/distcheck-override-infodir.sh
@@ -72,7 +72,7 @@ $AUTOCONF
$MAKE
$MAKE distcheck
-run_make infodir="$(pwd)/_info" distcheck
+$MAKE distcheck infodir="$(pwd)"/_info
test -f _info/dir || exit 99 # Sanity check.
:
diff --git a/t/distcheck-pr10470.sh b/t/distcheck-pr10470.sh
index 69a638db2..4db85426c 100644
--- a/t/distcheck-pr10470.sh
+++ b/t/distcheck-pr10470.sh
@@ -49,7 +49,7 @@ $AUTOMAKE -a
./configure
# We can build the distribution.
-run_make -M distcheck
+run_make -E distcheck
# Sanity check: verify that our code has hit a problem removing
# the distdir, but has recovered from it.
$EGREP "(^| )(rm|find):.*$distdir" output || fatal_ "expected code path not covered"
diff --git a/t/distcheck-pr18286.sh b/t/distcheck-pr18286.sh
index 85755431a..5e256f795 100644
--- a/t/distcheck-pr18286.sh
+++ b/t/distcheck-pr18286.sh
@@ -58,13 +58,12 @@ $AUTOMAKE -a
$MAKE check
# Oops, we failed to distribute some required files!
-run_make -e FAIL -M distcheck
-$FGREP '../../test_data.txt' output
+run_make -e FAIL -E distcheck
+$FGREP '../../test_data.txt' stderr
# But if we distribute them, everything will be OK.
echo 'EXTRA_DIST = test_data.txt gen-testdata.sh' >> Makefile.am
-using_gmake || $MAKE Makefile
$MAKE distcheck
:
diff --git a/t/distcheck-pr9579.sh b/t/distcheck-pr9579.sh
index 0d78f206b..f1acd0a6a 100644
--- a/t/distcheck-pr9579.sh
+++ b/t/distcheck-pr9579.sh
@@ -54,9 +54,9 @@ $MAKE uninstall
test -f inst/share/dir
rm -rf inst
-run_make -M -e FAIL distcheck
-$FGREP 'ERROR: files left after uninstall:' output
-grep '/share/dir *$' output
+run_make -E -e FAIL distcheck
+grep 'ERROR: files left after uninstall:' stderr
+grep '/share/dir *$' stderr
# A few trickier corner cases.
@@ -84,9 +84,9 @@ test -f inst/mu/share/info/dir
test -f inst/share/info/more/dir
rm -rf inst
-run_make -M -e FAIL distcheck
-$FGREP 'ERROR: files left after uninstall:' output
-grep '/mu/share/info/dir *$' output
-grep '/share/info/more/dir *$' output
+run_make -E -e FAIL distcheck
+grep 'ERROR: files left after uninstall:' stderr
+grep '/mu/share/info/dir *$' stderr
+grep '/share/info/more/dir *$' stderr
:
diff --git a/t/distcom-subdir.sh b/t/distcom-subdir.sh
index 0c3f9ccc3..33056f653 100644
--- a/t/distcom-subdir.sh
+++ b/t/distcom-subdir.sh
@@ -41,7 +41,7 @@ mkdir subdir
cat > subdir/Makefile.am << 'END'
.PHONY: test-distcom
test-distcom:
- echo ' ' $(DIST_COMMON) ' ' | $(FGREP) ' $(top_srcdir)/depcomp '
+ echo ' ' $(am.dist.common-files) ' ' | $(FGREP) ' $(top_srcdir)/depcomp '
END
$ACLOCAL
@@ -53,7 +53,7 @@ cat >> subdir/Makefile.am << 'END'
bin_PROGRAMS = foo
.PHONY: test-distcom
test-distcom:
- echo ' ' $(DIST_COMMON) ' ' | $(FGREP) ' $(top_srcdir)/depcomp '
+ echo ' ' $(am.dist.common-files) ' ' | $(FGREP) ' $(top_srcdir)/depcomp '
check-local: test-distcom
END
diff --git a/t/distcom2.sh b/t/distcom2.sh
deleted file mode 100644
index e7816de86..000000000
--- a/t/distcom2.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 depcomp and compile are added to DIST_COMMON.
-# Report from Pavel Roskin. Report of problems with '--no-force' from
-# Scott James Remnant (Debian #206299)
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AC_CONFIG_FILES([subdir/Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = subdir
-END
-
-mkdir subdir
-: > subdir/foo.c
-
-cat > subdir/Makefile.am << 'END'
-noinst_PROGRAMS = foo
-foo_SOURCES = foo.c
-foo_CFLAGS = -DBAR
-END
-
-$ACLOCAL
-
-for opt in '' --no-force; do
-
- rm -f compile depcomp
-
- $AUTOMAKE $opt --add-missing
-
- test -f compile
- test -f depcomp
-
- for dir in . subdir; do
- sed -n -e "
- /^am__DIST_COMMON =.*/ {
- b body
- :loop
- n
- :body
- p
- s/\\\\$/\\\\/
- t loop
- s/$/ /
- s/[$tab ][$tab ]*/ /g
- p
- }" $dir/Makefile.in > $dir/dc.txt
- done
-
- cat dc.txt # For debugging.
- cat subdir/dc.txt # Likewise.
-
- $FGREP ' $(top_srcdir)/depcomp ' subdir/dc.txt
- # The 'compile' script will be listed in the DIST_COMMON of the top-level
- # Makefile because it's required in configure.ac (by AC_PROG_CC).
- $FGREP ' $(top_srcdir)/compile ' dc.txt || $FGREP ' compile ' dc.txt
-
-done
-
-:
diff --git a/t/distcom3.sh b/t/distcom3.sh
index 2b1cccd12..8d364ed7f 100644
--- a/t/distcom3.sh
+++ b/t/distcom3.sh
@@ -25,7 +25,7 @@ cat > Makefile.am << 'END'
README:
echo 'I bet you are reading me.' > README
test-distcommon:
- echo ' ' $(DIST_COMMON) ' ' | grep ' README '
+ echo ' ' $(am.dist.common-files) ' ' | grep ' README '
END
# Files required by '--gnu'.
diff --git a/t/distcom4.sh b/t/distcom4.sh
index 012c6aa5b..7b80893d6 100644
--- a/t/distcom4.sh
+++ b/t/distcom4.sh
@@ -45,7 +45,7 @@ mkdir tests
cat > Makefile.am << 'END'
.PHONY: test1 test 2
test1:
- for x in $(DIST_COMMON); do echo $$x; done \
+ for x in $(am.dist.all-files); do echo $$x; done \
| grep 'tests/' > lst
cat lst # For debugging.
test `wc -l <lst` -eq 1
diff --git a/t/distcom5.sh b/t/distcom5.sh
index 7a2944c6b..f85a12599 100644
--- a/t/distcom5.sh
+++ b/t/distcom5.sh
@@ -49,13 +49,13 @@ SUBDIRS = tests
test: distdir
test -f $(distdir)/tests/wrapper.in
check-local: test
- for x in $(DIST_COMMON); do echo $$x; done \
+ for x in $(am.dist.all-files); do echo $$x; done \
| grep tests && exit 1; :
END
cat > tests/Makefile.am <<'END'
check-local:
- for x in $(DIST_COMMON); do echo $$x; done \
+ for x in $(am.dist.all-files); do echo $$x; done \
| grep wrapper.in > lst
cat lst # For debugging.
test `wc -l <lst` -eq 1
diff --git a/t/distdir.sh b/t/distdir.sh
index 3532b5e21..560461ff2 100644
--- a/t/distdir.sh
+++ b/t/distdir.sh
@@ -14,12 +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/>.
-# Test to make sure subdirs in EXTRA_DIST work. Also tests to make
-# sure *srcdir is properly handled. Note that using './', as in
-# EXTRA_DIST = ./joe
-# does not work portably: it fails with HP-UX and Tru64 make.
-# Also test DISTFILES containing a directory and a file in it,
-# and repeated directories.
+# Test to make sure subdirs in EXTRA_DIST work.
+# Also tests to make sure *srcdir is properly handled.
+# Also test the situation where the list of distributed files contains
+# a directory and a file in it, and repeated directories.
. test-init.sh
@@ -33,7 +31,6 @@ EXTRA_DIST = foo/bar joe $(top_srcdir)/woo/doo $(srcdir)/dada \
some another/sub yet \
some another/sub yet
-
all-local:
$(MKDIR_P) another/sub/subsub
touch another/sub/subsub/file2
diff --git a/t/distlinksbrk.sh b/t/distlinksbrk.sh
index 4eddb9a78..b2678265f 100644
--- a/t/distlinksbrk.sh
+++ b/t/distlinksbrk.sh
@@ -48,20 +48,25 @@ cat >> configure.ac <<'END'
AC_OUTPUT
END
+cat > Makefile.am <<END
+EXTRA_DIST = $lnk1 $lnk2 $lnka $lnkb
+END
+
$ACLOCAL
$AUTOCONF
+$AUTOMAKE
+./configure
ls -l # For debugging.
-# Don't try to use "make -k", because some botched make implementations
-# (HP-UX, IRIX) might still exit on the first error in this situations.
-for lnk in $lnk1 $lnk2 $lnka $lnkb; do
- echo "EXTRA_DIST = $lnk" > Makefile.am
- $AUTOMAKE
- ./configure
- # Distribution must fail, with a decent error message.
- run_make -M -e FAIL distdir
- $FGREP $lnk output
-done
+# Distribution must fail.
+$MAKE distdir && exit 1
+
+# Names of distributed broken symlinks should be reported in make output.
+run_make -E -e FAIL -- -k distdir
+$FGREP $lnk1 stderr
+$FGREP $lnk2 stderr
+$FGREP $lnka stderr
+$FGREP $lnkb stderr
:
diff --git a/t/doc-parsing-buglets-tabs.sh b/t/doc-parsing-buglets-tabs.sh
deleted file mode 100644
index 23b80f26e..000000000
--- a/t/doc-parsing-buglets-tabs.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 the documented limitation of the Automake's Makefile parser w.r.t.
-# use of TAB characters; see Section "General Operation" in the Automake
-# manual, and automake bug#8360.
-# If you cause some parts of this test to fail, chances are that you've
-# improved the Automake parser ;-)
-
-. test-init.sh
-
-cat > Makefile.am <<END
-.PHONY: test
-test: all check
-
-fail:
-${tab}@echo "'\$@ recipe executed'"; exit 1
-
-## This won't be recognized as a target+recipe by Automake.
-all-local${tab}:
-${tab}@exit 1
-
-## This won't be recognized as a target+rdependency by Automake.
-all-local${tab}: fail
-
-just_to_separate: dummy deps
-
-## This won't be recognized as a variable assignment by Automake.
-${tab}bin_PROGRAMS = foo
-END
-
-echo AC_OUTPUT >> configure.ac
-
-$ACLOCAL
-$AUTOMAKE
-
-$FGREP '$(EXEEEXT)' Makefile.in && exit 1
-grep 'all:.*all-local' Makefile.in && exit 1
-grep "^${tab}bin_PROGRAMS = foo" Makefile.in
-
-$AUTOCONF
-./configure
-
-$MAKE test
-
-:
diff --git a/t/dollar.sh b/t/dollar.sh
index 07c20e1d4..6b18d639a 100644
--- a/t/dollar.sh
+++ b/t/dollar.sh
@@ -18,9 +18,6 @@
# Java people need this.
# PR/317, reported by Eric Siegerman and Philip Fong.
-# 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
. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/dollarvar.sh b/t/dollarvar.sh
deleted file mode 100644
index 1ffa1e221..000000000
--- a/t/dollarvar.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2009-2015 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 -Wportability complains about recursive
-# variable expansions and variables containing '$', '$(...)', or
-# '${...}' in the name. We support recursive variable expansions using
-# the latter two constructs for the 'silent-rules' option, and they are
-# rather widely supported in practice. OTOH variable definitions
-# containing a '$' on the left hand side of an assignment are not
-# portable in practice, even though POSIX allows them. :-/
-
-. test-init.sh
-
-cat >Makefile.am <<'EOF'
-x = 1
-foo$x = 1
-bar$(x) = 1
-baz${x} = 1
-bla = $(foo$x)
-bli = $(foo$(x))
-blo = $(foo${x})
-EOF
-
-$ACLOCAL
-
-AUTOMAKE_fails -Wportability
-grep 'Makefile.am:2' stderr
-grep 'Makefile.am:3' stderr
-grep 'Makefile.am:4' stderr
-grep 'Makefile.am:5' stderr
-grep 'Makefile.am:6' stderr
-grep 'Makefile.am:7' stderr
-
-AUTOMAKE_fails -Wportability -Wno-portability-recursive
-grep 'Makefile.am:2' stderr
-grep 'Makefile.am:3' stderr
-grep 'Makefile.am:4' stderr
-grep 'Makefile.am:5' stderr
-grep 'Makefile.am:6' stderr && exit 1
-grep 'Makefile.am:7' stderr && exit 1
-
-
-:
diff --git a/t/dollarvar2.sh b/t/dollarvar2.sh
deleted file mode 100644
index 99059a230..000000000
--- a/t/dollarvar2.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2009-2015 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 -Wportability turns on portability-recursive,
-# likewise for -Wno-...
-
-. test-init.sh
-
-#
-# First, try a setup where we have a 'portability-recursive' warning,
-# but no "simple" 'portability' warning.
-#
-
-cat >Makefile.am <<'EOF'
-x = 1
-bla = $(foo$(x))
-EOF
-
-$ACLOCAL
-
-# Enabling 'portability' warnings should enable 'portability-recursive'
-# warnings.
-AUTOMAKE_fails -Wnone -Wportability
-grep 'recursive variable expansion' stderr
-# 'portability-recursive' warnings can be enabled by themselves.
-AUTOMAKE_fails -Wnone -Wportability-recursive
-grep 'recursive variable expansion' stderr
-
-# Various ways to disable 'portability-recursive'.
-$AUTOMAKE -Wno-all
-$AUTOMAKE -Wno-portability
-$AUTOMAKE -Wall -Wno-portability-recursive
-
-# '-Wno-portability-recursive' after '-Wportability' correctly disables
-# 'portability-recursive' warnings.
-$AUTOMAKE -Wportability -Wno-portability-recursive
-
-# '-Wno-portability' disables 'portability-recursive' warnings; but
-# a later '-Wportability-recursive' re-enables them. This time, we
-# use AUTOMAKE_OPTIONS to specify the warning levels.
-echo 'AUTOMAKE_OPTIONS = -Wno-portability' >> Makefile.am
-$AUTOMAKE
-echo 'AUTOMAKE_OPTIONS += -Wportability-recursive' >> Makefile.am
-AUTOMAKE_fails
-grep 'recursive variable expansion' stderr
-
-#
-# Now try a setup where we have both a 'portability' warning and
-# a 'portability-recursive' one.
-#
-
-cat >Makefile.am <<'EOF'
-x = 1
-bla = $(foo$(x))
-oops = $(var-with-dash)
-EOF
-
-# Can disable both 'portability' and 'portability-recursive' warnings.
-$AUTOMAKE -Wno-portability
-
-# Disabling 'portability-recursive' warnings should not disable
-# 'portability' warnings.
-AUTOMAKE_fails -Wportability -Wno-portability-recursive
-grep 'var-with-dash' stderr
-grep 'recursive variable expansion' stderr && exit 1
-
-# Enabling 'portability-recursive' warnings should not enable
-# all the 'portability' warning.
-AUTOMAKE_fails -Wno-portability -Wportability-recursive
-grep 'var-with-dash' stderr && exit 1
-grep 'recursive variable expansion' stderr
-
-:
diff --git a/t/double-colon-rules.sh b/t/double-colon-rules.sh
new file mode 100644
index 000000000..3a04a3898
--- /dev/null
+++ b/t/double-colon-rules.sh
@@ -0,0 +1,112 @@
+#! /bin/sh
+# Copyright (C) 2003-2014 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 double colon rules work.
+# This test not only checks that Automake do not mangle double-colon rules
+# seen in input Makefile.am, but also that GNU make support of double-colon
+# rules is as reliable and well-working as we expect and need.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am <<'END'
+all-local:
+ @echo Please select an explicit target; exit 1
+
+# No space after 'a'.
+a:: b
+ echo rule1 >> $@
+# Deliberate space after 'a'.
+a :: c
+ echo rule2 >> $@
+
+# Overlapping rules should work as well
+a2 :: b2
+ echo rule21 >> $@
+a2 :: c2
+ echo rule22 >> $@
+a2:: b2 c2
+ echo rule23 >> $@
+b2 c2:
+ touch $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+grep '::' Makefile.in # For debugging.
+test $(grep -c '^a *:: *b *$' Makefile.in) -eq 1
+test $(grep -c '^a *:: *c *$' Makefile.in) -eq 1
+test $(grep -c '^a2 *:: *b2 *$' Makefile.in) -eq 1
+test $(grep -c '^a2 *:: *c2 *$' Makefile.in) -eq 1
+test $(grep -c '^a2 *:: *b2 *c2 *$' Makefile.in) -eq 1
+
+./configure
+
+# Non-overlapping double-colon rules.
+
+touch b c
+$sleep
+: > a
+$MAKE a
+test ! -s a
+$sleep
+touch b
+$MAKE a
+test "$(cat a)" = rule1
+: > a
+$sleep
+touch c
+$MAKE a
+test "$(cat a)" = rule2
+
+: > a
+$sleep
+touch b c
+$MAKE a
+test "$(sort a)" = "rule1${nl}rule2"
+
+rm -f a b c
+
+# Overlapping double-colon rules.
+
+$MAKE a2
+test -f a2
+test -f b2
+test -f c2
+
+: > a2
+$MAKE a2
+test ! -s a2
+$sleep
+touch b2
+$MAKE a2
+test "$(sort a2)" = "rule21${nl}rule23"
+: > a2
+$sleep
+touch c2
+$MAKE a2
+test "$(sort a2)" = "rule22${nl}rule23"
+
+: > a2
+$sleep
+touch b2 c2
+$MAKE a2
+test "$(sort a2)" = "rule21${nl}rule22${nl}rule23"
+
+:
diff --git a/t/ensure-dir-exists.sh b/t/ensure-dir-exists.sh
new file mode 100644
index 000000000..5c964fa74
--- /dev/null
+++ b/t/ensure-dir-exists.sh
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 Automake-provided internal macro 'am.cmd.ensure-dir-exists'.
+
+am_create_testdir=empty
+. test-init.sh
+
+# Filter out Automake comments.
+grep -v '^##' "$am_amdir"/header-vars.mk > defn.mk \
+ || fatal_ "fetching makefile fragment headers-vars.am"
+
+cat > Makefile << 'END'
+include ./defn.mk
+
+files = x/1 x/2 x/3
+
+all: $(files)
+.PHONY: all
+
+sanity-check:
+ $(warning $(call am.cmd.ensure-dir-exists,x))
+ $(if $(filter $(call am.cmd.ensure-dir-exists,x),:MKDIR_P:),, \
+ $(error am.cmd.ensure-dir-exists does not contain $$(MKDIR_P)))
+.PHONY: sanity-check
+
+$(files):
+ $(call am.cmd.ensure-dir-exists,x)
+ echo dummy > $@
+END
+
+# Sanity check.
+$MAKE sanity-check MKDIR_P=:MKDIR_P:
+
+# Basic usage.
+$MAKE MKDIR_P='mkdir -p'
+test -f x/1
+test -f x/2
+test -f x/3
+
+# Mkdir is not called uselessly.
+rm -rf x
+mkdir x
+$MAKE MKDIR_P=false
+
+# Mkdir is not called too many times.
+rm -rf x
+$MAKE MKDIR_P=mkdir
+test -f x/1
+test -f x/2
+test -f x/3
+
+:
diff --git a/t/etags.sh b/t/etags.sh
new file mode 100644
index 000000000..7645b53c7
--- /dev/null
+++ b/t/etags.sh
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 1997-2014 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 tags and subdirs work correctly. Bug report by
+# François Pinard, and later by Akim Demaille.
+
+required=${ETAGS:=etags}
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_SUBST([CC], [false])
+AM_CONDITIONAL([CONF_FALSE], [false])
+AC_CONFIG_FILES([sub1/Makefile])
+AC_CONFIG_FILES([sub2/Makefile])
+AC_CONFIG_FILES([sub2/subsub/Makefile])
+AC_CONFIG_FILES([sub3/Makefile])
+AC_OUTPUT
+END
+
+mkdir sub1 sub2 sub3 sub2/subsub
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub1 sub2 sub3
+test-tags: tags
+ cat sub1/TAGS
+ cat sub2/TAGS
+ cat sub2/subsub/TAGS
+ test ! -f sub3/TAGS
+ grep 'sub1/TAGS' TAGS
+ grep 'sub2/TAGS' TAGS
+ grep 'sub3/TAGS' TAGS && exit 1; :
+ grep 'iguana\.c' sub1/TAGS
+ grep 'subsub/TAGS' sub2/TAGS
+ grep 'subsub/foo\.h' sub2/TAGS
+ grep 'bar\.baz' sub2/subsub/TAGS
+ grep 'foo\.off' sub2/subsub/TAGS
+ grep 'foo\.h' sub2/subsub/TAGS && exit 1; :
+check-local: test-tags
+END
+
+cat > sub1/Makefile.am << 'END'
+if COND_FALSE
+bin_PROGRAMS = iguana
+endif
+END
+echo 'int main () { return choke_me (); }' > sub1/iguana.c
+
+cat > sub2/Makefile.am << 'END'
+SUBDIRS = subsub .
+noinst_HEADERS = subsub/foo.h
+subsub/foo.h:
+ echo dummy >$@
+CLEANFILES = $(noinst_HEADERS)
+END
+
+cat > sub2/subsub/Makefile.am << 'END'
+EXTRA_DIST = bar.baz
+nodist_noinst_DATA = foo.off
+TAGS_FILES = $(EXTRA_DIST) $(nodist_noinst_DATA)
+MOSTLYCLEANFILES = $(nodist_noinst_DATA)
+foo.off:
+ echo $@ >$@
+END
+: > sub2/subsub/bar.baz
+
+# No file to tag here, deliberately.
+: > sub3/Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -i
+
+./configure
+$MAKE test-tags ETAGS="$ETAGS"
+$MAKE distcheck ETAGS="$ETAGS"
+
+$MAKE distclean
+find . -name TAGS | grep . && exit 1
+
+:
diff --git a/t/exeext4.sh b/t/exeext4.sh
index 8812d5e91..5e3b50ca4 100644
--- a/t/exeext4.sh
+++ b/t/exeext4.sh
@@ -17,7 +17,7 @@
# Make sure $(EXEEXT) is appended to programs and to tests that are
# programs, but not to @substitutions@.
-# For gen-testsuite-part: ==> try-with-serial-tests <==
+am_serial_tests=yes
. test-init.sh
cat >> configure.ac << 'END'
@@ -37,18 +37,18 @@ if COND
BAZ = baz $(DEP)
endif
bin_PROGRAMS = $(programs) @programs@ prg3 $(BAR) $(BAZE)
+sbin_PROGRAMS = prg4 $(BAZ)
EXTRA_PROGRAMS = prg1 prg2 prg3
-TESTS = prg1 prg3 prg4 $(BAZ)
.PHONY: test-cond test-nocond
test-nocond:
is $(bin_PROGRAMS) == prg1.x prg2.x prg1.x prg2.x prg3.x
is $(EXTRA_PROGRAMS) == prg1.x prg2.x prg3.x
- is $(TESTS) == prg1.x prg3.x prg4
+ is $(sbin_PROGRAMS) == prg4.x
test-cond:
is $(bin_PROGRAMS) == prg1.x prg2.x prg1.x prg2.x prg3.x bar.x baz.x
is $(EXTRA_PROGRAMS) == prg1.x prg2.x prg3.x
- is $(TESTS) == prg1.x prg3.x prg4 baz.x bar.x
+ is $(sbin_PROGRAMS) == prg4.x baz.x bar.x
is $(BAR) $(BAZ) == bar baz bar
END
diff --git a/t/ext.sh b/t/ext.sh
index e64dee3f9..587093337 100644
--- a/t/ext.sh
+++ b/t/ext.sh
@@ -34,10 +34,11 @@ END
$ACLOCAL
$AUTOMAKE
+$FGREP '%.$(OBJEXT)' Makefile.in # For debugging.
+
for ext in f for f90 f95 F F90 F95 r m mm upc; do
- grep "^\.$ext\.o:" Makefile.in
- grep "^$ext\.o:" Makefile.in && exit 1
- : For shells with busted 'set -e'.
+ grep "%.*: %$ext" Makefile.in && exit 1
+ grep "^%\.\$(OBJEXT): %\.$ext$" Makefile.in
done
:
diff --git a/t/ext2.sh b/t/ext2.sh
index 84023dfdb..bee5174e0 100644
--- a/t/ext2.sh
+++ b/t/ext2.sh
@@ -36,7 +36,7 @@ EOF
$ACLOCAL
$AUTOMAKE
-grep '\.o:' Makefile.in > rules
+grep '\.$(OBJEXT):' Makefile.in > rules
cat rules
# Here is an example of bogus output. The rules are output several
diff --git a/t/ext3.sh b/t/ext3.sh
deleted file mode 100644
index 0d0298d7a..000000000
--- a/t/ext3.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2009-2015 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 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Cover corner cases of derive_suffix wrt. file extensions:
-# - extension declared with SUFFIXES but with no suffix rule for it
-# - extension with a suffix rule but none that leads us to $(OBJEXT)
-# 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.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-END
-
-cat > Makefile.am << 'END'
-bin_PROGRAMS = foo bar
-foo_SOURCES = foo.goo
-SUFFIXES = .goo
-bar_SOURCES = bar.woo
-.woo.zoo: ; making a zoo $@ from a woo $<
-END
-
-$ACLOCAL
-$AUTOMAKE
-
-exit 0
diff --git a/t/extra-dist-wildcards-gnu.sh b/t/extra-dist-wildcards-gnu.sh
index f6ea49a4b..b92894db1 100644
--- a/t/extra-dist-wildcards-gnu.sh
+++ b/t/extra-dist-wildcards-gnu.sh
@@ -17,14 +17,11 @@
# Check for more complex usage of wildcards in EXTRA_DIST.
# Suggested by observations from Braden McDaniel.
-required=GNUmake
. test-init.sh
echo AC_OUTPUT >> configure.ac
cat > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = -Wno-portability
-
EXTRA_DIST = $(wildcard [!c-z].t d.t [ab].dir foo.* *zardoz*)
.PHONY: prereq
@@ -47,7 +44,7 @@ prereq:
.PHONY: test
test: distdir
- ls -l $(distdir) $(distdir)/*.dir ;: For debugging.
+ ls -l $(distdir) $(distdir)/*.dir # For debugging.
diff a.t $(distdir)/a.t
diff b.t $(distdir)/b.t
test ! -r $(distdir)/c.t
@@ -63,7 +60,7 @@ test: distdir
test ! -r $(distdir)/foo
diff _zardoz_ $(distdir)/_zardoz_
check-local:
- ls -l . *.dir ;: For debugging.
+ ls -l $(srcdir) $(srcdir)/*.dir # For debugging.
test -f $(srcdir)/a.t
test -f $(srcdir)/b.t
test ! -r $(srcdir)/c.t
diff --git a/t/extra-dist-wildcards-vpath.sh b/t/extra-dist-wildcards-vpath.sh
index 6762620ea..e61ca1d76 100644
--- a/t/extra-dist-wildcards-vpath.sh
+++ b/t/extra-dist-wildcards-vpath.sh
@@ -18,14 +18,12 @@
# $srcdir != $builddir, if properly declared.
# Suggested by observations from Braden McDaniel.
-required=GNUmake
. test-init.sh
echo AC_OUTPUT >> configure.ac
-
cat > Makefile.am <<'END'
-EXTRA_DIST = *.foo $(srcdir)/*.foo $(builddir)/*.bar $(srcdir)/*.bar
+EXTRA_DIST = $(wildcard *.foo $(srcdir)/*.foo $(builddir)/*.bar $(srcdir)/*.bar)
.PHONY: test
test: distdir
diff --git a/t/extra-dist-wildcards.sh b/t/extra-dist-wildcards.sh
index d7bb7ce5a..797dc0ba5 100644
--- a/t/extra-dist-wildcards.sh
+++ b/t/extra-dist-wildcards.sh
@@ -19,7 +19,6 @@
# See also sister test 'extra-dist-wildcards-gnu.sh', that checks a
# similar usage with the involvement of the $(wildcard) GNU make builtin.
-required=GNUmake
. test-init.sh
echo AC_OUTPUT >> configure.ac
diff --git a/t/extra-portability.sh b/t/extra-portability.sh
index 04946e01c..2fc5e97e1 100644
--- a/t/extra-portability.sh
+++ b/t/extra-portability.sh
@@ -62,31 +62,33 @@ $AUTOMAKE -Wall -Wno-portability
# Now, a setup where also a "simple" portability warning is present.
#
-echo 'var = $(foo--bar)' >> Makefile.am
+echo 'SUBDIRS = aux' >> Makefile.am
# Enabling extra-portability enables portability as well ...
AUTOMAKE_fails -Wextra-portability
-grep 'foo--bar' stderr
+grep "'aux'.*reserved on W32" stderr
grep 'requires.*AM_PROG_AR' stderr
# ... even if it had been previously disabled.
AUTOMAKE_fails -Wno-portability -Wextra-portability
-grep 'foo--bar' stderr
+grep "'aux'.*reserved on W32" stderr
grep 'requires.*AM_PROG_AR' stderr
# Disabling extra-portability leaves portability intact (1).
AUTOMAKE_fails -Wportability -Wno-extra-portability
-grep 'foo--bar' stderr
+grep "'aux'.*reserved on W32" stderr
grep 'requires.*AM_PROG_AR' stderr && exit 1
# Disabling extra-portability leaves portability intact (2).
AUTOMAKE_fails -Wall -Wno-extra-portability
-grep 'foo--bar' stderr
+grep "'aux'.*reserved on W32" stderr
grep 'requires.*AM_PROG_AR' stderr && exit 1
# Enabling portability does not enable extra-portability.
AUTOMAKE_fails -Wportability
-grep 'foo--bar' stderr
+grep "'aux'.*reserved on W32" stderr
grep 'requires.*AM_PROG_AR' stderr && exit 1
+mkdir aux || skip_ "couldn't create directory named 'aux'"
+
# Disabling portability disables extra-portability.
$AUTOMAKE -Wno-portability
$AUTOMAKE -Wextra-portability -Wno-portability
diff --git a/t/extra-portability3.sh b/t/extra-portability3.sh
deleted file mode 100644
index df0e016f1..000000000
--- a/t/extra-portability3.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 interactions between the 'portability-recursive' and
-# 'extra-portability' warning categories.
-
-. test-init.sh
-
-# We want (almost) complete control over automake options.
-AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror"
-
-cat >>configure.ac <<END
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_OUTPUT
-END
-
-$ACLOCAL
-
-cat >Makefile.am <<'END'
-baz = $(foo$(bar))
-lib_LIBRARIES = libfoo.a
-libfoo_a_SOURCES = foo.c
-END
-
-# 'extra-portability' implies 'portability-recursive'.
-AUTOMAKE_fails -Wextra-portability
-grep 'requires.*AM_PROG_AR' stderr
-grep 'recursive variable expansion' stderr
-
-# We can disable 'extra-portability' while leaving
-# 'portability-recursive' intact.
-AUTOMAKE_fails -Wportability-recursive -Wno-extra-portability
-grep 'requires.*AM_PROG_AR' stderr && exit 1
-grep 'recursive variable expansion' stderr
-
-# We can disable 'portability-recursive' while leaving
-# 'extra-portability' intact.
-AUTOMAKE_fails -Wextra-portability -Wno-portability-recursive
-grep 'requires.*AM_PROG_AR' stderr
-grep 'recursive variable expansion' stderr && exit 1
-
-# Disabling 'portability' disables 'portability-recursive' and
-# 'extra-portability'.
-$AUTOMAKE -Wextra-portability -Wno-portability
-
-:
diff --git a/t/extra-sources.sh b/t/extra-sources.sh
index cd276dbcc..2ff7f8b47 100644
--- a/t/extra-sources.sh
+++ b/t/extra-sources.sh
@@ -31,6 +31,6 @@ END
$ACLOCAL
$AUTOMAKE
-grep '@am__include@ .*/xtra\.P' Makefile.in
+grep '^@AMDEP_TRUE@-include .*/xtra\.P' Makefile.in
:
diff --git a/t/flavor.sh b/t/flavor.sh
index 748c47266..2c9219737 100644
--- a/t/flavor.sh
+++ b/t/flavor.sh
@@ -21,7 +21,6 @@
. test-init.sh
cat >> configure.ac << 'END'
-AM_MAINTAINER_MODE
AC_OUTPUT
END
@@ -38,12 +37,12 @@ $AUTOCONF
for flavor in --gnits --gnu --foreign --ignore-deps; do
$AUTOMAKE --add-missing $flavor
- ./configure --enable-maintainer-mode
+ ./configure
grep " $flavor" Makefile
$MAKE
# Two code paths in configure.am:
- # - either a file in $(am__configure_deps) has been updated ...
+ # - either a file in $(am.remake.configure-deps) has been updated ...
$sleep
touch aclocal.m4
$MAKE
diff --git a/t/fnoc.sh b/t/fnoc.sh
deleted file mode 100644
index 62651d2c4..000000000
--- a/t/fnoc.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1998-2015 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 pure Fortran 77 sources don't include
-# C-specific code.
-# Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_F77
-END
-
-cat > Makefile.am << 'END'
-sbin_PROGRAMS = anonymous
-anonymous_SOURCES = doe.f jane.f
-END
-
-: > doe.f
-: > jane.f
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '[^F]CC' Makefile.in | grep -v MKDEP && exit 1
-exit 0
diff --git a/t/fort2.sh b/t/fort2.sh
index 1d5bf97a1..03513f356 100644
--- a/t/fort2.sh
+++ b/t/fort2.sh
@@ -88,8 +88,8 @@ grep ' fake-fc .* --@03 .* hi\.f03 ' out
grep ' fake-fc .* --@03 .* sub/howdy\.f03 ' out
grep ' fake-fc .* --@08 .* greets\.f08 ' out
grep ' fake-fc .* --@08 .* sub/bonjour\.f08 ' out
-grep ' fake-fc .* --gby .* --@95 .*[` ]bye\.f95 ' out
-grep ' fake-fc .* --gby .* --@90 .*[` ]sub/baz\.f90 ' out
+grep ' fake-fc .* --gby .* --@95 .* bye\.f95 ' out
+grep ' fake-fc .* --gby .* --@90 .* sub/baz\.f90 ' out
test $(grep -c '.*--gby.*\.f' out) -eq 2
diff --git a/t/gcj.sh b/t/gcj.sh
index 626ca1186..fab15d98d 100644
--- a/t/gcj.sh
+++ b/t/gcj.sh
@@ -29,10 +29,10 @@ END
cat > Makefile.am << 'END'
bin_PROGRAMS = convert
-convert_SOURCES = $(my_java_source)
+convert_SOURCES = $(my-java-source)
convert_LDFLAGS = --main=convert
-my_java_source = x/y/convert.java
-$(my_java_source):
+my-java-source = x/y/convert.java
+$(my-java-source):
rm -f $@-t $@
test -d $(@D) || $(MKDIR_P) $(@D)
echo 'public class convert {' >> $@-t
diff --git a/t/gettext-external-pr338.sh b/t/gettext-external-pr338.sh
index 61b40e86c..4867ad59b 100644
--- a/t/gettext-external-pr338.sh
+++ b/t/gettext-external-pr338.sh
@@ -48,9 +48,9 @@ grep 'AM_GNU_GETTEXT.*po' stderr
echo 'SUBDIRS = po' >Makefile.am
$AUTOMAKE --add-missing
-
# Don't try running ./configure --with-included-gettext if the
# user is using AM_GNU_GETTEXT([external]).
+
grep 'with-included-gettext' Makefile.in && exit 1
./configure
$MAKE -n distcheck | grep 'with-included-gettext' && exit 1
diff --git a/t/gmake-vars.sh b/t/gmake-vars.sh
new file mode 100644
index 000000000..b0fdaf613
--- /dev/null
+++ b/t/gmake-vars.sh
@@ -0,0 +1,85 @@
+#! /bin/sh
+# Copyright (C) 2002-2014 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 does not warns about nested variables expansion,
+# variables with non-POSIX names, or GNU make function calls.
+
+. test-init.sh
+
+cat > Makefile.am <<'END'
+define get-libname
+$(addprefix lib, $(1))
+endef
+
+v0 = $(shell LC_ALL=C && export LC_ALL && echo foo* bar*)
+v1 = $(sort $(wildcard foo* bar*))
+v2 = $(call get-libname, foo)
+v3 = sub/$(addsuffix .a, ${v2})
+v4 = $(v3)
+v4 += $(notdir ${v3})
+
+x = 1
+mu1 = okey-dokey
+bla = $(mu$x)
+bli = $(mu$(x))
+blo = $(mu${x})
+blu = $(mu1)
+
+bar$(x) = 6
+baz${x} = 7
+zap$x = 8
+
+.a^very-weird!var@name%accepted;by,gnu/make = wow
+
+.PHONY: do/test my/prereq
+my/prereq:
+ @: Do nothing.
+do/test: my/prereq
+ : \
+ && test '$(v0)' = 'foo.sh bar.sh bar.txt' \
+ && test '$(v1)' = 'bar.sh bar.txt foo.sh' \
+ && test $(v3) = sub/libfoo.a \
+ && test '$(v4)' = 'sub/libfoo.a libfoo.a' \
+ && test $(bla) = okey-dokey \
+ && test $(bli) = okey-dokey \
+ && test $(blo) = okey-dokey \
+ && test $(blu) = okey-dokey \
+ && test $(bar1) = 6 \
+ && test $(baz1) = 7 \
+ && test $(zap1) = 8 \
+ && test $(.a^very-weird!var@name%accepted;by,gnu/make) = wow \
+## See automake bug#9587 .
+ && test '$(@F)' = 'test' \
+ && test '$(@D)' = 'do' \
+ && test '$(<F)' = 'prereq' \
+ && test '$(<D)' = 'my'
+END
+
+echo AC_OUTPUT >> configure.ac
+
+$ACLOCAL
+AUTOMAKE_run
+test ! -s stderr
+
+: > foo.sh
+: > bar.sh
+: > bar.txt
+
+$AUTOCONF
+./configure
+$MAKE 'do/test'
+
+:
diff --git a/t/gnits2.sh b/t/gnits2.sh
index 593086a6c..8f41c0143 100644
--- a/t/gnits2.sh
+++ b/t/gnits2.sh
@@ -107,9 +107,7 @@ cd build
../configure "--prefix=$(pwd)/../inst-dir" --program-prefix=p
$MAKE all
$MAKE test-install
-# Don't trust th exit status of "make -k" for non-GNU makes.
-if using_gmake; then status=FAIL; else status=IGNORE; fi
-run_make -e $status -E -- -k installcheck
+run_make -E -e FAIL -- installcheck -k
$MAKE grep-stderr
:
diff --git a/t/gnits3.sh b/t/gnits3.sh
index 2b4839e82..cf7fb65d6 100644
--- a/t/gnits3.sh
+++ b/t/gnits3.sh
@@ -87,9 +87,7 @@ cd build
$MAKE
$MAKE install
$MAKE installcheck && exit 1
-# Don't trust th exit status of "make -k" for non-GNU makes.
-if using_gmake; then status=FAIL; else status=IGNORE; fi
-run_make -e $status -E -- -k installcheck
+run_make -E -e FAIL -- installcheck -k
$MAKE grep-stderr
# Make sure there is no more error when all targets are exempted.
diff --git a/t/gnumake.sh b/t/gnumake.sh
index 5f69746c3..c69e191b2 100644
--- a/t/gnumake.sh
+++ b/t/gnumake.sh
@@ -17,7 +17,6 @@
# Automake should not assume that make files are called Makefile.
# Report from Braden McDaniel.
-required=GNUmake
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/hdr-vars-defined-once.sh b/t/hdr-vars-defined-once.sh
index 926d6bd58..5586ad661 100644
--- a/t/hdr-vars-defined-once.sh
+++ b/t/hdr-vars-defined-once.sh
@@ -26,7 +26,7 @@ END
cat > Makefile.am << 'END'
include Will_Be_Included_In_Makefile
test-distcommon:
- echo ' ' $(DIST_COMMON) ' ' \
+ echo ' ' $(am.dist.common-files) ' ' \
| grep '[ /]Will_Be_Included_In_Makefile '
END
diff --git a/t/installdir.sh b/t/installdir.sh
index da8055af4..917a71a44 100644
--- a/t/installdir.sh
+++ b/t/installdir.sh
@@ -36,8 +36,6 @@ END
$ACLOCAL
$AUTOMAKE
-test $(grep -c installdirs-local Makefile.in) -eq 4
-
cwd=$(pwd) || fatal_ "getting current working directory"
$AUTOCONF
diff --git a/t/instdir-ltlib.sh b/t/instdir-ltlib.sh
index bc27b13f4..a62958007 100644
--- a/t/instdir-ltlib.sh
+++ b/t/instdir-ltlib.sh
@@ -32,7 +32,6 @@ END
mkdir sub
cat >Makefile.am <<'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = p
nobase_bin_PROGRAMS = np sub/np
lib_LTIBRARIES = libfoo.la
diff --git a/t/instdir-prog.sh b/t/instdir-prog.sh
index a3ce8ca11..29220841c 100644
--- a/t/instdir-prog.sh
+++ b/t/instdir-prog.sh
@@ -32,7 +32,6 @@ END
mkdir sub
cat >Makefile.am <<'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = p
nobase_bin_PROGRAMS = np sub/np
lib_LIBRARIES = libfoo.a
diff --git a/t/insthook.sh b/t/insthook.sh
index 46f39b0aa..e7f61b0d3 100644
--- a/t/insthook.sh
+++ b/t/insthook.sh
@@ -59,7 +59,7 @@ test -f ok
./configure "--bindir=$(pwd)/bin"
$MAKE install
echo b > foo
-run_make VERSION=2.0 install
+$MAKE install VERSION=2.0
test $(cat bin/foo-1.0) = a
test $(cat bin/foo-2.0) = b
test $(cat bin/foo) = b
diff --git a/t/instman2.sh b/t/instman2.sh
deleted file mode 100644
index 5b1dc6aae..000000000
--- a/t/instman2.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2000-2015 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 mkinstalldirs invocation correct in install-man
-# target. Bug reported by Gordon Irlam <gordoni@cygnus.com>.
-
-. test-init.sh
-
-cat > Makefile.am << 'EOF'
-man8_MANS = frob.8
-EOF
-
-: > frob.8
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^install-man' Makefile.in
-
-:
diff --git a/t/instspc.tap b/t/instspc.tap
index 23c91d2ed..f5b214ec9 100644
--- a/t/instspc.tap
+++ b/t/instspc.tap
@@ -308,7 +308,7 @@ for test_name in $test_names_list; do
r=ok
../configure --prefix "/$test_string-prefix" \
&& $MAKE all \
- && DESTDIR="$dest" file="./$test_string" $MAKE test-inst \
+ && $MAKE DESTDIR="$dest" file="./$test_string" test-inst \
|| r='not ok'
description="$test_name in ${where}dir"
diff --git a/t/internals.tap b/t/internals.tap
new file mode 100644
index 000000000..73eed2531
--- /dev/null
+++ b/t/internals.tap
@@ -0,0 +1,282 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 some generic Automake-provided internal macros and make functions.
+
+am_create_testdir=empty
+. test-init.sh
+
+plan_ 13
+
+# Filter out Automake comments.
+grep -v '^##' "$am_amdir"/header-vars.mk > defn.mk \
+ || fatal_ "fetching makefile fragment headers-vars.am"
+
+# WARNING: there are a lot of embedded tabs in the makefile
+# fragments used by this script. They are all deliberate.
+# DO NOT "NORMALIZE" THEM TO SPACES!
+
+i=0
+T ()
+{
+ i=$(($i + 1))
+ mkdir T$i.d
+ cd T$i.d
+ {
+ echo 'include ../defn.mk'
+ echo 'lower = abcdefghijklmnopqrstuvwxyz'
+ echo 'upper = ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ echo 'digits = 0123456789'
+ } > Makefile
+ cat >> Makefile
+ test_name=$1; shift
+ command_ok_ "$test_name" $MAKE ${1+"$@"} test
+ cd ..
+}
+
+T 'sanity check' FOO=ok <<'END'
+FOO = ko
+test:
+ test $(FOO) = ok
+ touch sane
+END
+test -f T1.d/sane || fatal_ "function 'T' is buggy"
+
+T 'am.util.strip-first-word' <<'END'
+test:
+ test '$(call am.util.strip-first-word,)' = ''
+ test '$(call am.util.strip-first-word,1)' = ''
+ test '$(call am.util.strip-first-word,1 1)' = '1'
+ test '$(call am.util.strip-first-word,1 2)' = '2'
+ test '$(call am.util.strip-first-word,1 2 3 4 5 6 7 8)' = '2 3 4 5 6 7 8'
+ test '$(call am.util.strip-first-word, 1 2 )' = '2'
+END
+
+T 'am.util.strip-last-word' <<'END'
+test:
+ test '$(call am.util.strip-last-word,)' = ''
+ test '$(call am.util.strip-last-word,1)' = ''
+ test '$(call am.util.strip-last-word,1 1)' = '1'
+ test '$(call am.util.strip-last-word,1 2)' = '1'
+ test '$(call am.util.strip-last-word,1 2 3 4 5 6 7 8)' = '1 2 3 4 5 6 7'
+ test '$(call am.util.strip-last-word, 1 2 )' = '1'
+END
+
+T 'am.util.uniq' <<'END'
+test:
+ test '$(call am.util.uniq,)' = ''
+ test '$(call am.util.uniq,1)' = '1'
+ test '$(call am.util.uniq,1 1)' = '1'
+ test '$(call am.util.uniq,1 2)' = '1 2'
+ test '$(call am.util.uniq,2 1)' = '2 1'
+ test '$(call am.util.uniq,1 2 3)' = '1 2 3'
+ test '$(call am.util.uniq,2 3 1)' = '2 3 1'
+ test '$(call am.util.uniq,1 1 1)' = '1'
+ test '$(call am.util.uniq,1 2 1)' = '1 2'
+ test '$(call am.util.uniq,2 1 1)' = '2 1'
+ test '$(call am.util.uniq,2 1 1)' = '2 1'
+ test '$(call am.util.uniq,2 2 1)' = '2 1'
+ test '$(call am.util.uniq,1 1 1 3 1 1 1)' = '1 3'
+ test '$(call am.util.uniq,3 1 1 4 1 4 1 1)' = '3 1 4'
+ test '$(call am.util.uniq, 1 3 1 )' = '1 3'
+END
+
+T 'am.util.strip-suffixes' <<'END'
+test:
+ test '$(call am.util.strip-suffixes,,)' = ''
+ test '$(call am.util.strip-suffixes, ,)' = ''
+ test '$(call am.util.strip-suffixes,, )' = ''
+ test '$(call am.util.strip-suffixes, , )' = ''
+ test '$(call am.util.strip-suffixes,x,)' = ''
+ test '$(call am.util.strip-suffixes,x y, )' = ''
+ test '$(call am.util.strip-suffixes,,x y)' = 'x y'
+ test '$(call am.util.strip-suffixes, ,x y)' = 'x y'
+ test '$(call am.util.strip-suffixes,.c,foo.c)' = 'foo'
+ test '$(call am.util.strip-suffixes,.foo,a.foo b.foo)' = 'a b'
+ test '$(call am.util.strip-suffixes, x y, ax ay ax)' = 'a a a'
+ test '$(call am.util.strip-suffixes,x,ax)' = 'a'
+ test '$(call am.util.strip-suffixes,x,xa)' = 'xa'
+ test '$(call am.util.strip-suffixes,x,xx)' = 'x'
+ test '$(call am.util.strip-suffixes,x,xux)' = 'xu'
+ test '$(call am.util.strip-suffixes, .c .c++, \
+ foo.c bar.c++ baz.cxx zap.c)' = 'foo bar baz.cxx zap'
+ test '$(call am.util.strip-suffixes, .a .b, \
+ 1.a.a 2.a.b 3.b.a 4.b.b)' = '1.a 2.a 3.b 4.b'
+ # Corner cases: the *first* matched suffix is stripped
+ test '$(call am.util.strip-suffixes,.a .b,x.a.a)' = 'x.a'
+ test '$(call am.util.strip-suffixes,.a .b,x.a.b)' = 'x.a'
+ test '$(call am.util.strip-suffixes,.a .b,x.b.a)' = 'x.b'
+ test '$(call am.util.strip-suffixes,.a .b,x.b.b)' = 'x.b'
+ test '$(call am.util.strip-suffixes, .a .b.a, foo.b.a bar.a)' \
+ = 'foo.b bar'
+ test '$(call am.util.strip-suffixes, .b.a .a, foo.b.a bar.a)' \
+ = 'foo bar'
+END
+
+T 'am.util.toupper' <<'END'
+test:
+ test '$(call am.util.toupper,a)' = A
+ test '$(call am.util.toupper,A)' = A
+ test '$(call am.util.toupper,aba)' = ABA
+ test '$(call am.util.toupper,a b)' = 'A B'
+ test '$(call am.util.toupper, a B)' = ' A B'
+ test '$(call am.util.toupper,Ab )' = 'AB '
+ test '$(call am.util.toupper,A B c )' = 'A B C '
+ test '$(call am.util.toupper,0)' = 0
+ test '$(call am.util.toupper,0d)' = 0D
+ test '$(call am.util.toupper,@:&/?-)' = '@:&/?-'
+ test '$(call am.util.toupper,a@B)' = A@B
+ test '$(call am.util.toupper,zxzxzxZXZxzxzxzxzx)' = ZXZXZXZXZXZXZXZXZX
+ test '$(call am.util.toupper,$(lower))' = '$(upper)'
+ test '$(call am.util.toupper,$(upper))' = '$(upper)'
+END
+
+T 'am.util.tolower' <<'END'
+test:
+ test '$(call am.util.tolower,A)' = a
+ test '$(call am.util.tolower,a)' = a
+ test '$(call am.util.tolower,ABA)' = aba
+ test '$(call am.util.tolower,A B)' = 'a b'
+ test '$(call am.util.tolower, A b)' = ' a b'
+ test '$(call am.util.tolower,aB )' = 'ab '
+ test '$(call am.util.tolower,a b C )' = 'a b c '
+ test '$(call am.util.tolower,0)' = 0
+ test '$(call am.util.tolower,0D)' = 0d
+ test '$(call am.util.tolower,@:&/?-)' = '@:&/?-'
+ test '$(call am.util.tolower,a@B)' = a@b
+ test '$(call am.util.tolower,ZXZXZXzxzXZXZXZXZX)' = zxzxzxzxzxzxzxzxzx
+ test '$(call am.util.tolower,$(upper))' = '$(lower)'
+ test '$(call am.util.tolower,$(lower))' = '$(lower)'
+END
+
+T 'am.util.canon' <<'END'
+comma = ,
+dollar = $$
+bslash = \\
+test:
+ test '$(call am.util.canon,A)' = A
+ test '$(call am.util.canon, b)' = b
+ test '$(call am.util.canon, foo )' = foo
+ test '$(call am.util.canon,$(upper)$(lower)$(digits)_)' = '$(upper)$(lower)$(digits)_'
+ test '$(call am.util.canon,@)' = '@'
+ test '$(call am.util.canon,%)' = '_'
+ test '$(call am.util.canon,.&@!;)' = '__@__'
+ test '$(call am.util.canon,')' = '_'
+ test '$(call am.util.canon,$(dollar))' = '_'
+ test '$(call am.util.canon,$(bslash))' = '_'
+ test '$(call am.util.canon,$(comma))' = '_'
+ test '$(call am.util.canon,$(bslash)$(comma))' = '__'
+ test '$(call am.util.canon,x$(comma)@$(bslash))' = 'x_@_'
+END
+
+FOO_ENVIRON=ok; export FOO_ENVIRON
+FOO_UNDEF=; unset FOO_UNDEF
+FOO_INDIR=; unset FOO_INDIR
+T 'am.vars.is-undef' FOO_CMDLINE=ok <<'END'
+
+FOO_MAKEFILE_1 = ok
+FOO_MAKEFILE_2 := ok
+override FOO_OVERRIDE_1 = ok
+override FOO_OVERRIDE_2 := ok
+FOO_EMPTY_1 =
+FOO_EMPTY_2 :=
+
+# Help avoiding typos.
+X = $(call am.vars.is-undef,$1)
+
+test:
+ @echo UNDEF:
+ test '$(call X,FOO_UNDEF)' = yes
+ @echo ENVIRON:
+ test '$(call X,FOO_ENVIRON)' = yes
+ @echo MAKEFILE 1:
+ test -z '$(call X,FOO_MAKEFILE_1)'
+ @echo MAKEFILE 2:
+ test -z '$(call X,FOO_MAKEFILE_2)'
+ @echo CMDLINE:
+ test -z '$(call X,FOO_CMDLINE)'
+ @echo OVERRIDE 1:
+ test -z '$(call X,FOO_OVERRIDE_1)'
+ @echo OVERRIDE 2:
+ test -z '$(call X,FOO_OVERRIDE_2)'
+ @echo EMPTY 1:
+ test -z '$(call X,FOO_EMPTY_1)'
+ @echo EMPTY 2:
+ test -z '$(call X,FOO_EMPTY_2)'
+ @echo DEFAULT:
+ test -z '$(call X,CC)'
+ @echo EXTRA SPACES:
+ test '$(call X, FOO_UNDEF )' = yes
+ @echo SANITY CHECKS:
+ test '$(FOO_ENVIRON)' = ok
+ test '$(FOO_CMDLINE)' = ok
+END
+unset FOO_ENVIRON
+
+T 'am.chars.newline (1)' <<'END'
+test:
+ @echo OK > fo1$(am.chars.newline)@touch ba1$(am.chars.newline)-false > qu1
+ test `cat fo1` = OK
+ test -f ba1
+ test -f qu1
+END
+
+T 'am.chars.newline (2)' <<'END'
+my_newline = $(am.chars.newline)
+test:
+ @echo OK > fo2$(my_newline)@touch ba2$(my_newline)-false > qu2
+ test `cat fo2` = OK
+ test -f ba2
+ test -f qu2
+END
+
+T 'am.chars.newline (3)' <<'END'
+my_newline = $(am.chars.newline)
+command-1 = test x = x$(am.chars.newline)
+command-2 = test y = y$(my_newline)
+test:
+ $(command-1)$(command-2)touch n3
+ test -f n3
+END
+
+T 'am.util.file-exists' <<'END'
+prepare:
+ : > 'a'
+ test -f 'a'
+ : > '?'
+ test -f '?'
+ : > 'foo bar'
+ test -f 'foo bar'
+ mkdir 'a b'
+ test -d 'a b'
+ : > 'a b'/'c d'
+ test -f 'a b'/'c d'
+test: prepare
+ test x'$(call am.util.file-exists,.)' = x'yes'
+ test x'$(call am.util.file-exists,Makefile)' = x'yes'
+ test x'$(call am.util.file-exists,.././defn.mk)' = x'yes'
+ test x'$(call am.util.file-exists,none)' = x
+ test x'$(call am.util.file-exists,Makefile oops)' = x
+ test x'$(call am.util.file-exists,foo bar)' = x'yes'
+ test x'$(call am.util.file-exists,a b)' = x'yes'
+ test x'$(call am.util.file-exists,a b/c d)' = x'yes'
+ test x'$(call am.util.file-exists,*)' = x
+ test x'$(call am.util.file-exists,a)' = x'yes'
+ test x'$(call am.util.file-exists,[ab])' = x
+ test x'$(call am.util.file-exists,?)' = x'yes'
+END
+
+:
diff --git a/t/txinfo-without-info-suffix.sh b/t/interp3.sh
index a9b90b813..0d1966417 100644
--- a/t/txinfo-without-info-suffix.sh
+++ b/t/interp3.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,44 +14,47 @@
# 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 .info-less @setfilename works.
+# Variable interpolation should work even when GNU make functions are
+# involved. This is unfortunately not the case currently, due to
+# historical and hard-to-lift limitations (this is also documented in
+# the manual, using an example that is a stripped-down version of this
+# test case).
-required='makeinfo tex texi2dvi'
+required=cc
. test-init.sh
cat >> configure.ac << 'END'
+AC_PROG_CC
AC_OUTPUT
END
cat > Makefile.am << 'END'
-info_TEXINFOS = textutils.texi
+bin_PROGRAMS = foo
+xs = one two
+foo_SOURCES = main.c $(foreach base, $(xs), $(base).c $(base).h)
END
-cat > textutils.texi <<EOF
-\input texinfo
-@c dummy comment
-@setfilename textutils
-@settitle main
-@node Top
-Hello walls.
-@bye
-EOF
-
$ACLOCAL
+$AUTOMAKE
$AUTOCONF
-AUTOMAKE_fails -a
-$EGREP '^(\./)?textutils\.texi:3:.*suffix-less info file' stderr
-
-$AUTOMAKE -a -Wno-obsolete
-grep '^INFO_DEPS.*textutils$' Makefile.in
+./configure
-# We should not use single suffix inference rules (with separate
-# dependencies), this confuses Solaris make.
-grep '^\.texi:$' Makefile.in && exit 1
-grep 'textutils: *textutils\.texi' Makefile.in
+echo 'int one (void) { return 1; }' > one.c
+echo 'extern int one (void);' > one.h
+echo 'int two (void) { return 2; }' > two.c
+echo 'extern int two (void);' > two.h
+
+cat > main.c <<'END'
+#include "one.h"
+#include "two.h"
+int maint (void)
+{
+ return one () + two ();
+}
+END
-./configure
+$MAKE
$MAKE distcheck
:
diff --git a/t/java-compile-install.sh b/t/java-compile-install.sh
index ff2dd3f70..b9446eed5 100644
--- a/t/java-compile-install.sh
+++ b/t/java-compile-install.sh
@@ -47,7 +47,7 @@ Baz.java:
chmod a-w $@-t && mv -f $@-t $@
test:
- ls -l $(srcdir) . ;: For debugging.
+ ls -l $(srcdir) . # For debugging.
test -f $(srcdir)/Foo.java
test -f $(srcdir)/Bar.java
test -f Foo2.java
@@ -62,7 +62,7 @@ test:
test -f classjava.stamp
test-install:
- ls -l $(javadir) ;: For debugging.
+ ls -l $(javadir) # For debugging.
test -f '$(javadir)/bClass.class'
test -f '$(javadir)/aClass.class'
test -f '$(javadir)/Zardoz.class'
diff --git a/t/java-compile-run-flat.sh b/t/java-compile-run-flat.sh
index 4b42f632b..bb88025ab 100644
--- a/t/java-compile-run-flat.sh
+++ b/t/java-compile-run-flat.sh
@@ -42,8 +42,8 @@ cat > Makefile.am <<'END'
EXTRA_DIST = # Will be updated later.
test-built:
- ls -l $(srcdir) ;: For debugging.
- test $(srcdir) = . || ls -l . ;: Likewise.
+ ls -l $(srcdir) # For debugging.
+ test $(srcdir) = . || ls -l . # Likewise.
test -f $(srcdir)/Main.java
test -f $(srcdir)/HelloStream.java
test -f $(srcdir)/PkgLocation.jin
@@ -54,14 +54,14 @@ test-built:
test -f classjava.stamp
test-installed:
- ls -l $(javadir) ;: For debugging.
+ ls -l $(javadir) # For debugging.
test -f $(javadir)/HelloStream.class
test -f $(javadir)/PkgLocation.class
test -f $(javadir)/Main.class
if find $(prefix) | grep '\.stamp$$'; then exit 1; else :; fi
run-installed:
- jprog_doing_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+ jprog_doing_installcheck=yes $(MAKE) check
check-local: test-built
installcheck-local: test-installed run-installed
@@ -81,9 +81,9 @@ edit_script = sed -e 's|[@]JAVA@|$(JAVA)|g' \
jprog: jprog.sh
rm -f $@ $@-t
- $(edit_script) `test -f '$@.sh' || echo $(srcdir)/`$@.sh >$@-t
+ $(edit_script) $< >$@-t
chmod a-w $@-t && chmod a+x $@-t && mv -f $@-t $@
- sed 's/^/ | /' $@ ;: for debugging.
+ sed 's/^/ | /' $@ # For debugging.
EXTRA_DIST += jprog.sh
CLEANFILES = jprog
diff --git a/t/java-compile-run-nested.sh b/t/java-compile-run-nested.sh
index e9d4039cb..c3a9d4510 100644
--- a/t/java-compile-run-nested.sh
+++ b/t/java-compile-run-nested.sh
@@ -45,8 +45,8 @@ cat > Makefile.am <<'END'
SUBDIRS = bin jprog tests
test-built:
- ls -l $(srcdir)/* ;: For debugging.
- test $(srcdir) = . || ls -l * ;: Likewise.
+ ls -l $(srcdir)/* # For debugging.
+ test $(srcdir) = . || ls -l * # Likewise.
test -f $(srcdir)/jprog/Main.java
test -f $(srcdir)/jprog/HelloStream.java
test -f $(srcdir)/jprog/PkgLocation.jin
@@ -57,14 +57,14 @@ test-built:
test -f jprog/classjprogclass.stamp
test-installed:
- ls -l $(jprogclassdir) ;: For debugging.
+ ls -l $(jprogclassdir) # For debugging.
test -f $(jprogclassdir)/HelloStream.class
test -f $(jprogclassdir)/Main.class
test -f $(jprogclassdir)/PkgLocation.class
if find $(prefix) | grep '\.stamp$$'; then exit 1; else :; fi
run-installed:
- jprog_doing_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+ jprog_doing_installcheck=yes $(MAKE) check
check-local: test-built
installcheck-local: test-installed run-installed
@@ -86,9 +86,9 @@ edit_script = sed -e 's|[@]JAVA@|$(JAVA)|g' \
jprog: jprog.sh
rm -f $@ $@-t
- $(edit_script) `test -f '$@.sh' || echo $(srcdir)/`$@.sh >$@-t
+ $(edit_script) $< >$@-t
chmod a-w $@-t && chmod a+x $@-t && mv -f $@-t $@
- sed 's/^/ | /' $@ ;: for debugging.
+ sed 's/^/ | /' $@ # For debugging.
EXTRA_DIST = jprog.sh
CLEANFILES = jprog
diff --git a/t/java-nobase.sh b/t/java-nobase.sh
index a26c1204e..3846e55a0 100644
--- a/t/java-nobase.sh
+++ b/t/java-nobase.sh
@@ -40,7 +40,7 @@ sub2/Baz.java:
.PHONY: test-install
test-install:
- find $(prefix) ;: For debugging.
+ find $(prefix) # For debugging.
test -f $(javadir)/sub/subsub/Foo.class
test -f $(javadir)/sub/Bar.class
test -f $(javadir)/sub2/Baz.class
diff --git a/t/java.sh b/t/java.sh
index b1ab385cc..907d8cb5b 100644
--- a/t/java.sh
+++ b/t/java.sh
@@ -33,8 +33,6 @@ $AUTOCONF
$AUTOMAKE
$EGREP '\.stamp|class' Makefile.in # For debugging.
-grep '^all[-a-z]*:.*classjava\.stamp' Makefile.in
-test $(grep -c '^all[-a-z]*:.*classjava\.stamp' Makefile.in) -eq 1
echo 'class a { }' > a.java
echo 'class b { }' > b.java
diff --git a/t/javaflags.sh b/t/javaflags.sh
index 64d5d5de0..186fdaeb0 100644
--- a/t/javaflags.sh
+++ b/t/javaflags.sh
@@ -46,7 +46,7 @@ grep '\$(JAVACFLAGS).*\$(AM_JAVACFLAGS)' Makefile.in && exit 1
$AUTOCONF
./configure
-run_make JAVACFLAGS=__user_flags__
+$MAKE JAVACFLAGS=__user_flags__
ls -l
diff --git a/t/lex-depend-cxx.sh b/t/lex-depend-cxx.sh
index fc89c8aa5..5412e9c9f 100644
--- a/t/lex-depend-cxx.sh
+++ b/t/lex-depend-cxx.sh
@@ -34,7 +34,7 @@ LDADD = $(LEXLIB)
.PHONY: test-deps-exist
test-deps-exist:
- ls -l $(DEPDIR) ;: For debugging.
+ ls -l $(DEPDIR)
test -f $(DEPDIR)/joe.Po
test -f $(DEPDIR)/moe.Po
@@ -82,8 +82,8 @@ $AUTOCONF
# using slow dependency extractors.
./configure --enable-dependency-tracking
-$MAKE test-deps-exist
$MAKE
+$MAKE test-deps-exist
$sleep
touch my-hdr.hxx
diff --git a/t/lex-depend.sh b/t/lex-depend.sh
index 9ef976882..6eedfdce4 100644
--- a/t/lex-depend.sh
+++ b/t/lex-depend.sh
@@ -33,7 +33,7 @@ LDADD = $(LEXLIB)
.PHONY: test-deps-exist
test-deps-exist:
- ls -l $(DEPDIR) ;: For debugging.
+ ls -l $(DEPDIR)
test -f $(DEPDIR)/joe.Po
.PHONY: test-obj-updated
@@ -77,8 +77,8 @@ $AUTOCONF
# using slow dependency extractors.
./configure --enable-dependency-tracking
-$MAKE test-deps-exist
$MAKE
+$MAKE test-deps-exist
cross_compiling || test "$(./zoo)" = 'Hello, World!' || exit 1
$sleep
diff --git a/t/lex-header.sh b/t/lex-header.sh
index 614f656d1..5dedd394f 100644
--- a/t/lex-header.sh
+++ b/t/lex-header.sh
@@ -40,7 +40,7 @@ BUILT_SOURCES = mylex.h
# Recover from removal of header.
mylex.h: foo-lexer.c
test -f $@ || rm -f foo-lexer.c
- test -f $@ || $(MAKE) $(AM_MAKEFLAGS) foo-lexer.c
+ test -f $@ || $(MAKE) foo-lexer.c
END
cat > lexer.l << 'END'
@@ -88,6 +88,6 @@ $MAKE
test -f mylex.h
# Sanity check on distribution.
-yl_distcheck
+$MAKE distcheck
:
diff --git a/t/lex-lib-external.sh b/t/lex-lib-external.sh
index c02fbb146..8f09cdc63 100644
--- a/t/lex-lib-external.sh
+++ b/t/lex-lib-external.sh
@@ -74,6 +74,6 @@ if ! cross_compiling; then
echo BAD | ./lexer && exit 1
: For shells with busted 'set -e'.
fi
-yl_distcheck
+$MAKE distcheck
:
diff --git a/t/lex-libobj.sh b/t/lex-libobj.sh
index 0d994b173..52eb6a8ac 100644
--- a/t/lex-libobj.sh
+++ b/t/lex-libobj.sh
@@ -78,6 +78,6 @@ grep LIBOBJS Makefile # For debugging.
grep '^LIBOBJS *=.*yywrap.*\.o' Makefile # Sanity check.
$MAKE
-yl_distcheck
+$MAKE distcheck
:
diff --git a/t/lex-line.sh b/t/lex-line.sh
index df822030f..a12f50aca 100644
--- a/t/lex-line.sh
+++ b/t/lex-line.sh
@@ -35,9 +35,6 @@ LDADD = $(LEXLIB)
bar_LFLAGS = -v
foo_SOURCES = zardoz.l
bar_SOURCES = dir/quux.l
-## Avoid spurious failures with Solaris make.
-zardoz.@OBJEXT@: zardoz.c
-bar-quux.@OBJEXT@: bar-quux.c
END
cat > zardoz.l << 'END'
diff --git a/t/lex-multiple.sh b/t/lex-multiple.sh
index ba2555667..fbf0e6695 100644
--- a/t/lex-multiple.sh
+++ b/t/lex-multiple.sh
@@ -102,6 +102,6 @@ if ! cross_compiling; then
: For shells with busted 'set -e'.
fi
-yl_distcheck
+$MAKE distcheck
:
diff --git a/t/lex-nodist.sh b/t/lex-nodist.sh
index 8d9d5d3ff..0a47335c0 100644
--- a/t/lex-nodist.sh
+++ b/t/lex-nodist.sh
@@ -15,10 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Checks for .c files derived from non-distributed .l sources.
-# The test 'lex-pr204.sh' does similar check with AM_MAINTAINER_MODE
-# enabled.
-# The tests 'yacc-nodist.sh' and 'yacc-pr204.sh' does similar checks
-# for yacc-generated .c and .h files.
+# The test 'yacc-nodist.sh' does similar checks for yacc-generated
+# .c and .h files.
required='cc lex'
. test-init.sh
diff --git a/t/lex-noyywrap.sh b/t/lex-noyywrap.sh
index 7ac9ba904..680bbe76d 100644
--- a/t/lex-noyywrap.sh
+++ b/t/lex-noyywrap.sh
@@ -69,8 +69,7 @@ if ! cross_compiling; then
: For shells with busted 'set -e'.
fi
-# Sanity check on distribution. Escape in LEXLIB must use backspace,
-# not double-quotes, to avoid a spurious failure with AIX make.
-yl_distcheck DISTCHECK_CONFIGURE_FLAGS='LEXLIB=none\ needed'
+# Sanity check on distribution.
+$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS='LEXLIB="none needed"'
:
diff --git a/t/lex-pr204.sh b/t/lex-pr204.sh
deleted file mode 100644
index 03f36ba21..000000000
--- a/t/lex-pr204.sh
+++ /dev/null
@@ -1,88 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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/>.
-
-# Related to PR 204.
-# C sources derived from nodist_ lex sources should not be distributed.
-# See also related test 'lex-nodist.sh'.
-# The tests 'yacc-nodist.sh' and 'yacc-pr204.sh' does similar checks
-# for yacc-generated .c and .h files.
-
-required='cc lex'
-. test-init.sh
-
-cat >> configure.ac <<'EOF'
-AM_MAINTAINER_MODE
-AC_PROG_CC
-dnl We use AC_PROG_LEX deliberately.
-dnl Sister 'lex-nodist.sh' should use 'AM_PROG_LEX' instead.
-AC_PROG_LEX
-AC_OUTPUT
-EOF
-
-# The LEXER2 intermediate variable is there to make sure Automake
-# matches 'nodist_' against the right variable name...
-cat > Makefile.am << 'EOF'
-EXTRA_PROGRAMS = foo
-LEXER2 = lexer2.l
-nodist_foo_SOURCES = lexer.l $(LEXER2)
-
-distdirtest: distdir
- test ! -f $(distdir)/lexer.c
- test ! -f $(distdir)/lexer.l
- test ! -f $(distdir)/lexer.h
- test ! -f $(distdir)/lexer2.c
- test ! -f $(distdir)/lexer2.l
- test ! -f $(distdir)/lexer2.h
-EOF
-
-cat > lexer.l << 'END'
-%{
-#define YY_NO_UNISTD_H 1
-%}
-%%
-"GOOD" return EOF;
-.
-%%
-int main (void)
-{
- return yylex ();
-}
-END
-
-cp lexer.l lexer2.l
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-$MAKE distdirtest
-
-# Make sure lexer.c and lexer2.c are still targets.
-$MAKE lexer.c lexer2.c
-test -f lexer.c
-test -f lexer2.c
-
-# Ensure the rebuild rule works despite AM_MAINTAINER_MODE, because
-# it's a nodist_ lexer.
-$sleep
-touch lexer.l lexer2.l
-$sleep
-$MAKE lexer.c lexer2.c
-is_newest lexer.c lexer.l
-is_newest lexer2.c lexer2.l
-
-:
diff --git a/t/lex-subobj-nodep.sh b/t/lex-subobj-nodep.sh
index fac38b1c2..775c03630 100644
--- a/t/lex-subobj-nodep.sh
+++ b/t/lex-subobj-nodep.sh
@@ -14,8 +14,8 @@
# 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 subdirs for subdir scanners are generated when subdir-objects
-# are used, even when dependency tracking is disabled.
+# Ensure subdirs for subdir scanners are generated, even when dependency
+# tracking is disabled.
required='cc lex'
. test-init.sh
@@ -27,7 +27,6 @@ AC_OUTPUT
END
cat >Makefile.am <<\END
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = p1 p2
p1_SOURCES = sub1/s1.l
p2_SOURCES = sub2/s2.l
diff --git a/t/lex3.sh b/t/lex3.sh
index 424be636b..db895425a 100644
--- a/t/lex3.sh
+++ b/t/lex3.sh
@@ -77,7 +77,7 @@ $MAKE distdir
test -f $distdir/foo.c
# Sanity check on distribution.
-yl_distcheck
+$MAKE distcheck
# While we are at it, make sure that foo.c is erased by
# maintainer-clean, and not by distclean.
diff --git a/t/lex5.sh b/t/lex5.sh
index d4e49d77d..b74c5cf26 100644
--- a/t/lex5.sh
+++ b/t/lex5.sh
@@ -26,10 +26,8 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-LDADD = @LEXLIB@
-
-bin_PROGRAMS = foo/foo
+LDADD = @LEXLIB@
+bin_PROGRAMS = foo/foo
foo_foo_SOURCES = foo/foo.l
END
@@ -43,8 +41,7 @@ cat > foo/foo.l << 'END'
"END" return EOF;
.
%%
-int
-main ()
+int main (void)
{
while (yylex () != EOF)
;
@@ -88,7 +85,6 @@ $sleep
$AUTOMAKE -a --no-force
cd sub
-using_gmake || $MAKE Makefile
$MAKE foo/foo2.o
ls -l # For debugging.
test -f foo/foo2.c
diff --git a/t/lflags-cxx.sh b/t/lflags-cxx.sh
index b34e97269..ef2aa165d 100644
--- a/t/lflags-cxx.sh
+++ b/t/lflags-cxx.sh
@@ -59,7 +59,7 @@ grep '\$(LFLAGS).*\$(AM_LFLAGS)' Makefile.in && exit 1
$AUTOCONF
./configure
-run_make LFLAGS=__user_flags__ foo.cc bar-bar.c++
+$MAKE foo.cc bar-bar.c++ LFLAGS=__user_flags__
cat foo.cc
cat bar-bar.c++
diff --git a/t/lflags.sh b/t/lflags.sh
index 56f61373a..1621d3761 100644
--- a/t/lflags.sh
+++ b/t/lflags.sh
@@ -60,7 +60,7 @@ grep '\$(LFLAGS).*\$(AM_LFLAGS)' Makefile.in && exit 1
$AUTOCONF
./configure
-run_make LFLAGS=__user_flags__ foo.c bar-bar.c
+$MAKE foo.c bar-bar.c LFLAGS=__user_flags__
cat foo.c
cat bar-bar.c
diff --git a/t/libobj19.sh b/t/libobj19.sh
index fd1e267cb..33ed36b74 100644
--- a/t/libobj19.sh
+++ b/t/libobj19.sh
@@ -29,7 +29,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
noinst_LIBRARIES = libtu.a
libtu_a_SOURCES =
libtu_a_LIBADD = $(LIBOBJS)
@@ -37,7 +36,7 @@ libtu_a_LIBADD = $(LIBOBJS)
## rule are required for when we move this Makefile in a subdir, later.
my_distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)
check-local:
- (cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) distdir)
+ (cd $(top_builddir) && $(MAKE) distdir)
ls -l $(top_srcdir)/* $(top_builddir)/* $(my_distdir)/*
test -f libtu.a
test ! -r $(top_srcdir)/foobar.c
diff --git a/t/libobj20b.sh b/t/libobj20b.sh
index 2229877fd..6c6899afe 100644
--- a/t/libobj20b.sh
+++ b/t/libobj20b.sh
@@ -31,7 +31,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
noinst_LIBRARIES = libtu.a
libtu_a_SOURCES =
libtu_a_LIBADD = $(LIBOBJS)
diff --git a/t/libobj20c.sh b/t/libobj20c.sh
index d81433e76..478a9e71c 100644
--- a/t/libobj20c.sh
+++ b/t/libobj20c.sh
@@ -27,7 +27,6 @@ AC_LIBOBJ([foobar])
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
noinst_LIBRARIES = libtu.a
libtu_a_SOURCES =
libtu_a_LIBADD = $(LIBOBJS)
diff --git a/t/libobj7.sh b/t/libobj7.sh
index dcc0b7620..70cc3c577 100644
--- a/t/libobj7.sh
+++ b/t/libobj7.sh
@@ -39,10 +39,10 @@ check-local: test1 test2 test3
test1: all
$(AR) tv libtu.a
test2:
- @echo DIST_COMMON = $(DIST_COMMON)
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]basename\.c '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]dirname\.c '
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]am__dummy_function\.c '
+ @echo am.dist.common-files = $(am.dist.common-files)
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]basename\.c '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]dirname\.c '
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]am__dummy_function\.c '
test3: distdir
test -f $(distdir)/basename.c
test -f $(distdir)/dirname.c
diff --git a/t/library2.sh b/t/library2.sh
index 7eac6c6eb..76f59ba00 100644
--- a/t/library2.sh
+++ b/t/library2.sh
@@ -27,5 +27,5 @@ EXTRA_LIBRARIES = libfoo.a
END
$ACLOCAL
-AUTOMAKE_fails -Wno-portability
+AUTOMAKE_fails -Wnone
grep AC_PROG_RANLIB stderr
diff --git a/t/libtoo10.sh b/t/libtoo10.sh
index 679d535c5..25dd6c154 100644
--- a/t/libtoo10.sh
+++ b/t/libtoo10.sh
@@ -16,6 +16,10 @@
# Make sure .libs directories are removed for _PROGRAMS.
# Report from Guillermo Ontañón.
+# Also make sure the 'so_locations' files generated by some linkers
+# (OSF, IRIX) are removed.
+# And also make sure the generated 'libtool' script as well as the
+# *.lo files are removed when they should.
required='cc libtoolize'
. test-init.sh
@@ -52,11 +56,23 @@ $AUTOMAKE --add-missing
$AUTOCONF
./configure
$MAKE all check
+: > lib/so_locations
+: > src/so_locations
$MAKE clean
+ls *.lo && exit 1
+test -f libtool
test ! -e src/.libs
test ! -e src/_libs
test ! -e check/.libs
test ! -e check/_libs
+test -f src/so_locations
+test ! -e lib/so_locations
+# No libtool libraries created in this directory, our rules
+# shouldn't bother about possible linker files in it.
+test -f src/so_locations
$MAKE distcheck
+$MAKE distclean
+test ! -f libtool
+
:
diff --git a/t/libtool.sh b/t/libtool.sh
deleted file mode 100644
index cb9b187c1..000000000
--- a/t/libtool.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 libtool is removed.
-# Report from Kevin Dalley.
-
-required=libtool
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_LIBTOOL_DLOPEN
-AC_DISABLE_SHARED
-AC_PROG_LIBTOOL
-AC_SUBST([LIBTOOL_DEPS])
-END
-
-: > Makefile.am
-
-: > ltmain.sh
-: > config.guess
-: > config.sub
-
-$ACLOCAL
-$AUTOMAKE
-
-grep 'rm -f libtool' Makefile.in
-
-:
diff --git a/t/libtool3.sh b/t/libtool3.sh
index eec1ca194..7aa4919d3 100644
--- a/t/libtool3.sh
+++ b/t/libtool3.sh
@@ -76,9 +76,7 @@ $AUTOCONF
$AUTOMAKE --add-missing --copy
# We shouldn't need explicit rules.
-grep -v '^\.c' Makefile.in \
- | $FGREP -v '$(am__dirstamp)' \
- | $EGREP '\.(o|obj|lo).*:' && exit 1
+$EGREP '[^%]\.(o|obj|lo|\$\(OBJEXT\)) *:' Makefile.in && exit 1
./configure
diff --git a/t/libtool7.sh b/t/libtool7.sh
index 2f3b37b66..5a0a56cab 100644
--- a/t/libtool7.sh
+++ b/t/libtool7.sh
@@ -29,7 +29,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
AM_LIBTOOLFLAGS = --silent
lib_LTLIBRARIES = libmod1.la mod2.la
libmod1_la_SOURCES = sub/mod1.c
diff --git a/t/link_cond.sh b/t/link_cond.sh
index a03a7a234..ae2fe5f8f 100644
--- a/t/link_cond.sh
+++ b/t/link_cond.sh
@@ -60,7 +60,7 @@ main ()
END
./configure have_cxx=no
-run_make CXX=false
+$MAKE CXX=false
# Sanity check.
rm -f foo foo.exe
@@ -79,7 +79,7 @@ int main (void)
END
./configure have_cxx=yes
-run_make CC=false
+$MAKE CC=false
# Sanity check.
rm -f foo foo.exe
diff --git a/t/lisp-flags.sh b/t/lisp-flags.sh
index 932df63d0..27ae9bcb3 100644
--- a/t/lisp-flags.sh
+++ b/t/lisp-flags.sh
@@ -35,7 +35,7 @@ $AUTOMAKE --add-missing
./configure EMACS='echo >$@' --with-lispdir="$(pwd)/unused"
: > foo.el
-run_make ELCFLAGS='__usr_elcflags__'
+$MAKE ELCFLAGS=__usr_elcflags__
grep '__am_elcflags__.*__usr_elcflags__' foo.elc
:
diff --git a/t/lisp8.sh b/t/lisp8.sh
index 59ba669b9..15a1ed6e8 100644
--- a/t/lisp8.sh
+++ b/t/lisp8.sh
@@ -16,7 +16,7 @@
# Check the recover rule of lisp_LISP with parallel make.
-required='GNUmake emacs'
+required=emacs
. test-init.sh
cat > Makefile.am << 'EOF'
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
deleted file mode 100644
index d527677d3..000000000
--- a/t/list-of-tests.mk
+++ /dev/null
@@ -1,1313 +0,0 @@
-## Makefile fragment that holds the list of test scripts of the automake
-## testsuite. This fragment is meant to be included by the Makefile.am,
-## but also to be executed directly by make when bootstrapping automake.
-
-## Copyright (C) 2011-2015 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/>.
-
-# FIXME: this "expected failures" are in truth an hack used to
-# FIXME: to verify that some incorrect usages of our perl libraries
-# FIXME: raise an error. We should find a cleaner way to check that.
-perl_fake_XFAIL_TESTS = \
-t/pm/Cond2.pl \
-t/pm/Cond3.pl \
-t/pm/DisjCon2.pl \
-t/pm/DisjCon3.pl \
-t/pm/Version2.pl \
-t/pm/Version3.pl
-
-XFAIL_TESTS = \
-t/all.sh \
-t/auxdir-pr19311.sh \
-t/cond17.sh \
-t/gcj6.sh \
-t/override-conditional-2.sh \
-t/override-conditional-pr13940.sh \
-t/dist-pr109765.sh \
-t/instdir-cond2.sh \
-t/java-nobase.sh \
-t/objext-pr10128.sh \
-t/remake-timing-bug-pr8365.sh \
-t/lex-subobj-nodep.sh \
-t/subobj-indir-pr13928.sh \
-t/subobj-vpath-pr13928.sh \
-t/remake-am-pr10111.sh \
-t/remake-m4-pr10111.sh \
-$(perl_fake_XFAIL_TESTS)
-
-perl_TESTS = \
-t/pm/Cond2.pl \
-t/pm/Cond3.pl \
-t/pm/Condition.pl \
-t/pm/Condition-t.pl \
-t/pm/DisjCon2.pl \
-t/pm/DisjCon3.pl \
-t/pm/DisjConditions.pl \
-t/pm/DisjConditions-t.pl \
-t/pm/Version.pl \
-t/pm/Version2.pl \
-t/pm/Version3.pl \
-t/pm/Wrap.pl
-
-perf_TESTS = \
-t/perf/cond.sh \
-t/perf/testsuite-recheck.sh \
-t/perf/testsuite-summary.sh
-
-# The order here is mostly alphabetical, with the deliberate exception
-# that tests having a high runtime (especially TAP tests that run various
-# checks sequentially) are listed early; this improves performance on
-# concurrent testsuite runs.
-handwritten_TESTS = \
-t/get-sysconf.sh \
-$(perl_TESTS) \
-t/instspc.tap \
-t/aclocal.sh \
-t/aclocal-I-order-1.sh \
-t/aclocal-I-order-2.sh \
-t/aclocal-I-order-3.sh \
-t/aclocal-I-and-install.sh \
-t/aclocal-acdir.sh \
-t/aclocal-amflags.sh \
-t/aclocal-autoconf-version-check.sh \
-t/aclocal-comments-respected.sh \
-t/aclocal-deleted-header-aclocal-amflags.sh \
-t/aclocal-deleted-header.sh \
-t/aclocal-deps-subdir.sh \
-t/aclocal-deps.sh \
-t/aclocal-dirlist.sh \
-t/aclocal-dirlist-globbing.sh \
-t/aclocal-dirlist-abspath.sh \
-t/aclocal-install-absdir.sh \
-t/aclocal-install-fail.sh \
-t/aclocal-install-mkdir.sh \
-t/aclocal-m4-include-are-scanned-aclocal-amflags.sh \
-t/aclocal-m4-include-are-scanned.sh \
-t/aclocal-m4-sinclude.sh \
-t/aclocal-macrodir.tap \
-t/aclocal-macrodirs.tap \
-t/aclocal-missing-macros.sh \
-t/aclocal-no-extra-scan.sh \
-t/aclocal-no-force.sh \
-t/aclocal-no-install-no-mkdir.sh \
-t/aclocal-no-symlinked-overwrite.sh \
-t/aclocal-no-unused-required.sh \
-t/aclocal-path.sh \
-t/aclocal-path-install.sh \
-t/aclocal-path-install-serial.sh \
-t/aclocal-path-nonexistent.sh \
-t/aclocal-path-precedence.sh \
-t/aclocal-pr450.sh \
-t/aclocal-print-acdir.sh \
-t/aclocal-req.sh \
-t/aclocal-remake-misc.sh \
-t/aclocal-scan-configure-ac-pr319.sh \
-t/aclocal-serial.sh \
-t/aclocal-underquoted-defun.sh \
-t/aclocal-verbose-install.sh \
-t/auxdir-pr15981.sh \
-t/auxdir-cc-pr15981.sh \
-t/ac-output-old.tap \
-t/acsilent.sh \
-t/acsubst.sh \
-t/acsubst2.sh \
-t/add-missing.tap \
-t/add-missing-multiple.sh \
-t/all.sh \
-t/all2.sh \
-t/alloca.sh \
-t/alloca2.sh \
-t/alpha.sh \
-t/alpha2.sh \
-t/amhello-cflags.sh \
-t/amhello-cross-compile.sh \
-t/amhello-binpkg.sh \
-t/aminit-moreargs-deprecation.sh \
-t/aminit-trailing-dnl-comment-pr16841.sh \
-t/amassign.sh \
-t/am-config-header.sh \
-t/am-prog-cc-stdc.sh \
-t/am-prog-cc-c-o.sh \
-t/am-prog-mkdir-p.sh \
-t/am-macro-not-found.sh \
-t/amopt.sh \
-t/amopts-location.sh \
-t/amopts-variable-expansion.sh \
-t/amsubst.sh \
-t/am-default-source-ext.sh \
-t/am-include-only-one-generated-fragment.sh \
-t/ansi2knr-no-more.sh \
-t/ar-lib.sh \
-t/ar-lib2.sh \
-t/ar-lib3.sh \
-t/ar-lib4.sh \
-t/ar-lib5a.sh \
-t/ar-lib5b.sh \
-t/ar-lib6a.sh \
-t/ar-lib6b.sh \
-t/ar-lib7.sh \
-t/ar.sh \
-t/ar2.sh \
-t/ar3.sh \
-t/ar4.sh \
-t/ar5.sh \
-t/asm.sh \
-t/asm2.sh \
-t/asm3.sh \
-t/autodist.sh \
-t/autodist-subdir.sh \
-t/autodist-acconfig.sh \
-t/autodist-acconfig-no-subdir.sh \
-t/autodist-aclocal-m4.sh \
-t/autodist-config-headers.sh \
-t/autodist-configure-no-subdir.sh \
-t/autodist-no-duplicate.sh \
-t/autodist-stamp-vti.sh \
-t/autohdr.sh \
-t/autohdr3.sh \
-t/autohdr4.sh \
-t/autohdr-subdir-pr12495.sh \
-t/autohdrdry.sh \
-t/automake-cmdline.tap \
-t/auxdir.sh \
-t/auxdir6.sh \
-t/auxdir7.sh \
-t/auxdir8.sh \
-t/auxdir-autodetect.sh \
-t/auxdir-computed.tap \
-t/auxdir-misplaced.sh \
-t/auxdir-nonexistent.sh \
-t/auxdir-pr19311.sh \
-t/auxdir-unportable.tap \
-t/backcompat.sh \
-t/backcompat2.sh \
-t/backcompat3.sh \
-t/backcompat6.sh \
-t/backcompat-acout.sh \
-t/backslash-issues.sh \
-t/backslash-before-trailing-whitespace.sh \
-t/badline.sh \
-t/badopt.sh \
-t/badprog.sh \
-t/built-sources-check.sh \
-t/built-sources-cond.sh \
-t/built-sources-fork-bomb.sh \
-t/built-sources-install.sh \
-t/built-sources-subdir.sh \
-t/built-sources.sh \
-t/candist.sh \
-t/canon.sh \
-t/canon2.sh \
-t/canon3.sh \
-t/canon4.sh \
-t/canon5.sh \
-t/canon6.sh \
-t/canon7.sh \
-t/canon8.sh \
-t/canon-name.sh \
-t/ccnoco.sh \
-t/ccnoco-lib.sh \
-t/ccnoco-lt.sh \
-t/ccnoco3.sh \
-t/ccnoco4.sh \
-t/ccnoco-deps.sh \
-t/check.sh \
-t/check2.sh \
-t/check4.sh \
-t/check5.sh \
-t/check6.sh \
-t/check7.sh \
-t/check8.sh \
-t/check10.sh \
-t/check11.sh \
-t/check12.sh \
-t/check-subst.sh \
-t/check-subst-prog.sh \
-t/check-exported-srcdir.sh \
-t/check-fd-redirect.sh \
-t/check-tests-in-builddir.sh \
-t/check-no-test-driver.sh \
-t/check-concurrency-bug9245.sh \
-t/checkall.sh \
-t/clean.sh \
-t/colneq.sh \
-t/colneq2.sh \
-t/colneq3.sh \
-t/colon.sh \
-t/colon2.sh \
-t/colon3.sh \
-t/colon4.sh \
-t/colon5.sh \
-t/colon6.sh \
-t/colon7.sh \
-t/color-tests.sh \
-t/color-tests2.sh \
-t/color-tests-opt.sh \
-t/comment.sh \
-t/comment2.sh \
-t/comment3.sh \
-t/comment4.sh \
-t/comment5.sh \
-t/comment6.sh \
-t/comment7.sh \
-t/comment8.sh \
-t/comment9.sh \
-t/commen10.sh \
-t/commen11.sh \
-t/comment-block.sh \
-t/comments-in-var-def.sh \
-t/compile.sh \
-t/compile2.sh \
-t/compile3.sh \
-t/compile4.sh \
-t/compile5.sh \
-t/compile6.sh \
-t/compile_f90_c_cxx.sh \
-t/compile_f_c_cxx.sh \
-t/cond-basic.sh \
-t/cond.sh \
-t/cond3.sh \
-t/cond4.sh \
-t/cond5.sh \
-t/cond6.sh \
-t/cond7.sh \
-t/cond8.sh \
-t/cond9.sh \
-t/cond10.sh \
-t/cond11.sh \
-t/cond13.sh \
-t/cond14.sh \
-t/cond15.sh \
-t/cond16.sh \
-t/cond17.sh \
-t/cond18.sh \
-t/cond19.sh \
-t/cond20.sh \
-t/cond21.sh \
-t/cond22.sh \
-t/cond23.sh \
-t/cond24.sh \
-t/cond25.sh \
-t/cond26.sh \
-t/cond27.sh \
-t/cond28.sh \
-t/cond30.sh \
-t/cond31.sh \
-t/cond32.sh \
-t/cond33.sh \
-t/cond34.sh \
-t/cond35.sh \
-t/cond36.sh \
-t/cond37.sh \
-t/cond38.sh \
-t/cond39.sh \
-t/cond40.sh \
-t/cond41.sh \
-t/cond42.sh \
-t/cond43.sh \
-t/cond44.sh \
-t/cond45.sh \
-t/cond46.sh \
-t/condd.sh \
-t/condhook.sh \
-t/condhook2.sh \
-t/condinc.sh \
-t/condinc2.sh \
-t/condlib.sh \
-t/condman2.sh \
-t/condman3.sh \
-t/confdeps.sh \
-t/conff.sh \
-t/conff2.sh \
-t/conffile-leading-dot.sh \
-t/confh.sh \
-t/confh4.sh \
-t/confh5.sh \
-t/confh6.sh \
-t/confh7.sh \
-t/confh8.sh \
-t/confh-subdir-clean.sh \
-t/confincl.sh \
-t/conflnk.sh \
-t/conflnk2.sh \
-t/conflnk3.sh \
-t/conflnk4.sh \
-t/confsub.sh \
-t/confvar.sh \
-t/confvar2.sh \
-t/copy.sh \
-t/cscope.tap \
-t/cscope2.sh \
-t/cscope3.sh \
-t/c-demo.sh \
-t/cxx.sh \
-t/cxx2.sh \
-t/cxxcpp.sh \
-t/cxx-demo.sh \
-t/cxx-lt-demo.sh \
-t/cxxlibobj.sh \
-t/cxxlink.sh \
-t/cxxnoc.sh \
-t/cygnus-no-more.sh \
-t/cygwin32.sh \
-t/dash.sh \
-t/defun.sh \
-t/defun2.sh \
-t/dejagnu.sh \
-t/dejagnu2.sh \
-t/dejagnu3.sh \
-t/dejagnu4.sh \
-t/dejagnu5.sh \
-t/dejagnu6.sh \
-t/dejagnu7.sh \
-t/dejagnu-absolute-builddir.sh \
-t/dejagnu-relative-srcdir.sh \
-t/dejagnu-siteexp-extend.sh \
-t/dejagnu-siteexp-append.sh \
-t/dejagnu-siteexp-useredit.sh \
-t/deleted-am.sh \
-t/deleted-m4.sh \
-t/depacl2.sh \
-t/depcomp.sh \
-t/depcomp2.sh \
-t/depcomp8a.sh \
-t/depcomp8b.sh \
-t/depcomp-implicit-auxdir.sh \
-t/depdist.sh \
-t/depend.sh \
-t/depend3.sh \
-t/depend4.sh \
-t/depend5.sh \
-t/depend6.sh \
-t/deprecated-acinit.sh \
-t/destdir.sh \
-t/dir-named-obj-is-bad.sh \
-t/discover.sh \
-t/dist-formats.tap \
-t/dist-lzma.sh \
-t/dist-tarZ.sh \
-t/dist-shar.sh \
-t/dist-auxdir-many-subdirs.sh \
-t/dist-auxfile-2.sh \
-t/dist-auxfile.sh \
-t/dist-included-parent-dir.sh \
-t/dist-missing-am.sh \
-t/dist-missing-included-m4.sh \
-t/dist-missing-m4.sh \
-t/dist-readonly.sh \
-t/dist-repeated.sh \
-t/dist-pr109765.sh \
-t/distcleancheck.sh \
-t/distcom2.sh \
-t/distcom3.sh \
-t/distcom4.sh \
-t/distcom5.sh \
-t/distcom-subdir.sh \
-t/distdir.sh \
-t/disthook.sh \
-t/distlinks.sh \
-t/distlinksbrk.sh \
-t/distname.sh \
-t/distcheck-configure-flags.sh \
-t/distcheck-configure-flags-am.sh \
-t/distcheck-configure-flags-subpkg.sh \
-t/distcheck-hook.sh \
-t/distcheck-hook2.sh \
-t/distcheck-writable-srcdir.sh \
-t/distcheck-missing-m4.sh \
-t/distcheck-outdated-m4.sh \
-t/distcheck-no-prefix-or-srcdir-override.sh \
-t/distcheck-override-infodir.sh \
-t/distcheck-pr9579.sh \
-t/distcheck-pr10470.sh \
-t/distcheck-pr18286.sh \
-t/dmalloc.sh \
-t/doc-parsing-buglets-colneq-subst.sh \
-t/doc-parsing-buglets-tabs.sh \
-t/dollar.sh \
-t/dollarvar.sh \
-t/dollarvar2.sh \
-t/double.sh \
-t/dup2.sh \
-t/else.sh \
-t/empty-data-primary.sh \
-t/empty-sources-primary.tap \
-t/exdir.sh \
-t/exdir2.sh \
-t/exdir3.sh \
-t/exeext.sh \
-t/exeext2.sh \
-t/exeext3.sh \
-t/exeext4.sh \
-t/extra-sources.sh \
-t/ext.sh \
-t/ext2.sh \
-t/ext3.sh \
-t/extra.sh \
-t/extra-sources-no-spurious.sh \
-t/extra-data.sh \
-t/extra-dist-vpath-dir.sh \
-t/extra-dist-dirs-and-subdirs.sh \
-t/extra-dist-vpath-dir-merge.sh \
-t/extra-dist-wildcards.sh \
-t/extra-dist-wildcards-gnu.sh \
-t/extra-dist-wildcards-vpath.sh \
-t/extra-programs-misc.sh \
-t/extra-programs-and-libs.sh \
-t/extra-programs-empty.sh \
-t/extra-portability.sh \
-t/extra-portability2.sh \
-t/extra-portability3.sh \
-t/extra-deps.sh \
-t/extra-deps-lt.sh \
-t/f90only.sh \
-t/flavor.sh \
-t/flibs.sh \
-t/fn99.sh \
-t/fn99subdir.sh \
-t/fnoc.sh \
-t/forcemiss.sh \
-t/forcemiss2.sh \
-t/fort1.sh \
-t/fort2.sh \
-t/fort4.sh \
-t/fort5.sh \
-t/fonly.sh \
-t/fortdep.sh \
-t/gcj.sh \
-t/gcj2.sh \
-t/gcj3.sh \
-t/gcj4.sh \
-t/gcj5.sh \
-t/gcj6.sh \
-t/gettext-basics.sh \
-t/gettext-config-rpath.sh \
-t/gettext-external-pr338.sh \
-t/gettext-intl-subdir.sh \
-t/gettext-pr381.sh \
-t/gnumake.sh \
-t/gnuwarn.sh \
-t/gnuwarn2.sh \
-t/gnits.sh \
-t/gnits2.sh \
-t/gnits3.sh \
-t/hdr-vars-defined-once.sh \
-t/header.sh \
-t/help.sh \
-t/help2.sh \
-t/help3.sh \
-t/help4.sh \
-t/help-depend.sh \
-t/help-depend2.sh \
-t/help-dmalloc.sh \
-t/help-init.sh \
-t/help-lispdir.sh \
-t/help-python.sh \
-t/help-silent.sh \
-t/help-upc.sh \
-t/hfs.sh \
-t/implicit.sh \
-t/includes-deprecation.sh \
-t/init.sh \
-t/init2.sh \
-t/dist-install-sh.sh \
-t/dist-with-unreadable-makefile-fails.sh \
-t/installdir.sh \
-t/add-missing-install-sh.sh \
-t/install-sh-unittests.sh \
-t/install-sh-option-C.sh \
-t/instdat.sh \
-t/instdat2.sh \
-t/instdir.sh \
-t/instdir2.sh \
-t/instdir-cond.sh \
-t/instdir-cond2.sh \
-t/instdir-no-empty.sh \
-t/instdir-java.sh \
-t/instdir-lisp.sh \
-t/instdir-ltlib.sh \
-t/instdir-prog.sh \
-t/instdir-python.sh \
-t/instdir-texi.sh \
-t/instexec.sh \
-t/instfail.sh \
-t/instfail-info.sh \
-t/instfail-java.sh \
-t/instfail-libtool.sh \
-t/insthook.sh \
-t/instman.sh \
-t/instman2.sh \
-t/instmany.sh \
-t/instmany-mans.sh \
-t/instmany-python.sh \
-t/install-info-dir.sh \
-t/interp.sh \
-t/interp2.sh \
-t/java.sh \
-t/java2.sh \
-t/java3.sh \
-t/javadir-undefined.sh \
-t/javaflags.sh \
-t/java-check.sh \
-t/java-clean.sh \
-t/java-compile-install.sh \
-t/java-compile-run-flat.sh \
-t/java-compile-run-nested.sh \
-t/java-empty-classpath.sh \
-t/javaprim.sh \
-t/javasubst.sh \
-t/java-extra.sh \
-t/java-mix.sh \
-t/java-no-duplicate.sh \
-t/java-nobase.sh \
-t/java-noinst.sh \
-t/java-rebuild.sh \
-t/java-sources.sh \
-t/java-uninstall.sh \
-t/ldadd.sh \
-t/ldflags.sh \
-t/lex.sh \
-t/lex2.sh \
-t/lex3.sh \
-t/lex5.sh \
-t/lexcpp.sh \
-t/lexvpath.sh \
-t/lex-subobj-nodep.sh \
-t/lex-header.sh \
-t/lex-lib.sh \
-t/lex-lib-external.sh \
-t/lex-libobj.sh \
-t/lex-multiple.sh \
-t/lex-noyywrap.sh \
-t/lex-clean-cxx.sh \
-t/lex-clean.sh \
-t/lex-depend-cxx.sh \
-t/lex-depend-grep.sh \
-t/lex-depend.sh \
-t/lex-line.sh \
-t/lex-nodist.sh \
-t/lex-pr204.sh \
-t/lflags.sh \
-t/lflags-cxx.sh \
-t/libexec.sh \
-t/libobj-basic.sh \
-t/libobj2.sh \
-t/libobj3.sh \
-t/libobj4.sh \
-t/libobj5.sh \
-t/libobj7.sh \
-t/libobj10.sh \
-t/libobj12.sh \
-t/libobj13.sh \
-t/libobj14.sh \
-t/libobj15a.sh \
-t/libobj15b.sh \
-t/libobj15c.sh \
-t/libobj16a.sh \
-t/libobj16b.sh \
-t/libobj17.sh \
-t/libobj18.sh \
-t/libobj19.sh \
-t/libobj20b.sh \
-t/libobj20c.sh \
-t/library.sh \
-t/library2.sh \
-t/library3.sh \
-t/libtool.sh \
-t/libtool2.sh \
-t/libtool3.sh \
-t/libtool4.sh \
-t/libtool5.sh \
-t/libtool6.sh \
-t/libtool7.sh \
-t/libtool8.sh \
-t/libtool9.sh \
-t/libtoo10.sh \
-t/libtoo11.sh \
-t/license.sh \
-t/license2.sh \
-t/link_c_cxx.sh \
-t/link_cond.sh \
-t/link_dist.sh \
-t/link_f90_only.sh \
-t/link_fc.sh \
-t/link_fccxx.sh \
-t/link_fcxx.sh \
-t/link_f_only.sh \
-t/link_override.sh \
-t/lisp2.sh \
-t/lisp3.sh \
-t/lisp4.sh \
-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 \
-t/longlin2.sh \
-t/ltcond.sh \
-t/ltcond2.sh \
-t/ltconv.sh \
-t/ltdeps.sh \
-t/ltinit.sh \
-t/ltinstloc.sh \
-t/ltlibobjs.sh \
-t/ltlibsrc.sh \
-t/ltorder.sh \
-t/m4-inclusion.sh \
-t/maintclean.sh \
-t/maintclean-vpath.sh \
-t/maintmode-configure-msg.sh \
-t/make.sh \
-t/makefile-deps.sh \
-t/makej.sh \
-t/makej2.sh \
-t/maken.sh \
-t/maken3.sh \
-t/makevars.sh \
-t/make-dryrun.tap \
-t/make-keepgoing.tap \
-t/make-is-gnu.sh \
-t/man.sh \
-t/man2.sh \
-t/man3.sh \
-t/man5.sh \
-t/man6.sh \
-t/man7.sh \
-t/man8.sh \
-t/mdate.sh \
-t/mdate2.sh \
-t/mdate3.sh \
-t/mdate4.sh \
-t/mdate5.sh \
-t/mdate6.sh \
-t/missing-version-mismatch.sh \
-t/missing3.sh \
-t/am-missing-prog.sh \
-t/missing-auxfile-stops-makefiles-creation.sh \
-t/mkinstall.sh \
-t/mkinst2.sh \
-t/mkinst3.sh \
-t/mmode.sh \
-t/mmodely.sh \
-t/no-extra-c-stuff.sh \
-t/no-extra-makefile-code.sh \
-t/no-spurious-install-recursive.sh \
-t/nobase.sh \
-t/nobase-libtool.sh \
-t/nobase-python.sh \
-t/nobase-nodist.sh \
-t/nodef.sh \
-t/nodef2.sh \
-t/nodep.sh \
-t/nodep2.sh \
-t/nodepcomp.sh \
-t/nodist.sh \
-t/nodist2.sh \
-t/nodist3.sh \
-t/noinst.sh \
-t/noinstdir.sh \
-t/nolink.sh \
-t/nostdinc.sh \
-t/notrans.sh \
-t/number.sh \
-t/objc-basic.sh \
-t/objc-minidemo.sh \
-t/objc-flags.sh \
-t/objc-deps.sh \
-t/objcxx-basic.sh \
-t/objcxx-minidemo.sh \
-t/objcxx-flags.sh \
-t/objcxx-deps.sh \
-t/objc-megademo.sh \
-t/objext-pr10128.sh \
-t/oldvars.sh \
-t/order.sh \
-t/output.sh \
-t/output2.sh \
-t/output3.sh \
-t/output4.sh \
-t/output5.sh \
-t/output6.sh \
-t/output7.sh \
-t/output8.sh \
-t/output9.sh \
-t/output10.sh \
-t/output11.sh \
-t/output12.sh \
-t/output13.sh \
-t/output-order.sh \
-t/override-conditional-1.sh \
-t/override-conditional-2.sh \
-t/override-conditional-pr13940.sh \
-t/override-html.sh \
-t/override-suggest-local.sh \
-t/parallel-am.sh \
-t/parallel-am2.sh \
-t/parallel-am3.sh \
-t/serial-tests.sh \
-t/parallel-tests-basics.sh \
-t/parallel-tests-concurrency.sh \
-t/parallel-tests-concurrency-2.sh \
-t/parallel-tests-empty.sh \
-t/parallel-tests-exit-status-reported.sh \
-t/parallel-tests-generated-and-distributed.sh \
-t/parallel-tests-recheck.sh \
-t/parallel-tests-trailing-whitespace.sh \
-t/parallel-tests-recheck-depends-on-all.sh \
-t/parallel-tests-recheck-pr11791.sh \
-t/parallel-tests-exeext.sh \
-t/parallel-tests-suffix.sh \
-t/parallel-tests-suffix-prog.sh \
-t/parallel-tests-log-compiler-1.sh \
-t/parallel-tests-log-compiler-2.sh \
-t/parallel-tests-dry-run-1.sh \
-t/parallel-tests-dry-run-2.sh \
-t/parallel-tests-fd-redirect.sh \
-t/parallel-tests-fd-redirect-exeext.sh \
-t/parallel-tests-extra-programs.sh \
-t/parallel-tests-unreadable.sh \
-t/parallel-tests-subdir.sh \
-t/parallel-tests-interrupt.tap \
-t/parallel-tests-reset-term.sh \
-t/parallel-tests-harderror.sh \
-t/parallel-tests-log-override-1.sh \
-t/parallel-tests-log-override-2.sh \
-t/parallel-tests-log-override-recheck.sh \
-t/parallel-tests-log-compiler-example.sh \
-t/parallel-tests-cmdline-override.sh \
-t/parallel-tests-fork-bomb.sh \
-t/parallel-tests-empty-testlogs.sh \
-t/parallel-tests-driver-install.sh \
-t/parallel-tests-no-color-in-log.sh \
-t/parallel-tests-no-spurious-summary.sh \
-t/parallel-tests-exit-statuses.sh \
-t/parallel-tests-console-output.sh \
-t/parallel-tests-once.sh \
-t/tests-environment.sh \
-t/am-tests-environment.sh \
-t/tests-environment-backcompat.sh \
-t/testsuite-summary-color.sh \
-t/testsuite-summary-count.sh \
-t/testsuite-summary-count-many.sh \
-t/testsuite-summary-reference-log.sh \
-t/test-driver-acsubst.sh \
-t/test-driver-cond.sh \
-t/test-driver-custom-no-extra-driver.sh \
-t/test-driver-custom.sh \
-t/test-driver-custom-xfail-tests.sh \
-t/test-driver-custom-multitest.sh \
-t/test-driver-custom-multitest-recheck.sh \
-t/test-driver-custom-multitest-recheck2.sh \
-t/test-driver-create-log-dir.sh \
-t/test-driver-strip-vpath.sh \
-t/test-driver-trs-suffix-registered.sh \
-t/test-driver-fail.sh \
-t/test-driver-is-distributed.sh \
-t/test-harness-vpath-rewrite.sh \
-t/test-log.sh \
-t/test-logs-repeated.sh \
-t/test-metadata-global-log.sh \
-t/test-metadata-global-result.sh \
-t/test-metadata-recheck.sh \
-t/test-metadata-results.sh \
-t/test-missing.sh \
-t/test-missing2.sh \
-t/test-trs-basic.sh \
-t/test-trs-recover.sh \
-t/test-trs-recover2.sh \
-t/test-extensions.sh \
-t/test-extensions-cond.sh \
-t/parse.sh \
-t/percent.sh \
-t/percent2.sh \
-t/per-target-flags.sh \
-t/phony.sh \
-t/precious.sh \
-t/pluseq.sh \
-t/pluseq2.sh \
-t/pluseq3.sh \
-t/pluseq4.sh \
-t/pluseq5.sh \
-t/pluseq6.sh \
-t/pluseq7.sh \
-t/pluseq8.sh \
-t/pluseq9.sh \
-t/pluseq10.sh \
-t/pluseq11.sh \
-t/posixsubst-data.sh \
-t/posixsubst-extradist.sh \
-t/posixsubst-ldadd.sh \
-t/posixsubst-libraries.sh \
-t/posixsubst-ltlibraries.sh \
-t/posixsubst-programs.sh \
-t/posixsubst-scripts.sh \
-t/posixsubst-sources.sh \
-t/posixsubst-tests.sh \
-t/postproc.sh \
-t/ppf77.sh \
-t/pr2.sh \
-t/pr9.sh \
-t/pr72.sh \
-t/pr87.sh \
-t/pr211.sh \
-t/pr220.sh \
-t/pr224.sh \
-t/pr229.sh \
-t/pr243.sh \
-t/pr266.sh \
-t/pr279.sh \
-t/pr279-2.sh \
-t/pr287.sh \
-t/pr300-lib.sh \
-t/pr300-ltlib.sh \
-t/pr300-prog.sh \
-t/pr307.sh \
-t/pr401.sh \
-t/pr401b.sh \
-t/pr401c.sh \
-t/prefix.sh \
-t/preproc-basics.sh \
-t/preproc-c-compile.sh \
-t/preproc-demo.sh \
-t/preproc-errmsg.sh \
-t/primary.sh \
-t/primary2.sh \
-t/primary3.sh \
-t/primary-prefix-invalid-couples.tap \
-t/primary-prefix-valid-couples.sh \
-t/primary-prefix-couples-force-valid.sh \
-t/primary-prefix-couples-documented-valid.sh \
-t/print-libdir.sh \
-t/proginst.sh \
-t/programs-primary-rewritten.sh \
-t/py-compile-basic.sh \
-t/py-compile-basedir.sh \
-t/py-compile-destdir.sh \
-t/py-compile-env.sh \
-t/py-compile-option-terminate.sh \
-t/py-compile-usage.sh \
-t/python.sh \
-t/python2.sh \
-t/python3.sh \
-t/python10.sh \
-t/python11.sh \
-t/python12.sh \
-t/python-am-path-iftrue.sh \
-t/python-missing.sh \
-t/python-too-old.sh \
-t/python-dist.sh \
-t/python-vars.sh \
-t/python-virtualenv.sh \
-t/python-pr10995.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 \
-t/remake-maintainer-mode.sh \
-t/remake-makefile-intree.sh \
-t/remake-makefile-vpath.sh \
-t/remake-after-configure-ac.sh \
-t/remake-after-makefile-am.sh \
-t/remake-after-acinclude-m4.sh \
-t/remake-after-aclocal-m4.sh \
-t/remake-include-configure.sh \
-t/remake-include-makefile.sh \
-t/remake-include-aclocal.sh \
-t/remake-config-status-dependencies.sh \
-t/remake-configure-dependencies.sh \
-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 \
-t/remake-subdir-only.sh \
-t/remake-subdir-grepping.sh \
-t/remake-subdir-from-subdir.sh \
-t/remake-subdir-gnu.sh \
-t/remake-subdir-no-makefile.sh \
-t/remake-subdir-long-time.sh \
-t/remake-gnulib-add-acsubst.sh \
-t/remake-gnulib-add-header.sh \
-t/remake-gnulib-remove-header.sh \
-t/remake-moved-m4-file.sh \
-t/remake-deleted-m4-file.sh \
-t/remake-renamed-m4-file.sh \
-t/remake-renamed-m4-macro-and-file.sh \
-t/remake-renamed-m4-macro.sh \
-t/remake-am-pr10111.sh \
-t/remake-m4-pr10111.sh \
-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/reqd2.sh \
-t/repeated-options.sh \
-t/rm-f-probe.sh \
-t/rulepat.sh \
-t/self-check-cc-no-c-o.sh \
-t/self-check-configure-help.sh \
-t/self-check-dir.tap \
-t/self-check-exit.tap \
-t/self-check-explicit-skips.sh \
-t/self-check-is_newest.tap \
-t/self-check-me.tap \
-t/self-check-report.sh \
-t/self-check-seq.tap \
-t/self-check-shell-no-trail-bslash.sh \
-t/self-check-is-blocked-signal.tap \
-t/self-check-unindent.tap \
-t/sanity.sh \
-t/seenc.sh \
-t/silent-c.sh \
-t/silent-cxx.sh \
-t/silent-lt.sh \
-t/silent-f77.sh \
-t/silent-f90.sh \
-t/silent-many-languages.sh \
-t/silent-gen.sh \
-t/silent-texi.sh \
-t/silent-lex.sh \
-t/silent-yacc.sh \
-t/silent-yacc-headers.sh \
-t/silent-configsite.sh \
-t/silent-nested-vars.sh \
-t/silent-custom.sh \
-t/src-acsubst.sh \
-t/space.sh \
-t/specflg6.sh \
-t/specflg7.sh \
-t/specflg8.sh \
-t/specflg9.sh \
-t/specflg-dummy.sh \
-t/spell.sh \
-t/spell2.sh \
-t/spell3.sh \
-t/spelling.sh \
-t/spy-double-colon.sh \
-t/spy-rm.tap \
-t/stdinc.sh \
-t/stamph2.sh \
-t/stdlib.sh \
-t/stdlib2.sh \
-t/strictness-override.sh \
-t/strictness-precedence.sh \
-t/strip.sh \
-t/strip2.sh \
-t/strip3.sh \
-t/subdir.sh \
-t/subdir-ac-subst.sh \
-t/subdir-add-pr46.sh \
-t/subdir-add2-pr46.sh \
-t/subdir-am-cond.sh \
-t/subdir-cond-err.sh \
-t/subdir-cond-gettext.sh \
-t/subdir-env-interference.sh \
-t/subdir-order.sh \
-t/subdir-with-slash.sh \
-t/subdir-subsub.sh \
-t/subdir-distclean.sh \
-t/subdir-keep-going-pr12554.sh \
-t/subobj.sh \
-t/subobj2.sh \
-t/subobj5.sh \
-t/subobj6.sh \
-t/subobj7.sh \
-t/subobj8.sh \
-t/subobj9.sh \
-t/subobj10.sh \
-t/subobj11a.sh \
-t/subobj11b.sh \
-t/subobj11c.sh \
-t/subobjname.sh \
-t/subobj-clean-pr10697.sh \
-t/subobj-clean-lt-pr10697.sh \
-t/subobj-indir-pr13928.sh \
-t/subobj-vpath-pr13928.sh \
-t/subpkg.sh \
-t/subpkg2.sh \
-t/subpkg3.sh \
-t/subpkg4.sh \
-t/subpkg-yacc.sh \
-t/subpkg-macrodir.sh \
-t/subst.sh \
-t/subst3.sh \
-t/subst4.sh \
-t/subst5.sh \
-t/subst-no-trailing-empty-line.sh \
-t/substref.sh \
-t/substre2.sh \
-t/substtarg.sh \
-t/suffix.sh \
-t/suffix2.sh \
-t/suffix3.tap \
-t/suffix4.sh \
-t/suffix5.sh \
-t/suffix6.sh \
-t/suffix6b.sh \
-t/suffix6c.sh \
-t/suffix7.sh \
-t/suffix8.tap \
-t/suffix9.sh \
-t/suffix10.tap \
-t/suffix11.tap \
-t/suffix-chain.tap \
-t/suffix-custom-pr14441.sh \
-t/suffix-custom-subobj.sh \
-t/suffix-custom-subobj-and-specflg.sh \
-t/suffix-extra-c-stuff-pr14560.sh \
-t/symlink.sh \
-t/symlink2.sh \
-t/syntax.sh \
-t/tap-ambiguous-directive.sh \
-t/tap-autonumber.sh \
-t/tap-bailout.sh \
-t/tap-bailout-leading-space.sh \
-t/tap-bailout-and-logging.sh \
-t/tap-bailout-suppress-badexit.sh \
-t/tap-bailout-suppress-later-diagnostic.sh \
-t/tap-bailout-suppress-later-errors.sh \
-t/tap-color.sh \
-t/tap-deps.sh \
-t/tap-diagnostic.sh \
-t/tap-empty-diagnostic.sh \
-t/tap-empty.sh \
-t/tap-escape-directive.sh \
-t/tap-escape-directive-2.sh \
-t/tap-exit.sh \
-t/tap-signal.tap \
-t/tap-fancy.sh \
-t/tap-fancy2.sh \
-t/tap-global-log.sh \
-t/tap-global-result.sh \
-t/tap-log.sh \
-t/tap-msg0-result.sh \
-t/tap-msg0-directive.sh \
-t/tap-msg0-planskip.sh \
-t/tap-msg0-bailout.sh \
-t/tap-msg0-misc.sh \
-t/tap-merge-stdout-stderr.sh \
-t/tap-no-merge-stdout-stderr.sh \
-t/tap-no-disable-hard-error.sh \
-t/tap-no-spurious-summary.sh \
-t/tap-no-spurious-numbers.sh \
-t/tap-no-spurious.sh \
-t/tap-not-ok-skip.sh \
-t/tap-number-wordboundary.sh \
-t/tap-numeric-description.sh \
-t/tap-negative-numbers.sh \
-t/tap-numbers-leading-zero.sh \
-t/tap-out-of-order.sh \
-t/tap-passthrough.sh \
-t/tap-passthrough-exit.sh \
-t/tap-plan.sh \
-t/tap-plan-corner.sh \
-t/tap-plan-errors.sh \
-t/tap-plan-middle.sh \
-t/tap-plan-whitespace.sh \
-t/tap-plan-leading-zero.sh \
-t/tap-plan-malformed.sh \
-t/tap-missing-plan-and-bad-exit.sh \
-t/tap-planskip.sh \
-t/tap-planskip-late.sh \
-t/tap-planskip-and-logging.sh \
-t/tap-planskip-unplanned.sh \
-t/tap-planskip-unplanned-corner.sh \
-t/tap-planskip-case-insensitive.sh \
-t/tap-planskip-whitespace.sh \
-t/tap-planskip-badexit.sh \
-t/tap-planskip-bailout.sh \
-t/tap-planskip-later-errors.sh \
-t/tap-test-number-0.sh \
-t/tap-recheck-logs.sh \
-t/tap-result-comment.sh \
-t/tap-todo-skip-together.sh \
-t/tap-todo-skip-whitespace.sh \
-t/tap-todo-skip.sh \
-t/tap-unplanned.sh \
-t/tap-whitespace-normalization.sh \
-t/tap-with-and-without-number.sh \
-t/tap-xfail-tests.sh \
-t/tap-common-setup.sh \
-t/tap-bad-prog.tap \
-t/tap-basic.sh \
-t/tap-diagnostic-custom.sh \
-t/tap-driver-stderr.sh \
-t/tap-doc.sh \
-t/tap-doc2.sh \
-t/tap-more.sh \
-t/tap-more2.sh \
-t/tap-recheck.sh \
-t/tap-summary.sh \
-t/tap-summary-color.sh \
-t/tags.sh \
-t/tags2.sh \
-t/tagsub.sh \
-t/tags-pr12372.sh \
-t/tar-ustar.sh \
-t/tar-pax.sh \
-t/tar-opts-errors.sh \
-t/tar-ustar-id-too-high.sh \
-t/tar-override.sh \
-t/target-cflags.sh \
-t/targetclash.sh \
-t/tests-environment-fd-redirect.sh \
-t/tests-environment-and-log-compiler.sh \
-t/txinfo-absolute-srcdir-pr408.sh \
-t/txinfo-add-missing-and-dist.sh \
-t/txinfo-bsd-make-recurs.sh \
-t/txinfo-builddir.sh \
-t/txinfo-clean.sh \
-t/txinfo-dvi-recurs.sh \
-t/txinfo-info-in-srcdir.sh \
-t/txinfo-include.sh \
-t/txinfo-makeinfo-error-no-clobber.sh \
-t/txinfo-many-output-formats.sh \
-t/txinfo-many-output-formats-vpath.sh \
-t/txinfo-nodist-info.sh \
-t/txinfo-no-clutter.sh \
-t/txinfo-no-extra-dist.sh \
-t/txinfo-no-installinfo.sh \
-t/txinfo-no-repeated-targets.sh \
-t/txinfo-no-split.sh \
-t/txinfo-other-suffixes.sh \
-t/txinfo-override-infodeps.sh \
-t/txinfo-override-texinfo-tex.sh \
-t/txinfo-setfilename-repeated.sh \
-t/txinfo-setfilename-suffix-strip.sh \
-t/txinfo-subdir-pr343.sh \
-t/txinfo-tex-dist.sh \
-t/txinfo-unrecognized-extension.sh \
-t/txinfo-unrecognized-info-suffix.sh \
-t/txinfo-vtexi.sh \
-t/txinfo-vtexi2.sh \
-t/txinfo-vtexi3.sh \
-t/txinfo-vtexi4.sh \
-t/txinfo-without-info-suffix.sh \
-t/transform.sh \
-t/transform2.sh \
-t/transform3.sh \
-t/uninstall-fail.sh \
-t/uninstall-pr9578.sh \
-t/unused.sh \
-t/upc.sh \
-t/upc2.sh \
-t/upc3.sh \
-t/vala-configure.sh \
-t/vala-grepping.sh \
-t/vala-headers.sh \
-t/vala-libs.sh \
-t/vala-mix.sh \
-t/vala-mix2.sh \
-t/vala-non-recursive-setup.sh \
-t/vala-parallel.sh \
-t/vala-per-target-flags.sh \
-t/vala-recursive-setup.sh \
-t/vala-vapi.sh \
-t/vala-vpath.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/version3.sh \
-t/version4.sh \
-t/version6.sh \
-t/version7.sh \
-t/version8.sh \
-t/vpath.sh \
-t/warnings-obsolete-default.sh \
-t/warnings-override.sh \
-t/warnings-precedence.sh \
-t/warnings-strictness-interactions.sh \
-t/warnings-unknown.sh \
-t/warnopts.sh \
-t/warnings-win-over-strictness.sh \
-t/warning-groups-win-over-strictness.sh \
-t/werror.sh \
-t/werror2.sh \
-t/werror3.sh \
-t/werror4.sh \
-t/whoami.sh \
-t/xsource.sh \
-t/yacc-misc.sh \
-t/yacc-dry.sh \
-t/yacc-cxx-grepping.sh \
-t/yacc-vpath.sh \
-t/yacc-auxdir.sh \
-t/yacc-basic.sh \
-t/yacc-cxx.sh \
-t/yacc-bison-skeleton-cxx.sh \
-t/yacc-bison-skeleton.sh \
-t/yacc-clean.sh \
-t/yacc-clean-cxx.sh \
-t/yacc-d-basic.sh \
-t/yacc-d-cxx.sh \
-t/yacc-d-vpath.sh \
-t/yacc-deleted-headers.sh \
-t/yacc-depend.sh \
-t/yacc-depend2.sh \
-t/yacc-dist-nobuild-subdir.sh \
-t/yacc-dist-nobuild.sh \
-t/yacc-grepping.sh \
-t/yacc-grepping2.sh \
-t/yacc-headers-and-dist-pr47.sh \
-t/yacc-line.sh \
-t/yacc-mix-c-cxx.sh \
-t/yacc-nodist.sh \
-t/yacc-pr204.sh \
-t/yacc-subdir.sh \
-t/yacc-weirdnames.sh \
-t/yflags.sh \
-t/yflags-cxx.sh \
-t/yflags-cmdline-override.sh \
-t/yflags-conditional.sh \
-t/yflags-d-false-positives.sh \
-t/yflags-force-conditional.sh \
-t/yflags-force-override.sh \
-t/yflags-var-expand.sh \
-t/libtool-macros.sh \
-t/gettext-macros.sh \
-t/pkg-config-macros.sh
-
-print-list-of-tests:
- @echo $(handwritten_TESTS)
-.PHONY: print-list-of-tests
diff --git a/t/local-targets.sh b/t/local-targets.sh
new file mode 100644
index 000000000..28f01888d
--- /dev/null
+++ b/t/local-targets.sh
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2001-2014 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/>.
+
+# The 'all-local', 'check-local' and 'installdirs-local' targets can
+# also be defined by included or wrapper Makefiles that Automake never
+# sees, as well as through GNU make constructs that Automake does not
+# parse.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_SUBST([SafeInclude], [include])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+@SafeInclude@ ./inc.mk
+$(foreach x,all check installdirs,$(eval $(x)-local: ; : > main-$(x)))
+END
+
+cat > inc.mk << 'END'
+all-local check-local installdirs-local: %-local: %-incl
+all-incl check-incl installdirs-incl: %-incl:
+ : > incl-$*
+END
+
+cat > GNUmakefile << 'END'
+include ./Makefile
+all-local check-local installdirs-local: %-local: %-wrap
+all-wrap check-wrap installdirs-wrap: %-wrap:
+ : > wrap-$*
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+$MAKE check installdirs
+test -f wrap-all
+test -f wrap-check
+test -f wrap-installdirs
+test -f incl-all
+test -f incl-check
+test -f incl-installdirs
+test -f main-all
+test -f main-check
+test -f main-installdirs
+
+:
diff --git a/t/location.sh b/t/location.sh
index da63ef7f1..2c63a46f9 100644
--- a/t/location.sh
+++ b/t/location.sh
@@ -19,7 +19,6 @@
. test-init.sh
cat >> configure.ac << 'END'
-AM_CONDITIONAL([COND1], [true])
AM_CONDITIONAL([COND2], [true])
AC_PROG_CC
AM_PROG_AR
@@ -31,9 +30,6 @@ bin_PROGRAMS = libfoo.a
if COND2
lib_LIBRARIES = libfoo.a
endif
-if COND1
- bin_PROGRAMS += ctags
-endif
VAR = 1 \
2 \
3
@@ -60,8 +56,8 @@ smash_useless_diffs stderr >observed
# Apparently useless use of sed here required to avoid spuriously
# triggering some maintainer-checks failures.
sed 's/^> //' > expected << 'END'
-> Makefile.am:12: warning: VAR multiply defined in condition TRUE ...
-> Makefile.am:8: ... 'VAR' previously defined here
+> Makefile.am:9: warning: VAR multiply defined in condition TRUE ...
+> Makefile.am:5: ... 'VAR' previously defined here
> automake: error: libfoo_a_OBJECTS should not be defined
> Makefile.am:3: while processing library 'libfoo.a'
> automake: error: use 'libfoo_a_LDADD', not 'libfoo_a_LIBADD'
@@ -75,9 +71,6 @@ sed 's/^> //' > expected << 'END'
> Makefile.am:1: while processing program 'libfoo.a'
> library.am: ... 'libfoo.a' previously defined here
> Makefile.am:3: while processing library 'libfoo.a'
-> tags.am: warning: redefinition of 'ctags' ...
-> program.am: ... 'ctags$(EXEEXT)' previously defined here
-> Makefile.am:6: while processing program 'ctags'
END
cat expected
diff --git a/t/longline.sh b/t/longline.sh
index 00c133ec8..73edd962d 100644
--- a/t/longline.sh
+++ b/t/longline.sh
@@ -14,19 +14,24 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Long lines of += should be wrapped.
+# Long lines of = and += should be wrapped.
# Report from Simon Josefsson.
. 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;
-do
- echo DUMMY += some_long_filename_$i
-done) > Makefile.am
+i=0
+while test $i -lt 30; do
+ echo some_very_very_long_variable_content_$i
+ i=$(($i + 1))
+done > t
+
+{ echo "DUMMY =" && sed 's/^/DUMMY +=/' t; } > Makefile.am
+{ echo "ZARDOZ =" && cat t; } | tr '\012\015' ' ' >> Makefile.am
$ACLOCAL
$AUTOMAKE
+grep long_variable Makefile.in # For debugging.
test 80 -ge $(grep DUMMY Makefile.in | wc -c)
+test 80 -ge $(grep ZARDOZ Makefile.in | wc -c)
:
diff --git a/t/ltlibsrc.sh b/t/ltlibsrc.sh
deleted file mode 100644
index 8a11e20e6..000000000
--- a/t/ltlibsrc.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2015 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 a sensible default source for libraries is used.
-
-required='cc libtool'
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_LIBTOOL
-AC_OUTPUT
-END
-
-mkdir zoo.d
-
-cat > Makefile.am << 'END'
-AM_LDFLAGS = -module
-pkglib_LTLIBRARIES = zoo.d/bar.la old.la
-noinst_LTLIBRARIES = foo.la zoo.d/old2.la
-
-zoo_d_old2_la.c: $(srcdir)/old_la.c
- cp $(srcdir)/old_la.c $@
-
-AUTOMAKE_OPTIONS = -Wno-unsupported
-END
-
-if useless_vpath_rebuild; then
- unindent >> Makefile.am <<'END'
- # Work around a known FreeBSD make issues in VPATH builds.
- DISTCLEANFILES = zoo_d_old2_la.c
-END
-fi
-
-cat > foo.c << 'END'
-int foo (void)
-{
- return 0;
-}
-END
-
-cp foo.c zoo.d/bar.c
-cp foo.c old_la.c
-
-libtoolize
-$ACLOCAL
-$AUTOCONF
-AUTOMAKE_fails -a
-grep '^Makefile\.am:2:.*old_la\.c' stderr
-grep '^Makefile\.am:2:.*old\.c' stderr
-grep '^Makefile\.am:3:.*zoo_d_old2_la\.c' stderr
-grep '^Makefile\.am:3:.*zoo\.d/old2\.c' stderr
-
-$AUTOMAKE -Wno-obsolete
-
-mkdir sub
-cd sub
-
-../configure
-$MAKE
-
-test -f foo.la
-test -f zoo.d/bar.la
-test -f old.la
-test -f zoo.d/old2.la
-
-$MAKE distcheck
-
-:
diff --git a/t/maintmode-configure-msg.sh b/t/maintmode-configure-msg.sh
deleted file mode 100644
index 9d3cd61e9..000000000
--- a/t/maintmode-configure-msg.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Make sure that our macro 'AM_MAINTAINER_MODE' adds proper text to
-# the configure help screen. Also make sure the "checking ..." messages
-# related to the enabling/disabling of maintainer mode are correct (see
-# automake bug#9890).
-
-. test-init.sh
-
-set_maintmode ()
-{
- rm -rf autom4te*.cache # Just to be sure not to use a stale cache.
- echo "AC_INIT([$me], [1.0])" > configure.ac
- case $1 in
- DEFAULT) echo AM_MAINTAINER_MODE;;
- *) echo "AM_MAINTAINER_MODE([$*])";;
- esac >> configure.ac
-}
-
-check_configure_message_with ()
-{
- answer=$1; shift
- ./configure ${1+"$@"} >stdout || { cat stdout; exit 1; }
- cat stdout
- grep "^checking whether to enable maintainer-specific.*\\.\\.\\. $answer$" stdout
- test $(grep -c 'checking.*maint' stdout) -eq 1
-}
-
-set_maintmode "DEFAULT"
-
-$ACLOCAL
-
-$AUTOCONF --force
-
-grep_configure_help --enable-maintainer-mode 'enable make rules'
-
-check_configure_message_with "no"
-check_configure_message_with "yes" --enable-maintainer-mode
-
-set_maintmode "disable"
-
-$AUTOCONF --force
-grep_configure_help --enable-maintainer-mode 'enable make rules'
-
-check_configure_message_with "no"
-check_configure_message_with "yes" --enable-maintainer-mode
-
-set_maintmode "enable"
-
-$AUTOCONF --force
-./configure --help >stdout || { cat stdout; exit 1; }
-cat stdout
-grep_configure_help --disable-maintainer-mode 'disable make rules'
-
-check_configure_message_with "yes"
-check_configure_message_with "no" --disable-maintainer-mode
-
-:
diff --git a/t/make-dryrun.tap b/t/make-dryrun.tap
index 3cd9e5a3d..df9aef7ab 100644
--- a/t/make-dryrun.tap
+++ b/t/make-dryrun.tap
@@ -14,41 +14,38 @@
# 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 $(am__make_dryrun) works as expected.
+# Check that $(am.make.dry-run) works as expected.
. test-init.sh
-plan_ 60
-
-if echo "all: ; +@printf %sbb%s aa cc" | $MAKE -n -f - | grep aabbcc; then
- make_plus_silence () { return 0; }
-else
- make_plus_silence () { return 1; }
-fi
-
-mkdir none # Also used later.
-if echo nil: | $MAKE -I none -f -; then
- make_supports_option_I () { return 0; }
-else
- make_supports_option_I () { return 1; }
-fi
+plan_ $((27 * 6))
echo AC_OUTPUT >> configure.ac
cat > Makefile.am <<'END'
+# For debugging.
+$(warning MAKEFLAGS[make] => '$(MAKEFLAGS)')
+$(warning MFLAGS[make] => '$(MFLAGS)')
+$(warning MAKEFLAGS[env] => '$(shell printf "%s\\n" "$$MAKEFLAGS")')
+$(warning MFLAGS[env] => '$(shell printf "%s\\n" "$$MFLAGS")')
+
all:
- : Dummy, nothing to do.
-run:
- @echo ":: $$MAKEFLAGS :: $$MFLAGS ::" ;: For debugging.
- $(am__make_dryrun) && exit 1; echo ok > from-run
-dry:
- +@echo ":: $$MAKEFLAGS :: $$MFLAGS ::" ;: For debugging.
- +$(am__make_dryrun) || exit 1; echo ok > from-dry
+ @echo "Target '$@' should never run" >&2; exit 1;
+
+run-plain:
+ $(am.make.dry-run) && exit 1; echo ok > from-run
+run-recursive:
+ $(MAKE) run-plain
+dry-plain:
+ +$(am.make.dry-run) || exit 1; echo ok > from-dry
+dry-recursive:
+ $(MAKE) dry-plain
END
+# Each invocation of this will run 6 tests.
check_make ()
{
- msg= mode= condition=: directive= reason= skip_reason=
+ msg= mode=
case $1 in
--dry) mode=dry;;
--run) mode=run;;
@@ -57,27 +54,25 @@ check_make ()
shift
while test $# -gt 0; do
case $1 in
- -C) condition=$2 skip_reason=$3; shift; shift;;
-M) msg=$2; shift;;
--) shift; break;;
*) break;;
esac
shift
done
- for opts in '' '-s' '-s -r'; do
- r=ok
- pmsg=${mode}${msg:+" [$msg]"}${opts:+" ($opts)"}
- if $condition; then
- $MAKE $opts "$mode" ${1+"$@"} || r='not ok'
- test -f from-$mode || r='not ok'
- test ! -e bad || r='not ok'
- rm -f bad from-* || fatal_ "cleaning up"
- else
- directive=SKIP reason=$skip_reason
- fi
- result_ "$r" -D "$directive" -r "$reason" "$pmsg"
+ for kind in plain recursive; do
+ for opts in '' '-s' '-s -rR'; do
+ r=ok
+ msg2="${mode}, ${kind}"${msg:+" [$msg]"}${opts:+" ($opts)"}
+ $MAKE $opts "$mode-$kind" ${1+"$@"} || r='not ok'
+ test -f from-$mode || r='not ok'
+ test ! -e bad || r='not ok'
+ rm -f bad from-* || fatal_ "cleaning up"
+ result_ "$r" "$msg2"
+ unset r msg2
+ done
done
- unset r msg pmsg opts mode condition directive reason skip_reason
+ unset msg opts mode
}
# ----------------------------------------------------------------------
@@ -90,20 +85,29 @@ $AUTOMAKE || fatal_ "automake failed"
# ----------------------------------------------------------------------
check_make --run
+check_make --run -k
-# Test against a known regression. This was especially heinous, since
+# Test against known regressions. These were especially heinous, since
# make running in normal mode was sometimes mistaken for make running
# in dry mode.
+
check_make --run TESTS="n1.test n2.test"
-check_make --run TESTS="n1 n2" AM_MAKEFLAGS="TESTS='n1 n2'"
-check_make --run TESTS="n1 n2" AM_MAKEFLAGS='TESTS="n1 n2"'
+check_make --run TESTS="n1 n2" MAKEFLAGS="TESTS='n1 n2'"
+check_make --run TESTS="n1 n2" MAKEFLAGS='TESTS="n1 n2"'
check_make --run FOOFLAGS="-n -n -knf2 n --none -n"
check_make --run MYFLAGS="-n --dryrun -n --dry-run -n"
+check_make --run -- --print-directory -k
+check_make --run -- --debug=an
+check_make --run -- --print-directory --no-builtin-rules
+check_make --run -- --no-print-directory
+check_make --run -- --no-print-directory --no-builtin-rules
+
# ----------------------------------------------------------------------
-check_make --dry -C make_plus_silence 'recipe prefix "+" unsupported' -n
-check_make --dry -C using_gmake "\$MAKE is not GNU make" --dry-run -k
+check_make --dry -- -n
+check_make --dry -- --dry-run --keep-going
+check_make --dry -- --no-print-directory --dry-run -k
# ----------------------------------------------------------------------
@@ -112,17 +116,12 @@ check_make --dry -C using_gmake "\$MAKE is not GNU make" --dry-run -k
pr='bug#13760'
-check_make --run -C make_supports_option_I "-I make option unsupported" \
- -M "$pr" -I none
-
-check_make --run -C using_gmake "\$MAKE is not GNU make" \
- -M "$pr" -I none --include dry-run
-
-check_make --dry -C make_supports_option_I "-I make option unsupported" \
- -M "$pr" -I none -n
-
-check_make --dry -C using_gmake "\$MAKE is not GNU make" \
- -M "$pr" --dry-run -I none --include dry-run
+mkdir none dry-run
+check_make --run -M "$pr" -- -I none
+check_make --run -M "$pr" -- -I none --include dry-run
+check_make --dry -M "$pr" -- -I none -n
+check_make --dry -M "$pr" -- --dry-run -I none --include dry-run
+rmdir none dry-run
# ----------------------------------------------------------------------
diff --git a/t/make-keepgoing.tap b/t/make-keepgoing.tap
index c509d3f3c..a9b6e73ae 100644
--- a/t/make-keepgoing.tap
+++ b/t/make-keepgoing.tap
@@ -14,35 +14,36 @@
# 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 $(am__make_keepgoing) works as expected.
+# Check that $(am.make.keep-going) works as expected.
. test-init.sh
-plan_ 60
-
-mkdir kool # Also used later.
-if echo nil: | $MAKE -I kool -f -; then
- make_supports_option_I () { return 0; }
-else
- make_supports_option_I () { return 1; }
-fi
+plan_ 120
echo AC_OUTPUT >> configure.ac
cat > Makefile.am <<'END'
+# For debugging.
+$(warning MAKEFLAGS[make] => '$(MAKEFLAGS)')
+$(warning MFLAGS[make] => '$(MFLAGS)')
+$(warning MAKEFLAGS[env] => '$(shell printf "%s\\n" "$$MAKEFLAGS")')
+$(warning MFLAGS[env] => '$(shell printf "%s\\n" "$$MFLAGS")')
+
all:
@echo 'Default target $@ should not be called'>&2; exit 1;
-k-y:
- @echo ":: $$MAKEFLAGS :: $$MFLAGS ::" ;: For debugging.
- $(am__make_keepgoing)
-k-n:
- @echo ":: $$MAKEFLAGS :: $$MFLAGS ::" ;: For debugging.
- $(am__make_keepgoing) && exit 1; exit 0
+k-y-plain:
+ $(am.make.keep-going)
+k-n-plain:
+ $(am.make.keep-going) && exit 1; exit 0
+k-y-recursive:
+ $(MAKE) k-y-plain
+k-n-recursive:
+ $(MAKE) k-n-plain
END
check_make ()
{
- msg= mode= condition=: directive= reason= skip_reason=
+ msg= mode=
case $1 in
k-[yn]) mode=$1;;
*) fatal_ "check_run: invalid usage";;
@@ -50,25 +51,22 @@ check_make ()
shift
while test $# -gt 0; do
case $1 in
- -C) condition=$2 skip_reason=$3; shift; shift;;
-M) msg=$2; shift;;
- -X) directive=TODO;;
--) shift; break;;
*) break;;
esac
shift
done
- for opts in '' '-s' '-s -r'; do
- r=ok
- pmsg=${mode}${msg:+" [$msg]"}${opts:+" ($opts)"}
- if $condition; then
- $MAKE $opts "$mode" ${1+"$@"} || r='not ok'
- else
- directive=SKIP reason=$skip_reason
- fi
- result_ "$r" -D "$directive" -r "$reason" "$pmsg"
+ for kind in plain recursive; do
+ for opts in '' '-s' '-s -r'; do
+ r=ok
+ msg2="${mode}, ${kind}"${msg:+" [$msg]"}${opts:+" ($opts)"}
+ $MAKE $opts "$mode-$kind" ${1+"$@"} || r='not ok'
+ result_ "$r" "$msg2"
+ unset r msg2
+ done
done
- unset r msg pmsg opts mode condition directive reason skip_reason
+ unset r msg msg2 opts mode
}
# ----------------------------------------------------------------------
@@ -85,34 +83,29 @@ check_make k-n
# Test against a possible regressions similar to those that affected
# detection of dry mode ("make -n").
check_make k-n TESTS="k.test k2.test"
-check_make k-n TESTS="k1 k2" AM_MAKEFLAGS="TESTS='k1 k2'"
-check_make k-n TESTS="k1 k k2" AM_MAKEFLAGS='TESTS="k1 k k2"'
+check_make k-n TESTS="k1 k2"
+check_make k-n TESTS="k1 k k2"
check_make k-n FOOFLAGS="-k -k -nkf2 k -ks --keep -k"
check_make k-n MYFLAGS="-k --keepgoing -k --keep-run -k"
# ----------------------------------------------------------------------
check_make k-y -k
-check_make k-y -C using_gmake "\$MAKE is not GNU make" --keep-going
+check_make k-y --keep-going
# ----------------------------------------------------------------------
# Related to automake bug#12554: the "k" in "kool" used to confound
-# am__make_keepgoing into thinking the '-k' option had been passed.
+# am.make.keep-going into thinking the '-k' option had been passed.
pr='bug#12554'
-check_make k-n -C make_supports_option_I "-I make option unsupported" \
- -M "$pr" -I kool
-
-check_make k-n -C using_gmake "\$MAKE is not GNU make" \
- -M "$pr" -I kool --include keep-going
-
-check_make k-y -C make_supports_option_I "-I make option unsupported" \
- -M "$pr" -I kool -k
-
-check_make k-y -C using_gmake "\$MAKE is not GNU make" \
- -M "$pr" --keep-going -I kool --include keep-going
+mkdir kool
+check_make k-n -M "$pr" -I kool
+check_make k-n -M "$pr" -I kool --include keep-going
+check_make k-y -M "$pr" -I kool -k
+check_make k-y -M "$pr" --keep-going -I kool --include keep-going
+rmdir kool
# ----------------------------------------------------------------------
diff --git a/t/make.sh b/t/make.sh
deleted file mode 100644
index 43cde411f..000000000
--- a/t/make.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 'make' check works.
-# From Ralf Corsepius.
-
-required=GNUmake
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AM_MAKE_INCLUDE
-AC_OUTPUT
-END
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-export ACLOCAL
-export AUTOCONF
-export AUTOMAKE
-
-# Do the test twice -- once with make and once with make -w.
-# This tests for a bug reported by Rainer Orth (see PR 175).
-
-save="$MAKE"
-for flag in '' -w; do
- MAKE="$save $flag" ./configure
- $FGREP 'am__include = include' Makefile
- $sleep
- touch configure.ac
- $MAKE $flag
- $FGREP 'am__include = include' Makefile
- rm -f config.cache
-done
-
-exit 0
diff --git a/t/makej.sh b/t/makej.sh
index 8e4091758..f78c3d810 100644
--- a/t/makej.sh
+++ b/t/makej.sh
@@ -21,7 +21,6 @@
# depend on the time at which autoconf and automake update the cache
# via autom4te.
-required=GNUmake
. test-init.sh
cat >configure.ac <<END
diff --git a/t/makej2.sh b/t/makej2.sh
index 59fcfbaff..9c71b1636 100644
--- a/t/makej2.sh
+++ b/t/makej2.sh
@@ -17,6 +17,8 @@
# Test to make sure known BSD 'make -jN' issues are fixed:
# without -B, it may reuse the same shell for separate commands in a
# rule, which can lead to interesting results.
+# Problems like this shouldn't happen with GNU make, but we keep the
+# test anyway for the moment, for extra safety.
. test-init.sh
@@ -37,7 +39,6 @@ mkdir build
cd build
../configure --prefix="$(pwd)/inst"
-$MAKE -j2 || skip_ "$MAKE failed to run with two parallel jobs"
$MAKE -j2 distcheck
$MAKE test-distdir-removed
diff --git a/t/maken.sh b/t/maken.sh
index 673e75abc..a91563cee 100644
--- a/t/maken.sh
+++ b/t/maken.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/>.
-# Ensure that 'make -n dist' and 'make -n distcheck' do not change files
+# Ensure that "make -n dist" and "make -n distcheck" do not change files
# on disk, due to GNU make executing rules containing '$(MAKE)'.
-# Also, ensure that 'make -n dist' and 'make -n distcheck' show what
-# would happen, at least when using GNU make.
+# Also, ensure that "make -n dist" and "make -n distcheck" show what
+# would happen.
. test-init.sh
@@ -47,16 +47,16 @@ $AUTOCONF
$AUTOMAKE
./configure
-echo stamp > stampfile
-$sleep
for target in dist distcheck; do
+ echo stamp > stampfile
+ $sleep
+ chmod a-w .
$MAKE -n $target
- if using_gmake; then
- $MAKE -n $target | grep stamp-sub-dist-hook || exit 1
- fi
- $MAKE test-no-distdir
+ $MAKE -n $target | grep stamp-sub-dist-hook
+ chmod u+w .
# No file has been actually touched or created.
- is_newest stampfile $(find . -type f) sub
+ is_newest stampfile $(find . | grep -v '^\.$')
+ $MAKE test-no-distdir
done
:
diff --git a/t/maken3.sh b/t/maken3.sh
index 6b0c03bb2..ceca00775 100644
--- a/t/maken3.sh
+++ b/t/maken3.sh
@@ -17,9 +17,7 @@
# Test 'make -n' for various targets, to ensure that:
#
# 1. no files or directories are created or removed, and
-#
-# 2. if using GNU make or a make implementation supporting the .MAKE
-# special target, the output from make is sufficiently complete.
+# 2. the output from make is sufficiently complete.
#
# This test exercises the GCS-mandated targets (except for dist)
# as well as tags.
@@ -27,21 +25,6 @@
# For gen-testsuite-part: ==> try-with-serial-tests <==
. test-init.sh
-# Does $MAKE support the '.MAKE' special target?
-have_dotmake=false
-if using_gmake; then
- have_dotmake=: # GNU make must support it.
-else
- unindent > mk.tmp << 'END'
- targ.tmp:
- : > $@
- .MAKE: targ.tmp
-END
- if $MAKE -n -f mk.tmp targ.tmp && test -f targ.tmp; then
- have_dotmake=:
- fi
-fi
-
mkdir sub sub2
cat >> configure.ac << 'END'
@@ -146,27 +129,21 @@ check_targets ()
case $target in
install-* | installdirs | tags ) ;;
*)
- if $have_dotmake; then
- grep "stamp-$target$" stdout || exit 1
- fi
+ grep "stamp-$target$" stdout || exit 1
test ! -e "stamp-$target" || exit 1
;;
esac
case $target in
install-* | installdirs ) ;;
*)
- if $have_dotmake; then
- grep "stamp-$target-sub" stdout || exit 1
- fi
+ grep "stamp-$target-sub" stdout || exit 1
test ! -e "sub/stamp-$target-sub" || exit 1
;;
esac
case $target in
distclean | maintainer-clean ) ;;
*)
- if $have_dotmake; then
- grep "should-not-be-executed" stdout || exit 1
- fi
+ grep "should-not-be-executed" stdout || exit 1
test ! -e "sub2/sub2-$target-should-not-be-executed" || exit 1
;;
esac
diff --git a/t/man3.sh b/t/man3.sh
index 54768f686..ef125534f 100644
--- a/t/man3.sh
+++ b/t/man3.sh
@@ -39,6 +39,6 @@ $ACLOCAL
$AUTOMAKE
$AUTOCONF
./configure
-run_make DISTCHECK_CONFIGURE_FLAGS='foo=bar' distcheck
+$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS="foo=bar"
:
diff --git a/t/man6.sh b/t/man6.sh
index 6f03c7cff..269b8e8ca 100644
--- a/t/man6.sh
+++ b/t/man6.sh
@@ -20,10 +20,6 @@
required=help2man
. test-init.sh
-# Avoid a spurious failure due to a known FreeBSD make incompatibility.
-useless_vpath_rebuild \
- && skip_ "VPATH useless rebuild detected (see bug#7884)"
-
cat > Makefile.am << 'END'
dist_man_MANS = $(srcdir)/foobar.1 bazquux.1 zardoz.1
dist_bin_SCRIPTS = foobar bazquux zardoz
diff --git a/t/man8.sh b/t/man8.sh
index ab48610b6..54ce6e566 100644
--- a/t/man8.sh
+++ b/t/man8.sh
@@ -18,10 +18,6 @@
. test-init.sh
-# Avoid a spurious failure due to a known FreeBSD make incompatibility.
-useless_vpath_rebuild \
- && skip_ "VPATH useless rebuild detected (see bug#7884)"
-
cat > Makefile.am << 'END'
dist_man_MANS = foo.1
foo.1:
diff --git a/t/memoize.tap b/t/memoize.tap
new file mode 100644
index 000000000..a0aadcdd4
--- /dev/null
+++ b/t/memoize.tap
@@ -0,0 +1,335 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 Automake-provided memoization for make variables.
+
+am_create_testdir=empty
+. test-init.sh
+
+plan_ 17
+
+ocwd=$(pwd) || fatal_ "couldn't get current working directory"
+
+# Filter out Automake comments.
+grep -v '^##' "$am_amdir"/header-vars.mk > defn.mk \
+ || fatal_ "fetching makefile fragment headers-vars.am"
+
+T ()
+{
+ tcount=$(($tcount + 1))
+ mkdir $tcount.d
+ cd $tcount.d
+ echo include ../defn.mk > Makefile
+ cat >> Makefile
+ command_ok_ "$1" "$MAKE" test
+ cd ..
+}
+tcount=0
+
+#---------------------------------------------------------------------------
+
+## NOTE: Every repeated check in the recipes of the tests below is
+## really intended!
+
+#---------------------------------------------------------------------------
+
+T "basic usage" <<'END'
+
+foo = $(call am.memoize,foo,ok)
+
+test:
+ test '$(foo)' = ok
+ test '$(foo)' = ok
+END
+
+#---------------------------------------------------------------------------
+
+T "variables expanding to blanks only (1)" <<'END'
+
+foo = $(call am.memoize,foo,$(am.chars.empty) )
+
+test:
+ test '$(foo)' = ' '
+ test '$(foo)' = ' '
+END
+
+#---------------------------------------------------------------------------
+
+T "variables expanding to blanks only (2)" <<END
+
+blank = \$(am.chars.empty) $tab$tab \$(am.chars.empty)
+foo = \$(call am.memoize,foo,\$(blank))
+
+test:
+ test '\$(foo)' = ' $tab$tab '
+ test '\$(foo)' = ' $tab$tab '
+END
+
+#---------------------------------------------------------------------------
+
+# $var will be 3 * 2^12 ~ 12000 characters long.
+var=foo
+for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
+ var=$var$var
+ # Temporary disable shell traces, because otherwise the result '.log' file
+ # would end up having too long lines that could confuse inferior awk
+ # implementations (e.g., Solaris 10 /usr/xpg4/bin/awk), which would cause
+ # spurious errors in our test harness.
+ set +x
+done
+set -x # Re-enable shell traces.
+
+T "very long variable name" <<END
+
+$var = \$(call am.memoize,$var,foo)
+
+test:
+ # Why we silence this?
+ # See comment above about overly long lines in '.log' file.
+ @echo test1; test '\$($var)' = foo
+ @echo test2; test '\$($var)' = foo
+END
+
+#---------------------------------------------------------------------------
+
+# $var and $val will be 3 * 2^12 ~ 12000 characters long.
+var=foo
+val=bar
+for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
+ var=$var$var
+ val=$val$val
+ # Temporary disable shell traces. See comment above for a rationale.
+ set +x
+done
+set -x # Re-enable shell traces.
+
+T "very long variable name with long content" <<END
+
+$var = \$(call am.memoize,$var,$val)
+
+test:
+ # Why we silence this?
+ # See comment above about overly long lines in '.log' file.
+ @echo test1; test '\$($var)' = '$val'
+ @echo test2; test '\$($var)' = '$val'
+END
+
+#---------------------------------------------------------------------------
+
+T "memoize indirect recursive variable expansion" <<'END'
+
+foo = $(call am.memoize,foo,$(indir))
+
+## This is delibrately placed after the memoize call.
+indir = zardoz
+
+test:
+ test '$(foo)' = zardoz
+ test '$(foo)' = zardoz
+END
+
+#---------------------------------------------------------------------------
+
+T "memoize indirect immediate variable expansion" <<'END'
+
+foo = $(call am.memoize,foo,$(indir))
+
+## This is delibrately placed after the memoize call.
+indir := blob
+
+test:
+ test '$(foo)' = blob
+ test '$(foo)' = blob
+END
+
+#---------------------------------------------------------------------------
+
+T "memoize function call (containing builtin calls)" <<'END'
+
+my_func = $(firstword $(sort $(1)))
+foo = $(call am.memoize,foo,$(call my_func, 6 3 1 7))
+
+test:
+ test '$(foo)' = 1
+ test '$(foo)' = 1
+END
+
+#---------------------------------------------------------------------------
+
+T "expanded as function argument" <<'END'
+
+foo = $(call am.memoize,foo,bar)
+func = ::$(0)::$(1)::
+
+test:
+ test '$(call func,$(foo))' = ::func::bar::
+ test '$(foo)' = bar
+ # Once more.
+ test '$(call func,$(foo))' = ::func::bar::
+END
+
+#---------------------------------------------------------------------------
+
+T "expanded as function argument (trickier)" <<'END'
+
+foo = $(call am.memoize,foo,zardoz)
+indir_func = ::$($1)::
+
+test:
+ test '$(call indir_func,foo)' = ::zardoz::
+ test '$(foo)' = zardoz
+ # Once more.
+ test '$(call indir_func,foo)' = ::zardoz::
+END
+
+#---------------------------------------------------------------------------
+
+T "expanded into another memoized variable" <<'END'
+
+foo = $(call am.memoize,foo,one $(bar))
+bar = $(call am.memoize,bar,two $(baz))
+baz = $(call am.memoize,baz,$(sort 4 3))
+
+test:
+ test '$(foo)' = 'one two 3 4'
+ test '$(bar)' = 'two 3 4'
+END
+
+#---------------------------------------------------------------------------
+
+T "memoization actually takes place (1)" <<'END'
+
+indir := ok
+foo = $(call am.memoize,foo,$(indir))
+expand-it := $(foo)
+override indir := ko
+
+test:
+ test '$(foo)' = ok
+ test '$(indir)' = ko
+END
+
+#---------------------------------------------------------------------------
+
+T "memoization actually takes place (2)" <<'END'
+
+indir := ok
+expand = $(eval expanded-to := $$($1))
+foo = $(call am.memoize,foo,$(indir))
+$(call expand,foo)
+override indir := ko
+
+test:
+ test '$(foo)' = ok
+ test '$(indir)' = ko
+ test '$(expanded-to)' = ok
+END
+
+#---------------------------------------------------------------------------
+
+T "memoization actually takes place (3)" <<'END'
+
+foo1 = $(call am.memoize,foo1,$(shell test -f x && echo "+"))
+foo2 = $(call am.memoize,foo2,$(shell test -f y || echo "-"))
+
+test: one two
+two: one
+.PHONY: one two one-setup two-setup
+one-setup:
+ rm -f y
+ echo dummy > x
+one: one-setup
+ test -f x
+ test '$(foo1)' = '+'
+ test ! -f y
+ test '$(foo2)' = '-'
+two-setup:
+ rm -f x
+ echo dummy > y
+two: two-setup
+ test ! -f x
+ test '$(foo1)' = '+'
+ test -f y
+ test '$(foo2)' = '-'
+END
+
+#---------------------------------------------------------------------------
+
+
+T "definition on multiple lines" <<'END'
+
+foo = $(call am.memoize,foo,a \
+ b \
+ c \
+ \
+ d)
+
+test:
+ test '$(foo)' = 'a b c d'
+ test '$(foo)' = 'a b c d'
+END
+
+#---------------------------------------------------------------------------
+
+# This usage has been known to cause problems with GNU make <= 3.82,
+# tickling this bug:
+# <http://lists.gnu.org/archive/html/bug-make/2012-05/msg00013.html>
+# <https://savannah.gnu.org/patch/?7534>
+
+T "known GNU make issue (https://savannah.gnu.org/patch/?7534)" <<'END'
+
+setup := $(shell mkdir -p t/pm && : > t/pm/Cond2.pl)
+
+TESTS = $(wildcard t/pm/Cond2.pl)
+am.test-suite.test-bases = $(call am.memoize,am.test-suite.test-bases,$(TESTS))
+
+test:
+ test '$(am.test-suite.test-bases)' = 't/pm/Cond2.pl'
+END
+
+#---------------------------------------------------------------------------
+
+# Try memoization with variables having a very long content. Our first
+# (unpublished) memoization implementation didn't work in that case -- it
+# triggered errors like "*** unterminated variable reference. Stop" when
+# the content's length because big enough.
+
+line='dummy abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ='
+
+# About 1 million lines.
+echo " $line \\" > t
+for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
+ cat t t > t1
+ mv -f t1 t
+done
+
+echo "list = \$(call am.memoize,list,$line \\" >> big.mk
+cat t >> big.mk
+echo " $line)" >> big.mk
+
+cat >> big.mk << 'END'
+test:
+ test x'$(word 1, $(list))' = x'dummy'
+ test x'$(word 3, $(list))' = x'='
+ test x'$(word 31, $(list))' = x'dummy'
+ test x'$(word 93, $(list))' = x'='
+END
+
+T "very long variable content" < big.mk
+
+#---------------------------------------------------------------------------
+
+:
diff --git a/t/mkinst3.sh b/t/mkinst3.sh
index d725fdacf..71d3dfe1f 100644
--- a/t/mkinst3.sh
+++ b/t/mkinst3.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/>.
-# Test mkinstalldirs with spaces in directory names.
+# Test "install-sh -d" with spaces in directory names.
am_create_testdir=empty
. test-init.sh
@@ -26,15 +26,15 @@ mkdir '~a b' && mkdir '~a b/-x y' \
|| skip_ "directory names with spaces and metacharacters not accepted"
rm -rf '~a b'
-get_shell_script mkinstalldirs
+get_shell_script install-sh
-# Test mkinstalldirs with the installed mkdir.
+# Test with the installed mkdir.
-./mkinstalldirs '~a b/-x y'
+./install-sh -d '~a b/-x y'
test -d '~a b/-x y'
rm -rf '~a b'
-# Trick mkinstalldirs into thinking mkdir does not support -p.
+# Trick install-sh into thinking mkdir does not support -p.
mkdir bin
cat >bin/mkdir <<'EOF'
@@ -55,13 +55,13 @@ chmod +x bin/mkdir
AM_PATH=$PATH; export AM_PATH
PATH=$cwd/bin$PATH_SEPARATOR$PATH; export PATH
-# Test mkinstalldirs without mkdir -p.
+# Test without mkdir -p.
-./mkinstalldirs '~a b/-x y'
+./install-sh -d '~a b/-x y'
test -d '~a b/-x y'
rm -rf '~a b'
-./mkinstalldirs "$cwd///~a b//-x y"
+./install-sh -d "$cwd///~a b//-x y"
test -d "$cwd/~a b/-x y"
rm -rf '~a b'
diff --git a/t/mkinstall.sh b/t/mkinstall.sh
deleted file mode 100644
index ba58ef22d..000000000
--- a/t/mkinstall.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2015 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 for bug where mkinstalldirs variable can be set incorrectly.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-# The "././" prefix confuses Automake into thinking it is doing a
-# subdir build. Yes, this is hacky.
-$ACLOCAL
-$AUTOMAKE ././Makefile
-
-grep ' /mkinstalldirs' Makefile.in && exit 1
-exit 0
diff --git a/t/mmode.sh b/t/mmode.sh
deleted file mode 100644
index f34429fd5..000000000
--- a/t/mmode.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2008-2015 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 for AM_MAINTAINER_MODE defaults.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AM_MAINTAINER_MODE
-AC_OUTPUT
-END
-
-: >Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-grep '^MAINT.*#' Makefile
-
-./configure --disable-maintainer-mode
-grep '^MAINT.*#' Makefile
-
-./configure --enable-maintainer-mode
-grep '^MAINT.*#' Makefile && exit 1
-
-sed 's/\(AM_MAINTAINER_MODE\).*/\1([disable])/' configure.ac > configure.tmp
-mv -f configure.tmp configure.ac
-mv configure configure1
-$AUTOCONF --force
-diff configure configure1
-
-sed 's/\(AM_MAINTAINER_MODE\).*/\1([enable])/' configure.ac > configure.tmp
-mv -f configure.tmp configure.ac
-$AUTOCONF --force
-
-./configure
-grep '^MAINT.*#' Makefile && exit 1
-
-./configure --enable-maintainer-mode
-grep '^MAINT.*#' Makefile && exit 1
-
-./configure --disable-maintainer-mode
-grep '^MAINT.*#' Makefile
-
-sed 's/\(AM_MAINTAINER_MODE\).*/\1([foo])/' configure.ac > configure.tmp
-mv -f configure.tmp configure.ac
-$AUTOCONF --force -Werror && exit 1
-
-:
diff --git a/t/mmodely.sh b/t/mmodely.sh
deleted file mode 100644
index 63f3409e8..000000000
--- a/t/mmodely.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2004-2015 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/>.
-
-# Verify that intermediate files are only built from Yacc and Lex
-# sources in maintainer mode.
-# From Derek R. Price.
-
-required=cc
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AM_MAINTAINER_MODE
-AC_PROG_CC
-AM_PROG_LEX
-AC_PROG_YACC
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-YACC = false
-LEX = false
-bin_PROGRAMS = zardoz
-zardoz_SOURCES = zardoz.y joe.l
-LDADD = @LEXLIB@
-END
-
-# The point of this test is that it is not dependent on a working lex
-# or yacc.
-cat > joe.c <<EOF
-int joe (int arg)
-{
- return arg * 2;
-}
-EOF
-# On systems which link in libraries non-lazily and whose linkers
-# complain about unresolved symbols by default, such as Solaris, an
-# yylex function needs to be defined to avoid an error due to an
-# unresolved symbol.
-cat > zardoz.c <<EOF
-int joe (int arg);
-int yylex (void)
-{
- return 0;
-}
-int main (int argc, char **argv)
-{
- return joe (argc);
-}
-EOF
-
-# Ensure a later timestamp for our Lex & Yacc sources.
-$sleep
-: > joe.l
-: > zardoz.y
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-$MAKE
-
-cat >myyacc.sh <<'END'
-#! /bin/sh
-echo "$@" >y.tab.c
-END
-cat >mylex.sh <<'END'
-echo "$@" >lex.yy.c
-END
-chmod +x myyacc.sh mylex.sh
-PATH=$(pwd)$PATH_SEPARATOR$PATH; export PATH
-
-# "make maintainer-clean; ./configure; make" should always work,
-# per GNU Standard.
-$MAKE maintainer-clean
-./configure
-run_make YACC=myyacc.sh LEX=mylex.sh LEX_OUTPUT_ROOT=lex.yy zardoz.c joe.c
-$FGREP zardoz.y zardoz.c
-$FGREP joe.l joe.c
-
-:
diff --git a/t/no-c.tap b/t/no-c.tap
new file mode 100644
index 000000000..22485d4f0
--- /dev/null
+++ b/t/no-c.tap
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Projects using only Fortran or C++ shouldn't need C-related stuff.
+
+am_create_testdir=empty
+. test-init.sh
+
+plan_ 6
+
+only_ ()
+{
+ test $# -eq 3 || fatal_ "only_: bad usage"
+ lang=$1; shift
+ macro=$1; shift
+ sources=$*
+ : ================ $lang ================ :
+ mkdir "$macro"
+ cd "$macro"
+ unindent > configure.ac <<END
+ AC_INIT([Only $2], [1.0])
+ AM_INIT_AUTOMAKE
+ AC_CONFIG_FILES([Makefile])
+ $macro
+END
+ echo bin_PROGRAMS = foo > Makefile.am
+ echo foo_SOURCES = $sources >> Makefile.am
+ r=ok
+ $ACLOCAL \
+ && $AUTOMAKE -a \
+ && not $EGREP '\(CC\)|\(CFLAGS\)|AM_CFLAGS' Makefile.in \
+ || r='not ok'
+ result_ "$r" "$lang only"
+ cd ..
+}
+
+only_ "C++" AC_PROG_CXX '1.cxx 2.cpp 3.c++ 4.cc 5.C'
+only_ "Fortran" AC_PROG_FC 'a.f90 b.f95 c.f03 d.f08'
+only_ "Fortran 77" AC_PROG_F77 'x.f y.for'
+only_ "Java" AM_PROG_GCJ 'foo.java bar.class'
+only_ "Objective C" AC_PROG_OBJC 'zardoz.m fu.m'
+only_ "Objective C++" AC_PROG_OBJCXX 'foo.mm bar.mm'
+
+:
diff --git a/t/no-extra-makefile-code.sh b/t/no-extra-makefile-code.sh
index e1e9ec8a3..8345a15da 100644
--- a/t/no-extra-makefile-code.sh
+++ b/t/no-extra-makefile-code.sh
@@ -35,7 +35,6 @@ $ACLOCAL
# are not spuriously required by Automake.
$AUTOMAKE
-$EGREP 'INCLUDES|@am__isrc@|-compile|\$\(OBJEXT\)|tab\.[ch]' \
- Makefile.in && exit 1
+$EGREP 'INCLUDE|-compile|\$\(OBJEXT\)|tab\.[ch]' Makefile.in && exit 1
:
diff --git a/t/no-spurious-install-recursive.sh b/t/no-spurious-install-recursive.sh
index 8c17bac97..b45422152 100644
--- a/t/no-spurious-install-recursive.sh
+++ b/t/no-spurious-install-recursive.sh
@@ -27,6 +27,13 @@ END
$ACLOCAL
$AUTOMAKE
-grep 'install-recursive' Makefile.in && exit 1
+$AUTOCONF
+
+./configure
+
+for t in all check install; do
+ run_make -E -e FAIL -- -n $t-recursive
+ grep " [Nn]o rule to make target.*[\`\"']$t-recursive" stderr
+done
:
diff --git a/t/nodep.sh b/t/nodep.sh
deleted file mode 100644
index 641f7db06..000000000
--- a/t/nodep.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1999-2015 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 no-dependencies option does the right thing.
-# Bug report from Greg A. Woods.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = no-dependencies
-bin_PROGRAMS = zardoz
-zardoz_SOURCES = y.c
-END
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-END
-
-mkdir x
-
-: > y.c
-
-$ACLOCAL
-$AUTOMAKE
-
-sed 's/printf .*%s//' Makefile.in > Makefile.tmp
-grep '%' Makefile.tmp && exit 1
-
-:
diff --git a/t/nodist.sh b/t/nodist.sh
index e9d918e47..be11d533a 100644
--- a/t/nodist.sh
+++ b/t/nodist.sh
@@ -34,7 +34,7 @@ $ACLOCAL
$AUTOMAKE
grep '^am_eyeball_OBJECTS' Makefile.in
-grep '^DIST_SOURCES =' Makefile.in
-grep '^DIST_SOURCES =.*nodist' Makefile.in && exit 1
+grep '^am.dist.sources =' Makefile.in
+grep '^am.dist.sources =.*nodist' Makefile.in && exit 1
:
diff --git a/t/nodist3.sh b/t/nodist3.sh
index 010439f5e..248be1e7f 100644
--- a/t/nodist3.sh
+++ b/t/nodist3.sh
@@ -32,6 +32,6 @@ $ACLOCAL
$AUTOMAKE
grep '^dist:' Makefile.in && exit 1
-grep '^DIST_SOURCES =' Makefile.in && exit 1
+grep 'am.dist.sources' Makefile.in && exit 1
:
diff --git a/t/noinst.sh b/t/noinst.sh
index dd994a6ef..849c7abf2 100644
--- a/t/noinst.sh
+++ b/t/noinst.sh
@@ -21,12 +21,18 @@
cat > Makefile.am << 'END'
all-local:
- exit 1
+ echo ok > all-has-run
END
+echo AC_OUTPUT >> configure.ac
+
$ACLOCAL
$AUTOMAKE
+$AUTOCONF
-grep '^install[-a-z]*:.* all' Makefile.in
+./configure --prefix=$(pwd)/oops
+$MAKE install
+test -f all-has-run
+test ! -e oops
:
diff --git a/t/nostdinc.sh b/t/nostdinc.sh
index 857bc08a0..1fa496238 100644
--- a/t/nostdinc.sh
+++ b/t/nostdinc.sh
@@ -16,11 +16,7 @@
# Test to make sure nostdinc option works correctly.
-# We don't require a C compiler explicitly, because the first part of the
-# test (where 'Makefile.in' is grepped) does not require one. Insted, we
-# just skip the rest of the test if configure fails to find a working C
-# compiler.
-
+required=cc
. test-init.sh
cat >> configure.ac << 'END'
@@ -31,26 +27,41 @@ END
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = nostdinc
bin_PROGRAMS = foo
-foo_SOURCES = foo.c
END
-$ACLOCAL
-$AUTOMAKE
+cat > foo.c << 'END'
+#include <stdlib.h>
+int main (void)
+{
+ exit (0);
+}
+END
-$EGREP '(-I *\.|-I.*srcdir|am__isrc)' Makefile.in && exit 1
+# This shouldn't be picked up.
+cat > stdlib.h << 'END'
+#error "stdlib.h from source dir included"
+choke me
+END
-# We'll test the fully-processed Makefile too.
+$ACLOCAL
$AUTOCONF
+$AUTOMAKE --add-missing
# Test with $builddir != $srcdir
mkdir build
cd build
-../configure || exit $?
-$EGREP '.*-I *(\.|\$.srcdir.)' Makefile && exit 1
+../configure
+run_make -O V=1
+grep '.*-I *\.' stdout && exit 1
+$MAKE clean
+# Shouldn't be picked up from builddir either.
+cp ../stdlib.h .
+$MAKE
+cd ..
# Test with $builddir = $srcdir
-cd ..
-./configure || exit $?
-$EGREP '.*-I *(\.|\$.srcdir.)' Makefile && exit 1
+./configure
+run_make -O V=1
+grep '.*-I *\.' stdout && exit 1
-exit 0
+:
diff --git a/t/objc-basic.sh b/t/objc-basic.sh
index 2ce83e67b..e036390cc 100644
--- a/t/objc-basic.sh
+++ b/t/objc-basic.sh
@@ -33,6 +33,8 @@ echo AC_PROG_OBJC >> configure.ac
$ACLOCAL
$AUTOMAKE
-$EGREP '^\.SUFFIXES:.* \.m( |$)' Makefile.in
+$FGREP '$(OBJC)' Makefile.in
+$FGREP '$(OBJCLD)' Makefile.in
+grep '^%\.$(OBJEXT): %\.m$' Makefile.in
:
diff --git a/t/objcxx-basic.sh b/t/objcxx-basic.sh
index 45584433a..38ea7bfcc 100644
--- a/t/objcxx-basic.sh
+++ b/t/objcxx-basic.sh
@@ -35,6 +35,8 @@ END
$ACLOCAL
$AUTOMAKE
-$EGREP '^\.SUFFIXES:.* \.mm( |$)' Makefile.in
+$FGREP '$(OBJCXX)' Makefile.in
+$FGREP '$(OBJCXXLD)' Makefile.in
+grep '^%\.$(OBJEXT): %\.mm$' Makefile.in
:
diff --git a/t/objdir.sh b/t/objdir.sh
new file mode 100644
index 000000000..56b819f7e
--- /dev/null
+++ b/t/objdir.sh
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# A directory named 'obj' could create problems with BSD make, but
+# shouldn't with GNU make; so check that
+# - the old portability warning diagnosing it is gone, and
+# - such a directory truly causes no problems with GNU make.
+
+am_create_testdir=empty
+. test-init.sh
+
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AC_CONFIG_AUX_DIR([obj])
+AM_INIT_AUTOMAKE
+AC_REQUIRE_AUX_FILE([Makefile])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+mkdir obj
+cat > obj/Makefile <<'END'
+$(error GNU make should not consider this)
+all:
+ echo "GNU make should not consider this"; exit 1
+END
+
+cat > Makefile.am <<'END'
+check-local:
+ test -f $(srcdir)/obj/Makefile
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+$AUTOCONF
+
+test -f obj/install-sh
+test ! -f install-sh
+
+./configure
+# This first make invocation actually fails with NetBSD make
+# and FreeBSD 8.2 make.
+$MAKE
+$MAKE distcheck
+
+:
diff --git a/t/syntax.sh b/t/option-ng.sh
index e3fb329e5..54e005a99 100644
--- a/t/syntax.sh
+++ b/t/option-ng.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,18 +14,19 @@
# 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 for error for bad syntax.
+# Automake-NG should recognize the (no-op) 'ng' option.
. test-init.sh
-cat > Makefile.am << 'END'
-foo = q \
-
-bin_SCRIPTS = foo.sh
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE([ng])
+AC_CONFIG_FILES([Makefile])
END
+echo AUTOMAKE_OPTIONS = ng > Makefile.am
+
$ACLOCAL
-AUTOMAKE_fails -Wnone
-grep '^Makefile\.am:2:.*blank line following trailing backslash' stderr
+$AUTOMAKE
:
diff --git a/t/output11.sh b/t/output11.sh
index 5b7615325..d4320cfa8 100644
--- a/t/output11.sh
+++ b/t/output11.sh
@@ -20,16 +20,16 @@
cat >> configure.ac << \END
AC_SUBST([FOO], [foo])
-file1=this.in
-echo @FOO@ >$file1
-file2=that
-file3=mumble
-file4=foo
-AC_CONFIG_FILES([this:$file1],, [file1=$file1])
-AC_CONFIG_FILES([sub/this:$file1])
-AC_CONFIG_FILES([${file2}:this],, [file2=$file2])
-AC_CONFIG_FILES([$file3],, [file3=$file3])
-AC_CONFIG_FILES([$file4:foo.in],, [file4=$file4])
+xfile1=this.in
+echo @FOO@ >$xfile1
+xfile2=that
+xfile3=mumble
+xfile4=foo
+AC_CONFIG_FILES([this:$xfile1],, [xfile1=$xfile1])
+AC_CONFIG_FILES([sub/this:$xfile1])
+AC_CONFIG_FILES([${xfile2}:this],, [xfile2=$xfile2])
+AC_CONFIG_FILES([$xfile3],, [xfile3=$xfile3])
+AC_CONFIG_FILES([$xfile4:foo.in],, [xfile4=$xfile4])
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
END
@@ -53,7 +53,7 @@ $ACLOCAL
$AUTOCONF
$AUTOMAKE
-$FGREP ' $file' Makefile.in sub/Makefile.in && exit 1
+$FGREP ' $xfile' Makefile.in sub/Makefile.in && exit 1
./configure
$MAKE distcheck
diff --git a/t/output6.sh b/t/output6.sh
index adaadaa88..ccc584bd8 100644
--- a/t/output6.sh
+++ b/t/output6.sh
@@ -51,12 +51,16 @@ EOF
echo 'd = D' > d.in
+cat > GNUmakefile << 'END'
+include foo
+END
$ACLOCAL
$AUTOCONF
$AUTOMAKE
+
./configure
-$MAKE -f foo test1
+$MAKE test1
$sleep
cat >b.in <<'EOF'
@@ -66,7 +70,6 @@ c = F
d = F
EOF
-using_gmake || $MAKE -f foo
-$MAKE -f foo test2
+$MAKE test2
:
diff --git a/t/override-conditional-1.sh b/t/override-conditional-1.sh
index 65787829e..5494a4984 100644
--- a/t/override-conditional-1.sh
+++ b/t/override-conditional-1.sh
@@ -24,10 +24,11 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
+man1_MANS = foo.1
foobar:
: > $@
if COND
-ps: foobar
+install-man: foobar
:
endif
END
@@ -35,19 +36,25 @@ END
$ACLOCAL
$AUTOMAKE -Wno-override
-# "ps:" should be output in two conditions
-test $(grep -c '[^-]ps:' Makefile.in) -eq 2
-grep '@COND_TRUE@ps: *foobar' Makefile.in
-grep '@COND_FALSE@ps: *ps-am' Makefile.in
+# "install-man:" should be output in two conditions
+grep 'install-man' Makefile.in # For debugging.
+test $(grep -c '@install-man:' Makefile.in) -eq 2
+grep '@COND_TRUE@install-man: *foobar' Makefile.in
+grep '@COND_FALSE@install-man:' Makefile.in
$AUTOCONF
+: > foo.1
-./configure cond=no
-$MAKE ps
+./configure cond=no --prefix="$(pwd)/inst"
+$MAKE install-man
+test -d inst
test ! -e foobar
-./configure cond=yes
-$MAKE ps
+rm -rf inst
+
+./configure cond=yes --prefix="$(pwd)/inst"
+$MAKE install-man
+test ! -e inst
test -f foobar
:
diff --git a/t/parallel-am.sh b/t/parallel-am.sh
deleted file mode 100644
index 9cdc4d4d6..000000000
--- a/t/parallel-am.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2008-2015 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 parallel automake execution.
-
-# There are several hypotheses to be tested: Independently of the number
-# of threads used by automake,
-# 0) the generated Makefile.in files must be identical without --add-missing,
-# 1) the Makefile.in that distributes auxiliary files must be generated
-# after all other ones, so all installed aux files are caught,
-# 2) normal automake output should have identical content and be ordered
-# in the same way, when --add-missing is not passed, or when
-# --add-missing is passed but there are no concurrent file requirements
-# (i.e., two Makefile.am files call for the same needed aux file)
-# 3) normal automake output should be identical and ordered in the same way
-# with --add-missing, even with concurrent file requirements, and the
-# installation of aux files should be race-free,
-# 4) warning and normal error output should be identical, in that duplicate
-# warnings should be omitted in the same way as without threads,
-# 5) fatal error and debug messages could be identical. This is not
-# intended, though.
-#
-# This test checks (0), (1), and (2). See sister tests for further coverage.
-
-required=perl-threads
-. test-init.sh
-
-cat > configure.ac << 'END'
-AC_INIT([parallel-am], [1.0])
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PATH_LISPDIR
-AM_PATH_PYTHON
-AC_CONFIG_FILES([Makefile])
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS =
-END
-
-list='1 2 3 4 5 6 7 8 9'
-for i in $list; do
- echo "AC_CONFIG_FILES([sub$i/Makefile])" >> configure.ac
- echo "SUBDIRS += sub$i" >> Makefile.am
- mkdir sub$i
- echo > sub$i/Makefile.am
-done
-# Use an include chain to cause a nontrivial location object to be
-# serialized through a thread queue.
-echo 'include foo.am' >> sub7/Makefile.am
-echo 'include bar.am' > sub7/foo.am
-echo 'python_PYTHON = foo.py' > sub7/bar.am
-echo 'lisp_LISP = foo.el' >> sub8/Makefile.am
-echo 'bin_PROGRAMS = p' >> sub9/Makefile.am
-
-rm -f install-sh missing depcomp
-mkdir build-aux
-
-$ACLOCAL
-
-# This test may have to be run several times in order to expose the
-# race that, when the last Makefile.in (the toplevel one) is created
-# before the other ones have finished, not all auxiliary files may
-# be installed yet, thus some may not be distributed.
-#
-# Further, automake output should be stable.
-
-# Generate expected output using the non-threaded code.
-unset AUTOMAKE_JOBS
-AUTOMAKE_run --add-missing
-mv stderr expected
-Makefile_ins=$(find . -name Makefile.in)
-for file in $Makefile_ins; do
- mv $file $file.exp
-done
-
-AUTOMAKE_JOBS=5
-export AUTOMAKE_JOBS
-
-for run in 1 2 3 4 5 6 7; do
- rm -f build-aux/* sub*/Makefile.in
- AUTOMAKE_run --add-missing
- diff stderr expected
- for file in $Makefile_ins; do
- diff $file $file.exp
- done
-done
-
-:
diff --git a/t/parallel-am2.sh b/t/parallel-am2.sh
deleted file mode 100644
index 033c22407..000000000
--- a/t/parallel-am2.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2008-2015 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 parallel automake execution.
-
-# This tests:
-# 4) warning and normal error output should be identical, in that duplicate
-# warnings should be omitted in the same way as without threads.
-
-required=perl-threads
-. test-init.sh
-
-mkdir sub
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = main
-main_SOURCES = sub/main.c
-SUBDIRS =
-END
-
-list='1 2 3'
-for i in $list; do
- echo "AC_CONFIG_FILES([sub$i/Makefile])" >> configure.ac
- echo "SUBDIRS += sub$i" >> Makefile.am
- mkdir sub$i sub$i/sub
- unindent > sub$i/Makefile.am << END
- AUTOMAKE_OPTIONS = subdir-objects
- bin_PROGRAMS = sub$i
- sub${i}_SOURCES = sub/main$i.c
-END
-done
-
-mkdir build-aux
-
-$ACLOCAL
-
-# Independently of the number of worker threads, automake output
-# should be
-# - stable (multiple runs should produce the same output),
-# - properly uniquified,
-# - complete (output from worker threads should not be lost).
-#
-# The parts output by --add-missing are unstable not only wrt. order
-# but also wrt. content: any of the Makefile.am files may cause the
-# depcomp script to be installed (or several of them).
-# Thus we install the auxiliary files in a prior step.
-
-# Generate expected output using non-threaded code.
-unset AUTOMAKE_JOBS
-rm -f install-sh missing depcomp
-AUTOMAKE_fails --add-missing
-mv stderr expected
-
-AUTOMAKE_JOBS=5
-export AUTOMAKE_JOBS
-
-for i in 1 2 3 4 5 6 7 8; do
- rm -f install-sh missing depcomp
- AUTOMAKE_fails --add-missing
- diff expected stderr
-done
-
-:
diff --git a/t/parallel-am3.sh b/t/parallel-am3.sh
deleted file mode 100644
index 85fd655f9..000000000
--- a/t/parallel-am3.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2008-2015 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 parallel automake execution.
-
-# This tests:
-# 3) normal automake output should be identical and ordered in the same way
-# with --add-missing, even with concurrent file requirements, and the
-# installation of aux files should be race-free.
-
-required=perl-threads
-. test-init.sh
-
-cat > configure.ac << 'END'
-AC_INIT([parallel-am], [1.0])
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PATH_LISPDIR
-AM_PATH_PYTHON
-AC_CONFIG_FILES([Makefile])
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS =
-END
-
-list='1 2 3'
-for i in $list; do
- echo "AC_CONFIG_FILES([sub$i/Makefile])" >> configure.ac
- echo "SUBDIRS += sub$i" >> Makefile.am
- mkdir sub$i
- unindent > sub$i/Makefile.am <<END
- python_PYTHON = foo$i.py
- lisp_LISP = foo$i.el
- bin_PROGRAMS = p$i
-END
-done
-
-rm -f install-sh missing depcomp
-mkdir build-aux
-
-$ACLOCAL
-
-# Generate expected output using the non-threaded code.
-unset AUTOMAKE_JOBS
-AUTOMAKE_run --add-missing
-mv stderr expected
-mv Makefile.in Makefile.in.exp
-
-AUTOMAKE_JOBS=3
-export AUTOMAKE_JOBS
-
-for run in 1 2 3 4 5 6 7; do
- rm -f build-aux/* sub*/Makefile.in
- AUTOMAKE_run --add-missing
- diff stderr expected
- diff Makefile.in Makefile.in.exp
-done
-
-:
diff --git a/t/parallel-tests-basics.sh b/t/parallel-tests-basics.sh
index fc393df98..4e7c721a1 100644
--- a/t/parallel-tests-basics.sh
+++ b/t/parallel-tests-basics.sh
@@ -19,9 +19,8 @@
# - log files, and what goes in 'test-suite.log'
# - make clean
# - dependencies between tests
-# - TESTS redefinition at runtime
-# - TEST_LOGS redefinition at runtime
-# - RECHECK_LOGS redefinition at runtime
+# - TESTS redefinition at runtime (with and without test suffixes)
+# - AM_LAZY_CHECK
. test-init.sh
@@ -36,19 +35,14 @@ foo.log: bar.log
bar.log: baz.log
END
-# foo.test and bar.test sleep to ensure their logs are always strictly newer
-# than the logs of their prerequisites, for HP-UX make. The quoting pleases
-# maintainer-check.
cat > foo.test <<'END'
#! /bin/sh
echo "this is $0"
-sleep '1'
exit 0
END
cat > bar.test <<'END'
#! /bin/sh
echo "this is $0"
-sleep '1'
exit 99
END
cat > baz.test <<'END'
@@ -101,7 +95,7 @@ test -f test-suite.log
# Note that the previous test and this one taken together expose the timing
# issue that requires the check-TESTS rule to always remove TEST_SUITE_LOG
# before running the tests lazily.
-run_make -O -e FAIL check RECHECK_LOGS=
+run_make -O -e FAIL check AM_LAZY_CHECK=yes
test -f foo.log
grep '^PASS: foo\.test$' stdout
grep bar.test stdout && exit 1
@@ -112,7 +106,7 @@ grep '^# ERROR: *1$' stdout
# Now, explicitly retry with all test logs already updated, and ensure
# that the summary is still displayed.
-run_make -O -e FAIL check RECHECK_LOGS=
+run_make -O -e FAIL check AM_LAZY_CHECK=yes
grep foo.test stdout && exit 1
grep bar.test stdout && exit 1
grep baz.test stdout && exit 1
@@ -120,17 +114,8 @@ grep '^# PASS: *1$' stdout
grep '^# FAIL: *1$' stdout
grep '^# ERROR: *1$' stdout
-# Lazily rerunning only foo should only rerun this one test.
-run_make -O -e FAIL check RECHECK_LOGS=foo.log
-grep foo.test stdout
-grep bar.test stdout && exit 1
-grep baz.test stdout && exit 1
-grep '^# PASS: *1$' stdout
-grep '^# FAIL: *1$' stdout
-grep '^# ERROR: *1$' stdout
-
$MAKE clean
-run_make -O -e FAIL TEST_LOGS=baz.log check
+run_make -O -e FAIL check TESTS=baz
grep foo.test stdout && exit 1
grep bar.test stdout && exit 1
grep baz.test stdout
diff --git a/t/parallel-tests-cmdline-override.sh b/t/parallel-tests-cmdline-override.sh
deleted file mode 100644
index 848de3fb8..000000000
--- a/t/parallel-tests-cmdline-override.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 we can use indirections when overriding TESTS and
-# TEST_LOGS from the command line.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TEST_EXTENSIONS = .test .t
-TEST_LOG_COMPILER = cat
-T_LOG_COMPILER = cat
-TESTS = bad.test
-var1 = b.test $(var2)
-var2 = c.test
-var3 = d.d
-var4 = e
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-rm -f config.log # Do not create false positives below.
-
-cat > exp-log <<'END'
-a.log
-b.log
-c.log
-d.log
-e.log
-test-suite.log
-END
-
-cat > exp-out <<'END'
-PASS: a.t
-PASS: b.test
-PASS: c.test
-PASS: d.t
-PASS: e.test
-END
-
-do_check ()
-{
- run_make -O -- "$@" check
- grep '^PASS:' stdout | LC_ALL=C sort > got-out
- cat got-out
- ls . | grep '\.log$' | LC_ALL=C sort > got-log
- cat got-log
- st=0
- diff exp-out got-out || st=1
- diff exp-log got-log || st=1
- return $st
-}
-
-tests='a.t $(var1) $(var3:.d=.t) $(var4:=.test)'
-test_logs='a.log $(var1:.test=.log) $(var3:.d=.log) $(var4:=.log)'
-
-touch a.t b.test c.test d.t e.test
-
-do_check TESTS="$tests"
-do_check TEST_LOGS="$test_logs"
-
-:
diff --git a/t/parallel-tests-concatenated-suffix.sh b/t/parallel-tests-concatenated-suffix.sh
new file mode 100644
index 000000000..b2a41bcca
--- /dev/null
+++ b/t/parallel-tests-concatenated-suffix.sh
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# The parallel-tests driver should be able to cope with test scripts
+# whose names end with several concatenated suffixes.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+END
+
+tests='foo.sh foo.t.sh foo.sh.t foo.x.x foo.x.t.sh foo.t.x.sh foo.sh.t.x'
+
+for t in $tests; do
+ (echo '#!/bin/sh' && echo 'echo == /$0 ==') > $t
+ chmod a+x $t
+done
+
+cat > Makefile.am <<END
+TEST_EXTENSIONS = .t .sh .x
+TESTS = $tests
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+for j in '' -j4; do
+
+ run_make -O $j check
+ count_test_results total=7 pass=7 fail=0 skip=0 xfail=0 xpass=0 error=0
+ for t in $tests; do grep "^PASS: $t *$" stdout; done
+
+ grep '== .*/foo\.sh ==' foo.log
+ grep '== .*/foo\.t\.sh ==' foo.t.log
+ grep '== .*/foo\.sh\.t ==' foo.sh.log
+ grep '== .*/foo\.x\.x ==' foo.x.log
+ grep '== .*/foo\.x\.t\.sh ==' foo.x.t.log
+ grep '== .*/foo\.t\.x\.sh ==' foo.t.x.log
+ grep '== .*/foo\.sh\.t\.x ==' foo.sh.t.log
+
+ $MAKE $j clean
+ test ! -f foo.log
+ test ! -f foo.t.log
+ test ! -f foo.sh.log
+ test ! -f foo.x.log
+ test ! -f foo.x.t.log
+ test ! -f foo.t.x.log
+ test ! -f foo.sh.t.log
+
+done
+
+:
diff --git a/t/parallel-tests-concurrency-2.sh b/t/parallel-tests-concurrency-2.sh
index 3ce607973..511762e38 100644
--- a/t/parallel-tests-concurrency-2.sh
+++ b/t/parallel-tests-concurrency-2.sh
@@ -20,7 +20,7 @@
# Actually, this test doesn't ensure that things happen concurrently.
# It merely serves as demonstration. :-)
-required='cc native GNUmake'
+required='cc native'
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/parallel-tests-concurrency.sh b/t/parallel-tests-concurrency.sh
index 6a32b1aef..20c2cabe4 100644
--- a/t/parallel-tests-concurrency.sh
+++ b/t/parallel-tests-concurrency.sh
@@ -26,27 +26,6 @@ case $MAKE in
*\ -j*) skip_ "\$MAKE contains '-j'";;
esac
-if using_gmake; then
- j=-j
-else
- unindent > Makefile <<END
- all: one two
- one:
- $sleep && test -f two
- two:
- echo ok > \$@
-END
- for j in "-j" "-j " NONE; do
- if test x"$j" = xNONE; then
- skip_ "can't run make in parallel mode"
- fi
- run_make -M -- ${j}2 all || continue
- $EGREP -i "(warning|error):|-j[\"\'\` ]" output && continue
- break
- done
- rm -f one output Makefile
-fi
-
cat >> configure.ac << 'END'
AC_OUTPUT
END
@@ -89,14 +68,12 @@ for build in serial parallel; do
done
cd serial
-# Do *not* use "make -j1" here; apparently, some make implementations
-# (e.g., AIX 7.1) interpret it as a synonym of "make -j" :-(
-$MAKE check &
+$MAKE -j1 check &
cd ..
cd parallel
$sleep
-run_make -O -- ${j}4 check
+run_make -O -- -j4 check
cd ..
# Ensure the tests are really being run in parallel mode: if this is
diff --git a/t/parallel-tests-dynamic.sh b/t/parallel-tests-dynamic.sh
new file mode 100644
index 000000000..b30ef2b2f
--- /dev/null
+++ b/t/parallel-tests-dynamic.sh
@@ -0,0 +1,154 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 dynamic content for $(TESTS) is supported, both when set from
+# inside the Makefile.am and when overridden from the command line.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+cat > ok <<'END'
+#!/bin/sh
+exit 0
+END
+
+cat > ko <<'END'
+#!/bin/sh
+exit 1
+END
+
+cat > sk <<'END'
+#!/bin/sh
+exit 77
+END
+
+cat > er << 'END'
+#!/bin/sh
+echo $0 should not be run >&2
+exit 99
+END
+
+chmod a+x ko ok sk
+
+mkdir t
+cp ok t/nosuffix
+
+cp ok g1.sh
+cp ok g2.sh
+cp ok g3.sh
+cp ok g4.sh
+cp er g5.sh
+
+cp ok t00-foo.sh
+cp ok t02.sh
+cp ok t57_mu.sh
+cp ok t7311.sh
+cp ko t98S.sh
+cp ko t99.sh
+cp er t1.sh
+cp er t9.sh
+cp er tx98.sh
+
+cp sk fu.sh
+cp sk mu
+
+cat > get-tests-list <<END
+#!/bin/sh
+echo "g1.sh ${tab}g2.sh "
+if :; then echo ' g3.sh'; fi
+echo
+echo g4.sh
+END
+chmod a+x get-tests-list
+
+cat > Makefile.am << 'END'
+my_add_dirprefix = $(strip $(1))/$(strip $(2))
+EXTRA_DIST = $(TESTS) get-tests-list
+TEST_EXTENSIONS = .sh
+
+t1 = fu
+t2 = mux
+
+# Also try an empty match suffix, to ensure that the ':=' in there is
+# not confused by the parser with an immediate assignment operator.
+TESTS = $(t1:=.sh) $(t2:x=)
+TESTS += $(wildcard $(srcdir)/t[0-9][0-9]*.sh)
+TESTS += $(shell $(srcdir)/get-tests-list)
+TESTS += $(call my_add_dirprefix, t, nosuffix)
+XFAIL_TESTS = $(wildcard $(srcdir)/t9[0-9]*.sh)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+run_make -O check
+count_test_results total=13 pass=9 fail=0 xpass=0 xfail=2 skip=2 error=0
+
+grep '^PASS: t/nosuffix$' stdout
+grep '^PASS: g1\.sh$' stdout
+grep '^PASS: g2\.sh$' stdout
+grep '^PASS: g3\.sh$' stdout
+grep '^PASS: g4\.sh$' stdout
+grep '^PASS: t00-foo\.sh$' stdout
+grep '^PASS: t02\.sh$' stdout
+grep '^PASS: t57_mu\.sh$' stdout
+grep '^PASS: t7311\.sh$' stdout
+grep '^XFAIL: t98S\.sh$' stdout
+grep '^XFAIL: t99\.sh$' stdout
+grep '^SKIP: fu\.sh$' stdout
+grep '^SKIP: mu$' stdout
+
+$MAKE mostlyclean
+test "$(find . -name '*.log')" = ./config.log
+
+run_make -O distcheck
+count_test_results total=13 pass=9 fail=0 xpass=0 xfail=2 skip=2 error=0
+
+run_make -O check \
+ tests1='$(wildcard t00*.sh t98?.sh)' \
+ tests2='$(shell ./get-tests-list | sed 1d)' \
+ TESTS='$(tests1) $(tests2)'
+
+count_test_results total=4 pass=3 fail=0 xpass=0 xfail=1 skip=0 error=0
+
+grep '^PASS: g3\.sh$' stdout
+grep '^PASS: g4\.sh$' stdout
+grep '^PASS: t00-foo\.sh' stdout
+grep '^XFAIL: t98S\.sh' stdout
+
+$MAKE mostlyclean
+test "$(find . -name '*.log')" = ./config.log
+
+$MAKE check TESTS='$(shell echo t00 | sed "s/$$/-foo/") t99'
+test -f t00-foo.log
+test -f t99.log
+
+run_make -O check \
+ foo='E9E9E' \
+ a='t00.err' \
+ b='${a:.err=-foo}' \
+ TESTS='$(b) t$(subst E,,$(foo)) $(call my_add_dirprefix,t,nosuffix)'
+
+count_test_results total=3 pass=2 fail=0 xpass=0 xfail=1 skip=0 error=0
+grep '^PASS: t/nosuffix' stdout
+grep '^PASS: t00-foo\.sh' stdout
+grep '^XFAIL: t99\.sh' stdout
+
+:
diff --git a/t/parallel-tests-empty-testlogs.sh b/t/parallel-tests-empty-testlogs.sh
deleted file mode 100644
index c75f794f9..000000000
--- a/t/parallel-tests-empty-testlogs.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 parallel-tests features:
-# - empty TESTS
-# - empty TEST_LOGS
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub1 sub2
-END
-
-mkdir sub1 sub2
-
-cat > sub1/Makefile.am << 'END'
-TESTS =
-END
-
-# When $(TESTS) is empty, NetBSD 5.1 make ends up defining $(TESTS_LOGS)
-# to ".log" rather than to the empty string (as would be expected).
-# But our recipes are smart enough to work around such a botched-up
-# substitution, so let's not bother too much about it.
-if using_gmake; then
- unindent >> sub1/Makefile.am << 'END'
- check-local:
- echo $(TEST_LOGS) | grep . && exit 1; exit 0
-END
-fi
-
-cat > sub2/Makefile.am << 'END'
-TESTS = foo.test
-END
-
-cat > sub2/foo.test <<'END'
-#! /bin/sh
-exit 0
-END
-chmod a+x sub2/foo.test
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-no_test_has_run ()
-{
- ls -1 *.log | grep -v '^test-suite\.log$' | grep . && exit 1
- grep '^# TOTAL: *0$' test-suite.log
- :
-}
-
-for vpath in : false; do
- if $vpath; then
- mkdir build
- cd build
- srcdir=..
- else
- srcdir=.
- fi
- $srcdir/configure
- cd sub1
- VERBOSE=yes $MAKE check
- no_test_has_run
- cd ../sub2
- run_make VERBOSE=yes TESTS= check
- no_test_has_run
- run_make VERBOSE=yes TEST_LOGS= check
- no_test_has_run
- cd ..
- $MAKE check
- cat sub2/foo.log
- $MAKE distclean
- cd $srcdir
-done
-
-:
diff --git a/t/parallel-tests-empty.sh b/t/parallel-tests-empty.sh
index 4da8ac26b..f6d1280ba 100644
--- a/t/parallel-tests-empty.sh
+++ b/t/parallel-tests-empty.sh
@@ -14,29 +14,76 @@
# 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 features:
-# - empty TESTS
-# BSD make will expand '$(TESTS:=.log)' to '.log' unless overridden.
-# See 'parallel-tests-trailing-whitespace.sh' for a similar issue.
+# Check parallel-tests features: empty TESTS
. test-init.sh
cat >> configure.ac << 'END'
+AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
AC_OUTPUT
END
cat > Makefile.am << 'END'
+SUBDIRS = sub1 sub2
+END
+
+mkdir sub1 sub2
+
+cat > sub1/Makefile.am << 'END'
TESTS =
+check-local:
+ echo \
+ $(am.test-suite.test-logs) \
+ $(am.test-suite.test-results) \
+ $(am.test-suite.test-bases) \
+ | grep . && exit 1; exit 0
+END
+
+cat > sub2/Makefile.am << 'END'
+TESTS = foo.test
END
+cat > sub2/foo.test <<'END'
+#! /bin/sh
+exit 0
+END
+chmod a+x sub2/foo.test
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
-./configure
-run_make -O check
-for x in TOTAL PASS FAIL XPASS FAIL SKIP ERROR; do
- grep "^# $x: *0$" stdout
+no_test_run ()
+{
+ run_make -O -- check ${1+"$@"}
+ ls *.log | grep -v '^test-suite\.log$' | grep . && exit 1
+ grep '^# TOTAL: *0$' test-suite.log || exit 1
+ for x in TOTAL PASS FAIL XPASS FAIL SKIP ERROR; do
+ grep "^# $x: *0$" stdout || exit 1
+ done
+ :
+}
+
+for vpath in : false; do
+ if $vpath; then
+ mkdir build
+ cd build
+ srcdir=..
+ else
+ srcdir=.
+ fi
+ $srcdir/configure
+ cd sub1
+ no_test_run
+ no_test_run VERBOSE=yes
+ cd ../sub2
+ no_test_run TESTS=
+ no_test_run VERBOSE=yes TESTS=' '
+ cd ..
+ # Sanity check.
+ $MAKE check
+ cat sub2/foo.log
+ cd $srcdir
done
:
diff --git a/t/parallel-tests-exeext.sh b/t/parallel-tests-exeext.sh
index c1b6e6252..1c637f577 100644
--- a/t/parallel-tests-exeext.sh
+++ b/t/parallel-tests-exeext.sh
@@ -21,11 +21,8 @@
cat >> configure.ac << 'END'
dnl We need to fool the init.m4 internals a little.
-AC_DEFUN([_AM_FOO],
- [m4_provide([_AM_COMPILER_EXEEXT])
- AC_SUBST([CC], [false])
- AC_SUBST([EXEEXT])])
-_AM_FOO
+AC_SUBST([CC], [false])
+AC_SUBST([EXEEXT])
AC_OUTPUT
END
@@ -60,7 +57,15 @@ test ! -e y.bin.log
test -f b.log
test ! -e b.test.log
-$EGREP '^y\.log: y(\$\(EXEEXT\)|\.bin)' Makefile
-$EGREP '^\.test(\$\(EXEEXT\)|\.bin)\.log:' Makefile
+# Opportunistically check that we are not forced to specify
+# the test suffixes nor the $(EXEEXT) suffix when overriding
+# TESTS on the command line.
+rm -f *.log *.trs
+
+$MAKE check TESTS='y a b'
+ls -l # For debugging.
+test -f a.log
+test -f b.log
+test -f y.log
:
diff --git a/t/parallel-tests-extra-programs.sh b/t/parallel-tests-extra-programs.sh
index b4e9ecc70..573ff3660 100644
--- a/t/parallel-tests-extra-programs.sh
+++ b/t/parallel-tests-extra-programs.sh
@@ -89,7 +89,7 @@ int main (void)
END
# 4. A program that is also a test, but whose source files
-# do not exit and are not buildable by make.
+# do not exist and are not buildable by make.
cat >> Makefile.am <<'END'
EXTRA_PROGRAMS += none.bin
@@ -117,13 +117,7 @@ $AUTOMAKE -a
run_make -E -O -e IGNORE -- -k check
ls -l
-if using_gmake; then
- test $am_make_rc -gt 0 || exit 1
-else
- # Don't trust exit status of "make -k" for non-GNU make.
- $MAKE check && exit 1
- : For shells with busted 'set -e'.
-fi
+test $am_make_rc -gt 0
# Files that should have been created, with the expected content.
cat bar.c
@@ -139,10 +133,8 @@ grep '^PASS: baz\.test$' stdout
# $(EXEEXT).
grep '^PASS: foo\.bin' stdout
grep '^PASS: bar\.bin' stdout
-# Expected error messages from make. Some make implementations (e.g.,
-# FreeBSD make) seem to print the error on stdout instead, so check for
-# it there as well.
-$EGREP 'none\.(bin|o|c)' stderr stdout
+# Expected error messages from make.
+$EGREP 'none\.(bin|o|c)' stderr
# What we check now:
# 1. if we make the last EXTRA_PROGRAM buildable, the failed tests
@@ -155,7 +147,7 @@ $sleep
echo 'int main (void) { return 0; }' > none.c
-run_make -O -e IGNORE check RECHECK_LOGS=
+run_make -O -e IGNORE AM_LAZY_CHECK=yes check
ls -l # For debugging.
test $am_make_rc -eq 0 || exit 1
diff --git a/t/parallel-tests-fd-redirect-exeext.sh b/t/parallel-tests-fd-redirect-exeext.sh
index e5c7a8fbb..826dc7b54 100644
--- a/t/parallel-tests-fd-redirect-exeext.sh
+++ b/t/parallel-tests-fd-redirect-exeext.sh
@@ -97,13 +97,6 @@ else
fatal_ "unexpected error in ./configure"
fi
-# Sanity checks.
-st=0
-grep '^baz\.log:.*baz\$(EXEEXT)' Makefile || st=1
-grep '^\.test\$(EXEEXT)\.log:' Makefile || st=1
-grep '^qux\.log:' Makefile && st=1
-test $st -eq 0 || fatal_ "doesn't cover expected code paths"
-
run_make -O -e IGNORE check
cat baz.log
cat qux.log
diff --git a/t/parallel-tests-fd-redirect.sh b/t/parallel-tests-fd-redirect.sh
index 6b5d074e0..a9d1e447c 100644
--- a/t/parallel-tests-fd-redirect.sh
+++ b/t/parallel-tests-fd-redirect.sh
@@ -51,12 +51,6 @@ chmod a+x foo.sh bar
./configure
-# Sanity checks.
-st=0
-grep '^bar\.log:.*bar' Makefile || st=1
-grep '^foo\.log:' Makefile && st=1
-test $st -eq 0 || fatal_ "doesn't cover expected code paths"
-
run_make -O -e IGNORE check
cat foo.log
cat bar.log
diff --git a/t/parallel-tests-fork-bomb.sh b/t/parallel-tests-fork-bomb.sh
index 2b4b40894..9f8773841 100644
--- a/t/parallel-tests-fork-bomb.sh
+++ b/t/parallel-tests-fork-bomb.sh
@@ -35,56 +35,18 @@ TESTS =
errmsg = ::OOPS:: Recursion too deep
-if IS_GNU_MAKE
+is_too_deep := $(shell test $(MAKELEVEL) -lt 10 && echo no)
- is_too_deep := $(shell test $(MAKELEVEL) -lt 10 && echo no)
-
-## Indenteation here required to avoid confusing Automake.
+## Extra indentation here required to avoid confusing Automake.
+## FIXME: now that we assume make is GNU make, this shouldn't happen!
ifeq ($(is_too_deep),no)
+ # All is ok.
else
- $(error $(errmsg), $(MAKELEVEL) levels)
+ $(error $(errmsg), $(MAKELEVEL) levels)
endif
-
-else !IS_GNU_MAKE
-
-# We use mkdir to detect the level of recursion, since it is easy
-# to use and assured to be portably atomical. Also use an higher
-# number than with GNU make above, since the level used here can
-# be incremented by tow or more per recursion.
-recursion-not-too-deep:
- @ok=no; \
- for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 \
- 18 19 20 21 22 23 24 25 26 27 28 29; \
- do \
- echo " mkdir rec-$$i.d"; \
- if mkdir rec-$$i.d; then \
- ok=yes; break; \
- else :; fi; \
- done; \
- test $$ok = yes || { echo '$(errmsg)' >&2; exit 1; }
-.PHONY: recursion-not-too-deep
-clean-local:
- rmdir rec-[0-9].d
-
-targets = all check recheck $(TESTS) $(TEST_LOGS) $(TEST_SUITE_LOG)
-$(targets): recursion-not-too-deep
-
-# For BSD make.
-.BEGIN: recursion-not-too-deep
-
-endif !IS_GNU_MAKE
END
-if using_gmake; then
- cond=:
-else
- cond=false
-fi
-
-cat >> configure.ac << END
-AM_CONDITIONAL([IS_GNU_MAKE], [$cond])
-AC_OUTPUT
-END
+echo AC_OUTPUT >> configure.ac
# Another helpful idiom to avoid hanging on capable systems. The subshell
# is needed since 'ulimit' might be a special shell builtin.
@@ -92,7 +54,7 @@ if (ulimit -t 8); then ulimit -t 8; fi
$ACLOCAL
$AUTOCONF
-$AUTOMAKE -a -Wno-portability
+$AUTOMAKE -a
./configure
@@ -101,33 +63,9 @@ do_check ()
log=$1; shift
run_make -M -e IGNORE -- "$@" check
$FGREP '::OOPS::' output && exit 1 # Possible infinite recursion.
- # Check that at least we don't create a botched global log file.
- test ! -e "$log"
- if using_gmake; then
- grep "[Cc]ircular.*dependency" output | $FGREP "$log"
- test $am_make_rc -gt 0
- else
- # Look for possible error messages about circular dependencies from
- # either make or our own recipes. At least one such a message must
- # be present. OTOH, some make implementations (e.g., NetBSD's), while
- # smartly detecting the circular dependency early and diagnosing it,
- # still exit with a successful exit status (yikes!). So don't check
- # the exit status of non-GNU make, to avoid spurious failures.
- # this case.
- err_seen=no
- for err_rx in \
- 'circular.* depend' \
- 'depend.* circular' \
- 'graph cycle' \
- 'infinite (loop|recursion)' \
- 'depend.* on itself' \
- ; do
- $EGREP -i "$err_rx" output | $FGREP "$log" || continue
- err_seen=yes
- break
- done
- test $err_seen = yes || exit 1
- fi
+ grep "[Cc]ircular.*dependency" output | $FGREP "$log"
+ grep "$log:.*depends on itself" output
+ test $am_make_rc -gt 0
}
: > test-suite.test
@@ -139,8 +77,7 @@ rm -f *.log *.test
: > 2.test
: > 3.test
: > foobar.test
-do_check foobar.log TEST_LOGS='0.log 1.log foobar.log 2.log 3.log' \
- TEST_SUITE_LOG=foobar.log
+do_check foobar.log TESTS='0 1 foobar 2 3' TEST_SUITE_LOG=foobar.log
rm -f *.log *.test
:
diff --git a/t/parallel-tests-generated-and-distributed.sh b/t/parallel-tests-generated-and-distributed.sh
index 7f11a701e..a42b0c724 100644
--- a/t/parallel-tests-generated-and-distributed.sh
+++ b/t/parallel-tests-generated-and-distributed.sh
@@ -14,15 +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/>.
-# Check parallel-tests features:
-# - generated distributed tests.
-# - listing $(srcdir)/ or $(top_srcdir)/ in TESTS doesn't work ATM,
-# and is thus diagnosed.
-
-# TODO: this test should also ensure that the 'make' implementation
-# properly adheres to rules in all cases. See the Autoconf
-# manual for the ugliness in this area, when VPATH comes into
-# play. :-/
+# Check parallel-tests features: generated distributed tests.
. test-init.sh
@@ -32,12 +24,8 @@ END
cat > Makefile.am << 'END'
TESTS = foo.test
-## the next line will cause automake to error out:
-TESTS += $(srcdir)/bar.test $(top_srcdir)/baz.test
-.in.test:
-## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5)
- cp `test -f '$<' || echo $(srcdir)/`$< $@
- chmod +x $@
+%.test: %.in
+ cp $< $@ && chmod +x $@
check_SCRIPTS = $(TESTS)
EXTRA_DIST = foo.in foo.test
DISTCLEANFILES = foo.test
@@ -51,12 +39,6 @@ END
$ACLOCAL
$AUTOCONF
-AUTOMAKE_fails -a
-grep '$(srcdir).*TESTS.*bar\.test' stderr
-grep '$(top_srcdir).*TESTS.*baz\.test' stderr
-
-sed '/^TESTS +=.*srcdir/d' < Makefile.am > t
-mv -f t Makefile.am
$AUTOMAKE -a
./configure
diff --git a/t/parallel-tests-harderror.sh b/t/parallel-tests-harderror.sh
index bd2c2cf63..9304f19a3 100644
--- a/t/parallel-tests-harderror.sh
+++ b/t/parallel-tests-harderror.sh
@@ -53,9 +53,7 @@ $AUTOMAKE -a
# DISABLE_HARD_ERRORS is not defined as a make variable, so that it
# should be possible to define either from the environment or from
-# command-line, also when recursive make invocations are involved,
-# and also without using the '-e' make flag; this should work also
-# for non-GNU make. Moreover, it shouldn't be necessary to define
+# command-line. Moreover, it shouldn't be necessary to define
# DISABLE_HARD_ERRORS to "yes" to really disable hard errors: any
# non-empty value should do.
$MAKE check DISABLE_HARD_ERRORS=yes
diff --git a/t/parallel-tests-log-override-2.sh b/t/parallel-tests-log-override-2.sh
deleted file mode 100644
index 63fb79d1f..000000000
--- a/t/parallel-tests-log-override-2.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 parallel-tests features: runtime redefinition of:
-# - $(TEST_SUITE_LOG) and $(TESTS)
-# - $(TEST_SUITE_LOG) and $(TEST_LOGS)
-
-. test-init.sh
-
-cat >> configure.ac <<'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-TESTS = pass.test pass2.test skip.test skip2.test fail.test
-END
-
-cat > pass.test <<'END'
-#! /bin/sh
-exit 0
-END
-
-cp pass.test pass2.test
-
-cat > skip.test <<'END'
-#! /bin/sh
-echo "% skipped test %"
-exit 77
-END
-
-cp skip.test skip2.test
-
-cat > fail.test <<'END'
-#! /bin/sh
-exit 1
-END
-
-chmod a+x *.test
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-
-for test_list_override in \
- 'TESTS=pass.test skip.test' \
- 'TEST_LOGS=pass.log skip.log'
-do
- run_make -O TEST_SUITE_LOG=partial.log "$test_list_override" check
- ls -l
- count_test_results total=2 pass=1 fail=0 skip=1 xfail=0 xpass=0 error=0
- cat pass.log
- cat skip.log
- cat partial.log
- test ! -e test-suite.log
- test ! -e pass2.log
- test ! -e skip2.log
- test ! -e fail.log
- grep '^PASS: pass\.test$' stdout
- grep '^SKIP: skip\.test$' stdout
- $FGREP 'SKIP: skip' partial.log
- $FGREP '% skipped test %' partial.log
- $EGREP '(pass2|skip2|fail)\.test' stdout && exit 1
- $EGREP '(pass2|skip2|fail)' partial.log && exit 1
- rm -f *.log
-done
-
-:
diff --git a/t/parallel-tests-log-override-recheck.sh b/t/parallel-tests-log-override-recheck.sh
deleted file mode 100644
index ec990299e..000000000
--- a/t/parallel-tests-log-override-recheck.sh
+++ /dev/null
@@ -1,97 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 parallel-tests features: runtime redefinition of $(TEST_SUITE_LOG)
-# for the recheck target.
-
-. test-init.sh
-
-cat >> configure.ac <<'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-TESTS = foofoo.test barbar.test bazbaz.test
-END
-
-cat > foofoo.test <<'END'
-#! /bin/sh
-echo "this is $0"
-exit 0
-END
-
-cat > barbar.test <<'END'
-#! /bin/sh
-echo "this is $0"
-exit 99
-END
-
-cat > bazbaz.test <<'END'
-#! /bin/sh
-echo "this is $0"
-exit ${BAZ_EXIT_STATUS-1}
-END
-
-chmod a+x *.test
-
-unset BAZ_EXIT_STATUS
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-# Filter make output before grepping it, for make implementations that,
-# like Solaris' one, print the whole of the failed recipe on failure.
-filter_stdout ()
-{
- grep -v 'bases=.*;' stdout > t && mv -f t stdout
-}
-
-./configure
-run_make -O -e FAIL check
-
-using_gmake || $sleep # Required by BSD make.
-
-chmod a-rw test-suite.log
-run_make -O -e FAIL TEST_SUITE_LOG=my.log recheck
-ls -l
-filter_stdout
-count_test_results total=2 pass=0 fail=1 skip=0 xfail=0 xpass=0 error=1
-for x in stdout my.log; do
- $FGREP foofoo $x && exit 1
- $FGREP barbar $x
- $FGREP bazbaz $x
-done
-
-using_gmake || $sleep # Required by BSD make.
-
-chmod a-rw my.log
-run_make -O -e FAIL BAZ_EXIT_STATUS=0 TEST_SUITE_LOG=my2.log recheck
-ls -l
-count_test_results total=2 pass=1 fail=0 skip=0 xfail=0 xpass=0 error=1
-filter_stdout
-$FGREP foofoo stdout && exit 1
-$FGREP barbar stdout
-$FGREP bazbaz stdout
-$FGREP foofoo my2.log && exit 1
-$FGREP barbar my2.log
-$FGREP bazbaz my2.log && exit 1
-
-chmod u+r test-suite.log my.log
-$FGREP bazbaz test-suite.log
-$FGREP bazbaz my.log
-
-:
diff --git a/t/parallel-tests-log-override-1.sh b/t/parallel-tests-log-override.sh
index 859caaec7..d947ef6fb 100644
--- a/t/parallel-tests-log-override-1.sh
+++ b/t/parallel-tests-log-override.sh
@@ -76,19 +76,19 @@ $MAKE clean
test -f test-suite.log && exit 99 # Sanity check.
# Check that we can override the testsuite log file at runtime.
-run_make TEST_SUITE_LOG=zardoz.log check
+$MAKE check TEST_SUITE_LOG=zardoz.log
ls -l
test ! -e test-suite.log
cat zardoz.log
test_log_expected zardoz.log
# Sanity check the distribution too (this also does minimal checks on
# VPATH support).
-run_make TEST_SUITE_LOG=zardoz.log distcheck
+$MAKE distcheck TEST_SUITE_LOG=zardoz.log
# Check that cleanup rules remove the correct file even when
# user overrides are in place.
cp orig test-suite.log
-run_make TEST_SUITE_LOG=zardoz.log clean
+$MAKE clean TEST_SUITE_LOG=zardoz.log
ls -l
test ! -e zardoz.log
diff orig test-suite.log
@@ -97,11 +97,11 @@ diff orig test-suite.log
# Also check that the testsuite log file doesn't need to be named
# accordingly to the '*.log' pattern.
chmod a-w test-suite.log
-run_make TEST_SUITE_LOG=TheLogFile check
+$MAKE check TEST_SUITE_LOG=TheLogFile
ls -l
diff orig test-suite.log
test_log_expected TheLogFile
-run_make TEST_SUITE_LOG=TheLogFile clean
+$MAKE clean TEST_SUITE_LOG=TheLogFile
ls -l
test ! -e TheLogFile
diff orig test-suite.log
diff --git a/t/parallel-tests-log-compiler-example.sh b/t/parallel-tests-logvars-example.sh
index dc94d1c19..c684ceafb 100644
--- a/t/parallel-tests-log-compiler-example.sh
+++ b/t/parallel-tests-logvars-example.sh
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test the example of usage of generic and extension-specific
-# LOG_COMPILER and LOG_FLAGS given in the manual.
+# LOG_COMPILER, LOG_FLAGS and LOG_DEPENDNECIES given in the manual.
required=python
. test-init.sh
@@ -29,16 +29,22 @@ END
cat > Makefile.am << 'END'
TESTS = foo.pl bar.py baz
TEST_EXTENSIONS = .pl .py
+
PL_LOG_COMPILER = $(PERL)
AM_PL_LOG_FLAGS = -w
-PY_LOG_COMPILER = $(PYTHON)
-AM_PY_LOG_FLAGS = -v
+
LOG_COMPILER = ./wrapper-script
AM_LOG_FLAGS = -d
+
+PY_LOG_COMPILER = $(PYTHON)
+AM_PY_LOG_FLAGS = -v
+PY_LOG_DEPENDENCIES = mymod.py
+mymod.py:
+ echo "import sys" >$@
END
echo 'my $a =+ 2; exit (0);' > foo.pl
-echo 'import sys; sys.exit(0);' > bar.py
+echo 'import mymod; mymod.sys.exit(0);' > bar.py
: > baz
cat > wrapper-script <<'END'
@@ -58,6 +64,9 @@ $MAKE check || st=$?
cat foo.log
cat bar.log
cat baz.log
+cat foo.trs
+cat bar.trs
+cat baz.trs
test $st -eq 0 || exit $st
# Check that the wrappers have been run with the expected flags.
diff --git a/t/parallel-tests-longest-stem.sh b/t/parallel-tests-longest-stem.sh
new file mode 100644
index 000000000..ae7c1554f
--- /dev/null
+++ b/t/parallel-tests-longest-stem.sh
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# The parallel-tests driver must prefer tests with an extension to
+# extension-less tests. This is required to allow the user to have
+# a, say, 'all.test' test case even in the face of the 'all' target.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+cat > foo <<'END'
+#!/bin/sh
+echo "foo without suffix run" >&2
+exit 99
+END
+
+cat > foo.test <<'END'
+#!/bin/sh
+echo "$0 has been run"
+END
+chmod a+x foo.test
+
+cp foo.test all.test
+cp foo.test dist.test
+cp foo.test install.test
+cp foo.test bad-target.test
+
+cat > Makefile.am << 'END'
+bad-target:
+ @echo $@ has been run >&2; exit 1
+install-data-local:
+ @echo $@ has been run >&2; exit 1
+TESTS = foo.test all.test install.test dist.test bad-target.test
+EXTRA_DIST = oops-this-does-not-exist
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure --prefix="$(pwd)/inst"
+
+$MAKE check
+ls -l # For debugging.
+test ! -d inst
+for t in foo all install dist bad-target; do
+ grep "$t\.test has been run" $t.log
+done
+
+:
diff --git a/t/parallel-tests-many.sh b/t/parallel-tests-many.sh
new file mode 100644
index 000000000..bcb16a94b
--- /dev/null
+++ b/t/parallel-tests-many.sh
@@ -0,0 +1,169 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 parallel testsuite harness does not hit errors due
+# to an exceeded command line length when there are many tests.
+# For automake bug#7868.
+
+. test-init.sh
+
+expensive_
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am << 'END'
+TEST_EXTENSIONS = .test .sh
+LOG_COMPILER = true
+TEST_LOG_COMPILER = $(LOG_COMPILER)
+SH_LOG_COMPILER = $(LOG_COMPILER)
+EXTRA_DIST = $(TESTS)
+END
+
+tst='a-test-script-with-a-long-name'
+dir1='a-directory-with-a-long-name'
+dir2='another-long-named-directory'
+
+list_logs ()
+{
+ find . -name '*.log' | $EGREP -v '^\./(config|test-suite)\.log$'
+}
+
+# Number of test scripts will be 3 * $count.
+count=10000
+
+i=1
+while test $i -le $count; do
+ files="
+ $tst-$i.test
+ $dir1-$i/foo.sh
+ $dir2-$i/$tst-$i
+ "
+ mkdir $dir1-$i $dir2-$i
+ for f in $files; do
+ : > $f
+ echo $f
+ done
+ i=$(($i + 1))
+ # Disable shell traces after the first iteration, to avoid
+ # polluting the test logs.
+ set +x
+done > t
+set -x # Re-enable shell traces.
+echo 'TESTS = \' >> Makefile.am
+sed '$!s/$/ \\/' t >> Makefile.am
+rm -f t
+
+whole_count=$(($count * 3))
+
+test $(wc -l <Makefile.am) -eq $((6 + $whole_count)) \
+ || fatal_ "populating 'TESTS'"
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+
+run_make -O check
+
+grep "^# TOTAL: $whole_count$" stdout
+grep "^# PASS: $whole_count$" stdout
+
+# Only check head, tail, and a random sample.
+
+test -f $tst-1.log
+test -f $dir1-1/foo.log
+test -f $dir2-1/$tst-1.log
+
+test -f $tst-$count.log
+test -f $dir1-$count/foo.log
+test -f $dir2-$count/$tst-$count.log
+
+test -f $tst-163.log
+grep "^PASS: $tst-163\.test$" stdout
+test -f $dir1-7645/foo.log
+grep "^PASS: $dir1-7645/foo.sh$" stdout
+test -f $dir2-4077/$tst-4077.log
+grep "^PASS: $dir2-4077/$tst-4077$" stdout
+
+grep "^PASS: " stdout > grp
+list_logs > lst
+
+sed 20q lst # For debugging.
+sed 20q grp # Likewise.
+
+test $(wc -l <grp) -eq $whole_count
+test $(wc -l <lst) -eq $whole_count
+
+check_three_reruns ()
+{
+ grep "^PASS: $tst-1\.test$" stdout
+ grep "^PASS: $dir1-1/foo\.sh$" stdout
+ grep "^PASS: $dir2-1/$tst-1$" stdout
+ test $(LC_ALL=C grep -c "^[A-Z][A-Z]*:" stdout) -eq 3
+}
+
+$sleep
+touch $tst-1.test $dir1-1/foo.sh $dir2-1/$tst-1
+run_make -O check AM_LAZY_CHECK=yes
+check_three_reruns
+grep "^# TOTAL: $whole_count$" stdout
+grep "^# PASS: $whole_count$" stdout
+
+# We need to simulate the failure of few tests.
+run_make -O -e FAIL check \
+ TESTS="$tst-1.test $dir1-1/foo.sh $dir2-1/$tst-1" \
+ LOG_COMPILER=false \
+ && test $(grep -c '^FAIL:' stdout) -eq 3 \
+ || fatal_ "couldn't simulate failure of 3 tests"
+
+run_make -O recheck
+check_three_reruns
+grep "^# TOTAL: 3$" stdout
+grep "^# PASS: 3$" stdout
+
+# We need to simulate the failure of a lot of tests.
+run_make -O -e FAIL check LOG_COMPILER=false
+grep '^PASS:' stdout && exit 1
+# A random sample.
+grep "^FAIL: $tst-363\.test$" stdout
+grep "^FAIL: $dir1-9123/foo.sh$" stdout
+grep "^FAIL: $dir2-3609/$tst-3609$" stdout
+
+grep "^FAIL: " stdout > grp
+sed 20q grp # For debugging.
+test $(wc -l <grp) -eq $whole_count
+
+run_make -O recheck
+grep '^FAIL:' stdout && exit 1
+# A random sample.
+grep "^PASS: $tst-363\.test$" stdout
+grep "^PASS: $dir1-9123/foo.sh$" stdout
+grep "^PASS: $dir2-3609/$tst-3609$" stdout
+
+grep "^PASS: " stdout > grp
+sed 20q grp # For debugging.
+test $(wc -l <grp) -eq $whole_count
+grep "^# TOTAL: $whole_count$" stdout
+grep "^# PASS: $whole_count$" stdout
+
+# "make clean" might ignore some failures (either on purpose or spuriously),
+# so we prefer to also grep its output to ensure that no "Argument list too
+# long" error was encountered.
+run_make -M clean
+grep -i 'list.* too long' output && exit 1
+list_logs | grep . && exit 1
+
+:
diff --git a/t/mdate4.sh b/t/parallel-tests-no-repeat.sh
index fea19647c..556116000 100644
--- a/t/mdate4.sh
+++ b/t/parallel-tests-no-repeat.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,33 +14,30 @@
# 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 mdate-sh is added to the right directory.
-# Report from Kevin Dalley.
+# The parallel-tests harness do not cause the same test to be
+# uselessly run multiple times.
. test-init.sh
-cat >> configure.ac << 'END'
-AC_CONFIG_FILES([sub/Makefile])
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub
-END
+echo AC_OUTPUT >> configure.ac
+echo TESTS = foo.test > Makefile.am
-mkdir sub
-
-cat > sub/Makefile.am << 'END'
-info_TEXINFOS = textutils.texi
-END
-
-cat > sub/textutils.texi << 'END'
-@include version.texi
-@setfilename textutils.info
+cat > foo.test <<'END'
+#! /bin/sh
+ls -l && mkdir bar
END
+chmod a+x foo.test
$ACLOCAL
+$AUTOCONF
$AUTOMAKE -a
-ls -l sub
-test -f sub/mdate-sh
+
+./configure
+
+$MAKE -j1 check || { cat test-suite.log; exit 1; }
+rmdir bar
+$MAKE -j2 check || { cat test-suite.log; exit 1; }
+rmdir bar
+$MAKE -j4 check || { cat test-suite.log; exit 1; }
:
diff --git a/t/parallel-tests-per-suffix-deps.sh b/t/parallel-tests-per-suffix-deps.sh
new file mode 100644
index 000000000..d5f819780
--- /dev/null
+++ b/t/parallel-tests-per-suffix-deps.sh
@@ -0,0 +1,162 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# The user should be able to easily specify extra dependencies for
+# the test cases, depending on their extension (or lack thereof).
+# We do so with the help of "${prefix}LOG_DEPENDENCIES" variables.
+# See the last wishlist in automake bug#11287.
+
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_SUBST([EXEEXT], [.bin])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TEST_EXTENSIONS = .test .sh
+TESTS = foo.test foo2.test bar.sh baz zard.oz quux.bin mu.test.bin
+
+TEST_LOG_DEPENDENCIES = test-dep
+SH_LOG_DEPENDENCIES = sh-dep1 sh-dep2
+LOG_DEPENDENCIES = dep
+
+DEPS = test-dep sh-dep1 sh-dep2 dep new-test-dep
+$(DEPS):
+ echo dummy > $@
+CLEANFILES = $(DEPS)
+
+.PHONY: setup
+setup:
+ chmod a+x $(TESTS)
+EXTRA_DIST = $(TESTS)
+END
+
+cat > foo.test <<'END'
+#! /bin/sh
+test -f test-dep || test -f new-test-dep
+END
+
+cat > foo2.test <<'END'
+#! /bin/sh
+test -f test-dep
+END
+
+cp foo2.test mu.test.bin
+
+cat > bar.sh <<'END'
+#! /bin/sh
+test -f sh-dep1 && test -f sh-dep2
+END
+
+cat > baz <<'END'
+#! /bin/sh
+test -f dep
+END
+
+cp baz quux.bin
+
+cat > zard.oz <<'END'
+#! /bin/sh
+test -f dep
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+$MAKE setup
+
+cleanup () { rm -f test-dep sh-dep1 sh-dep2 dep; }
+
+$MAKE check -j4
+test ! -f new-test-dep
+test -f test-dep
+test -f sh-dep1
+test -f sh-dep2
+test -f dep
+test -f quux.log # Sanity check.
+test -f mu.log # Likewise.
+
+cleanup
+
+$MAKE check TESTS=foo.test
+test -f test-dep
+test ! -f sh-dep1
+test ! -f sh-dep2
+test ! -f dep
+
+cleanup
+rm -f bar.log
+$MAKE check TESTS=bar.sh AM_LAZY_CHECK=yes
+test ! -f test-dep
+test -f sh-dep1
+test -f sh-dep2
+test ! -f dep
+
+cleanup
+$MAKE check TESTS=baz
+test ! -f test-dep
+test ! -f sh-dep1
+test ! -f sh-dep2
+test -f dep
+
+cleanup
+$MAKE check TESTS='foo bar'
+test -f test-dep
+test -f sh-dep1
+test -f sh-dep2
+test ! -f dep
+
+cleanup
+$MAKE check TESTS=zard.oz
+test ! -f test-dep
+test ! -f sh-dep1
+test ! -f sh-dep2
+test -f dep
+
+cleanup
+$MAKE check TESTS=mu.test.bin
+test -f test-dep
+test ! -f sh-dep1
+test ! -f sh-dep2
+test ! -f dep
+
+cleanup
+$MAKE check TESTS='quux.bin bar.sh'
+test ! -f test-dep
+test -f sh-dep1
+test -f sh-dep2
+test -f dep
+
+cleanup
+$MAKE check TESTS=foo TEST_LOG_DEPENDENCIES=new-test-dep
+test -f new-test-dep
+test ! -f test-dep
+test ! -f sh-dep1
+test ! -f sh-dep2
+test ! -f dep
+
+cleanup
+$MAKE check TESTS=baz XFAIL_TESTS=baz LOG_DEPENDENCIES=
+test ! -f dep
+grep ':test-result: XFAIL' baz.trs
+
+$MAKE distcheck
+
+:
diff --git a/t/parallel-tests-recheck-pr11791.sh b/t/parallel-tests-recheck-pr11791.sh
index 3c34b7dcd..9dbee9359 100644
--- a/t/parallel-tests-recheck-pr11791.sh
+++ b/t/parallel-tests-recheck-pr11791.sh
@@ -41,10 +41,7 @@ $AUTOMAKE -a
run_make -O -e FAIL check
count_test_results total=1 pass=0 fail=1 xpass=0 xfail=0 skip=0 error=0
-using_gmake || $sleep # Required by BSD make.
-run_make -O -e IGNORE -- -k recheck
-# Don't trust the exit status of "make -k" for non-GNU makes.
-! using_gmake || test $am_make_rc -gt 0 || exit 1
+run_make -O -e FAIL -- recheck --keep-going
count_test_results total=1 pass=0 fail=1 xpass=0 xfail=0 skip=0 error=0
# Introduce an error in foo.c, that should cause a compilation failure.
@@ -59,10 +56,7 @@ $EGREP '(X?PASS|X?FAIL|SKIP|ERROR):' stdout && exit 1
test -f foo.log
test -f foo.trs
-using_gmake || $sleep # Required by BSD make.
-run_make -O -e IGNORE -- -k recheck
-# Don't trust the exit status of "make -k" for non-GNU makes.
-! using_gmake || test $am_make_rc -gt 0 || exit 1
+run_make -O -e FAIL -- recheck -k
# We don't get a change to run the testsuite.
$EGREP '(X?PASS|X?FAIL|SKIP|ERROR):' stdout && exit 1
test -f foo.log
diff --git a/t/parallel-tests-recheck.sh b/t/parallel-tests-recheck.sh
index 6db3301b9..f9e7c1257 100644
--- a/t/parallel-tests-recheck.sh
+++ b/t/parallel-tests-recheck.sh
@@ -61,7 +61,6 @@ count_test_results total=3 pass=1 fail=1 skip=0 xfail=0 xpass=0 error=1
# Running this two times in a row should produce the same results the
# second time.
for i in 1 2; do
- using_gmake || $sleep # Required by BSD make.
run_make -O -e FAIL recheck
count_test_results total=2 pass=0 fail=1 skip=0 xfail=0 xpass=0 error=1
grep 'foo\.test' stdout && exit 1
diff --git a/t/parallel-tests-no-spurious-summary.sh b/t/parallel-tests-srcdir-in-test-name.sh
index 2e6d5d0a1..e8b7a308c 100644
--- a/t/parallel-tests-no-spurious-summary.sh
+++ b/t/parallel-tests-srcdir-in-test-name.sh
@@ -14,52 +14,65 @@
# 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 ':test-results:' directives in test scripts' output doesn't
-# originate spurious results in the testsuite summary.
+# Check parallel-tests features: listing $(srcdir)/ in TESTS works.
. test-init.sh
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
+echo AC_OUTPUT >> configure.ac
cat > Makefile.am << 'END'
-TESTS = foo.test bar.test
+TESTS = \
+ $(srcdir)/foo \
+ @srcdir@/foo2 \
+ @srcdir@/bar.test \
+ ${srcdir}/sub/baz.test \
+ built.test
+
+XFAIL_TESTS = $(srcdir)/bar.test foo2
+
+built.test:
+ (echo '#!/bin/sh' && echo 'exit 77') >$@-t
+ chmod a-w,a+x $@-t && mv -f $@-t $@
END
-cat > foo.test <<'END'
-#! /bin/sh
-echo :test-result:XFAIL
-echo :test-result: SKIP
-echo :test-result:ERROR
+cat > foo <<'END'
+#!/bin/sh
exit 0
END
-cat > bar.test <<'END'
-#! /bin/sh
-echo :test-result: ERROR
-echo :test-result:FAIL
-echo :test-result: XPASS
-exit 0
+chmod a+x foo
+
+cat > foo2 <<'END'
+#!/bin/sh
+exit 1
END
-chmod a+x foo.test bar.test
+chmod a+x foo2
+
+cp foo2 bar.test
+
+mkdir sub
+cp foo sub/baz.test
$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
-./configure
+mkdir build
+cd build
+../configure
+$MAKE check
-run_make -O -e IGNORE check
-cat test-suite.log
-cat foo.log
-cat bar.log
-test $am_make_rc -eq 0
+ls -l . .. # For debugging.
-grep '^:test-result:XFAIL$' foo.log
-grep '^:test-result: SKIP$' foo.log
-grep '^:test-result:FAIL$' bar.log
-grep '^:test-result: XPASS$' bar.log
+test -f built.log
+test -f foo.log
+test -f bar.log
+test -f sub/baz.log
+test -f test-suite.log
-count_test_results total=2 pass=2 fail=0 skip=0 xfail=0 xpass=0 error=0
+test ! -f ../built.log
+test ! -f ../foo.log
+test ! -f ../bar.log
+test ! -f ../sub/baz.log
+test ! -f ../test-suite.log
:
diff --git a/t/parallel-tests-unreadable.sh b/t/parallel-tests-unreadable.sh
index f9f7a8040..3c380e350 100644
--- a/t/parallel-tests-unreadable.sh
+++ b/t/parallel-tests-unreadable.sh
@@ -33,13 +33,11 @@ END
cat > foo.test << 'END'
#! /bin/sh
-echo foofoofoo
exit 0
END
cat > bar.test << 'END'
#! /bin/sh
-echo barbarbar
exit 77
END
@@ -51,25 +49,56 @@ $AUTOMAKE -a
./configure
-for files in \
- 'foo.log bar.log' \
- 'foo.trs bar.trs' \
- 'foo.trs bar.log' \
- 'foo.log bar.trs' \
-; do
+doit ()
+{
+ rm -f $*
$MAKE check
rm -f test-suite.log
- chmod a-r $files
- $MAKE test-suite.log || { ls -l; exit 1; }
- ls -l
- grep '^foofoofoo$' foo.log
- grep '^:test-result: PASS' foo.trs
- grep '^barbarbar$' bar.log
- grep '^:test-result: SKIP' bar.trs
- grep '^SKIP: bar' test-suite.log
- grep '^barbarbar$' test-suite.log
- $EGREP ':.*foo|foofoofoo' test-suite.log && exit 1
- : For shells with busted 'set -e'.
+ chmod a-r $*
+ run_make -E -e FAIL test-suite.log
+}
+
+could_not_read ()
+{
+ # We have to settle for weak checks to avoid spurious failures due to
+ # the differences in error massages on different systems; for example:
+ #
+ # $ cat unreadable-file # GNU/Linux or NetBSD
+ # cat: unreadable-file: Permission denied
+ # $ cat unreadable-file # Solaris 10
+ # cat: cannot open unreadable
+ #
+ # $ grep foo unreadable-file # GNU/Linux and NetBSD
+ # grep: unreadable: Permission denied
+ # $ grep foo unreadable-file # Solaris 10
+ # grep: can't open "unreadable"
+ #
+ # Plus, we must cater to error messages displayed by our own awk
+ # script: "cannot read "unreadable"".
+ #
+ # FIXME: this might still needs adjustments on other systems ...
+ #
+ grep "$1:.*[pP]ermission denied" stderr \
+ || $EGREP "can(no|')t (open|read) [\"'\`]?$1" stderr
+}
+
+for lst in bar.log 'foo.log bar.log'; do
+ doit $lst
+ could_not_read bar.log
+ grep 'test-suite\.log:.* I/O error reading test results' stderr
done
+doit foo.trs
+could_not_read foo.trs
+grep 'test-suite\.log:.* I/O error reading test results' stderr
+
+doit foo.trs bar.trs
+could_not_read foo.trs
+could_not_read bar.trs
+grep 'test-suite\.log:.* I/O error reading test results' stderr
+
+doit foo.trs bar.log
+could_not_read foo.trs
+grep 'test-suite\.log:.* I/O error reading test results' stderr
+
:
diff --git a/t/doc-parsing-buglets-colneq-subst.sh b/t/pattern-rules.sh
index e27b9ad48..4f3d1308a 100644
--- a/t/doc-parsing-buglets-colneq-subst.sh
+++ b/t/pattern-rules.sh
@@ -14,24 +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/>.
-# Check a documented limitation of the Automake's Makefile parser
-# w.r.t. POSIX variable substitutions used in the name of targets.
-# See Section "General Operation" in the Automake manual.
-# If you cause some parts of this test to fail, chances are that you've
-# improved the Automake parser ;-)
-# 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>
+# Automake do not complain about nor messes up pattern rules.
. test-init.sh
+echo AC_OUTPUT >> configure.ac
+
cat > Makefile.am <<'END'
-$(FOO:=x): bar
+foo/%.out: bar/%.in
+ test -d $(dir $@) || $(MKDIR_P) $(dir $@)
+ cp $< $@
+%.sh: %/z
+ cp $< $@
+%:
+ echo True > $@
+noinst_DATA = foo/one.out
+noinst_SCRIPTS = two.sh mu.py
END
+mkdir bar two
+echo "123456789" > bar/one.in
+echo "#!/bin/sh" > two/z
+
$ACLOCAL
-AUTOMAKE_fails
+$AUTOCONF
+$AUTOMAKE
-grep 'bad characters.*variable name.*\$(FOO' stderr
-grep ':=.*assignments.*not portable' stderr
+for vpath in : false; do
+ if $vpath; then
+ mkdir build
+ cd build
+ srcdir=..
+ else
+ srcdir=.
+ fi
+ $srcdir/configure
+ $MAKE
+ diff $srcdir/bar/one.in ./foo/one.out
+ diff $srcdir/two/z ./two.sh
+ test "$(cat mu.py)" = True
+ cd $srcdir
+done
:
diff --git a/t/percent2.sh b/t/pattern-rules2.sh
index 5b33b0f09..34524b1be 100644
--- a/t/percent2.sh
+++ b/t/pattern-rules2.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/>.
-# Another test for -Wportability warning about %-style rules, plus
+# Support for pattern rules:
# make sure we don't warn about duplicate definition for
# '${ARCH}/%.$(OBJEXT):'.
# Report from Ralf Corsepius.
@@ -32,8 +32,6 @@ ${ARCH}/%.$(OBJEXT): %.c
EOF
$ACLOCAL
-AUTOMAKE_fails
-grep '%.*pattern.*rules' stderr
+$AUTOMAKE
-# No error otherwise.
-$AUTOMAKE -Wno-portability
+:
diff --git a/t/per-target-flags.sh b/t/per-target-flags.sh
index 264fbb220..c5c6a6d2a 100644
--- a/t/per-target-flags.sh
+++ b/t/per-target-flags.sh
@@ -75,7 +75,16 @@ $EGREP '[^-](foo|bar)\.[o$]' $makefiles && exit 1
# All our programs and libraries have per-target flags, so all
# the compilers invocations must use an explicit '-c' option.
-grep '\$.COMPILE' $makefiles | grep -v ' -c' && exit 1
+# We must be careful to take line continuations into account.
+grep . $makefiles | $PERL -ne '
+ use warnings FATAL => "all";
+ /\$.COMPILE/ or next;
+ $_ .= <STDIN> while (/\\$/);
+ s/\n/[cont]/g;
+ print;
+' > output
+cat output # For debugging.
+grep -v ' -c' output && exit 1
$FGREP 'foo-foo.$(OBJEXT)' Makefile.in
$FGREP 'foo-foo.$(OBJEXT)' Makefile2.in
diff --git a/t/percent.sh b/t/percent.sh
deleted file mode 100644
index afea9a0b3..000000000
--- a/t/percent.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2002-2015 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 -Wportability understands %-style pattern
-# rules.
-
-. test-init.sh
-
-cat >>configure.ac <<EOF
-AC_PROG_CC
-EOF
-
-cat >Makefile.am <<EOF
-bin_PROGRAMS = liver
-liver_SOURCES = foo.c
-
-%.o: %.c
- echo "gnu make extension"
-EOF
-
-$ACLOCAL
-AUTOMAKE_fails -Wportability
-grep 'Makefile.am:4:.*%' stderr
diff --git a/t/phony.sh b/t/phony.sh
index 6e6cf403c..05858c583 100644
--- a/t/phony.sh
+++ b/t/phony.sh
@@ -26,7 +26,7 @@ EOF
$ACLOCAL
$AUTOMAKE
-$FGREP '.PHONY:' Makefile.in # For debugging.
-test $($FGREP -c '.PHONY:' Makefile.in) -eq 3
+grep '^\.PHONY: foo$' Makefile.in
+grep '^\.PHONY: bar$' Makefile.in
:
diff --git a/t/pluseq3.sh b/t/pluseq3.sh
index 4336a2337..3007531d9 100644
--- a/t/pluseq3.sh
+++ b/t/pluseq3.sh
@@ -43,7 +43,7 @@ $ACLOCAL
$AUTOMAKE
grep '^@CHECK_TRUE@data_DATA = zarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr \\$' Makefile.in
-grep "^@CHECK_TRUE@${tab}doz$" Makefile.in
+grep "^@CHECK_TRUE@[ $tab]*doz$" Makefile.in
grep '^@CHECK_FALSE@data_DATA = dog$' Makefile.in
diff --git a/t/pm/Condition-t.pl b/t/pm/Condition-t.pl
deleted file mode 100644
index 1bb938b73..000000000
--- a/t/pm/Condition-t.pl
+++ /dev/null
@@ -1,327 +0,0 @@
-# Copyright (C) 2001-2015 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/>.
-
-BEGIN {
- use Config;
- if (eval { require 5.007_002; } # for CLONE support
- && $Config{useithreads}
- && !$ENV{WANT_NO_THREADS})
- {
- require threads;
- import threads;
- }
- else
- {
- exit 77;
- }
-}
-use Automake::Condition qw/TRUE FALSE/;
-
-sub test_basics ()
-{
- my @tests = (# [[Conditions], is_true?, is_false?, string, subst-string, human]
- [[], 1, 0, 'TRUE', '', 'TRUE'],
- [['TRUE'], 1, 0, 'TRUE', '', 'TRUE'],
- [['FALSE'], 0, 1, 'FALSE', '#', 'FALSE'],
- [['A_TRUE'], 0, 0, 'A_TRUE', '@A_TRUE@', 'A'],
- [['A_TRUE', 'B_FALSE'],
- 0, 0, 'A_TRUE B_FALSE', '@A_TRUE@@B_FALSE@', 'A and !B'],
- [['B_TRUE', 'FALSE'], 0, 1, 'FALSE', '#', 'FALSE'],
- [['B_TRUE', 'B_FALSE'], 0, 1, 'FALSE', '#', 'FALSE']);
-
- for (@tests)
- {
- my $a = new Automake::Condition @{$_->[0]};
- return 1
- if threads->new(sub {
- return 1 if $_->[1] != $a->true;
- return 1 if $_->[1] != ($a == TRUE);
- return 1 if $_->[2] != $a->false;
- return 1 if $_->[2] != ($a == FALSE);
- return 1 if $_->[3] ne $a->string;
- return 1 if $_->[4] ne $a->subst_string;
- return 1 if $_->[5] ne $a->human;
- })->join;
- }
- return 0;
-}
-
-sub test_true_when ()
-{
- my $failed = 0;
-
- my @tests = (# [When,
- # [Implied-Conditions],
- # [Not-Implied-Conditions]]
- [['TRUE'],
- [['TRUE']],
- [['A_TRUE'], ['A_TRUE', 'B_FALSE'], ['FALSE']]],
- [['A_TRUE'],
- [['TRUE'], ['A_TRUE']],
- [['A_TRUE', 'B_FALSE'], ['FALSE']]],
- [['A_TRUE', 'B_FALSE'],
- [['TRUE'], ['A_TRUE'], ['B_FALSE'], ['A_TRUE', 'B_FALSE']],
- [['FALSE'], ['C_FALSE'], ['C_FALSE', 'A_TRUE']]]);
-
- for my $t (@tests)
- {
- my $a = new Automake::Condition @{$t->[0]};
- return 1
- if threads->new(sub {
- for my $u (@{$t->[1]})
- {
- my $b = new Automake::Condition @$u;
- return threads->new(sub {
- if (! $b->true_when ($a))
- {
- print "`" . $b->string .
- "' not implied by `" . $a->string . "'?\n";
- $failed = 1;
- }
- })->join;
- }
- for my $u (@{$t->[2]})
- {
- my $b = new Automake::Condition @$u;
- return threads->new(sub {
- if ($b->true_when ($a))
- {
- print "`" . $b->string .
- "' implied by `" . $a->string . "'?\n";
- $failed = 1;
- }
-
- return threads->new(sub {
- return 1 if $b->true_when ($a);
- })->join;
- })->join;
- }
- })->join;
- }
- return $failed;
-}
-
-sub test_reduce_and ()
-{
- my @tests = (# If no conditions are given, TRUE should be returned
- [[], ["TRUE"]],
- # An empty condition is TRUE
- [[""], ["TRUE"]],
- # A single condition should be passed through unchanged
- [["FOO"], ["FOO"]],
- [["FALSE"], ["FALSE"]],
- [["TRUE"], ["TRUE"]],
- # TRUE and false should be discarded and overwhelm
- # the result, respectively
- [["FOO", "TRUE"], ["FOO"]],
- [["FOO", "FALSE"], ["FALSE"]],
- # Repetitions should be removed
- [["FOO", "FOO"], ["FOO"]],
- [["TRUE", "FOO", "FOO"], ["FOO"]],
- [["FOO", "TRUE", "FOO"], ["FOO"]],
- [["FOO", "FOO", "TRUE"], ["FOO"]],
- # Two different conditions should be preserved,
- # but TRUEs should be removed
- [["FOO", "BAR"], ["BAR,FOO"]],
- [["TRUE", "FOO", "BAR"], ["BAR,FOO"]],
- [["FOO", "TRUE", "BAR"], ["BAR,FOO"]],
- [["FOO", "BAR", "TRUE"], ["BAR,FOO"]],
- # A condition implied by another condition should be removed.
- [["FOO BAR", "BAR"], ["FOO BAR"]],
- [["BAR", "FOO BAR"], ["FOO BAR"]],
- [["TRUE", "FOO BAR", "BAR"], ["FOO BAR"]],
- [["FOO BAR", "TRUE", "BAR"], ["FOO BAR"]],
- [["FOO BAR", "BAR", "TRUE"], ["FOO BAR"]],
-
- [["BAR FOO", "BAR"], ["BAR FOO"]],
- [["BAR", "BAR FOO"], ["BAR FOO"]],
- [["TRUE", "BAR FOO", "BAR"], ["BAR FOO"]],
- [["BAR FOO", "TRUE", "BAR"], ["BAR FOO"]],
- [["BAR FOO", "BAR", "TRUE"], ["BAR FOO"]],
-
- # Check that reduction happens even when there are
- # two conditions to remove.
- [["FOO", "FOO BAR", "BAR"], ["FOO BAR"]],
- [["FOO", "FOO BAR", "BAZ", "FOO BAZ"], ["FOO BAR", "FOO BAZ"]],
- [["FOO", "FOO BAR", "BAZ", "FOO BAZ", "FOO BAZ BAR"],
- ["FOO BAZ BAR"]],
-
- # Duplicated conditionals should be removed.
- [["FOO", "BAR", "BAR"], ["BAR,FOO"]],
-
- # Equivalent conditions in different forms should be
- # reduced: which one is left is unfortunately order
- # dependent.
- [["BAR FOO", "FOO BAR"], ["FOO BAR"]],
- [["FOO BAR", "BAR FOO"], ["BAR FOO"]]);
-
- my $failed = 0;
- foreach (@tests)
- {
- my ($inref, $outref) = @$_;
- my @inconds = map { new Automake::Condition $_ } @$inref;
- return 1
- if threads->new(sub {
- my @outconds = map { (new Automake::Condition $_)->string } @$outref;
- return threads->new(sub {
- my @res =
- map { $_->string } (Automake::Condition::reduce_and (@inconds));
- return threads->new(sub {
- my $result = join (",", sort @res);
- my $exresult = join (",", @outconds);
-
- if ($result ne $exresult)
- {
- print '"' . join(",", @$inref) . '" => "' .
- $result . '" expected "' .
- $exresult . '"' . "\n";
- $failed = 1;
- }
- return $failed;
- })->join;
- })->join;
- })->join;
- }
- return $failed;
-}
-
-sub test_reduce_or ()
-{
- my @tests = (# If no conditions are given, FALSE should be returned
- [[], ["FALSE"]],
- # An empty condition is TRUE
- [[""], ["TRUE"]],
- # A single condition should be passed through unchanged
- [["FOO"], ["FOO"]],
- [["FALSE"], ["FALSE"]],
- [["TRUE"], ["TRUE"]],
- # FALSE and TRUE should be discarded and overwhelm
- # the result, respectively
- [["FOO", "TRUE"], ["TRUE"]],
- [["FOO", "FALSE"], ["FOO"]],
- # Repetitions should be removed
- [["FOO", "FOO"], ["FOO"]],
- [["FALSE", "FOO", "FOO"], ["FOO"]],
- [["FOO", "FALSE", "FOO"], ["FOO"]],
- [["FOO", "FOO", "FALSE"], ["FOO"]],
- # Two different conditions should be preserved,
- # but FALSEs should be removed
- [["FOO", "BAR"], ["BAR,FOO"]],
- [["FALSE", "FOO", "BAR"], ["BAR,FOO"]],
- [["FOO", "FALSE", "BAR"], ["BAR,FOO"]],
- [["FOO", "BAR", "FALSE"], ["BAR,FOO"]],
- # A condition implying another condition should be removed.
- [["FOO BAR", "BAR"], ["BAR"]],
- [["BAR", "FOO BAR"], ["BAR"]],
- [["FALSE", "FOO BAR", "BAR"], ["BAR"]],
- [["FOO BAR", "FALSE", "BAR"], ["BAR"]],
- [["FOO BAR", "BAR", "FALSE"], ["BAR"]],
-
- [["BAR FOO", "BAR"], ["BAR"]],
- [["BAR", "BAR FOO"], ["BAR"]],
- [["FALSE", "BAR FOO", "BAR"], ["BAR"]],
- [["BAR FOO", "FALSE", "BAR"], ["BAR"]],
- [["BAR FOO", "BAR", "FALSE"], ["BAR"]],
-
- # Check that reduction happens even when there are
- # two conditions to remove.
- [["FOO", "FOO BAR", "BAR"], ["BAR,FOO"]],
- [["FOO", "FOO BAR", "BAZ", "FOO BAZ"], ["BAZ,FOO"]],
- [["FOO", "FOO BAR", "BAZ", "FOO BAZ", "FOO BAZ BAR"],
- ["BAZ,FOO"]],
-
- # Duplicated conditionals should be removed.
- [["FOO", "BAR", "BAR"], ["BAR,FOO"]],
-
- # Equivalent conditions in different forms should be
- # reduced: which one is left is unfortunately order
- # dependent.
- [["BAR FOO", "FOO BAR"], ["FOO BAR"]],
- [["FOO BAR", "BAR FOO"], ["BAR FOO"]]);
-
- my $failed = 0;
- foreach (@tests)
- {
- my ($inref, $outref) = @$_;
- my @inconds = map { new Automake::Condition $_ } @$inref;
- return 1
- if threads->new(sub {
- my @outconds = map { (new Automake::Condition $_)->string } @$outref;
- return threads->new(sub {
- my @res =
- map { $_->string } (Automake::Condition::reduce_or (@inconds));
- return threads->new(sub {
- my $result = join (",", sort @res);
- my $exresult = join (",", @outconds);
-
- if ($result ne $exresult)
- {
- print '"' . join(",", @$inref) . '" => "' .
- $result . '" expected "' .
- $exresult . '"' . "\n";
- $failed = 1;
- }
- return $failed;
- })->join;
- })->join;
- })->join;
- }
- return $failed;
-}
-
-sub test_merge ()
-{
- my $cond = new Automake::Condition "COND1_TRUE", "COND2_FALSE";
- return threads->new(sub {
- my $other = new Automake::Condition "COND3_FALSE";
- return threads->new(sub {
- my $both = $cond->merge ($other);
- return threads->new(sub {
- my $both2 = $cond->merge_conds ("COND3_FALSE");
- return threads->new(sub {
- $cond = $both->strip ($other);
- my @conds = $cond->conds;
- return 1 if $both->string ne "COND1_TRUE COND2_FALSE COND3_FALSE";
- return 1 if $cond->string ne "COND1_TRUE COND2_FALSE";
- return 1 if $both != $both2;
- })->join;
- })->join;
- })->join;
- })->join;
- return 0;
-}
-
-exit (test_basics
- || test_true_when
- || test_reduce_and
- || test_reduce_or
- || test_merge);
-
-### Setup "GNU" style for perl-mode and cperl-mode.
-## Local Variables:
-## perl-indent-level: 2
-## perl-continued-statement-offset: 2
-## perl-continued-brace-offset: 0
-## perl-brace-offset: 0
-## perl-brace-imaginary-offset: 0
-## perl-label-offset: -2
-## cperl-indent-level: 2
-## cperl-brace-offset: 0
-## cperl-continued-brace-offset: 0
-## cperl-label-offset: -2
-## cperl-extra-newline-before-brace: t
-## cperl-merge-trailing-else: nil
-## cperl-continued-statement-offset: 2
-## End:
diff --git a/t/pm/DisjConditions-t.pl b/t/pm/DisjConditions-t.pl
deleted file mode 100644
index e83b480ff..000000000
--- a/t/pm/DisjConditions-t.pl
+++ /dev/null
@@ -1,461 +0,0 @@
-# Copyright (C) 2001-2015 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/>.
-
-BEGIN {
- use Config;
- if (eval { require 5.007_002; } # for CLONE support
- && $Config{useithreads}
- && !$ENV{WANT_NO_THREADS})
- {
- require threads;
- import threads;
- }
- else
- {
- exit 77;
- }
-}
-use Automake::Condition qw/TRUE FALSE/;
-use Automake::DisjConditions;
-
-sub test_basics ()
-{
- my $true = new Automake::DisjConditions TRUE;
- my $false = new Automake::DisjConditions FALSE;
- my $cond = new Automake::Condition "COND1_TRUE", "COND2_FALSE";
- return threads->new (sub {
- my $other = new Automake::Condition "COND3_FALSE";
- my $another = new Automake::Condition "COND3_TRUE", "COND4_FALSE";
- return threads->new (sub {
- my $set1 = new Automake::DisjConditions $cond, $other;
- return threads->new (sub {
- my $set2 = new Automake::DisjConditions $other, $cond;
- my $set3 = new Automake::DisjConditions FALSE, $another;
- return 1 unless $set1 == $set2;
- return 1 if $set1->false;
- return 1 if $set1->true;
- return 1 unless (new Automake::DisjConditions)->false;
- return 1 if (new Automake::DisjConditions)->true;
- return 1 unless $true->human eq 'TRUE';
- return 1 unless $false->human eq 'FALSE';
- return 1 unless $set1->human eq "(COND1 and !COND2) or (!COND3)";
- return 1 unless $set2->human eq "(COND1 and !COND2) or (!COND3)";
- my $one_cond_human = $set1->one_cond->human;
- return 1 unless $one_cond_human eq "!COND3"
- || $one_cond_human eq "COND1 and !COND2";
- return 1 unless $set1->string eq "COND1_TRUE COND2_FALSE | COND3_FALSE";
-
- my $merged1 = $set1->merge ($set2);
- my $merged2 = $set1->merge ($cond);
- my $mult1 = $set1->multiply ($set3);
- return threads->new (sub {
- my $mult2 = $set1->multiply ($another);
- return threads->new (sub {
- return 1 unless $merged1->simplify->string eq "COND1_TRUE COND2_FALSE | COND3_FALSE";
- return 1 unless $merged2->simplify->string eq "COND1_TRUE COND2_FALSE | COND3_FALSE";
- return 1 unless $mult1->string eq "COND1_TRUE COND2_FALSE COND3_TRUE COND4_FALSE";
- return 1 unless $mult1 == $mult2;
- return 0;
- })->join;
- })->join;
- })->join;
- })->join;
- })->join;
-}
-
-sub build_set (@)
-{
- my @conds = @_;
- my @set = ();
- for my $cond (@conds)
- {
- push @set, new Automake::Condition @$cond;
- }
- return new Automake::DisjConditions @set;
-}
-
-sub test_invert ()
-{
- my @tests = ([[["FALSE"]],
- [["TRUE"]]],
-
- [[["TRUE"]],
- [["FALSE"]]],
-
- [[["COND1_TRUE", "COND2_TRUE"],
- ["COND3_FALSE", "COND2_TRUE"]],
- [["COND2_FALSE"],
- ["COND1_FALSE", "COND3_TRUE"]]],
-
- [[["COND1_TRUE", "COND2_TRUE"],
- ["TRUE"]],
- [["FALSE"]]],
-
- [[["COND1_TRUE", "COND2_TRUE"],
- ["FALSE"]],
- [["COND1_FALSE"],
- ["COND2_FALSE"]]],
-
- [[["COND1_TRUE"],
- ["COND2_FALSE"]],
- [["COND1_FALSE", "COND2_TRUE"]]]
- );
-
- for my $t (@tests)
- {
- my $set = build_set @{$t->[0]};
- return 1
- if threads->new(sub {
- my $res = build_set @{$t->[1]};
- my $inv = $set->invert;
- if ($inv != $res)
- {
- print " (I) " . $set->string . "\n\t"
- . $inv->string . ' != ' . $res->string . "\n";
- return 1;
- }
- return 0
- })-> join;
- }
- return 0;
-}
-
-sub test_simplify ()
-{
- my @tests = ([[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"]],
- [["FOO_TRUE", "BAR_FALSE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["FOO_TRUE", "BAR_TRUE"]],
- [["FOO_TRUE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["FOO_TRUE", "BAR_TRUE"],
- ["FOO_FALSE"]],
- [["TRUE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["BAR_TRUE", "BAZ_TRUE"],
- ["BAR_FALSE", "BAZ_TRUE"]],
- [["BAZ_TRUE"], ["FOO_TRUE", "BAR_FALSE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["BAR_TRUE", "BAZ_TRUE"],
- ["BAR_FALSE", "BAZ_TRUE"],
- ["FOO_FALSE"]],
- [["FOO_FALSE"], ["BAZ_TRUE"], ["BAR_FALSE"]]],
-
- [[["B_TRUE"],
- ["A_FALSE", "B_TRUE"]],
- [["B_TRUE"]]],
-
- [[["B_TRUE"],
- ["A_FALSE", "B_FALSE", "C_TRUE"],
- ["A_FALSE", "B_FALSE", "C_FALSE"]],
- [["A_FALSE"], ["B_TRUE"]]],
-
- [[["B_TRUE"],
- ["A_FALSE", "B_FALSE", "C_TRUE"],
- ["A_FALSE", "B_FALSE", "C_FALSE"],
- ["A_TRUE", "B_FALSE"]],
- [["TRUE"]]],
-
- [[["A_TRUE", "B_TRUE"],
- ["A_TRUE", "B_FALSE"],
- ["A_TRUE", "C_FALSE", "D_FALSE"]],
- [["A_TRUE"]]],
-
- [[["A_FALSE", "B_FALSE", "C_FALSE", "D_TRUE", "E_FALSE"],
- ["A_FALSE", "B_FALSE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["A_FALSE", "B_TRUE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["A_FALSE", "B_TRUE", "C_FALSE", "D_FALSE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_FALSE", "D_FALSE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["A_TRUE", "B_FALSE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["A_TRUE", "B_FALSE", "C_FALSE", "D_TRUE", "E_FALSE"]],
- [ ["B_FALSE", "C_FALSE", "D_TRUE", "E_FALSE"],
- ["B_FALSE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["B_TRUE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["B_TRUE", "C_FALSE", "D_FALSE", "E_FALSE"]]],
-
- [[["A_FALSE", "B_FALSE", "C_FALSE", "D_TRUE", "E_FALSE"],
- ["A_FALSE", "B_FALSE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["A_FALSE", "B_TRUE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["A_FALSE", "B_TRUE", "C_FALSE", "D_FALSE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_FALSE", "D_FALSE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["A_TRUE", "B_FALSE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["A_TRUE", "B_FALSE", "C_FALSE", "D_TRUE", "E_FALSE"],
- ["A_FALSE", "B_FALSE", "C_FALSE", "D_FALSE", "E_FALSE"],
- ["A_FALSE", "B_FALSE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["A_FALSE", "B_TRUE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["A_FALSE", "B_TRUE", "C_FALSE", "D_TRUE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_FALSE", "D_TRUE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_TRUE"],
- ["A_TRUE", "B_FALSE", "C_TRUE", "D_FALSE", "E_TRUE"],
- ["A_TRUE", "B_FALSE", "C_FALSE", "D_FALSE", "E_FALSE"]],
- [["C_FALSE", "E_FALSE"],
- ["C_TRUE", "E_TRUE"]]],
-
- [[["A_FALSE"],
- ["A_TRUE", "B_FALSE"],
- ["A_TRUE", "B_TRUE", "C_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_TRUE", "F_FALSE"],
- ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_TRUE"]],
- [["TRUE"]]],
-
- # Simplify should work with up to 31 variables.
- [[["V01_TRUE", "V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
- "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
- "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
- "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
- "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
- "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
- "V31_TRUE"],
- ["V01_TRUE", "V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
- "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
- "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
- "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
- "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
- "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
- "V31_FALSE"],
- ["V01_FALSE","V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
- "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
- "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
- "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
- "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
- "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
- "V31_TRUE"],
- ["V01_FALSE","V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
- "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
- "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
- "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
- "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
- "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
- "V31_FALSE"]],
- [[ "V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
- "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
- "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
- "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
- "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
- "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE"
- ]]]);
-
- for my $t (@tests)
- {
- my $set = build_set @{$t->[0]};
- return 1
- if threads->new(sub {
- my $res = build_set @{$t->[1]};
- return threads->new(sub {
-
- # Make sure simplify() yields the expected result.
- my $sim = $set->simplify;
- return threads->new(sub {
- if ($sim != $res)
- {
- print " (S1) " . $set->string . "\n\t"
- . $sim->string . ' != ' . $res->string . "\n";
- return 1;
- }
-
- # Make sure simplify() is idempotent.
- my $sim2 = $sim->simplify;
- return threads->new(sub {
- if ($sim2 != $sim)
- {
- print " (S2) " . $sim->string . "\n\t"
- . $sim2->string . ' != ' . $sim->string . "\n";
- return 1;
- }
-
- # Also exercise invert() while we are at it.
-
- my $inv1 = $set->invert->simplify;
- return threads->new(sub {
- my $inv2 = $sim->invert->simplify;
- return threads->new(sub {
- if ($inv1 != $inv2)
- {
- print " (S3) " . $set->string . ", " . $sim->string . "\n\t"
- . $inv1->string . ' -= ' . $inv2->string . "\n";
- return 1;
- }
- })->join;
- })->join;
- })->join;
- })->join;
- })->join;
- })->join;
- }
-
- return 0;
-}
-
-sub test_sub_conditions ()
-{
- my @tests = ([[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["FOO_FALSE"]],
- ["FOO_TRUE"],
- [["BAR_FALSE", "BAZ_FALSE"],
- ["BAR_FALSE", "BAZ_TRUE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["FOO_FALSE"]],
- ["FOO_TRUE", "BAR_FALSE"],
- [["BAZ_FALSE"],
- ["BAZ_TRUE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
- ["FOO_FALSE"]],
- ["FOO_TRUE", "BAR_TRUE"],
- [["FALSE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
- ["FOO_TRUE", "BAZ_TRUE"],
- ["FOO_FALSE"]],
- ["FOO_TRUE", "BAR_TRUE"],
- [["BAZ_TRUE"]]],
-
- [[["FOO_TRUE", "BAR_FALSE"],
- ["FOO_TRUE", "BAR_TRUE"]],
- ["FOO_TRUE", "BAR_TRUE"],
- [["TRUE"]]],
-
- [[["TRUE"]],
- ["TRUE"],
- [["TRUE"]]],
-
- [[["FALSE"]],
- ["TRUE"],
- [["FALSE"]]],
-
- [[["FALSE"]],
- ["FALSE"],
- [["FALSE"]]]);
-
- for my $t (@tests)
- {
- my $t1 = build_set @{$t->[0]};
- return 1
- if threads->new(sub {
- my $t2 = new Automake::Condition @{$t->[1]};
- return threads->new(sub {
- my $t3 = build_set @{$t->[2]};
- return threads->new(sub {
-
- # Make sure sub_conditions() yields the expected result.
- my $s = $t1->sub_conditions ($t2);
- threads->new(sub {
- if ($s != $t3)
- {
- print " (SC) " . $t1->string . "\n\t"
- . $s->string . ' != ' . $t3->string . "\n";
- return 1;
- }
- })->join;
- })->join;
- })->join;
- })->join;
- }
-}
-
-sub test_ambig ()
-{
- my @tests = ([[["TRUE"]],
- ["TRUE"],
- "multiply defined"],
- [[["C1_TRUE"]],
- ["C1_TRUE"],
- "multiply defined"],
- [[["TRUE"]],
- ["C1_FALSE"],
- "which includes"],
- [[["C1_TRUE"]],
- ["C1_TRUE", "C2_TRUE"],
- "which includes"],
- [[["C1_TRUE", "C2_TRUE"]],
- ["C2_TRUE"],
- "which is included in"],
- [[["C1_TRUE"]],
- ["C2_TRUE"],
- ''],
- [[["C1_TRUE"],
- ["C2_FALSE"]],
- ["C1_FALSE", "C2_TRUE"],
- '']);
-
- my $failed = 0;
- for my $t (@tests)
- {
- my $t1 = build_set @{$t->[0]};
- $failed = 1
- if threads->new(sub {
- my $t2 = new Automake::Condition @{$t->[1]};
- my $t3 = $t->[2];
- return threads->new(sub {
- my ($ans, $cond) = $t1->ambiguous_p ("FOO", $t2);
- return threads->new(sub {
- if ($t3 && $ans !~ /FOO.*$t3/)
- {
- print " (A1) " . $t1->string . " vs. " . $t2->string . "\n\t"
- . "Error message '$ans' does not match '$t3'\n";
- return 1;
- }
- if (!$t3 && $ans ne '')
- {
- print " (A2) " . $t1->string . " vs. " . $t2->string . "\n\t"
- . "Unexpected error message: $ans\n";
- return 1;
- }
- })->join;
- })->join;
- })->join;
- }
- return $failed;
-}
-
-exit (test_basics
- || test_invert
- || test_simplify
- || test_sub_conditions
- || test_ambig);
-
-### Setup "GNU" style for perl-mode and cperl-mode.
-## Local Variables:
-## perl-indent-level: 2
-## perl-continued-statement-offset: 2
-## perl-continued-brace-offset: 0
-## perl-brace-offset: 0
-## perl-brace-imaginary-offset: 0
-## perl-label-offset: -2
-## cperl-indent-level: 2
-## cperl-brace-offset: 0
-## cperl-continued-brace-offset: 0
-## cperl-label-offset: -2
-## cperl-extra-newline-before-brace: t
-## cperl-merge-trailing-else: nil
-## cperl-continued-statement-offset: 2
-## End:
diff --git a/t/posixsubst-ldadd.sh b/t/posixsubst-ldadd.sh
index 635666d53..aa57cf28c 100644
--- a/t/posixsubst-ldadd.sh
+++ b/t/posixsubst-ldadd.sh
@@ -44,7 +44,6 @@ bar_LDADD = $(v:=.a) libquux2.a $(w:none=libquux3.a)
libquux1.c:
echo 'int quux1(void) { return 0; }' > $@
-CLEANFILES = libquux1.c # For FreeBSD make.
END
cat > foo.c <<'END'
diff --git a/t/posixsubst-libraries.sh b/t/posixsubst-libraries.sh
index 079c12c7f..f16c87133 100644
--- a/t/posixsubst-libraries.sh
+++ b/t/posixsubst-libraries.sh
@@ -38,7 +38,6 @@ lib_LIBRARIES = $(foolibs:=.a) $(barlibs:z=r.a)
libbar.c:
echo 'int bar(void) { return 0; }' > $@
-CLEANFILES = libbar.c # For FreeBSD make.
installcheck-local:
ls -l $(libdir)
diff --git a/t/posixsubst-ltlibraries.sh b/t/posixsubst-ltlibraries.sh
index 175dfb146..699a9daa0 100644
--- a/t/posixsubst-ltlibraries.sh
+++ b/t/posixsubst-ltlibraries.sh
@@ -38,7 +38,6 @@ lib_LTLIBRARIES = $(foolibs:=.la) $(barlibs:z=r.la)
libbar.c:
echo 'int bar(void) { return 0; }' > $@
-CLEANFILES = libbar.c # For FreeBSD make.
installcheck-local:
ls -l $(libdir)
diff --git a/t/posixsubst-sources.sh b/t/posixsubst-sources.sh
index 0c75b2764..1cf99572d 100644
--- a/t/posixsubst-sources.sh
+++ b/t/posixsubst-sources.sh
@@ -41,7 +41,6 @@ nodist_foo_SOURCES = $(BAZ:=c)
bar.c baz.c:
echo 'int $@ (void) { return 0; }' | sed 's/\.c //' > $@
CLEANFILES = baz.c
-CLEANFILES += bar.c # For FreeBSD make.
.PHONY: test test2
check-local: test1 test2
diff --git a/t/posixsubst-tests.sh b/t/posixsubst-tests.sh
deleted file mode 100644
index 6b38e615f..000000000
--- a/t/posixsubst-tests.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 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 that POSIX variable expansion '$(var:str=rpl)' works when used
-# with the TESTS special variable.
-
-# For gen-testsuite-part: ==> try-with-serial-tests <==
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-t1 = foo1 foo2
-t2 = barx
-t3 = bar2
-
-foo2.test barz:
- (echo '#!/bin/sh' && echo 'exit 0') > $@ && chmod a+x $@
-CLEANFILES = foo2.test barz # For FreeBSD make.
-
-# Also try an empty match suffix, to ensure that the ':=' in there is
-# not confused by the parser with an unportable assignment operator.
-TESTS = $(t1:=.test) $(t2:x=y) $(t3:2=z)
-
-EXTRA_DIST = $(TESTS)
-MOSTLYCLEANFILES = *.out
-END
-
-cat > foo1.test <<'END'
-#!/bin/sh
-touch foo1.out
-test x"${TESTSUITE_OK-no}" = x"yes"
-END
-sed 's/foo1/bary/g' foo1.test > bary
-chmod +x foo1.test bary
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-run_make -M -e FAIL check
-ls -l
-grep '^FAIL: foo1\.test *$' output
-grep '^PASS: foo2\.test *$' output
-grep '^FAIL: bary *$' output
-grep '^PASS: barz *$' output
-test -f foo1.out
-test -f bary.out
-
-TESTSUITE_OK=yes $MAKE distcheck
-
-:
diff --git a/t/postproc.sh b/t/postproc.sh
deleted file mode 100644
index 94909ce15..000000000
--- a/t/postproc.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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 to make sure we recognize a Makefile.in, even if post-processed
-# and renamed.
-
-required=cc
-. test-init.sh
-
-cat >configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AC_CONFIG_FILES([myMakefile])
-AC_OUTPUT
-END
-
-cat > myMakefile.am << 'END'
-bin_PROGRAMS = fred
-fred_SOURCES = fred.c
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -- myMakefile
-
-mv myMakefile.in myMakefile.old
-echo '# Post-processed by post-processor 3.14.' > myMakefile.in
-cat myMakefile.old >> myMakefile.in
-
-./configure
-
-test -f .deps/fred.Po || test -f _deps/fred.Po || exit 1
-
-:
diff --git a/t/pr2.sh b/t/pr2.sh
index dd4302024..dc4204132 100644
--- a/t/pr2.sh
+++ b/t/pr2.sh
@@ -22,7 +22,7 @@
# like the following (among the Makefiles)
# README.foo:templ/README.foo.in
# the generated dist target in the Makefile.in fails,
-# because DIST_COMMON will contain templ/README.foo.in
+# because am.dist.common-files will contain templ/README.foo.in
# and the dist target will try to copy templ/README.foo.in
# to the distribution directory before it creates a templ
# subdirectory in the distribution directory.
diff --git a/t/pr224.sh b/t/pr224.sh
index 7d907441c..44b63dccf 100644
--- a/t/pr224.sh
+++ b/t/pr224.sh
@@ -36,7 +36,6 @@ int main (void)
EOF
cat >Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = bar
bar_SOURCES = foo/main.c
EOF
diff --git a/t/pr243.sh b/t/pr243.sh
deleted file mode 100644
index cc0000a99..000000000
--- a/t/pr243.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 for PR 243.
-# AM_OUTPUT_DEPENDENCY_COMMANDS doesn't handle
-# 'Makefile:Makefile.in:tail.mk' in AC_OUTPUT.
-#
-# == Report ==
-# If configure.ac has something like:
-# AC_OUTPUT(Makefile:Makefile.in:tail.mk)
-# then config.status cannot parse the Makefile to build the
-# dependency files in the .deps directory. This is because
-# the AM_OUTPUT_DEPENDENCY_COMMANDS macro cannot cope with
-# the colon in the CONFIG_FILES variable.
-
-required=cc
-. test-init.sh
-
-cat > configure.ac << END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AC_CONFIG_FILES([Makefile:Makefile.in:tail.mk])
-AC_OUTPUT
-END
-
-: > tail.mk
-
-cat > Makefile.am << 'END'
-include_HEADERS = 3dfx.h linutil.h
-noinst_HEADERS = fx64.h fxdll.h fximg.h fxglob.h \
- fxos.h fxver.h glob.h
-noinst_PROGRAMS = fxmisc
-fxmisc_SOURCES = fx64.c fximg.c fxos.c linutil.c
-END
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-./configure
-
-test -f .deps/fx64.Po
-
-:
diff --git a/t/pr266.sh b/t/pr266.sh
deleted file mode 100644
index 6aad68948..000000000
--- a/t/pr266.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 for PR 266.
-# Dependency tracking -vs- nonstandard Makefile names
-
-required=cc
-. test-init.sh
-
-cat > configure.ac << END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AC_CONFIG_FILES([Maudefile])
-AC_OUTPUT
-END
-
-cat > Maudefile.am << 'END'
-include_HEADERS = 3dfx.h linutil.h
-noinst_HEADERS = fx64.h fxdll.h fximg.h fxglob.h \
- fxos.h fxver.h glob.h
-noinst_PROGRAMS = fxmisc
-fxmisc_SOURCES = fx64.c fximg.c fxos.c linutil.c
-END
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-./configure --enable-dependency-tracking
-
-test -f .deps/fx64.Po
-
-:
diff --git a/t/pr401.sh b/t/pr401.sh
index 1a44927a5..58effdfca 100644
--- a/t/pr401.sh
+++ b/t/pr401.sh
@@ -114,8 +114,6 @@ SUBDIRS = src
EOF
cat > src/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-
noinst_LIBRARIES = libfeep.a
libfeep_a_SOURCES =
libfeep_a_LIBADD = $(LIBOBJS)
@@ -147,8 +145,6 @@ sed 's/^.*src\/Makefile.*$//' configure.ac >configure.tmp
mv -f configure.tmp configure.ac
cat >Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-
noinst_LIBRARIES = lib/libfeep.a
lib_libfeep_a_SOURCES =
lib_libfeep_a_LIBADD = $(LIBOBJS)
diff --git a/t/pr401b.sh b/t/pr401b.sh
index 48815a1e3..55a508166 100644
--- a/t/pr401b.sh
+++ b/t/pr401b.sh
@@ -116,8 +116,6 @@ SUBDIRS = src
EOF
cat > src/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-
noinst_LTLIBRARIES = libfeep.la
libfeep_la_SOURCES =
libfeep_la_LIBADD = $(LTLIBOBJS)
@@ -149,8 +147,6 @@ sed 's/^.*src\/Makefile.*$//' configure.ac >configure.tmp
mv -f configure.tmp configure.ac
cat >Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-
noinst_LTLIBRARIES = lib/libfeep.la
lib_libfeep_la_SOURCES =
lib_libfeep_la_LIBADD = $(LTLIBOBJS)
diff --git a/t/pr401c.sh b/t/pr401c.sh
index e92a25318..50b55677f 100644
--- a/t/pr401c.sh
+++ b/t/pr401c.sh
@@ -117,8 +117,6 @@ SUBDIRS = src
EOF
cat > src/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-
noinst_LIBRARIES = libfeep.a
libfeep_a_SOURCES =
libfeep_a_LIBADD = $(ALLOCA) $(LIBOBJS) # Add LIBOBJS for fun.
@@ -150,8 +148,6 @@ sed 's/^.*src\/Makefile.*$//' configure.ac >configure.tmp
mv -f configure.tmp configure.ac
cat >Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-
noinst_LIBRARIES = lib/libfeep.a
lib_libfeep_a_SOURCES =
lib_libfeep_a_LIBADD = $(ALLOCA)
diff --git a/t/pr87.sh b/t/pr87.sh
index 61fa11b96..96bc50d29 100644
--- a/t/pr87.sh
+++ b/t/pr87.sh
@@ -55,19 +55,6 @@ $ACLOCAL
$AUTOCONF
$AUTOMAKE -a
-# Regression test for bug where '.c.o:' is followed by blank line.
-(while read line; do
- if test "$line" = ".c.o:"; then
- read next
- if test -z "$next"; then
- exit 1
- else
- : # For shells with broken 'set -e'.
- fi
- break
- fi
- done) < foo/Makefile.in || exit 1
-
cd build
../configure
$MAKE distcheck
diff --git a/t/pr9.sh b/t/pr9.sh
index 3f4df12a5..50f9ce3cc 100644
--- a/t/pr9.sh
+++ b/t/pr9.sh
@@ -20,8 +20,8 @@
# == Report ==
# When AC_CONFIG_AUX_DIR is set (in my case to 'support'), make dist
# no longer automatically includes config.guess, config.sub, install-sh,
-# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact,
-# the entire 'support/' directory is omitted.
+# ltconfig, ltmain.sh, mdate-sh, and missing. In fact, the entire
+# 'support/' directory is omitted.
. test-init.sh
diff --git a/t/preproc-errmsg.sh b/t/preproc-errmsg.sh
index ea99076ac..71a3928fc 100644
--- a/t/preproc-errmsg.sh
+++ b/t/preproc-errmsg.sh
@@ -30,7 +30,7 @@ END
mkdir sub sub/sub2
cat > Makefile.am <<'END'
-%canon_reldir%_x1_SOURCES = bar.c
+%canon_reldir%_UNDEFINED_0 +=
include sub/local.mk
END
@@ -38,7 +38,7 @@ cat > sub/local.mk <<'END'
AUTOMAKE_OPTIONS = -Wno-extra-portability
include %D%/sub2/more.mk
noinst_LIBRARIES = %reldir%-one.a %D%-two.a
-%C%_x2_SOURCES = foo.c
+%C%_UNDEFINED_1 +=
END
cat > sub/sub2/more.mk <<'END'
@@ -49,20 +49,18 @@ $ACLOCAL
AUTOMAKE_fails
cat > expected << 'END'
+Makefile.am:1: UNDEFINED_0 must be set with '=' before using '+='
sub/sub2/more.mk:1: sub_sub2_UNDEFINED must be set with '=' before using '+='
Makefile.am:2: 'sub/local.mk' included from here
sub/local.mk:2: 'sub/sub2/more.mk' included from here
+sub/local.mk:4: sub_UNDEFINED_1 must be set with '=' before using '+='
+Makefile.am:2: 'sub/local.mk' included from here
sub/local.mk:3: 'sub-one.a' is not a standard library name
sub/local.mk:3: did you mean 'libsub-one.a'?
Makefile.am:2: 'sub/local.mk' included from here
sub/local.mk:3: 'sub-two.a' is not a standard library name
sub/local.mk:3: did you mean 'libsub-two.a'?
Makefile.am:2: 'sub/local.mk' included from here
-sub/local.mk:4: variable 'sub_x2_SOURCES' is defined but no program or
-sub/local.mk:4: library has 'sub_x2' as canonical name (possible typo)
-Makefile.am:2: 'sub/local.mk' included from here
-Makefile.am:1: variable 'x1_SOURCES' is defined but no program or
-Makefile.am:1: library has 'x1' as canonical name (possible typo)
END
# We need to break these substitutions into multiple sed invocations
diff --git a/t/primary-prefix-couples-force-valid.sh b/t/primary-prefix-couples-force-valid.sh
index 450ac9474..57c275d94 100644
--- a/t/primary-prefix-couples-force-valid.sh
+++ b/t/primary-prefix-couples-force-valid.sh
@@ -46,7 +46,7 @@ x_HEADERS = bar.h
installcheck-local: test
.PHONY: test
test:
- (cd '$(prefix)' && find .);: For debugging.
+ (cd '$(prefix)' && find .) # For debugging.
ls -l '$(libdir)/foo$(EXEEXT)'
test -f '$(libdir)/foo$(EXEEXT)'
test -x '$(libdir)/foo$(EXEEXT)'
diff --git a/t/python-virtualenv.sh b/t/python-virtualenv.sh
index f356488be..402052206 100644
--- a/t/python-virtualenv.sh
+++ b/t/python-virtualenv.sh
@@ -178,12 +178,11 @@ $MAKE distclean
# Overriding pythondir and pyexecdir at make time should be enough.
./configure --prefix="$cwd/bad-prefix"
-check_install pythondir="$py_site" pyexecdir="$py_site" \
- AM_MAKEFLAGS="pythondir='$py_site' pyexecdir='$py_site'"
+
+check_install pythondir="$py_site" pyexecdir="$py_site"
test ! -e bad-prefix
-$MAKE test-run
-check_uninstall pythondir="$py_site" pyexecdir="$py_site" \
- AM_MAKEFLAGS="pythondir='$py_site' pyexecdir='$py_site'"
+$MAKE test-run pythondir="$py_site" pyexecdir="$py_site"
+check_uninstall pythondir="$py_site" pyexecdir="$py_site"
# Also check that the distribution is self-contained, for completeness.
$MAKE distcheck
diff --git a/t/recurs-user-keep-going.sh b/t/recurs-user-keep-going.sh
index ec8be7764..7ea6ac760 100644
--- a/t/recurs-user-keep-going.sh
+++ b/t/recurs-user-keep-going.sh
@@ -81,15 +81,9 @@ as_expected ()
$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
+$MAKE -k foo && exit 1
+as_expected
+$MAKE --keep-going foo && exit 1
+as_expected
:
diff --git a/t/recurs-user-phony.sh b/t/recurs-user-phony.sh
index c637efd73..30cf72472 100644
--- a/t/recurs-user-phony.sh
+++ b/t/recurs-user-phony.sh
@@ -17,9 +17,6 @@
# Check that user-defined recursive targets and their associate
# '-local', '-am' and '-recursive' targets are declared as phony.
-# Require GNU make, because some vendo makes (e.g., Solaris) doesn't
-# truly respect .PHONY.
-required=GNUmake
. test-init.sh
cat >> configure.ac <<'END'
diff --git a/t/recurs-user-wrap.sh b/t/recurs-user-wrap.sh
index bff2bece3..b80bad8d9 100644
--- a/t/recurs-user-wrap.sh
+++ b/t/recurs-user-wrap.sh
@@ -17,7 +17,6 @@
# Check that rules generated by user recursion are apt to be wrapped
# by other makefiles.
-required=GNUmake
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/relativize.tap b/t/relativize.tap
index 1bbeb8c1e..3f15a75c2 100644
--- a/t/relativize.tap
+++ b/t/relativize.tap
@@ -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/>.
-# Test Automake-provided internal make macro $(am__relativize).
+# Test Automake-provided internal make macro $(am.dist.relativize-path).
am_create_testdir=empty
. test-init.sh
@@ -41,7 +41,7 @@ SUBDIRS = .
.PHONY: test
test:
- @$(am__relativize); echo "result: '$$reldir'"; set -x; \
+ @$(am.dist.relativize-path); echo "result: '$$reldir'"; set -x; \
case $${reldir:-.} in "$$exp"|"$$exp/.") ;; *) exit 1;; esac
END
@@ -55,8 +55,8 @@ rel_ ()
env dir1=$1 dir2=$2 exp=$4 $MAKE test
}
-# am__relativize
-# ~~~~~~~~~~~~~~
+# am.dist.relativize-path
+# ~~~~~~~~~~~~~~~~~~~~~~~
# Computes a relative pathname RELDIR such that DIR1/RELDIR = DIR2.
# Input:
# - DIR1 relative pathname, relative to the current directory
diff --git a/t/remake-after-acinclude-m4.sh b/t/remake-after-acinclude-m4.sh
index 67847bfc6..c07db6f1b 100644
--- a/t/remake-after-acinclude-m4.sh
+++ b/t/remake-after-acinclude-m4.sh
@@ -22,12 +22,6 @@
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
-if using_gmake; then
- remake_() { $MAKE nil; }
-else
- remake_() { $MAKE Makefile && $MAKE foo.sh; }
-fi
-
cat >> configure.ac <<END
FINGERPRINT='my_fingerprint'
AC_SUBST([FINGERPRINT])
@@ -81,7 +75,7 @@ for vpath in : false; do
$sleep
echo "AC_DEFUN([my_fingerprint], [$magic1])" > $srcdir/acinclude.m4
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile
test x"$(./foo.sh)" = x"$magic1"
@@ -89,7 +83,7 @@ for vpath in : false; do
$sleep
echo "echo 'AC_DEFUN([my_fingerprint], [$magic2])'" \
> $srcdir/tweak-acinclude-m4
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile && exit 1
$FGREP $magic2 Makefile
@@ -98,7 +92,6 @@ for vpath in : false; do
$sleep
echo : > $srcdir/tweak-acinclude-m4 # Make it a no-op again.
echo "AC_DEFUN([my_fingerprint], [DummyValue])" > $srcdir/acinclude.m4
- using_gmake || remake_
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-after-aclocal-m4.sh b/t/remake-after-aclocal-m4.sh
index 158bfe7a7..7baa39570 100644
--- a/t/remake-after-aclocal-m4.sh
+++ b/t/remake-after-aclocal-m4.sh
@@ -22,12 +22,6 @@
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
-if using_gmake; then
- remake_() { $MAKE nil; }
-else
- remake_() { $MAKE Makefile && $MAKE foo.sh; }
-fi
-
cat >> configure.ac <<END
FINGERPRINT='my_fingerprint'
AC_SUBST([FINGERPRINT])
@@ -81,7 +75,7 @@ for vpath in : false; do
$sleep
echo "AC_DEFUN([my_fingerprint], [$magic1])dnl %%%" >> $srcdir/aclocal.m4
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile
test x"$(./foo.sh)" = x"$magic1"
@@ -89,7 +83,7 @@ for vpath in : false; do
$sleep
echo "sed 's/.*dnl *%%%.*/AC_DEFUN([my_fingerprint], [$magic2])/'" \
> $srcdir/tweak-aclocal-m4
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile && exit 1
$FGREP $magic2 Makefile
@@ -98,7 +92,6 @@ for vpath in : false; do
$sleep
echo cat > $srcdir/tweak-aclocal-m4 # Make it a no-op again.
echo 'AC_DEFUN([my_fingerprint], [DummyValue])' >> $srcdir/aclocal.m4
- using_gmake || remake_
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-after-configure-ac.sh b/t/remake-after-configure-ac.sh
index f74801cfa..11d87240c 100644
--- a/t/remake-after-configure-ac.sh
+++ b/t/remake-after-configure-ac.sh
@@ -22,12 +22,6 @@
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
-if using_gmake; then
- remake_() { $MAKE nil; }
-else
- remake_() { $MAKE Makefile && $MAKE foo.sh; }
-fi
-
cat >> configure.ac <<END
FINGERPRINT=BadBadBad
AC_SUBST([FINGERPRINT])
@@ -77,7 +71,7 @@ for vpath in : false; do
$sleep
sed "s/^\\(FINGERPRINT\\)=.*/\\1=$magic1/" $srcdir/configure.ac >t
mv -f t $srcdir/configure.ac
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile
test x"$(./foo.sh)" = x"$magic1"
@@ -85,7 +79,7 @@ for vpath in : false; do
$sleep
echo 'sed "s/^\\(FINGERPRINT\\)=.*/\\1='$magic2'/"' \
> $srcdir/tweak-configure-in
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile && exit 1
$FGREP $magic2 Makefile
@@ -95,7 +89,6 @@ for vpath in : false; do
echo cat > $srcdir/tweak-configure-in # Make it a no-op again.
sed "s/^\\(FINGERPRINT\\)=.*/\\1=DummyValue/" $srcdir/configure.ac >t
mv -f t $srcdir/configure.ac
- using_gmake || remake_
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-after-makefile-am.sh b/t/remake-after-makefile-am.sh
index 543cc7352..7a8a196cf 100644
--- a/t/remake-after-makefile-am.sh
+++ b/t/remake-after-makefile-am.sh
@@ -19,12 +19,6 @@
. test-init.sh
-if using_gmake; then
- remake_() { $MAKE nil; }
-else
- remake_() { $MAKE Makefile && $MAKE foo.sh; }
-fi
-
magic1=::MagicStringOne::
magic2=__MagicStringTwo__
@@ -79,7 +73,7 @@ for vpath in : false; do
$sleep
sed "s/^\\(FINGERPRINT\\) *=.*/\\1 = $magic1/" $srcdir/Makefile.am >t
mv -f t $srcdir/Makefile.am
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile
test x"$(./foo.sh)" = x"$magic1"
@@ -87,7 +81,7 @@ for vpath in : false; do
$sleep
echo 'sed "s/^\\(FINGERPRINT\\) *=.*/\\1 = '$magic2'/"' \
> $srcdir/tweak-makefile-am
- remake_
+ $MAKE nil
$FGREP FINGERPRINT Makefile # For debugging.
$FGREP $magic1 Makefile && exit 1
$FGREP $magic2 Makefile
@@ -97,7 +91,6 @@ for vpath in : false; do
echo cat > $srcdir/tweak-makefile-am # Make it a no-op again.
sed "s/^\\(FINGERPRINT\\) *=.*/\\1 = DummyValue/" $srcdir/Makefile.am >t
mv -f t $srcdir/Makefile.am
- using_gmake || remake_
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-all-1.sh b/t/remake-all-1.sh
index 151a73c3d..8955c3f81 100644
--- a/t/remake-all-1.sh
+++ b/t/remake-all-1.sh
@@ -15,7 +15,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check that the "all" target triggers rebuilt of outdated Makefiles.
-# See also sister test 'remake-all-2.sh'.
. test-init.sh
@@ -38,18 +37,16 @@ echo SUBDIRS = sub > $mkfile.am
: > sub/$mkfile.am
$ACLOCAL
+$AUTOCONF
$AUTOMAKE
-$EGREP "^all-am:.* $mkfile( |$)" $mkfile.in sub/$mkfile.in
-
-$AUTOCONF
./configure
$FGREP "$magic1" mkfile.in && exit 1 # Sanity check.
# Two code paths in configure.am:
-# - either a file in $(am__configure_deps) has been updated ...
+# - either a file in $(am.remake.configure-deps) has been updated ...
$sleep
echo "AC_SUBST([FOO])" >> configure.ac
$MAKE
diff --git a/t/remake-all-2.sh b/t/remake-all-2.sh
deleted file mode 100644
index 9a7f0ee89..000000000
--- a/t/remake-all-2.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 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 "all" target triggers rebuilt of outdated makefiles.
-# This handle the case in which the makefiles are not called 'Makefile'.
-# See also sister test 'remake-all-1.sh'.
-
-. test-init.sh
-
-mkfile=foobar
-
-magic1=::MagicStringOne::
-magic2=__MagicStringTwo__
-magic3=%%MagicStringThree%%
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([$mkfile sub/$mkfile])
-FOO='$magic1'
-AC_OUTPUT
-END
-
-mkdir sub
-
-cat > $mkfile.am <<END
-SUBDIRS = sub
-AM_MAKEFLAGS = -f $mkfile
-END
-
-cat > sub/$mkfile.am <<END
-AM_MAKEFLAGS = -f $mkfile
-END
-
-$ACLOCAL
-$AUTOMAKE
-
-$EGREP "^all-am:.* $mkfile( |$)" $mkfile.in sub/$mkfile.in
-
-$AUTOCONF
-./configure
-
-$FGREP "$magic1" mkfile.in && exit 1 # Sanity check.
-
-# Two code paths in configure.am:
-
-# - either a file in $(am__configure_deps) has been updated ...
-$sleep
-echo "AC_SUBST([FOO])" >> configure.ac
-$MAKE -f $mkfile
-$FGREP FOO $mkfile # For debugging.
-$FGREP $magic1 $mkfile
-
-# - ... or not; i.e., Makefile.am or an included file has.
-$sleep
-echo "# $magic2" >> $mkfile.am
-echo "# $magic3" >> sub/$mkfile.am
-$MAKE -f $mkfile
-$FGREP $magic2 $mkfile
-$FGREP $magic3 sub/$mkfile
-
-:
diff --git a/t/remake-config-status-dependencies.sh b/t/remake-config-status-dependencies.sh
index ed57691a0..0abe50954 100644
--- a/t/remake-config-status-dependencies.sh
+++ b/t/remake-config-status-dependencies.sh
@@ -47,7 +47,6 @@ $MAKE test-1
$sleep
echo EXTRA_VERSION=2.1 > version.sh
-using_gmake || $MAKE Makefile
$MAKE test-2
$MAKE distclean
@@ -57,7 +56,6 @@ cd build
$MAKE test-2
$sleep
echo EXTRA_VERSION=3.14 > ../version.sh
-using_gmake || $MAKE Makefile
$MAKE test-3
# Contents of $(CONFIG_STATUS_DEPENDENCIES) are *not* to be
diff --git a/t/remake-configure-dependencies.sh b/t/remake-configure-dependencies.sh
index 3cc435a24..ef2311e1a 100644
--- a/t/remake-configure-dependencies.sh
+++ b/t/remake-configure-dependencies.sh
@@ -63,7 +63,6 @@ $MAKE test-1
$sleep
(echo '#!/bin/sh' && echo 'printf %s 2.1') > print-version
-using_gmake || $MAKE Makefile
$MAKE test-2
$MAKE distclean
@@ -74,7 +73,6 @@ $MAKE test-2
$sleep
(echo '#!/bin/sh' && echo 'printf %s 3.14') > ../print-version
-using_gmake || $MAKE Makefile
$MAKE test-3
# Check that $(CONFIGURE_DEPENDENCIES) are automatically distributed.
diff --git a/t/remake-deleted-m4-file.sh b/t/remake-deleted-m4-file.sh
index 2c3cafa53..251646e8a 100644
--- a/t/remake-deleted-m4-file.sh
+++ b/t/remake-deleted-m4-file.sh
@@ -60,7 +60,6 @@ sed -e "s|BAR_MACRO|$macro_value|" m4/foo.m4 > t
mv -f t m4/foo.m4
rm -f m4/bar.m4
-using_gmake || $MAKE Makefile
$MAKE test
$sleep
@@ -69,7 +68,6 @@ sed -e "s|FOO_MACRO|$macro_value|" configure.ac > t
mv -f t configure.ac
rm -f m4/foo.m4
-using_gmake || $MAKE Makefile
$MAKE test
:
diff --git a/t/remake-gnulib-add-acsubst.sh b/t/remake-gnulib-add-acsubst.sh
index 4d51583ad..a18a49469 100644
--- a/t/remake-gnulib-add-acsubst.sh
+++ b/t/remake-gnulib-add-acsubst.sh
@@ -38,7 +38,7 @@ BUILT_SOURCES = foo.h
edit_h = sed -e 's|[@]foovar@|@foovar@|g'
foo.h: foo.in.h
$(edit_h) < $(srcdir)/foo.in.h > $@-t
- cat $@-t;: For debugging.
+ cat $@-t # For debugging.
mv -f $@-t $@
EXTRA_DIST = foo.in.h
MOSTLYCLEANFILES = foo.h foo.h-t
@@ -97,7 +97,6 @@ cat >> Makefile.am <<'END'
edit_h += -e 's|[@]barvar@|@barvar@|g'
END
-using_gmake || $MAKE Makefile
$MAKE
: AC_SUBST @zapvar@ and add it to foo.h.
@@ -125,7 +124,6 @@ cat >> m4/bar.m4 <<'END'
AC_DEFUN([ZAP_MACRO], [zapvar=163; AC_SUBST([zapvar])])
END
-using_gmake || $MAKE Makefile
$MAKE
$MAKE distcheck
diff --git a/t/remake-gnulib-add-header.sh b/t/remake-gnulib-add-header.sh
index 544ad0304..bfc75e135 100644
--- a/t/remake-gnulib-add-header.sh
+++ b/t/remake-gnulib-add-header.sh
@@ -99,7 +99,6 @@ $MAKE distcheck
sed -e 's/^\( *override_stdio\)=.*$/\1=:/' macros.m4 > t
mv -f t macros.m4
-using_gmake || $MAKE Makefile
$MAKE
ls -l
test -f stdio.h
diff --git a/t/remake-gnulib-remove-header.sh b/t/remake-gnulib-remove-header.sh
index 52a40c3ce..6a7f16051 100644
--- a/t/remake-gnulib-remove-header.sh
+++ b/t/remake-gnulib-remove-header.sh
@@ -41,7 +41,8 @@ if REPLACE_STDIO_H
stdio.h: stdio.in.h $(top_builddir)/config.status
cp $(srcdir)/stdio.in.h $@
else
-stdio.h: $(top_builddir)/config.status
+.PHONY: stdio.h
+stdio.h:
rm -f $@
endif
MOSTLYCLEANFILES = stdio.h
@@ -111,7 +112,6 @@ for vpath in : false; do
diff $srcdir/macros.m4 t && fatal_ "failed to edit macros.m4"
mv -f t $srcdir/macros.m4
- using_gmake || $MAKE Makefile
$MAKE
ls -l
test ! -e stdio.h
@@ -123,7 +123,6 @@ for vpath in : false; do
diff $srcdir/macros.m4 t && fatal_ "failed to edit macros.m4"
mv -f t $srcdir/macros.m4
- using_gmake || $MAKE Makefile
$MAKE
ls -l
test -f stdio.h
diff --git a/t/remake-include-aclocal.sh b/t/remake-include-aclocal.sh
index bd0257093..abc752702 100644
--- a/t/remake-include-aclocal.sh
+++ b/t/remake-include-aclocal.sh
@@ -25,11 +25,7 @@ magic1=::MagicStringOne::
magic2=__MagicStringTwo__
magic3=%%MagicStringThree%%
-if using_gmake; then
- remake="$MAKE nil"
-else
- remake="$MAKE Makefile"
-fi
+remake="$MAKE nil"
cat >> configure.ac <<END
AC_CONFIG_MACRO_DIR([m4])
@@ -100,7 +96,6 @@ for vpath in : false; do
$sleep
echo "AC_DEFUN([my_fingerprint], [DummyValue])" > $top_srcdir/m4/foo.m4
echo "AC_DEFUN([AM_UNUSED], [NoSuchMacro])" > $top_srcdir/m4/bar.m4
- using_gmake || $remake
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-include-configure.sh b/t/remake-include-configure.sh
index 96eb630d4..e03348ee7 100644
--- a/t/remake-include-configure.sh
+++ b/t/remake-include-configure.sh
@@ -25,11 +25,7 @@ magic1=::MagicStringOne::
magic2=__MagicStringTwo__
magic3=%%MagicStringThree%%
-if using_gmake; then
- remake="$MAKE nil"
-else
- remake="$MAKE Makefile"
-fi
+remake="$MAKE nil"
cat >> configure.ac <<END
m4_include([foo.m4])
@@ -97,7 +93,6 @@ for vpath in : false; do
$sleep
echo "m4_define([my_fingerprint], [DummyValue])" > $top_srcdir/foo.m4
- using_gmake || $remake
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-include-makefile.sh b/t/remake-include-makefile.sh
index 9caae50ca..895237828 100644
--- a/t/remake-include-makefile.sh
+++ b/t/remake-include-makefile.sh
@@ -26,11 +26,7 @@ magic1=::MagicStringOne::
magic2=__MagicStringTwo__
magic3=%%MagicStringThree%%
-if using_gmake; then
- remake="$MAKE nil"
-else
- remake="$MAKE Makefile"
-fi
+remake="$MAKE nil"
cat >> configure.ac <<'END'
AC_OUTPUT
@@ -97,7 +93,6 @@ for vpath in : false; do
$sleep
echo "FINGERPRINT = DummyValue" > $top_srcdir/foo.am
- using_gmake || $remake
$MAKE distcheck
$FGREP $magic1 Makefile && exit 1 # Sanity check.
$FGREP $magic2 Makefile && exit 1 # Likewise.
diff --git a/t/remake-maintainer-mode.sh b/t/remake-maintainer-mode.sh
deleted file mode 100644
index e5da998f8..000000000
--- a/t/remake-maintainer-mode.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2015 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 AM_MAINTAINER_MODE disable some rebuild rules,
-# but not all.
-# Report from Ralf Corsepius.
-
-. test-init.sh
-
-if using_gmake; then
- remake="$MAKE"
-else
- remake="$MAKE Makefile"
-fi
-
-cat >>configure.ac <<'EOF'
-AM_MAINTAINER_MODE
-m4_include([foo.m4])
-if test ! -f rebuild_ok; then
- ACLOCAL=false
- AUTOMAKE=false
- AUTOCONF=false
-fi
-AC_OUTPUT
-EOF
-
-: > foo.m4
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-./configure
-$MAKE
-
-# Make sure the rules to rebuild configure/Makefile.in are not
-# triggered by default. ($MAKE will fail if they are, because the
-# tools are set to false.)
-$sleep
-touch aclocal.m4 Makefile.am configure.ac foo.m4
-$remake
-
-# Make sure the rebuild rule for Makefile is triggered.
-$sleep
-echo '# GrEpMe' >>Makefile.in
-$remake
-grep GrEpMe Makefile
-
-# Make sure the rebuild rule for config.status is triggered.
-$sleep
-grep 'AUTOCONF.*=.*false' Makefile
-: > rebuild_ok
-./configure --no-create
-$remake
-grep 'AUTOCONF.*=.*false' Makefile && exit 1
-
-# Make sure rebuild rules do work if --enable-maintainer-mode is given.
-./configure --enable-maintainer-mode
-$sleep
-echo 'AC_SUBST([YIPPY_YIPPY_YEAH])' >foo.m4
-$remake
-grep YIPPY_YIPPY_YEAH Makefile
-
-# Try the distribution, for completeness.
-$MAKE distcheck
-
-:
diff --git a/t/remake-makefile-intree.sh b/t/remake-makefile-intree.sh
index ff54e6580..f2cd1b1e6 100644
--- a/t/remake-makefile-intree.sh
+++ b/t/remake-makefile-intree.sh
@@ -70,7 +70,6 @@ check-local:
CLEANFILES = bar
END
-using_gmake || $MAKE Makefile
$MAKE
cat bar
grep '!Baz!' bar
@@ -101,7 +100,6 @@ cat > $srcdir/quux.in <<'END'
!@QUUX@!
END
-using_gmake || $MAKE Makefile
$MAKE
cat quux
grep '!Zardoz!' quux
diff --git a/t/remake-makefile-vpath.sh b/t/remake-makefile-vpath.sh
index 85fcc2357..9f532a548 100644
--- a/t/remake-makefile-vpath.sh
+++ b/t/remake-makefile-vpath.sh
@@ -72,7 +72,6 @@ check-local:
CLEANFILES = bar
END
-using_gmake || $MAKE Makefile
$MAKE
cat bar
grep '!Baz!' bar
@@ -103,7 +102,6 @@ cat > $srcdir/quux.in <<'END'
!@QUUX@!
END
-using_gmake || $MAKE Makefile
$MAKE
cat quux
grep '!Zardoz!' quux
diff --git a/t/remake-mild-stress.sh b/t/remake-mild-stress.sh
index 01876e930..5683d53d1 100644
--- a/t/remake-mild-stress.sh
+++ b/t/remake-mild-stress.sh
@@ -23,21 +23,6 @@ magic1=::MagicStringOne::
magic2=__MagicStringTwo__
magic3=%%MagicStringThree%%
-# See if the user's make implementation support an include directive.
-# We need it in this test.
-echo 'all:; @echo include is supported' > incl.mk
-echo 'include incl.mk' > gnu-style.mk
-echo '.include "incl.mk"' > bsd-style.mk
-if $MAKE -f gnu-style.mk | grep 'include is supported'; then
- echo "$me: GNU make include style supported"
- include_zardoz='include zardoz'
-elif $MAKE -f bsd-style.mk | grep 'include is supported'; then
- echo "$me: BSD make include style supported"
- include_zardoz='.include "zardoz"'
-else
- skip_ "make doesn't support any \"include\" directive"
-fi
-
cat > configure.ac <<END
AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE
@@ -52,7 +37,7 @@ EXTRA_DIST = Makefile
END
cat > Makefile <<END
-$include_zardoz
+include zardoz
nil:
.PHONY: nil
END
@@ -63,11 +48,7 @@ $AUTOMAKE
./configure
-if using_gmake; then
- $MAKE nil
-else
- $MAKE Makefile
-fi
+$MAKE nil
grep '^#H:' zardoz.in # For debugging.
$FGREP $magic1 zardoz
$FGREP $magic1 zardoz.in
@@ -81,17 +62,17 @@ test -f Makefile
$sleep
sed "s/%MAGIC3%/$magic3/" >> Makefile <<'END'
my-check:
- ls -l . $(srcdir) ;: For debugging.
+ ls -l . $(srcdir) # For debugging.
test -f $(srcdir)/quux.am
test -f $(srcdir)/quux.in
test -f $(srcdir)/bot.in
test -f $(srcdir)/top.in
test ! -r $(srcdir)/zardoz.am
test ! -r $(srcdir)/zardoz.in
- grep FOO zardoz ;: For debugging.
+ grep FOO zardoz # For debugging.
test x'$(FOO)' = x'%MAGIC3%'
test:
- ls -l ;: For debugging.
+ ls -l # For debugging.
test x'$(FOO)' = x'dummy'
.PHONY: test my-check
END
@@ -102,11 +83,7 @@ check-local: my-check
END
mv -f t zardoz.am
cat zardoz.am # For debugging.
-if using_gmake; then
- $MAKE nil
-else
- $MAKE zardoz
-fi
+$MAKE nil
$FGREP my-check zardoz # Sanity check.
$FGREP $magic1 zardoz zardoz.in && exit 1
$FGREP $magic2 zardoz
@@ -123,7 +100,6 @@ sed '/^#H:/d' zardoz.am > quux.am
echo 'FOO = dummy' >> quux.am
echo 'BAR = $(BAZ)' > top.in
echo "BAZ = $magic3" > bot.in
-is_gmake || $MAKE zardoz
$MAKE test
$FGREP my-check zardoz # Sanity check.
$FGREP $magic3 quux.in && exit 1
@@ -133,14 +109,11 @@ $FGREP $magic2 zardoz && exit 1
# After the remake above, the files 'zardoz.am' and 'zardoz.in'
# should be no more needed.
echo 'endif' > zardoz.am # Put in a syntax error.
-is_gmake || $MAKE zardoz
$MAKE test
rm -f zardoz.in zardoz.am # Get rid of them.
-is_gmake || $MAKE zardoz
$MAKE test
echo 'FOO = $(BAR)' >> quux.am
-is_gmake || $MAKE zardoz
$MAKE distcheck
:
diff --git a/t/remake-moved-m4-file.sh b/t/remake-moved-m4-file.sh
index fd37cbbbd..180bc3ada 100644
--- a/t/remake-moved-m4-file.sh
+++ b/t/remake-moved-m4-file.sh
@@ -51,7 +51,6 @@ $MAKE test
# Move one file.
mv d1/foo.m4 d2/foo.m4
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
@@ -63,7 +62,6 @@ test ! -e $distdir/d2/macros.m4
# Move both files at once.
mv d1/macros.m4 d3/macros.m4
mv d2/foo.m4 d3/foo.m4
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
diff --git a/t/remake-not-after-make-dist.sh b/t/remake-not-after-make-dist.sh
index f2b9ed302..4f6350413 100644
--- a/t/remake-not-after-make-dist.sh
+++ b/t/remake-not-after-make-dist.sh
@@ -21,7 +21,9 @@
#
# If this fails, this is likely to be due to a dependency being
# given two different name. For instance BSD Make does not know
-# that 'Makefile' is the same as './Makefile'
+# that 'Makefile' is the same as './Makefile'. This shouldn't
+# happen with GNU make, but we keep the test anyway, for extra
+# safety.
#
# Report from Akim Demaille.
diff --git a/t/remake-recurs-user.sh b/t/remake-recurs-user.sh
index eff1aba13..cb228be49 100644
--- a/t/remake-recurs-user.sh
+++ b/t/remake-recurs-user.sh
@@ -77,7 +77,6 @@ later-target:
DISTCLEANFILES = zardoz
END
-using_gmake || $MAKE Makefile
$MAKE
test -f foo
test -f oof
diff --git a/t/remake-renamed-am.sh b/t/remake-renamed-am.sh
index ca932a692..85cd793c3 100644
--- a/t/remake-renamed-am.sh
+++ b/t/remake-renamed-am.sh
@@ -50,7 +50,6 @@ $sleep
rm -f has-run-1 bar.am
echo 'all-local:; echo ok > has-run-2' > zardoz.am
echo 'include $(srcdir)/zardoz.am' > Makefile.am
-using_gmake || $MAKE Makefile
$MAKE
test ! -e has-run-1
test -f has-run-2
diff --git a/t/remake-renamed-m4-file.sh b/t/remake-renamed-m4-file.sh
index c71f0a6ab..b5da669c4 100644
--- a/t/remake-renamed-m4-file.sh
+++ b/t/remake-renamed-m4-file.sh
@@ -50,7 +50,6 @@ $MAKE test
# Rename one file at the time.
mv m4/foo.m4 m4/bar.m4
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
@@ -58,7 +57,6 @@ test -f $distdir/m4/bar.m4
test ! -e $distdir/m4/foo.m4
mv m4/macros.m4 m4/defs.m4
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
@@ -69,7 +67,6 @@ test ! -e $distdir/m4/macros.m4
mv m4/bar.m4 m4/quux.m4
mv m4/defs.m4 acinclude.m4
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
diff --git a/t/remake-renamed-m4-macro-and-file.sh b/t/remake-renamed-m4-macro-and-file.sh
index 66910453b..92b034b5a 100644
--- a/t/remake-renamed-m4-macro-and-file.sh
+++ b/t/remake-renamed-m4-macro-and-file.sh
@@ -56,7 +56,6 @@ sed -e 's/FOO_MACRO/BAR_MACRO/' m4/foo.m4 > m4/bar.m4
rm -f m4/foo.m4
sed -e 's/FOO_MACRO/BAR_MACRO/' m4/macros.m4 > t
mv -f t m4/macros.m4
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
@@ -74,7 +73,6 @@ sed -e 's/BAR_MACRO/QUUX_MACRO/' -e 's/MY_MACRO/A_MACRO/' \
rm -f m4/macros.m4 m4/bar.m4
sed -e 's/BAR_MACRO/QUUX_MACRO/' -e 's/MY_MACRO/A_MACRO/' configure.ac > t
mv -f t configure.ac
-using_gmake || $MAKE Makefile
$MAKE test
$MAKE distdir
ls -l $distdir $distdir/*
diff --git a/t/remake-renamed-m4-macro.sh b/t/remake-renamed-m4-macro.sh
index 71150ffbf..60932b306 100644
--- a/t/remake-renamed-m4-macro.sh
+++ b/t/remake-renamed-m4-macro.sh
@@ -56,7 +56,6 @@ for x in macros foo; do
mv -f t m4/$x.m4
done
-using_gmake || $MAKE Makefile
$MAKE test
$sleep
@@ -66,7 +65,6 @@ for f in m4/macros.m4 configure.ac; do
mv -f t $f
done
-using_gmake || $MAKE Makefile
$MAKE test
:
diff --git a/t/remake-subdir-from-subdir.sh b/t/remake-subdir-from-subdir.sh
index 003e823ba..3f36ac0af 100644
--- a/t/remake-subdir-from-subdir.sh
+++ b/t/remake-subdir-from-subdir.sh
@@ -49,7 +49,6 @@ cat > subsub/Makefile.am <<'END'
all-local:
: > ok-it-works
END
-using_gmake || $MAKE Makefile
$MAKE
test -f subsub/ok-it-works
diff --git a/t/remake-subdir-gnu.sh b/t/remake-subdir-gnu.sh
index ad4183fb9..fdd212259 100644
--- a/t/remake-subdir-gnu.sh
+++ b/t/remake-subdir-gnu.sh
@@ -20,7 +20,6 @@
# See also the other similar tests 'remake-subdir*.sh', and the
# related test 'aclocal5.sh'
-required=GNUmake
. test-init.sh
magic1='::MagicString::One::'
diff --git a/t/remake-subdir-grepping.sh b/t/remake-subdir-grepping.sh
index a50844f16..67269c968 100644
--- a/t/remake-subdir-grepping.sh
+++ b/t/remake-subdir-grepping.sh
@@ -33,7 +33,10 @@ mkdir sub
$ACLOCAL
$AUTOMAKE
-grep '^Makefile' sub/Makefile.in
+grep -i makefile sub/Makefile.in # For debugging.
+grep '^am\.relpath\.makefile = Makefile$' sub/Makefile.in
+grep '^am\.relpath\.makefile\.in = \$(srcdir)/Makefile\.in$' sub/Makefile.in
+grep '^am\.relpath\.makefile\.am = \$(srcdir)/Makefile\.am$' sub/Makefile.in
grep '\$(AUTOMAKE).* sub/Makefile' sub/Makefile.in
:
diff --git a/t/remake-subdir-long-time.sh b/t/remake-subdir-long-time.sh
index 54fff99b7..aa8fbd8cb 100644
--- a/t/remake-subdir-long-time.sh
+++ b/t/remake-subdir-long-time.sh
@@ -93,14 +93,14 @@ rm -f automake-has-run aclocal-has-run
./configure
# Sanity check: Makefile doesn't get updated uselessly.
-run_make ACLOCAL=false AUTOMAKE=false AUTOCONF=false
+$MAKE ACLOCAL=false AUTOMAKE=false AUTOCONF=false
$sleep
sed "s|magic|magic2|" configure.ac > t
mv -f t configure.ac
cd sub
-run_make Makefile AUTOMAKE="$AUTOMAKE" ACLOCAL="$ACLOCAL"
+$MAKE Makefile AUTOMAKE="$AUTOMAKE" ACLOCAL="$ACLOCAL"
cd ..
# For debugging.
diff --git a/t/remake-subdir.sh b/t/remake-subdir.sh
index 5d7eea350..69f297a4a 100644
--- a/t/remake-subdir.sh
+++ b/t/remake-subdir.sh
@@ -21,12 +21,6 @@
. test-init.sh
-if using_gmake; then
- remake=$MAKE
-else
- remake="$MAKE Makefile"
-fi
-
magic1='::MagicString::One::'
magic2='__MagicString__Two__'
@@ -60,7 +54,7 @@ $sleep
sed "s|magic|$magic1|" configure.ac > t
mv -f t configure.ac
cd sub
-$remake
+$MAKE
cd ..
debug_info
$FGREP $magic1 configure
@@ -70,7 +64,7 @@ $FGREP $magic1 sub/Makefile
$sleep
cd sub
echo MAGIC = $magic2 >> Makefile.am
-$remake
+$MAKE
cd ..
debug_info
$FGREP $magic2 sub/Makefile
diff --git a/t/remake-subdir2.sh b/t/remake-subdir2.sh
deleted file mode 100644
index 5573bc09a..000000000
--- a/t/remake-subdir2.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 remake rules works from subdirectories, even when makefiles
-# are not named "Makefile".
-# See also the other similar tests 'remake-subdir*.sh', and the
-# related test 'aclocal5.sh'.
-
-. test-init.sh
-
-magic1='::MagicString::One::'
-magic2='__MagicString__Two__'
-
-debug_info ()
-{
- grep -i magic configure build.in build.mk sub/build.in sub/build.mk
-}
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([build.mk:build.in])
-AC_CONFIG_FILES([sub/build.mk:sub/build.in])
-AC_SUBST([MAGIC], [magic])
-AC_OUTPUT
-END
-
-cat > build.am <<'END'
-AM_MAKEFLAGS = -f build.mk
-SUBDIRS = sub
-END
-
-mkdir sub
-cat > sub/build.am <<'END'
-AM_MAKEFLAGS = -f build.mk
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-./configure
-ls -l # For debugging.
-
-$MAKE -f build.mk
-debug_info
-
-$sleep
-sed "s|magic|$magic1|" configure.ac > t
-mv -f t configure.ac
-cd sub
-$MAKE -f build.mk build.mk
-cd ..
-debug_info
-$FGREP $magic1 configure
-$FGREP $magic1 build.mk
-$FGREP $magic1 sub/build.mk
-
-$sleep
-cd sub
-echo MAGIC = $magic2 >> build.am
-$MAKE -f build.mk build.mk
-cd ..
-debug_info
-$FGREP $magic2 sub/build.mk
-$FGREP $magic2 sub/build.in
-$FGREP $magic1 sub/build.in sub/build.mk && exit 1
-$FGREP $magic2 build.in build.mk && exit 1
-
-:
diff --git a/t/remake-timing-bug-pr8365.sh b/t/remake-timing-bug-pr8365.sh
index c4408722e..b015b044b 100644
--- a/t/remake-timing-bug-pr8365.sh
+++ b/t/remake-timing-bug-pr8365.sh
@@ -98,8 +98,11 @@ END
chmod a+x aclocal-wrap automake-wrap autoconf-wrap
-run_make Makefile \
- ACLOCAL=./aclocal-wrap AUTOMAKE=./automake-wrap AUTOCONF=./autoconf-wrap
+$MAKE ACLOCAL=./aclocal-wrap \
+ AUTOMAKE=./automake-wrap \
+ AUTOCONF=./autoconf-wrap \
+ Makefile
+
grep '^FOOBAR =' Makefile.in
grep '^FOOBAR *= *zardoz *$' Makefile
diff --git a/t/repeated-options.sh b/t/repeated-options.sh
index 1347b471e..4a9e5b255 100644
--- a/t/repeated-options.sh
+++ b/t/repeated-options.sh
@@ -17,65 +17,42 @@
# Check that automake does not complain on repeated options, nor
# generate broken or incorrect makefiles.
-required='cc bzip2'
. test-init.sh
cat >configure.ac <<END
AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip no-dist-gzip dist-bzip2])
-AC_PROG_CC
+AM_INIT_AUTOMAKE([foreign foreign no-installman serial-tests \
+ no-installman])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
cat > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = parallel-tests subdir-objects subdir-objects
-AUTOMAKE_OPTIONS += dist-bzip2 parallel-tests
-TESTS = foo.test
-EXTRA_DIST = $(TESTS)
-TESTS_ENVIRONMENT = EXEEXT='$(EXEEXT)'
-bin_PROGRAMS = sub/foo
-.PHONY: test-build
-test-build:
- ls -l . sub
- test -f sub/foo.$(OBJEXT)
- test -f sub/foo$(EXEEXT)
+AUTOMAKE_OPTIONS = no-installman no-installman serial-tests
+AUTOMAKE_OPTIONS += serial-tests foreign
+TESTS = foo
+EXTRA_DIST = foo
+CLEANFILES = bar.out
END
-mkdir sub
-
-cat > foo.test <<'END'
+cat > foo <<'END'
#!/bin/sh
-test -f sub/foo$EXEEXT && test -x sub/foo$EXEEXT
-END
-chmod a+x foo.test
-
-cat > sub/foo.c <<'END'
-int main (void)
-{
- return 0;
-}
+echo RUN RUN
+: > bar.out
END
-
-cp "$am_scriptdir"/test-driver .
+chmod a+x foo
$ACLOCAL
-$AUTOMAKE --foreign --foreign -Wall 2>stderr || { cat stderr >&2; exit 1; }
-test -s stderr && { cat stderr >&2; exit 1; }
-rm -f stderr
$AUTOCONF
+$AUTOMAKE --foreign --foreign -Wall 2>stderr && test ! -s stderr \
+ || { cat stderr >&2; exit 1; }
./configure
-$MAKE
-$MAKE test-build
+
$MAKE check
-ls -l
-test -f foo.log
-test -f test-suite.log
-$MAKE clean
+test -f bar.out
+test ! -e foo.log
+test ! -e test-suite.log
$MAKE distcheck
-ls -l
-test -f $me-1.0.tar.bz2
-test ! -e $me-1.0.tar.gz
:
diff --git a/t/self-check-dir.tap b/t/self-check-dir.tap
index 31bad2957..891f46919 100644
--- a/t/self-check-dir.tap
+++ b/t/self-check-dir.tap
@@ -65,7 +65,7 @@ do_check 'do not pre-populate testdir' \
do_check 'do not create nor chdir in testdir' \
'am_create_testdir=no' \
'test ! -e t/_self.dir || exit 1
- grep "self-check-dir\.tap" Makefile || exit 1
+ grep "^t/depcomp-lt-gcc\.log:" Makefile || exit 1
case $(pwd) in '"$cwd"') : ;; *) exit 1;; esac'
:
diff --git a/t/self-check-shell-no-trail-bslash.sh b/t/self-check-shell-no-trail-bslash.sh
index 72a5e6f9e..18de1a5b5 100644
--- a/t/self-check-shell-no-trail-bslash.sh
+++ b/t/self-check-shell-no-trail-bslash.sh
@@ -17,9 +17,6 @@
# Check that our fake "shell" used to guard against use of trailing
# backslashes in recipes actually complains when those are used.
-# Our hack doesn't work with some make implementations (see comments
-# in 't/ax/shell-no-trail-bslash.in' for more details).
-required=GNUmake
am_create_testdir=empty
. test-init.sh
diff --git a/t/serial-tests.sh b/t/serial-tests.sh
index fc4a7a088..fbb34d497 100644
--- a/t/serial-tests.sh
+++ b/t/serial-tests.sh
@@ -16,69 +16,19 @@
# Option 'serial-tests'.
-am_create_testdir=empty
. test-init.sh
-hasnt_parallel_tests ()
-{
- $EGREP 'TEST_SUITE_LOG|TEST_LOGS|\.log.*:' $1 && exit 1
- grep 'recheck.*:' $1 && exit 1
- grep '^check-TESTS: \$(TESTS)$' $1
-}
-
-has_parallel_tests ()
-{
- $EGREP '(^| )check-TESTS.*:' $1
- $EGREP '(^| )recheck.*:' $1
- grep '^\$(TEST_SUITE_LOG): \$(TEST_LOGS)$' $1
- grep '^\.test\.log:$' $1
-}
-
-mkdir one two
-
-cat > one/configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([serial-tests])
-AC_CONFIG_FILES([Makefile])
-END
-
-echo 'TESTS = foo.test bar.test' > one/Makefile.am
-
-cat > two/configure.ac <<END
-AC_INIT([$me], [2.0])
-AC_CONFIG_AUX_DIR([config])
-AM_INIT_AUTOMAKE([parallel-tests])
-AC_CONFIG_FILES([aMakefile bMakefile])
-END
-
-cp one/Makefile.am two/aMakefile.am
-cat - one/Makefile.am > two/bMakefile.am <<END
+cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = serial-tests
+TESTS = foo.test bar.test
END
-cd one
-touch missing install-sh
$ACLOCAL
$AUTOMAKE
-grep TEST Makefile.in # For debugging.
-hasnt_parallel_tests Makefile.in
-test ! -e test-driver
-cd ..
-
-cd two
-mkdir config
-$ACLOCAL
-$AUTOMAKE --add-missing
-grep TEST [ab]Makefile.in # For debugging.
-has_parallel_tests aMakefile.in
-hasnt_parallel_tests bMakefile.in
-mv aMakefile.in aMakefile.sav
-mv bMakefile.in bMakefile.sav
+grep '^include .*/am-ng/serial-tests\.mk$' Makefile.in
+$FGREP 'parallel-tests.mk' Makefile.in && exit 1
+test -f am-ng/serial-tests.mk
+test ! -e am-ng/parallel-tests.mk
test ! -e test-driver
-test -f config/test-driver
-$AUTOMAKE
-diff aMakefile.sav aMakefile.in
-diff bMakefile.sav bMakefile.in
-cd ..
:
diff --git a/t/silent-c.sh b/t/silent-c.sh
index 36df20834..539418454 100644
--- a/t/silent-c.sh
+++ b/t/silent-c.sh
@@ -23,31 +23,18 @@ required=cc
mkdir sub
cat >>configure.ac <<'EOF'
-AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
-bin_PROGRAMS = foo bar
+bin_PROGRAMS = foo bar sub/baz sub/bla
bar_CFLAGS = $(AM_CFLAGS)
-SUBDIRS = sub
+sub_bla_CFLAGS = $(AM_CFLAGS)
EOF
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = baz bla
-bla_CFLAGS = $(AM_CFLAGS)
-EOF
-
-cat > foo.c <<'EOF'
-int main ()
-{
- return 0;
-}
-EOF
+echo 'int main (void) { return 0; }' > foo.c
cp foo.c bar.c
cp foo.c sub/baz.c
cp foo.c sub/bla.c
@@ -62,23 +49,22 @@ for config_args in \
; do
./configure --enable-silent-rules $config_args
-
run_make -O
- $EGREP ' (-c|-o)' stdout && exit 1
- grep 'mv ' stdout && exit 1
- grep 'CC .*foo\.' stdout
- grep 'CC .*bar\.' stdout
- grep 'CC .*baz\.' stdout
- grep 'CC .*bla\.' stdout
- grep 'CCLD .*foo' stdout
- grep 'CCLD .*bar' stdout
- grep 'CCLD .*baz' stdout
- grep 'CCLD .*bla' stdout
+ $EGREP ' (-c|-o)|(mv|mkdir) ' stdout && exit 1
+ grep ' CC *foo\.o' stdout
+ grep ' CC *bar-bar\.o' stdout
+ grep ' CC *sub/baz\.o' stdout
+ grep ' CC *sub/sub_bla-bla\.o' stdout
+ grep ' CCLD *foo' stdout
+ grep ' CCLD *bar' stdout
+ grep ' CCLD *sub/baz' stdout
+ grep ' CCLD *sub/bla' stdout
$MAKE clean
run_make -O V=1
grep ' -c' stdout
grep ' -o foo' stdout
+ grep ' -o sub/baz' stdout
$EGREP '(CC|LD) ' stdout && exit 1
$MAKE distclean
diff --git a/t/silent-configsite.sh b/t/silent-configsite.sh
index 5661fe140..8fcbc5ad9 100644
--- a/t/silent-configsite.sh
+++ b/t/silent-configsite.sh
@@ -28,9 +28,9 @@ EOF
cat > Makefile.am <<'EOF'
.PHONY: test-silent test-nosilent
test-silent:
- test x'$(AM_DEFAULT_VERBOSITY)' = x'0'
+ $(AM_V_P); test $$? -eq 1
test-nosilent:
- test x'$(AM_DEFAULT_VERBOSITY)' = x'1'
+ $(AM_V_P); test $$? -eq 0
EOF
unset enable_silent_rules
diff --git a/t/silent-custom.sh b/t/silent-custom.sh
index 1bb86c98d..56723e3ac 100644
--- a/t/silent-custom.sh
+++ b/t/silent-custom.sh
@@ -30,10 +30,9 @@ 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 $@";
+my_verbose = $(my_verbose/$(V))
+my_verbose/0 = @echo " XGEN $@";
+my_verbose/1 =
all-local: foo gen-headers
diff --git a/t/silent-cxx.sh b/t/silent-cxx.sh
index 8f88099ed..0df4c6c56 100644
--- a/t/silent-cxx.sh
+++ b/t/silent-cxx.sh
@@ -24,24 +24,16 @@ mkdir sub
cat >>configure.ac <<'EOF'
AC_PROG_CXX
-AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
-bin_PROGRAMS = foo1 foo2
+bin_PROGRAMS = foo1 foo2 bar1 bar2
foo1_SOURCES = foo.cpp baz.cxx quux.cc
foo2_SOURCES = $(foo1_SOURCES)
foo2_CXXFLAGS = $(AM_CXXFLAGS)
-SUBDIRS = sub
-EOF
-
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = bar1 bar2
-bar1_SOURCES = bar.cpp
+bar1_SOURCES = sub/bar.cpp
bar2_SOURCES = $(bar1_SOURCES)
bar2_CXXFLAGS = $(AM_CXXFLAGS)
EOF
@@ -79,14 +71,18 @@ do
$EGREP ' (-c|-o)' stdout && exit 1
grep 'mv ' stdout && exit 1
- grep 'CXX .*foo\.' stdout
- grep 'CXX .*baz\.' stdout
- grep 'CXX .*quux\.' stdout
- grep 'CXX .*bar\.' stdout
- grep 'CXXLD .*foo1' stdout
- grep 'CXXLD .*bar1' stdout
- grep 'CXXLD .*foo2' stdout
- grep 'CXXLD .*bar2' stdout
+ grep ' CXX *foo\.o' stdout
+ grep ' CXX *baz\.o' stdout
+ grep ' CXX *quux\.o' stdout
+ grep ' CXX *foo2-foo\.o' stdout
+ grep ' CXX *foo2-baz\.o' stdout
+ grep ' CXX *foo2-quux\.o' stdout
+ grep ' CXX *sub/bar\.o' stdout
+ grep ' CXX *sub/bar2-bar\.o' stdout
+ grep ' CXXLD *foo1' stdout
+ grep ' CXXLD *bar1' stdout
+ grep ' CXXLD *foo2' stdout
+ grep ' CXXLD *bar2' stdout
# Ensure a clean rebuild.
$MAKE clean
@@ -94,7 +90,8 @@ do
run_make -O V=1
grep ' -c ' stdout
- grep ' -o ' stdout
+ grep ' -o quux' stdout
+ grep ' -o bar2' stdout
$EGREP '(CXX|LD) ' stdout && exit 1
diff --git a/t/silent-f77.sh b/t/silent-f77.sh
index ac64a9f42..975edb737 100644
--- a/t/silent-f77.sh
+++ b/t/silent-f77.sh
@@ -24,25 +24,17 @@ mkdir sub
cat >>configure.ac <<'EOF'
AC_PROG_F77
-AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
-bin_PROGRAMS = foo1 foo2
+bin_PROGRAMS = foo1 foo2 sub/bar1 bar2
foo1_SOURCES = foo.f
foo2_SOURCES = $(foo1_SOURCES)
foo2_FFLAGS = $(AM_FFLAGS)
-SUBDIRS = sub
-EOF
-
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = bar1 bar2
-bar1_SOURCES = bar.f
-bar2_SOURCES = $(bar1_SOURCES)
+sub_bar1_SOURCES = sub/bar.f
+bar2_SOURCES = $(sub_bar1_SOURCES)
bar2_FFLAGS = $(AM_FFLAGS)
EOF
@@ -67,12 +59,14 @@ cat stdout
$EGREP ' (-c|-o)' stdout && exit 1
grep 'mv ' stdout && exit 1
-grep 'F77 .*foo\.' stdout
-grep 'F77 .*bar\.' stdout
-grep 'F77LD .*foo1' stdout
-grep 'F77LD .*bar1' stdout
-grep 'F77LD .*foo2' stdout
-grep 'F77LD .*bar2' stdout
+grep ' F77 *foo\.' stdout
+grep ' F77 *foo2-foo\.' stdout
+grep ' F77 *sub/bar\.' stdout
+grep ' F77 *sub/bar2-bar\.' stdout
+grep ' F77LD *foo1' stdout
+grep ' F77LD *foo2' stdout
+grep ' F77LD *sub/bar1' stdout
+grep ' F77LD *bar2' stdout
$EGREP '(FC|FCLD) ' stdout && exit 1
diff --git a/t/silent-f90.sh b/t/silent-f90.sh
index ac66231df..c318257ed 100644
--- a/t/silent-f90.sh
+++ b/t/silent-f90.sh
@@ -24,25 +24,17 @@ mkdir sub
cat >>configure.ac <<'EOF'
AC_PROG_FC
-AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
-bin_PROGRAMS = foo1 foo2
+bin_PROGRAMS = foo1 foo2 sub/bar1 bar2
foo1_SOURCES = foo.f90
foo2_SOURCES = $(foo1_SOURCES)
foo2_FCFLAGS = $(AM_FCLAGS)
-SUBDIRS = sub
-EOF
-
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = bar1 bar2
-bar1_SOURCES = bar.f90
-bar2_SOURCES = $(bar1_SOURCES)
+sub_bar1_SOURCES = sub/bar.f90
+bar2_SOURCES = $(sub_bar1_SOURCES)
bar2_FCFLAGS = $(AM_FCLAGS)
EOF
@@ -67,12 +59,14 @@ cat stdout
$EGREP ' (-c|-o)' stdout && exit 1
grep 'mv ' stdout && exit 1
-grep 'FC .*foo\.' stdout
-grep 'FC .*bar\.' stdout
-grep 'FCLD .*foo1' stdout
-grep 'FCLD .*bar1' stdout
-grep 'FCLD .*foo2' stdout
-grep 'FCLD .*bar2' stdout
+grep ' FC *foo\.' stdout
+grep ' FC *foo2-foo\.' stdout
+grep ' FC *sub/bar\.' stdout
+grep ' FC *sub/bar2-bar\.' stdout
+grep ' FCLD *foo1' stdout
+grep ' FCLD *foo2' stdout
+grep ' FCLD *sub/bar1' stdout
+grep ' FCLD *bar2' stdout
$EGREP '(F77|F77LD) ' stdout && exit 1
diff --git a/t/silent-lex.sh b/t/silent-lex.sh
index 9e7904d72..4d408f0a6 100644
--- a/t/silent-lex.sh
+++ b/t/silent-lex.sh
@@ -19,11 +19,8 @@
required='cc lex'
. test-init.sh
-mkdir sub
-
cat >>configure.ac <<'EOF'
AC_PROG_LEX
-AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
@@ -34,18 +31,6 @@ foo1_SOURCES = foo.l
foo2_SOURCES = $(foo1_SOURCES)
foo2_LFLAGS = -n
foo2_CFLAGS = $(AM_CFLAGS)
-SUBDIRS = sub
-LDADD = $(LEXLIB)
-EOF
-
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = bar1 bar2
-bar1_SOURCES = bar.l
-bar2_SOURCES = $(bar1_SOURCES)
-bar2_LFLAGS = -n
-bar2_CFLAGS = $(AM_CFLAGS)
LDADD = $(LEXLIB)
EOF
@@ -61,7 +46,6 @@ cat > foo.l <<'EOF'
int yywrap (void) { return 1; }
int main (void) { return 0; }
EOF
-cp foo.l sub/bar.l
$ACLOCAL
$AUTOMAKE --add-missing
@@ -69,7 +53,6 @@ $AUTOCONF
# Ensure per-target rules are used, to ensure their coverage below.
$FGREP 'foo2-foo.c' Makefile.in || exit 99
-$FGREP 'bar2-bar.c' sub/Makefile.in || exit 99
./configure --enable-silent-rules
@@ -79,13 +62,9 @@ $EGREP ' (-c|-o)' stdout && exit 1
$EGREP '(mv|ylwrap) ' stdout && exit 1
grep 'LEX .*foo\.' stdout
-grep 'LEX .*bar\.' stdout
grep ' CC .*foo\.' stdout
-grep ' CC .*bar\.' stdout
grep 'CCLD .*foo1' stdout
-grep 'CCLD .*bar1' stdout
grep 'CCLD .*foo2' stdout
-grep 'CCLD .*bar2' stdout
# Cleaning and then rebuilding with the same V flag (and without
# removing the generated sources in between) shouldn't trigger a
@@ -99,15 +78,12 @@ $EGREP '(mv|ylwrap) ' stdout && exit 1
# Don't look for LEX, as probably lex hasn't been re-run.
grep ' CC .*foo\.' stdout
-grep ' CC .*bar\.' stdout
grep 'CCLD .*foo1' stdout
-grep 'CCLD .*bar1' stdout
grep 'CCLD .*foo2' stdout
-grep 'CCLD .*bar2' stdout
# Ensure a truly clean rebuild.
$MAKE clean
-rm -f *foo.c sub/*bar.c
+rm -f *foo.c
run_make -O V=1
diff --git a/t/silent-lt.sh b/t/silent-lt.sh
index 3548ad4fe..ce28ecda3 100644
--- a/t/silent-lt.sh
+++ b/t/silent-lt.sh
@@ -23,7 +23,6 @@ required='cc libtoolize'
mkdir sub
cat >>configure.ac <<'EOF'
-AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_AR
AC_PROG_LIBTOOL
@@ -32,24 +31,13 @@ EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
-lib_LTLIBRARIES = libfoo.la libbar.la
+lib_LTLIBRARIES = libfoo.la libbar.la sub/libbaz.la sub/libbla.la
libbar_la_CFLAGS = $(AM_CFLAGS)
-SUBDIRS = sub
-EOF
-
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
-lib_LTLIBRARIES = libbaz.la libbla.la
-libbla_la_CFLAGS = $(AM_CFLAGS)
+sub_libbla_la_CFLAGS = $(AM_CFLAGS)
EOF
-cat > libfoo.c <<'EOF'
-int main ()
-{
- return 0;
-}
-EOF
+echo 'int main (void) { return 0; }' > libfoo.c
cp libfoo.c libbar.c
cp libfoo.c sub/libbaz.c
cp libfoo.c sub/libbla.c
@@ -67,22 +55,21 @@ for config_args in \
./configure --enable-silent-rules $config_args
run_make -O
-
- $EGREP ' (-c|-o)' stdout && exit 1
- grep 'mv ' stdout && exit 1
- grep ' CC .*foo\.' stdout
- grep ' CC .*bar\.' stdout
- grep ' CC .*baz\.' stdout
- grep ' CC .*bla\.' stdout
- grep ' CCLD .*foo' stdout
- grep ' CCLD .*bar' stdout
- grep ' CCLD .*baz' stdout
- grep ' CCLD .*bla' stdout
+ $EGREP ' (-c|-o)|(mv|mkdir) ' stdout && exit 1
+ grep ' CC *libfoo\.lo' stdout
+ grep ' CC *libbar_la-libbar\.lo' stdout
+ grep ' CC *sub/libbaz\.lo' stdout
+ grep ' CC *sub/sub_libbla_la-libbla\.lo' stdout
+ grep ' CCLD *libfoo\.la' stdout
+ grep ' CCLD *libbar\.la' stdout
+ grep ' CCLD *sub/libbaz\.la' stdout
+ grep ' CCLD *sub/libbla\.la' stdout
$MAKE clean
run_make -O V=1
grep ' -c' stdout
grep ' -o libfoo' stdout
+ grep ' -o sub/libbaz' stdout
# The libtool command line can contain e.g. a '--tag=CC' option.
sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1
diff --git a/t/silent-many-languages.sh b/t/silent-many-languages.sh
index be0f61366..a3fc02c1d 100644
--- a/t/silent-many-languages.sh
+++ b/t/silent-many-languages.sh
@@ -39,27 +39,20 @@ do_and_check_silent_build ()
$EGREP ' (-c|-o)' stdout && exit 1
$EGREP '(mv|ylwrap) ' stdout && exit 1
+ grep ' CC .*bar\.' stdout
grep 'CXX .*foo1\.' stdout
- grep 'CXX .*baz1\.' stdout
- grep 'FC .*foo2\.' stdout
- grep 'FC .*baz2\.' stdout
+ grep ' FC .*foo2\.' stdout
grep 'F77 .*foo3\.' stdout
- grep 'F77 .*baz3\.' stdout
grep ' CC .*foo5\.' stdout
- grep ' CC .*baz5\.' stdout
grep ' CC .*foo6\.' stdout
- grep ' CC .*baz6\.' stdout
grep 'CXXLD .*foo' stdout
- grep 'CCLD .*bar' stdout
+ grep ' CCLD .*bar' stdout
grep 'CXXLD .*baz' stdout
- grep 'CCLD .*bla' stdout
if ! $rebuild; then
grep 'YACC .*foo6\.' stdout
- grep 'YACC .*baz6\.' stdout
grep 'LEX .*foo5\.' stdout
- grep 'LEX .*baz5\.' stdout
fi
unset rebuild
@@ -88,8 +81,6 @@ do_and_check_verbose_build ()
unset rebuild
}
-mkdir sub
-
cat >>configure.ac <<'EOF'
AC_PROG_F77
AC_PROG_FC
@@ -116,46 +107,37 @@ case " $CXX " in
CXX=am--cxx
esac
-AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
-bin_PROGRAMS = foo bar fo2
+bin_PROGRAMS = foo bar baz
bar_CFLAGS = $(AM_CFLAGS)
foo_SOURCES = foo1.cpp foo2.f90 foo3.f foo5.l foo6.y
-fo2_SOURCES = $(foo_SOURCES)
-fo2_CPPFLAGS = $(AM_CPPFLAGS)
-fo2_FFLAGS = $(AM_FFLAGS)
-fo2_FCFLAGS = $(AM_FCFLAGS)
-fo2_YFLAGS = -v
-fo2_LFLAGS = -n
-SUBDIRS = sub
+baz_SOURCES = $(foo_SOURCES)
+baz_CPPFLAGS = $(AM_CPPFLAGS)
+baz_FFLAGS = $(AM_FFLAGS)
+baz_FCFLAGS = $(AM_FCFLAGS)
+baz_YFLAGS = -v
+baz_LFLAGS = -n
AM_YFLAGS = -d
LDADD = $(LEXLIB)
BUILT_SOURCES = foo6.h
EOF
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = baz bla ba2
-bla_CFLAGS = $(AM_CFLAGS)
-baz_SOURCES = baz1.cpp baz2.f90 baz3.f baz5.l baz6.y
-ba2_SOURCES = $(baz_SOURCES)
-ba2_CPPFLAGS = $(AM_CPPFLAGS)
-ba2_FFLAGS = $(AM_FFLAGS)
-ba2_FCFLAGS = $(AM_FCFLAGS)
-ba2_YFLAGS = -v
-ba2_LFLAGS = -n
-AM_YFLAGS = -d
-LDADD = $(LEXLIB)
-BUILT_SOURCES = baz6.h
+cat > bar.c <<'EOF'
+/* Valid C, invalid C++. */
+int main (void)
+{
+ int new = 0;
+ return new;
+}
EOF
-
cat > foo1.cpp <<'EOF'
-int main ()
+/* Valid C++, invalid C. */
+using namespace std;
+int main (void)
{
return 0;
}
@@ -192,14 +174,6 @@ void yyerror (char *s) {}
%%
fubar : 'f' 'o' 'o' 'b' 'a' 'r' EOF {};
EOF
-cp foo1.cpp bar.c
-cp foo1.cpp sub/baz.c
-cp foo1.cpp sub/bla.c
-cp foo1.cpp sub/baz1.cpp
-cp foo2.f90 sub/baz2.f90
-cp foo3.f sub/baz3.f
-cp foo5.l sub/baz5.l
-cp foo6.y sub/baz6.y
mkdir bin
saved_PATH=$PATH; export saved_PATH
@@ -211,9 +185,9 @@ $AUTOCONF
# Ensure per-target rules are used, to ensure their coverage below.
# (We do not do an exhaustive check, that wouldn't be practical).
-$FGREP 'bar-bar.o' Makefile.in
-$FGREP 'fo2-foo5.c' Makefile.in
-$FGREP 'fo2-foo6.c' Makefile.in
+$FGREP 'bar-bar.$(OBJEXT)' Makefile.in || exit 99
+$FGREP 'baz-foo5.c' Makefile.in || exit 99
+$FGREP 'baz-foo6.c' Makefile.in || exit 99
# Force dependency tracking explicitly, so that slow dependency
# extractors are not rejected. Try also with dependency tracking
@@ -235,7 +209,7 @@ do
$MAKE clean
# This is required, since these files are not removed by 'make clean'
# (as dictated by the GNU Coding Standards).
- rm -f *foo5.c *foo6.[ch] sub/*baz5.c sub/*baz6.[ch]
+ rm -f *foo5.c *foo6.[ch]
do_and_check_verbose_build
# Cleaning and then rebuilding with the same V flag (and without
diff --git a/t/silent-nested-vars.sh b/t/silent-nested-vars.sh
deleted file mode 100644
index 22a6f01b5..000000000
--- a/t/silent-nested-vars.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2011-2015 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 silent-rules mode, on 'make' implementations that do not
-# support nested variables (Bug#9928, Bug#10237).
-
-. test-init.sh
-
-cat >>configure.ac <<'EOF'
-AM_SILENT_RULES
-AC_PROG_CC
-AC_OUTPUT
-EOF
-
-cat > Makefile.am <<'EOF'
-# Need generic and non-generic rules.
-bin_PROGRAMS = foo bar
-bar_CFLAGS = $(AM_CFLAGS)
-
-# Check that AM_V and AM_DEFAULT_V work as advertised.
-pkg_verbose = $(pkg_verbose_@AM_V@)
-pkg_verbose_ = $(pkg_verbose_@AM_DEFAULT_V@)
-pkg_verbose_0 = @echo PKG-GEN $@;
-
-bin_SCRIPTS = oop
-oop:
- $(pkg_verbose)echo $@ >$@
-
-mostlyclean-local:
- rm -f oop
-EOF
-
-cat > foo.c <<'EOF'
-int main ()
-{
- return 0;
-}
-EOF
-cp foo.c bar.c
-
-cat >mymake <<'EOF'
-#! /bin/sh
-makerules=
-
-case $1 in
- -f)
- makefile=$2
- case $2 in
- -) makerules=`cat` || exit ;;
- esac ;;
- *)
- for makefile in makefile Makefile; do
- test -f $makefile && break
- done ;;
-esac
-
-nested_var_pat='^[^#].*[^$]\$([^)]*\$'
-if
- case $makefile in
- -) printf '%s\n' "$makerules" | grep "$nested_var_pat";;
- *) grep "$nested_var_pat" $makefile;;
- esac
-then
- echo >&2 "mymake: $makefile contains nested variables"
- exit 1
-fi
-
-case $makefile in
- -) printf '%s\n' "$makerules" | $mymake_MAKE "$@";;
- *) exec $mymake_MAKE "$@";;
-esac
-EOF
-chmod a+x mymake
-mymake_MAKE=${MAKE-make}
-MAKE=./mymake
-export MAKE mymake_MAKE
-
-# As a sanity check, verify that 'mymake' rejects Makefiles that
-# use nested variables.
-cat > Makefile <<'END'
-a = $(b$(c))
-all:
- touch bar
-END
-$MAKE && exit 99
-mv -f Makefile foo.mk
-$MAKE -f foo.mk && exit 99
-cat foo.mk | $MAKE -f - && exit 99
-test -f bar && exit 99
-sed '/a =/d' foo.mk > Makefile
-$MAKE && test -f bar || exit 99
-rm -f bar Makefile foo.mk
-
-$ACLOCAL
-$AUTOMAKE --add-missing
-$AUTOCONF
-
-./configure --enable-silent-rules >stdout || { cat stdout; exit 1; }
-cat stdout
-grep '^checking whether \./mymake supports nested variables\.\.\. no *$' \
- stdout
-$EGREP 'CC|AM_V|GEN' Makefile # For debugging.
-grep '^AM_V_CC = *\$(am__v_CC_0) *$' Makefile
-grep '^AM_V_GEN = *\$(am__v_GEN_0) *$' Makefile
-run_make -O
-$EGREP ' (-c|-o)' stdout && exit 1
-grep 'mv ' stdout && exit 1
-grep 'echo .*oop' stdout && exit 1
-grep 'CC .*foo\.' stdout
-grep 'CC .*bar\.' stdout
-grep 'CCLD .*foo' stdout
-grep 'CCLD .*bar' stdout
-grep 'PKG-GEN .*oop' stdout
-$MAKE distclean
-
-./configure --disable-silent-rules > stdout || { cat stdout; exit 1; }
-cat stdout
-grep '^checking whether \./mymake supports nested variables\.\.\. no *$' \
- stdout
-$EGREP 'CC|AM_V|GEN' Makefile # For debugging.
-grep '^AM_V_CC = *\$(am__v_CC_1) *$' Makefile
-grep '^AM_V_GEN = *\$(am__v_GEN_1) *$' Makefile
-
-run_make -O
-grep ' -c' stdout
-grep ' -o foo' stdout
-grep ' -o bar' stdout
-grep 'echo .*>oop' stdout
-$EGREP '(CC|LD) ' stdout && exit 1
-
-:
diff --git a/t/silent-texi.sh b/t/silent-texi.sh
index 7dc5c432a..ffb7b3f23 100644
--- a/t/silent-texi.sh
+++ b/t/silent-texi.sh
@@ -50,14 +50,12 @@ $AUTOCONF
run_make -O -E -- V=0 dvi html info ps pdf
grep '^ DVIPS foo\.ps$' stdout
grep '^ MAKEINFO foo\.html$' stdout
-# NetBSD make will print './foo.info' instead of 'foo.info'.
-$EGREP '^ MAKEINFO (\./)?foo\.info$' stdout
+grep '^ MAKEINFO foo\.info$' stdout
grep '^ TEXI2DVI foo\.dvi$' stdout
grep '^ TEXI2PDF foo\.pdf$' stdout
grep '^ DVIPS sub/zardoz.ps$' stdout
grep '^ MAKEINFO sub/zardoz.html$' stdout
-# NetBSD make will print './sub/zardoz.info' instead of 'zardoz.info'.
-$EGREP '^ MAKEINFO (\./)?sub/zardoz.info$' stdout
+grep '^ MAKEINFO sub/zardoz.info$' stdout
grep '^ TEXI2DVI sub/zardoz.dvi$' stdout
grep '^ TEXI2PDF sub/zardoz.pdf$' stdout
# No make recipe is displayed before being executed.
diff --git a/t/silent-yacc.sh b/t/silent-yacc.sh
index cece7c0da..cec414227 100644
--- a/t/silent-yacc.sh
+++ b/t/silent-yacc.sh
@@ -19,12 +19,9 @@
required='cc yacc'
. test-init.sh
-mkdir sub
-
cat >>configure.ac <<'EOF'
AC_PROG_CC
AC_PROG_YACC
-AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
@@ -35,17 +32,6 @@ foo1_SOURCES = foo.y
foo2_SOURCES = $(foo1_SOURCES)
foo2_YFLAGS = -v
foo2_CFLAGS = $(AM_CPPFLAGS)
-SUBDIRS = sub
-EOF
-
-cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = subdir-objects
-# Need generic and non-generic rules.
-bin_PROGRAMS = bar1 bar2
-bar1_SOURCES = bar.y
-bar2_SOURCES = $(bar1_SOURCES)
-bar2_YFLAGS = -v
-bar2_CFLAGS = $(AM_CPPFLAGS)
EOF
cat > foo.y <<'EOF'
@@ -58,7 +44,6 @@ int main (void) { return 0; }
%%
fubar : 'f' 'o' 'o' 'b' 'a' 'r' EOF {};
EOF
-cp foo.y sub/bar.y
$ACLOCAL
$AUTOMAKE --add-missing
@@ -66,7 +51,6 @@ $AUTOCONF
# Ensure per-target rules are used, to ensure their coverage below.
$FGREP 'foo2-foo.c' Makefile.in || exit 99
-$FGREP 'bar2-bar.c' sub/Makefile.in || exit 99
./configure --enable-silent-rules
@@ -76,13 +60,9 @@ $EGREP ' (-c|-o)' stdout && exit 1
$EGREP '(mv|ylwrap) ' stdout && exit 1
grep 'YACC .*foo\.' stdout
-grep 'YACC .*bar\.' stdout
-grep ' CC .*foo\.' stdout
-grep ' CC .*bar\.' stdout
-grep 'CCLD .*foo1' stdout
-grep 'CCLD .*bar1' stdout
-grep 'CCLD .*foo2' stdout
-grep 'CCLD .*bar2' stdout
+grep ' CC .*foo\.' stdout
+grep 'CCLD .*foo1' stdout
+grep 'CCLD .*foo2' stdout
# Cleaning and then rebuilding with the same V flag (and without
# removing the generated sources in between) shouldn't trigger a
@@ -95,16 +75,13 @@ $EGREP ' (-c|-o)' stdout && exit 1
$EGREP '(mv|ylwrap) ' stdout && exit 1
# Don't look for YACC, as probably yacc hasn't been re-run.
-grep ' CC .*foo\.' stdout
-grep ' CC .*bar\.' stdout
-grep 'CCLD .*foo1' stdout
-grep 'CCLD .*bar1' stdout
-grep 'CCLD .*foo2' stdout
-grep 'CCLD .*bar2' stdout
+grep ' CC .*foo\.' stdout
+grep 'CCLD .*foo1' stdout
+grep 'CCLD .*foo2' stdout
# Ensure a truly clean rebuild.
$MAKE clean
-rm -f *foo.[ch] sub/*bar.[ch]
+rm -f *foo.[ch]
run_make -O V=1
diff --git a/t/specflg-dummy.sh b/t/specflg-dummy.sh
index e4678b990..e4b2da3ea 100644
--- a/t/specflg-dummy.sh
+++ b/t/specflg-dummy.sh
@@ -225,17 +225,13 @@ $AUTOMAKE -a
do_check
sed '
+
s|^\(.*\)_SOURCES *= *|sub_\1_SOURCES = srcsub/|
s|^\(.*\)PROGRAMS *+= *|\1PROGRAMS += sub/|
s|^\(.*\)LIBRARIES *+= *|\1LIBRARIES += sub/|
s|^\(.*\)FLAGS *=|sub_\1FLAGS =|
-' Makefile.am > t
-
-cat - t > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = subdir-objects
-END
-rm -f t
+' Makefile.am > t && mv -f t Makefile.am
# For debugging.
cat Makefile.am
diff --git a/t/specflg6.sh b/t/specflg6.sh
index bb3499a40..f6fd870bc 100644
--- a/t/specflg6.sh
+++ b/t/specflg6.sh
@@ -38,7 +38,7 @@ END
$ACLOCAL
$AUTOMAKE
-uncondval=$($FGREP 'foo-foo.o: foo.c' Makefile.in)
+uncondval=$($FGREP 'foo-foo.$(OBJEXT): foo.c' Makefile.in)
cat >> Makefile.am << 'END'
foo_SOURCES += $(BAR_SRCS)
@@ -46,8 +46,10 @@ END
$AUTOMAKE
-condval=$($FGREP 'foo-foo.o: foo.c' Makefile.in)
+condval=$($FGREP 'foo-foo.$(OBJEXT): foo.c' Makefile.in)
+test -n "$uncondval"
+test -n "$condval"
test "x$uncondval" = "x$condval"
:
diff --git a/t/spell.sh b/t/spell.sh
index 593de583a..85e8908f0 100644
--- a/t/spell.sh
+++ b/t/spell.sh
@@ -16,14 +16,39 @@
# Test to make sure misspellings in _SOURCES variables cause failure.
+required=cc
. test-init.sh
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
cat > Makefile.am << 'END'
bin_PROGRAMS = zardoz foo
zardoz_SOURCES = x.c
boo_SOURCES = y.c
END
+echo 'int main (void) { return 0; }' > x.c
+echo 'int main (void) { return 0; }' > y.c
+
$ACLOCAL
-AUTOMAKE_fails
-grep 'Makefile.am:3:.*boo' stderr
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+run_make -E -e FAIL make
+
+LC_ALL=C sed -e 's|^Makefile:[0-9][0-9]*: ||' \
+ -e 's|.*\.mk:[0-9][0-9]*: ||' \
+ -e '/^\*\*\*.*Automake-NG/d' stderr > got
+
+cat > exp << 'END'
+variable 'boo_SOURCES' is defined but no program
+ or library has 'boo' as canonical name
+END
+
+diff exp got
+
+:
diff --git a/t/spell2.sh b/t/spell2.sh
index ef6a27eff..5df27c4b4 100644
--- a/t/spell2.sh
+++ b/t/spell2.sh
@@ -14,18 +14,41 @@
# 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 misspellings in _SOURCES variables cause failure.
+# Test to make sure misspellings in _LDADD variable cause failure.
+required=cc
. test-init.sh
-echo AC_PROG_CC >> configure.ac
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
cat > Makefile.am << 'END'
bin_PROGRAMS = zardoz
zardoz_SOURCES = x.c
-qardoz_LDADD = -ljoe
+qardoz_LDADD = -lm
END
+echo 'int main (void) { return 0; }' > x.c
+
$ACLOCAL
-AUTOMAKE_fails
-grep 'Makefile.am:3:.*qardoz' stderr
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+run_make -E -e FAIL
+
+LC_ALL=C sed -e 's|^Makefile:[0-9][0-9]*: ||' \
+ -e 's|.*\.mk:[0-9][0-9]*: ||' \
+ -e '/^\*\*\*.*Automake-NG/d' stderr > got
+
+cat > exp << 'END'
+variable 'qardoz_LDADD' is defined but no program
+ or library has 'qardoz' as canonical name
+END
+
+diff exp got
+
+:
diff --git a/t/spy-autovars.sh b/t/spy-autovars.sh
new file mode 100644
index 000000000..a70122069
--- /dev/null
+++ b/t/spy-autovars.sh
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Verify that our expectations on the behaviour of (some) GNU make
+# automatic variables are correct.
+# This test is quite incomplete, and should be filled out whenever
+# we want to start assuming and using a further behaviour of
+# automatic variables of GNU make.
+
+am_create_testdir=empty
+. test-init.sh
+
+cat > Makefile <<'END'
+foo:
+ test $@ = foo
+ test $(@D) = .
+ test $(@F) = foo
+./bar:
+ test $@ = ./bar || test $@ = bar
+ test $(@D) = .
+ test $(@F) = bar
+../baz:
+ test $@ = ../baz
+ test $(@D) = ..
+ test $(@F) = baz
+1/2/3:
+ test $@ = 1/2/3
+ test $(@D) = 1/2
+ test $(@F) = 3
+/abs/path:
+ test $@ = /abs/path
+ test $(@D) = /abs
+ test $(@F) = path
+END
+
+$MAKE foo
+$MAKE ./foo
+$MAKE bar
+$MAKE ./bar
+$MAKE ../baz
+$MAKE 1/2/3
+$MAKE ./1/2/3
+$MAKE /abs/path
+
+:
diff --git a/t/spy-double-colon.sh b/t/spy-double-colon.sh
deleted file mode 100644
index ea4714850..000000000
--- a/t/spy-double-colon.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2015 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 whether double colon rules work. The Unix V7 make manual
-# mentions double-colon rules, but POSIX does not. They seem to be
-# supported by all Make implementation as far as we can tell. This test
-# case is a spy: we want to detect if there exist implementations where
-# these do not work. We might use these rules to simplify the rebuild
-# rules (instead of the $? hack).
-
-# Tom Tromey write:
-# | In the distant past we used :: rules extensively.
-# | Fran?ois convinced me to get rid of them:
-# |
-# | Thu Nov 23 18:02:38 1995 Tom Tromey <tromey@cambric>
-# | [ ... ]
-# | * subdirs.am: Removed "::" rules
-# | * header.am, libraries.am, mans.am, texinfos.am, footer.am:
-# | Removed "::" rules
-# | * scripts.am, programs.am, libprograms.am: Removed "::" rules
-# |
-# |
-# | I no longer remember the rationale for this. It may have only been a
-# | belief that they were unportable.
-
-# On a related topic, the Autoconf manual has the following text:
-# | 'VPATH' and double-colon rules
-# | Any assignment to 'VPATH' causes Sun 'make' to only execute
-# | the first set of double-colon rules. (This comment has been
-# | here since 1994 and the context has been lost. It's probably
-# | about SunOS 4. If you can reproduce this, please send us a
-# | test case for illustration.)
-
-# We already know that overlapping ::-rule like
-#
-# a :: b
-# echo rule1 >> $@
-# a :: c
-# echo rule2 >> $@
-# a :: b c
-# echo rule3 >> $@
-#
-# do not work equally on all platforms. It seems that in all cases
-# Make attempts to run all matching rules. However at least GNU Make,
-# NetBSD Make, and FreeBSD Make will detect that $@ was updated by the
-# first matching rule and skip remaining matches (with the above
-# example that means that unless 'a' was declared PHONY, only "rule1"
-# will be appended to 'a' if both b and c have changed). Other
-# implementations like OSF1 Make and HP-UX Make do not perform such a
-# check and execute all matching rules whatever they do ("rule1",
-# "rule2", abd "rule3" will all be appended to 'a' if b and c have
-# changed).
-
-# So it seems only non-overlapping ::-rule may be portable. This is
-# what we check now.
-
-. test-init.sh
-
-cat >Makefile <<\EOF
-a :: b
- echo rule1 >> $@
-a :: c
- echo rule2 >> $@
-EOF
-
-touch b c
-$sleep
-: > a
-$MAKE
-test x"$(cat a)" = x
-$sleep
-touch b
-$MAKE
-test "$(cat a)" = "rule1"
-# Ensure a is strictly newer than b, so HP-UX make does not execute rule2.
-$sleep
-: > a
-$sleep
-touch c
-$MAKE
-test "$(cat a)" = "rule2"
-
-# Unfortunately, the following is not portable to FreeBSD/NetBSD/OpenBSD
-# make, see explanation above.
-
-#: > a
-#$sleep
-#touch b c
-#$MAKE
-#grep rule1 a
-#grep rule2 a
-
-:
diff --git a/contrib/t/help-multilib.sh b/t/spy-foreach.sh
index 6e0ab2729..00d03e985 100755..100644
--- a/contrib/t/help-multilib.sh
+++ b/t/spy-foreach.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,19 +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/>.
-# Make sure that our macro 'AM_ENABLE_MULTILIB' adds proper text to
-# the configure help screen.
+# Verify that iterating variable used in a $(foreach ...) builtin is
+# only temporary, and restored to its previous variable if it was already
+# set.
+am_create_testdir=empty
. test-init.sh
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_ENABLE_MULTILIB
+cat > Makefile <<'END'
+$(foreach x,1 2,$(warning foo-$(x))$(eval y:=$$(x)))
+$(foreach u,oops ko,$(warning bar-$(u))$(eval v=$(u)))
+test:
+ test .'$(x)' = .
+ test .'$(origin x)' = .'undefined'
+ test .'$(y)' = .2
+ test .'$(v)' = .ko
+ test .'$(u)' = .ok
+ test .'$(origin u)' = .'command line'
END
-cat "$am_top_srcdir"/contrib/multilib/multi.m4 > aclocal.m4
-$AUTOCONF
-
-grep_configure_help --enable-multilib ' many library versions \(default\)'
+x= y= u= v=; unset x y u v
+$MAKE test u=ok
:
diff --git a/t/spy-pattern-rules.sh b/t/spy-pattern-rules.sh
new file mode 100644
index 000000000..7781dd31d
--- /dev/null
+++ b/t/spy-pattern-rules.sh
@@ -0,0 +1,92 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Two checks are done here:
+# - if there are two pattern rules from which the same file (or set of
+# files) can be built, and both are applicable, and both results in
+# the same target stem, then the first one wins.
+# - if there are two pattern rules from which the same file (or set of
+# files) can be built, and both are applicable, but the resulting
+# target stems are different, then the "most specific" one (i.e.,
+# that which result in the *shortest* stem) is used.
+# We take advantage of such features at least in our 'parallel-tests'
+# support.
+
+am_create_testdir=empty
+. test-init.sh
+
+cat > Makefile <<'END'
+default:
+ @echo recipe for $@ should not run >&2; exit 1;
+
+%.foo: %
+ cp $< $@
+%.foo: %.x
+ cp $< $@
+
+%.bar: %.x
+ cp $< $@
+%.bar: %
+ cp $< $@
+
+%.mu %.fu: %.1
+ cp $< $*.mu && cp $< $*.fu
+%.mu %.fu: %.2
+ cp $< $*.mu && cp $< $*.fu
+
+%.o: %.c
+ @cp $< $@ && echo TOP >> $@
+lib/%.o: lib/%.c
+ @cp $< $@ && echo LIB >> $@
+
+bar%: foo%
+ echo .$* >$@
+ba%: foo%
+ @echo '$@: longest stem rule selected!' >&2; exit 1
+END
+
+echo one > all
+echo two > all.x
+$MAKE all.foo all.bar
+diff all all.foo
+diff all.x all.bar
+
+echo one > x.1
+echo two > x.2
+$MAKE x.mu
+diff x.mu x.1
+diff x.fu x.1
+
+mkdir lib
+echo foo > a.c
+echo bar > lib/a.c
+$MAKE a.o lib/a.o
+test "$(cat a.o)" = "foo${nl}TOP"
+test "$(cat lib/a.o)" = "bar${nl}LIB"
+
+: > foozap
+: > foo-mu
+: > foox
+$MAKE barzap bar-mu
+test "$(cat barzap)" = .zap
+test "$(cat bar-mu)" = .-mu
+
+# Sanity check.
+run_make -e FAIL -M bax \
+ && grep '^bax: longest stem rule selected!' output \
+ || fatal_ 'the longest stem rule was not selected'
+
+:
diff --git a/t/spy-phony.sh b/t/spy-phony.sh
new file mode 100644
index 000000000..e9a79fb6d
--- /dev/null
+++ b/t/spy-phony.sh
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 '.PHONY' semantics we expect truly hold.
+
+am_create_testdir=empty
+. test-init.sh
+
+cat > Makefile <<'END'
+.PHONY: pdir pfile
+pdir rdir:
+ echo foo > $@/foo
+pfile rfile:
+ echo bar >$@
+.PHONY: other
+other:
+ echo baz >> dummy
+indirect: other
+ echo run > $@
+END
+
+: > rfile
+mkdir rdir
+$MAKE rdir rfile
+test ! -s rfile
+test ! -f rdir/foo
+
+: > pfile
+mkdir pdir
+$MAKE pdir pfile
+test "$(cat pfile)" = bar
+test "$(cat pdir/foo)" = foo
+
+$MAKE other
+test "$(cat dummy)" = baz
+$MAKE other
+test "$(cat dummy)" = "baz${nl}baz"
+
+echo not run > indirect
+$MAKE indirect
+test "$(cat indirect)" = run
+test "$(cat dummy)" = "baz${nl}baz${nl}baz"
+
+:
diff --git a/t/spy-trailing-backlash.sh b/t/spy-trailing-backlash.sh
new file mode 100644
index 000000000..ba30d3906
--- /dev/null
+++ b/t/spy-trailing-backlash.sh
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 GNU make line-continuation with backslash-newline has the
+# semantic we expect.
+
+am_create_testdir=empty
+. test-init.sh
+
+cat > Makefile << 'END'
+default:
+
+hash = \#
+ok: ; true :--$(hash)--:
+
+var1 = \
+rule1:
+
+rule2: \
+; echo ok > sentinel
+
+# The backslash doesn't cause we to continue to read after
+# the fist blank line.
+rule3: \
+
+var2 = ok
+
+# Ditto.
+var3 = a \
+
+b:
+
+# The backslash will cause the next line to be a comment as well \
+$(error comment not continued)
+
+var4 = foo \
+# not seen
+
+.PHONY: test
+test:
+ test $(var1) = rule1:
+ test $(var2) = ok
+ test $(var3) = a
+ test $(var4) = foo
+ test -z '$(var5)'
+
+var5 = \
+END
+
+$MAKE
+$MAKE ok
+$MAKE ok | grep ':--#--:'
+$MAKE rule1 && exit 1
+$MAKE rule2
+test -f sentinel
+$MAKE rule3
+$MAKE test
+
+:
diff --git a/t/spy-var-append.sh b/t/spy-var-append.sh
new file mode 100644
index 000000000..28129d90e
--- /dev/null
+++ b/t/spy-var-append.sh
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# GNU make allows us to append to undefined variables.
+# Also, if we override a variable definition from the command line,
+# any '+=' appending to it gets overridden as well.
+
+am_create_testdir=empty
+. test-init.sh
+
+cat > Makefile << 'END'
+var0 += foo
+
+var1 += bar
+var1 += baz
+
+var2 = a
+var2 += b
+
+var3 := x
+var3 += y
+
+.PHONY: test1 test2
+test1:
+ test x'$(var0)' = x'foo'
+ test x'$(var1)' = x'bar baz'
+ test x'$(var2)' = x'a b'
+ test x'$(var3)' = x'x y'
+test2:
+ test x'$(var0)' = x'mu'
+ test x'$(var1)' = x
+ test x'$(var2)' = x'two'
+ test x'$(var3)' = x'three'
+END
+
+checkit ()
+{
+ run_make -E -- "$@" && test ! -s stderr
+}
+
+checkit test1
+checkit test2 var0=mu var1= var2=two var3=three
+
+:
diff --git a/t/spy-vpath-rewrite.sh b/t/spy-vpath-rewrite.sh
new file mode 100644
index 000000000..e4eff7707
--- /dev/null
+++ b/t/spy-vpath-rewrite.sh
@@ -0,0 +1,150 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 automatic variable '$<' always undergoes VPATH rewrite.
+# We use that assumption in some of our rules, so it better explicitly
+# check that it truly holds.
+
+. test-init.sh
+
+ocwd=$(pwd) || fatal_ "couldn't get current working directory"
+
+mkdir src
+cd src
+
+cat > mk <<'END'
+.SUFFIXES:
+.SUFFIXES: .a .b .a2 .b2 .a3 .b3 .a4 .b4
+
+empty =
+source = $<
+
+all: one.b two.b2 three.b3 four.b4
+all: www.d xxx.d2 yyy.d3 zzz.d4
+all: bar/mu.x is.ok zardoz
+all: here here2 he/re
+
+.a.b:
+ cp $< $@
+
+.a2.b2:
+ cp '$<' $@
+
+.a3.b3:
+ cp $(empty)$<$(empty) $@
+
+.a4.b4:
+ cp $(source) $@
+
+%.d: %.c
+ cp $< $@
+
+%.d2: %.c2
+ cp '$(source)' $@
+
+%.d3: %.c3 %.cc
+ cp `echo '$<'` $@
+
+%.d4: %.c4 ignore-me
+ orig=x$(<)x && orig=`expr "$$orig" : 'x\(.*\)x$$'` && cp $$orig $@
+
+bar/%: foo/%
+ mkdir $(dir $@)
+ cp $< $@
+
+%.ok: zap/%
+ cp "$<" $@
+
+%: zap/sub/%
+ cp '$<' $@
+
+here: there
+ cp $< $@
+
+here2: there2 ignore-me
+ cp '$<' $@
+
+he/re: the/re
+ mkdir $(dir $@)
+ cp "$(source)" $@
+END
+
+mkdir foo zap zap/sub the
+for file in \
+ one.a \
+ two.a2 \
+ three.a3 \
+ four.a4 \
+ www.c \
+ xxx.c2 \
+ yyy.c3 \
+ zzz.c4 \
+ foo/mu.x \
+ zap/is \
+ zap/sub/zardoz \
+ there \
+ there2 \
+ the/re \
+; do
+ echo $file > $file
+done
+touch yyy.cc ignore-me
+
+do_test ()
+{
+ srcdir=$1
+ cp $srcdir/mk Makefile
+ $MAKE -k all VPATH=$srcdir
+ if test "$srcdir" != "."; then
+ test ! -f $srcdir/bar && test ! -d $srcdir/bar || exit 1
+ test ! -f $srcdir/he && test ! -d $srcdir/he || exit 1
+ fi
+ diff $srcdir/one.a one.b
+ diff $srcdir/two.a2 two.b2
+ diff $srcdir/three.a3 three.b3
+ diff $srcdir/four.a4 four.b4
+ diff $srcdir/www.c www.d
+ diff $srcdir/xxx.c2 xxx.d2
+ diff $srcdir/yyy.c3 yyy.d3
+ diff $srcdir/zzz.c4 zzz.d4
+ diff $srcdir/foo/mu.x bar/mu.x
+ diff $srcdir/zap/is is.ok
+ diff $srcdir/zap/sub/zardoz zardoz
+ diff $srcdir/there here
+ diff $srcdir/the/re he/re
+}
+
+cd "$ocwd"
+mkdir build
+cd build
+do_test ../src
+
+cd "$ocwd"
+mkdir build2
+cd build2
+do_test "$ocwd"/src
+
+cd "$ocwd"
+cd src
+mkdir build
+cd build
+do_test ..
+
+cd "$ocwd"
+cd src
+do_test .
+
+:
diff --git a/t/colneq3.sh b/t/spy-wildcard.sh
index f07af56e2..cbb9cfcf0 100644
--- a/t/colneq3.sh
+++ b/t/spy-wildcard.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,31 +14,23 @@
# 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 that := definitions work as expected at make time.
+# Check that the behaviour of the $(wildcard) builtin in corner cases
+# matches the assumptions done in our recipes.
-required=GNUmake
. test-init.sh
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
+mkdir dir
+echo dummy > file
-cat > Makefile.am << 'END'
-BAR := $(FOO)
-BAZ = $(FOO)
-FOO := foo
+cat > Makefile <<'END'
.PHONY: test
test:
- test x'$(FOO)' = x'foo'
- test x'$(BAZ)' = x'foo'
- test x'$(BAR)' = x
+ test x'$(wildcard dir)' = x'dir'
+ test x'$(wildcard file)' = x'file'
+ test x'$(wildcard dir/)' = x'dir/'
+ test x'$(wildcard file/.)' = x''
END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -Wno-portability
-
-./configure
$MAKE test
:
diff --git a/t/tagsub.sh b/t/stdinc-no-repeated.sh
index 71a8d96b5..b1ff7fd6c 100644
--- a/t/tagsub.sh
+++ b/t/stdinc-no-repeated.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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,35 +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/>.
-# Test to make sure tags and subdirs work correctly. Bug report by
-# François Pinard, and later by Akim Demaille.
+# Check that automake rules do not use repeated "-I $(srcdir)" in the
+# compiler invocation.
-required=etags
+required=cc
. test-init.sh
cat >> configure.ac << 'END'
-AC_CONFIG_FILES([sub/Makefile])
+AC_PROG_CC
AC_OUTPUT
END
-echo 'SUBDIRS = sub' > Makefile.am
-mkdir sub
-echo 'noinst_HEADERS = iguana.h' > sub/Makefile.am
-: > sub/iguana.h
+echo 'bin_PROGRAMS = foo' > Makefile.am
+echo 'int main (void) { return 0; }' > foo.c
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
-
+$AUTOMAKE --add-missing
+
+# Test with $builddir != $srcdir
+mkdir build
+cd build
+../configure
+run_make -O V=1
+grep '.*-I *\. .*-I *\.\. ' stdout
+grep '.*-I *\. .*-I *\. ' stdout && exit 1
+cd ..
+
+# Test with $builddir = $srcdir
./configure
-$MAKE tags
-test -f sub/TAGS
-test -f TAGS
-$FGREP sub/TAGS TAGS
-$FGREP iguana.h sub/TAGS
-
-$MAKE distclean
-test ! -e sub/TAGS
-test ! -e TAGS
+run_make -O V=1
+grep '.*-I *\. ' stdout
+grep '.*-I *\..*-I *\.' stdout && exit 1
:
diff --git a/t/subdir-keep-going-pr12554.sh b/t/subdir-keep-going-pr12554.sh
index a0592f52c..5515abcfe 100644
--- a/t/subdir-keep-going-pr12554.sh
+++ b/t/subdir-keep-going-pr12554.sh
@@ -22,8 +22,6 @@
. test-init.sh
-echo nil: | $MAKE -I . -f - || skip_ "$MAKE doesn't support the -I option"
-
cat >> configure.ac <<'END'
AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
AC_OUTPUT
@@ -51,20 +49,10 @@ $AUTOCONF
$AUTOMAKE
./configure
-st=0
-$MAKE -I k -I --keep-going \
- TESTS='k --keep-going -k' AM_MAKEFLAGS="TESTS='k --keep-going -k'" \
- || st=$?
-# Don't trust the exit status of "make -k" for non-GNU make.
-if using_gmake; then
- test $st -gt 0 || exit 1
-fi
+$MAKE -I k -I --keep-going TESTS='k --keep-going -k' && exit 1
test ! -r sub2/ok
# Sanity check.
-st=0; $MAKE -k || st=$?
-if { using_gmake && test $st -eq 0; } || test ! -f sub2/ok; then
- fatal_ '"make -k" not working as expected'
-fi
+! $MAKE -k && test -f sub2/ok || fatal_ '"make -k" not working as expected'
:
diff --git a/t/subdir-order.sh b/t/subdir-order.sh
index 10ba9a797..f717ff00e 100644
--- a/t/subdir-order.sh
+++ b/t/subdir-order.sh
@@ -124,26 +124,13 @@ all-local:
: > run
END
-echo dummy: > Makefile
-if using_gmake; then
- jobs=-j12
-elif $MAKE -j12; then
- jobs=-j12
-elif $MAKE -j 12; then
- jobs="-j 12"
-else
- jobs=none
-fi
-rm -f Makefile
-
$ACLOCAL
$AUTOCONF
$AUTOMAKE -c --add-missing
./configure
-for j in '' "$jobs"; do
- test x"$j" = x"none" && continue
+for j in '' '-j12'; do
$MAKE $j
test -f run
test -f sub0/run
diff --git a/t/subdir.sh b/t/subdir.sh
index 421d6b9d9..8e568b4b7 100644
--- a/t/subdir.sh
+++ b/t/subdir.sh
@@ -14,8 +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/>.
-# Test to make sure install-sh and mkinstalldirs correctly found in
-# subdirs.
+# Test to make sure install-sh is correctly found in subdirs.
. test-init.sh
diff --git a/t/subobj-c.sh b/t/subobj-c.sh
new file mode 100644
index 000000000..dbc524aa3
--- /dev/null
+++ b/t/subobj-c.sh
@@ -0,0 +1,119 @@
+#! /bin/sh
+# Copyright (C) 1999-2014 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 subdir objects with C, building both a library and an executable.
+# Keep in sync with sister test 'subobj-cxx.sh'.
+
+required=cc
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = progs/wish
+lib_LIBRARIES = libs/libhope.a
+progs_wish_SOURCES = generic/a.c generic/b.c
+libs_libhope_a_SOURCES = sub/sub2/foo.c
+
+.PHONY: remake-single-object
+remake-single-object:
+ rm -rf generic
+ $(MAKE) generic/a.$(OBJEXT)
+ test -f generic/a.$(OBJEXT)
+ test ! -f generic/b.$(OBJEXT)
+ rm -rf generic
+ $(MAKE) generic/b.$(OBJEXT)
+ test ! -f generic/a.$(OBJEXT)
+ test -f generic/b.$(OBJEXT)
+ rm -rf sub generic
+ $(MAKE) sub/sub2/foo.$(OBJEXT)
+ test -f sub/sub2/foo.$(OBJEXT)
+ test ! -d generic
+END
+
+mkdir generic sub sub/sub2
+
+cat > generic/a.c <<END
+int main (void)
+{
+ extern int i;
+ return i;
+}
+END
+echo 'int i = 0;' > generic/b.c
+
+cat > sub/sub2/foo.c <<'END'
+int answer (void)
+{
+ return 42;
+}
+END
+
+rm -f compile # We want to check '--add-missing' installs this.
+
+$ACLOCAL
+$AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; }
+cat stderr >&2
+
+# Make sure compile is installed, and that Automake says so.
+grep '^configure\.ac:4:.*install.*compile' stderr
+test -f compile
+
+$EGREP '[^/](a|b|foo)\.\$(OBJEXT)' Makefile.in && exit 1
+
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+
+test -d progs
+test -d libs
+test -d generic
+test -d sub/sub2
+
+if test -f progs/wish; then
+ EXEEXT=
+elif test -f progs/wish.exe; then
+ EXEEXT=.exe
+else
+ fatal_ "couldn't determine extension of executables"
+fi
+
+# The libraries and executables are not uselessly remade.
+: > xstamp
+$sleep
+echo dummy > progs/change-dir-timestamp
+echo dummy > libs/change-dir-timestamp
+echo dummy > generic/change-dir-timestamp
+echo dummy > sub/change-dir-timestamp
+echo dummy > sub/sub2/change-dir-timestamp
+$MAKE
+is_newest xstamp progs/wish$EXEEXT libs/libhope.a
+
+$MAKE remake-single-object
+
+# Must work also with dependency tracking disabled.
+# Also sanity check the distribution.
+$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-dependency-tracking
+
+:
diff --git a/t/subobj-clean-lt-pr10697.sh b/t/subobj-clean-lt-pr10697.sh
index 72442742b..94664b87f 100644
--- a/t/subobj-clean-lt-pr10697.sh
+++ b/t/subobj-clean-lt-pr10697.sh
@@ -142,7 +142,6 @@ mv -f t main.c
sed -e '/sub1\/a\.c/d' -e 's|sub2/d\.c|sub2/x.c|' Makefile.am > t
mv -f t Makefile.am
-using_gmake || $MAKE Makefile
$MAKE
test -f sub2/x.$OBJEXT
diff --git a/t/subobj-clean-pr10697.sh b/t/subobj-clean-pr10697.sh
index 0ce875fa6..ecbd448fa 100644
--- a/t/subobj-clean-pr10697.sh
+++ b/t/subobj-clean-pr10697.sh
@@ -137,7 +137,6 @@ mv -f t main.c
sed -e '/sub1\/a\.c/d' -e 's|sub2/d\.c|sub2/x.c|' Makefile.am > t
mv -f t Makefile.am
-using_gmake || $MAKE Makefile
$MAKE
test -f sub2/x.$OBJEXT
diff --git a/t/subobj2.sh b/t/subobj-cxx-grep.sh
index e80fe7735..8d2eac24a 100644
--- a/t/subobj2.sh
+++ b/t/subobj-cxx-grep.sh
@@ -14,16 +14,14 @@
# 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 of subdir objects with C++.
+# Grepping checks on the use of subdir objects with C++.
+# See relate test 't/subobj-cxx-grep.sh' for semantic checks.
. test-init.sh
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-END
+echo AC_PROG_CXX >> configure.ac
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = wish
wish_SOURCES = generic/a.cc generic/b.cxx
END
@@ -32,7 +30,8 @@ $ACLOCAL
$AUTOMAKE
$FGREP 'generic/a.$(OBJEXT)' Makefile.in
-grep '[^/]a\.\$(OBJEXT)' Makefile.in && exit 1
-grep '.*-c -o' Makefile.in
+$FGREP 'generic/b.$(OBJEXT)' Makefile.in
+grep '[^/][ab]\.\$(OBJEXT)' Makefile.in && exit 1
+grep '.* -c -o ' Makefile.in
:
diff --git a/t/subobj-cxx.sh b/t/subobj-cxx.sh
new file mode 100644
index 000000000..827e27eb4
--- /dev/null
+++ b/t/subobj-cxx.sh
@@ -0,0 +1,120 @@
+#! /bin/sh
+# Copyright (C) 1999-2014 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 subdir objects with C++, building both a library and an executable.
+# Keep in sync with sister test 'subobj-c.sh'.
+
+required=c++
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = progs/wish
+lib_LIBRARIES = libs/libhope.a
+progs_wish_SOURCES = generic/a.cc generic/b.c++
+libs_libhope_a_SOURCES = sub/sub2/foo.cxx
+
+.PHONY: remake-single-object
+remake-single-object:
+ rm -rf generic
+ $(MAKE) generic/a.$(OBJEXT)
+ test -f generic/a.$(OBJEXT)
+ test ! -f generic/b.$(OBJEXT)
+ rm -rf generic
+ $(MAKE) generic/b.$(OBJEXT)
+ test ! -f generic/a.$(OBJEXT)
+ test -f generic/b.$(OBJEXT)
+ rm -rf sub generic
+ $(MAKE) sub/sub2/foo.$(OBJEXT)
+ test -f sub/sub2/foo.$(OBJEXT)
+ test ! -d generic
+END
+
+mkdir generic sub sub/sub2
+
+cat > generic/a.cc <<END
+using namespace std; // Make this valid C++ but invalid C.
+extern int b (void);
+int main (void)
+{
+ return b ();
+}
+END
+
+cat > generic/b.c++ <<END
+using namespace std; // Make this valid C++ but invalid C.
+int b (void)
+{
+ return 0;
+}
+END
+
+cat > sub/sub2/foo.cxx <<'END'
+using namespace std; // Make this valid C++ but invalid C.
+int answer (void)
+{
+ return 42;
+}
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+$EGREP '[^/](a|b|foo)\.\$(OBJEXT)' Makefile.in && exit 1
+
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+
+test -d progs
+test -d libs
+test -d generic
+test -d sub/sub2
+
+if test -f progs/wish; then
+ EXEEXT=
+elif test -f progs/wish.exe; then
+ EXEEXT=.exe
+else
+ fatal_ "couldn't determine extension of executables"
+fi
+
+# The libraries and executables are not uselessly remade.
+: > xstamp
+$sleep
+echo dummy > progs/change-dir-timestamp
+echo dummy > libs/change-dir-timestamp
+echo dummy > generic/change-dir-timestamp
+echo dummy > sub/change-dir-timestamp
+echo dummy > sub/sub2/change-dir-timestamp
+$MAKE
+is_newest xstamp progs/wish$EXEEXT libs/libhope.a
+
+$MAKE remake-single-object
+
+# Must work also with dependency tracking disabled.
+# Also sanity check the distribution.
+$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-dependency-tracking
+
+:
diff --git a/t/subobj-libtool.sh b/t/subobj-libtool.sh
new file mode 100644
index 000000000..9489d2129
--- /dev/null
+++ b/t/subobj-libtool.sh
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 1999-2014 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 of subdir objects with libtool.
+
+required='cc libtoolize'
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LTLIBRARIES = libs/libfoo.la
+libs_libfoo_la_SOURCES = generic/1.c generic/2.c sub/subsub/3.c
+
+.PHONY: remake-single-object
+remake-single-object:
+ rm -rf generic
+ $(MAKE) generic/1.lo
+ test -f generic/1.lo
+ test ! -f generic/2.lo
+ rm -rf generic
+ $(MAKE) generic/2.lo
+ test ! -f generic/1.lo
+ test -f generic/2.lo
+ rm -rf sub generic
+ $(MAKE) sub/subsub/3.lo
+ test -f sub/subsub/3.lo
+ test ! -d generic
+END
+
+mkdir generic sub sub/subsub
+echo 'int one (void) { return 1; }' > generic/1.c
+echo 'int two (void) { return 2; }' > generic/2.c
+echo 'int three (void) { return 3; }' > sub/subsub/3.c
+
+libtoolize
+$ACLOCAL
+
+# Make sure compile is installed, and that Automake says so.
+rm -f compile
+$AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; }
+cat stderr >&2
+grep '^configure\.ac:4:.*install.*compile' stderr
+test -f compile
+
+grep '[^/][123]\.lo' Makefile.in && exit 1
+
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+
+test -d libs
+test -d generic
+test -d sub/subsub
+
+# The libraries and executables are not uselessly remade.
+: > xstamp
+$sleep
+echo dummy > libs/change-dir-timestamp
+echo dummy > generic/change-dir-timestamp
+echo dummy > sub/change-dir-timestamp
+echo dummy > sub/subsub/change-dir-timestamp
+$MAKE
+is_newest xstamp libs/libfoo.la
+
+$MAKE remake-single-object
+
+# VPATH builds must work also with dependency tracking disabled.
+# Also sanity check the distribution.
+$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-dependency-tracking
+
+:
diff --git a/t/subobj.sh b/t/subobj.sh
deleted file mode 100644
index 9b5babfbf..000000000
--- a/t/subobj.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1999-2015 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/>.
-
-# Grepping checks on subdir objects with C and C++.
-
-. test-init.sh
-
-cat >> configure.ac <<'END'
-AC_PROG_CC
-AC_PROG_CXX
-AC_PROG_YACC
-AC_CONFIG_FILES([sub/Makefile])
-AC_OUTPUT
-END
-
-$ACLOCAL
-: > ylwrap
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub
-bin_PROGRAMS = wish
-wish_SOURCES = generic/a.c
-wish_SOURCES += another/z.cxx
-END
-
-mkdir sub
-cat > sub/Makefile.am << 'END'
-dream_SOURCES = generic/b.c more/r.y
-bin_PROGRAMS = dream
-END
-
-rm -f compile
-$AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; }
-cat stderr >&2
-# Make sure compile is installed, and that Automake says so.
-grep '^configure\.ac:[48]:.*install.*compile' stderr
-test -f compile
-
-grep '^generic/a\.\$(OBJEXT):' Makefile.in
-grep '^generic/b\.\$(OBJEXT):' sub/Makefile.in
-grep '^another/z\.\$(OBJEXT):' Makefile.in
-$EGREP '(^|[^/])[abz]\.\$(OBJEXT)' Makefile.in sub/Makefile.in && exit 1
-
-# Opportunistically test for a different bug.
-grep '^another/z\.\$(OBJEXT):.*dirstamp' Makefile.in
-grep '^generic/b\.\$(OBJEXT):.*dirstamp' sub/Makefile.in
-
-:
diff --git a/t/subobj10.sh b/t/subobj10.sh
index 9c2197628..2f302c343 100644
--- a/t/subobj10.sh
+++ b/t/subobj10.sh
@@ -14,28 +14,35 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# PR 492: Test asm subdir-objects.
+# PR 492: Test asm subdir objects.
required='gcc -c-o'
. test-init.sh
-cat > configure.ac << END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([subdir-objects])
-
+cat >> configure.ac << 'END'
AM_PROG_AS
AM_PROG_AR
AC_PROG_RANLIB
-
-AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
cat > Makefile.am << 'END'
noinst_LIBRARIES = libfoo.a libbar.a
+
libfoo_a_SOURCES = src/a.s b.s
libbar_a_SOURCES = src/c.s d.s
libbar_a_CCASFLAGS =
+
+.PHONY: test-objs
+check-local: test-objs
+test-objs:
+ find . -name '*.$(OBJEXT)' > o.lst && cat o.lst
+ test -f src/a.$(OBJEXT)
+ test -f b.$(OBJEXT)
+ test -f src/libbar_a-c.$(OBJEXT)
+ test -f libbar_a-d.$(OBJEXT)
+ test $$(wc -l <o.lst) -eq 4
+ rm -f o.lst
END
mkdir src
@@ -50,6 +57,7 @@ $AUTOMAKE -a
./configure
$MAKE
+$MAKE test-objs
$MAKE distcheck
:
diff --git a/t/subobj11a.sh b/t/subobj11a.sh
index 6fc9ceea2..0ae65381a 100644
--- a/t/subobj11a.sh
+++ b/t/subobj11a.sh
@@ -14,17 +14,21 @@
# 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 that automake works around a bug of Solaris Make. The bug is the
-# following. If we have a Makefile containg a file inclusion like this:
+# If we have a Makefile containing a file inclusion like this:
+#
# include .//foo.mk
-# Solaris make fails with a message like:
+#
+# Solaris 10 make fails with a message like:
+#
# make: ... can't find '/foo.mk': No such file or directory
# make: fatal error ... read of include file '/foo.mk' failed
-# (even if the file 'foo.mk' exists). The error disappear by collapsing
-# the repeated slash '/' characters into a single one.
#
-# See also sister "grepping" test 'subobj11b.sh', and related test
-# 'subobj11c.sh'.
+# (even if the file 'foo.mk' exists). Our dependency tracking support
+# code used to generate include directives like that sometimes, thus
+# causing spurious failures.
+#
+# GNU make shouldn't suffer from that Solaris make bug, but we check
+# the problematic setup anyway -- better safe than sorry.
required=cc
. test-init.sh
@@ -35,7 +39,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = foo
## The './/' below is meant.
foo_SOURCES = .//src/foo.c
diff --git a/t/subobj11b.sh b/t/subobj11b.sh
deleted file mode 100644
index db29e5e58..000000000
--- a/t/subobj11b.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 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 that automake works around a bug of Solaris Make. The bug is the
-# following. If we have a Makefile containg a file inclusion like this:
-# include .//foo.mk
-# Solaris make fails with a message like:
-# make: ... can't find '/foo.mk': No such file or directory
-# make: fatal error ... read of include file '/foo.mk' failed
-# (even if the file 'foo.mk' exists). The error disappear by collapsing
-# the repeated slash '/' characters into a single one.
-#
-# See also "semantic" sister test 'subobj11a.sh', and related test
-# 'subobj11c.sh'.
-
-. test-init.sh
-
-echo AC_PROG_CC >> configure.ac
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = foo
-## The 'zardoz' sources should activate a code paths in Automake that
-## cannot be sensibly tested by sister test 'subobj11a.test'. The other
-## sources provide some sort of stress testing.
-foo_SOURCES = \
- //server/zardoz0.c \
- //server//zardoz1.c \
- //server/path/to/zardoz2.c \
- //server/another//path///to////zardoz3.c \
- /foobar0.c \
- ///foobar1.c \
- ////foobar2.c \
- /sub///foobar3.c \
- ///sub/foobar4.c \
- .//foobar5.c \
- .//sub/foobar6.c \
- ./sub//foobar7.c \
- .//sub//foobar8.c \
- sub/sub//sub///sub////foobar9.c
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-
-# Be lax in the regexp, to account for automake conditionals, the
-# use of @am__include@, and similar stuff.
-grep 'include.*//.*foobar' Makefile.in && exit 1
-
-# These checks depend on automake internals, but presently this is
-# the only way to test the code path we are interested in.
-# Please update these checks when (and if) the relevant automake
-# internals are changed.
-for x in zardoz0 zardoz1 path/to/zardoz2 another/path/to/zardoz3; do
- case $x in
- */*) d=$(echo $x | sed 's,[^/]*$,,'); b=$(echo $x | sed 's,^.*/,,');;
- *) d=''; b=$x;;
- esac
- # Be a little lax in the regexp, to account for automake conditionals,
- # quoting, and similar stuff.
- grep "^[^/]*am__include[^/]*//server/$d\\\$(DEPDIR)/$b\\.[^/]*$" Makefile.in
-done
-
-# Sanity checks.
-for i in 0 1 2 3 4 5 6 7 8 9; do
- grep "am__include.*/foobar$i\\." Makefile.in
-done
-
-:
diff --git a/t/subobj11c.sh b/t/subobj11c.sh
deleted file mode 100644
index 652a31d56..000000000
--- a/t/subobj11c.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 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/>.
-
-# Automatic dependency tracking with subdir-objects option active:
-# check for a pathological case of slash-collapsing in the name of
-# included makefile fragments (containing dependency info).
-# See also related tests 'subobj11a.sh' and 'subobj11b.sh'.
-
-. test-init.sh
-
-echo AC_PROG_CC >> configure.ac
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = foo
-foo_SOURCES = //zardoz.c
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-
-#
-# This check depends on automake internals, but presently this is
-# the only way to test the code path we are interested in.
-# Please update these checks when (and if) the relevant automake
-# internals are changed.
-#
-# Be a little lax in the regexp, to account for automake conditionals,
-# quoting, and similar stuff.
-#
-# FIXME: Are we sure this is the most sensible output in our situation?
-#
-grep '^[^/]*am__include[^/]*//\$(DEPDIR)/zardoz\.[^/]*$' Makefile.in
-
-:
diff --git a/t/subobj5.sh b/t/subobj5.sh
index c57e7846c..2434cee25 100644
--- a/t/subobj5.sh
+++ b/t/subobj5.sh
@@ -27,17 +27,16 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = wish
wish_SOURCES = generic/a.c
.PHONY: test-distdir test-build
test-distdir: distdir
- ls -l $(distdir) $(distdir)/* ;: For debugging.
+ ls -l $(distdir) $(distdir)/* # For debugging.
test ! -r $(distdir)/a.c
test -f $(distdir)/generic/a.c
test-build: all
- ls -l . generic ;: For debugging.
+ ls -l . generic # For debugging.
test -f generic/a.$(OBJEXT)
test -f wish$(EXEEXT)
test ! -r a.$(OBJEXT)
diff --git a/t/subobj6.sh b/t/subobj6.sh
deleted file mode 100644
index c1d1a794e..000000000
--- a/t/subobj6.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 of subdir make distclean rules.
-# From Robert Collins.
-
-required=cc
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = wish
-wish_SOURCES = generic/a.c
-
-test-all: all
- test -f generic/$(am__dirstamp)
-test-mostlyclean: mostlyclean
- test ! -f generic/a.o
-test-distclean: distclean
- test ! -f generic/$(am__dirstamp)
-END
-
-mkdir generic
-cat > generic/a.c << 'END'
-#include <stdio.h>
-int main ()
-{
- printf ("maude!\n");
- return 0;
-}
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --include-deps --copy --add-missing
-
-mkdir build
-cd build
-
-../configure
-$MAKE test-all
-$MAKE test-mostlyclean
-$MAKE test-distclean
-
-cd ..
-
-# Now test without the subdir.
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = wish
-wish_SOURCES = a.c
-END
-
-mv generic/a.c a.c
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --include-deps --copy --add-missing
-
-mkdir build2
-cd build2
-
-../configure
-$MAKE
-$MAKE mostlyclean
-
-:
diff --git a/t/subobj8.sh b/t/subobj8.sh
index a39aac889..d6c19f15f 100644
--- a/t/subobj8.sh
+++ b/t/subobj8.sh
@@ -14,7 +14,8 @@
# 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 'compile' is included when subdir-objects is used in a subdir.
+# Make sure 'compile' is included when subdir objects are used in a
+# subdir.
. test-init.sh
@@ -34,7 +35,6 @@ SUBDIRS = foo
END
cat > foo/Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = mumble
mumble_SOURCES = bar/a.c
END
diff --git a/t/subobj9.sh b/t/subobj9.sh
index 7e20eac02..95c483003 100644
--- a/t/subobj9.sh
+++ b/t/subobj9.sh
@@ -25,13 +25,10 @@
required='c++ libtoolize'
. test-init.sh
-cat > configure.ac << END
-AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([subdir-objects])
+cat >> configure.ac << END
AC_PROG_CXX
AM_PROG_AR
AM_PROG_LIBTOOL
-AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
@@ -60,7 +57,6 @@ int doit2 (void)
}
END
-
libtoolize --force
$ACLOCAL
$AUTOCONF
diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh
index 87a1b3e91..56e556063 100644
--- a/t/subpkg-yacc.sh
+++ b/t/subpkg-yacc.sh
@@ -17,26 +17,28 @@
# Check that ylwrap is installed properly, and $(YLWRAP) us defined
# properly, when a subpackage is involved.
+am_create_testdir=empty
required='cc yacc'
. test-init.sh
cat > configure.ac <<'END'
-AC_INIT([suya], [0.5a], [automake-bug@gnu.org])
+AC_INIT([suya], [0.5a], [automake-ng@gnu.org])
AM_INIT_AUTOMAKE([foreign -Wall])
AC_PROG_CC
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([GNUmakefile])
AC_CONFIG_SUBDIRS([lib])
AC_OUTPUT
END
-cat >Makefile.am <<'EOF'
+cat >GNUmakefile.am <<'EOF'
AUTOMAKE_OPTIONS = -Wno-override
SUBDIRS = lib
bin_PROGRAMS = MU
MU_LDADD = lib/liblib.a
# It's ok to override distdir.
distdir = subpack-1
-# Remove a file created by rules in subdir lib.
+# Remove a file created by rules in subdir lib. This is required
+# in order for "make distcheck" to pass.
CLEANFILES = lib-dist-hook-has-run
EOF
@@ -72,7 +74,7 @@ EXTRA_liblib_a_SOURCES = bar.y
dist-hook:
test -d $(top_distdir)
test -d $(distdir)
- find $(top_distdir) $(distdir) ;: For debugging.
+ find $(top_distdir) $(distdir) # For debugging.
test -f $(top_distdir)/MU.c
test ! -f $(distdir)/MU.c
for suf in y c; do \
@@ -110,10 +112,11 @@ EOF
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
test ! -e ylwrap
test ! -e ar-lib
+
cd lib
$ACLOCAL
$AUTOCONF
@@ -125,13 +128,10 @@ test -f ar-lib
./configure
-$MAKE dist
-test -f lib-dist-hook-has-run
+$MAKE
+$MAKE distcheck
+test -f lib-dist-hook-has-run # Sanity check
test -f subpack-1.tar.gz
-test ! -e subpack-1 # Make sure "dist" cleans up after itself.
-
-rm -f lib-dist-hook-has-run subpack-1.tar.gz
-
-yl_distcheck
+test ! -e subpack-1 # Make sure "distcheck" cleans up after itself.
:
diff --git a/t/subst-no-trailing-empty-line.sh b/t/subst-no-trailing-empty-line.sh
deleted file mode 100644
index 1bf7798f6..000000000
--- a/t/subst-no-trailing-empty-line.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2015 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/>.
-
-# If the last line of a automake-rewritten definition is made only of
-# @substitutions@, automake should take care of appending an empty
-# variable to make sure that line cannot end up substituted as a blank
-# line (that would confuse HP-UX Make).
-# These checks have been introduced in commit 'Release-1-9-254-g9d0eaef'
-# into the former test 'subst2.test'.
-
-. 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
-# line containing only @substituted@ stuff that expands to empty (this is
-# required to expose the bug we are testing).
-v1=ABCDEFGHIJKLMNOPQRSTUVWX
-v2=ABCDEFGHIJKLMNOPQRSTUVWXY
-v3=ABCDEFGHIJKLMNOPQRSTUVWXYZ
-
-# Literal backslash for use by grep.
-bs='\\'
-
-cat >> configure.ac <<END
-AC_SUBST([A], [''])
-AC_SUBST([$v1], [''])
-AC_SUBST([$v2], [''])
-AC_SUBST([$v3], [''])
-AC_OUTPUT
-END
-
-cat >Makefile.am <<END
-AUTOMAKE_OPTIONS = no-dependencies
-CC = false
-EXEEXT =
-
-## The "x" and "zardoz" strings and the use of '+=' are there to ensure
-## that these variables get rewritten by Automake.
-noinst_PROGRAMS = x @$v1@ @$v2@ @$v3@
-bin_PROGRAMS = @A@
-bin_PROGRAMS += @$v1@ @$v2@ @$v3@
-check_PROGRAMS = zardoz \$(noinst_PROGRAMS)
-
-## Required whenever there are @substituted@ values in the
-## PROGRAMS primary, otherwise automake will complain.
-EXTRA_PROGRAMS =
-
-test-real-empty:
- is \$(noinst_PROGRAMS) == x
- is \$(bin_PROGRAMS) ==
- is \$(check_PROGRAMS) == zardoz x
-
-test-fake-empty:
- is \$(noinst_PROGRAMS) == x X
- is \$(bin_PROGRAMS) == X
- is \$(check_PROGRAMS) == zardoz x X
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-# For debugging.
-$EGREP -n 'ABCD|am__empty' Makefile.in
-# Sanity check.
-test $($EGREP -c "^[ $tab]*@$v2@ @$v3@[ $tab]*$bs?$" Makefile.in) -eq 3
-
-./configure
-{
- sed -n '/^noinst_PROGRAMS *=/,/[^\\]$/p' Makefile
- sed -n '/^bin_PROGRAMS *=/,/[^\\]$/p' Makefile
- sed -n '/^check_PROGRAMS *=/,/[^\\]$/p' Makefile
- sed -n '/^am__EXEEXT.*=/,/[^\\]$/p' Makefile
-} >t-programs
-cat t-programs
-grep '^ *$' t-programs && exit 1
-
-run_make test-real-empty
-run_make test-fake-empty am__empty=X
-
-:
diff --git a/t/substref.sh b/t/substref.sh
index 41f4e1912..289d5f72a 100644
--- a/t/substref.sh
+++ b/t/substref.sh
@@ -47,8 +47,8 @@ $MAKE test
# This is unrelated to the rest of this test. But while we are
# at it, make sure we don't use am__helldl_SOURCES_DIST here, since
-# it's not needed. DIST_SOURCES should contain $(helldl_SOURCES).
+# it's not needed. am.dist.sources should contain $(helldl_SOURCES).
grep am__helldl_SOURCES_DIST Makefile && exit 1
-grep 'DIST_SOURCES.*\$(helldl_SOURCES)' Makefile
+grep 'am.dist.sources.*\$(helldl_SOURCES)' Makefile
:
diff --git a/t/suffix-chain.tap b/t/suffix-chain.sh
index f6c5cd33a..cd5baef15 100644
--- a/t/suffix-chain.tap
+++ b/t/suffix-chain.sh
@@ -14,15 +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 Automake can emit code that work round the inability of
-# some make implementations to automatically chain suffix rules.
+# Check that Automake can take advantage of GNU make ability to
+# automatically chain suffix-based pattern rules.
# See automake bug#7824 and bug#7670.
required=cc
. test-init.sh
-plan_ 8
-
cat >> configure.ac <<'END'
AC_PROG_CC
AC_OUTPUT
@@ -30,35 +28,30 @@ END
cat > Makefile.am <<'END'
bin_PROGRAMS = foo
-foo_SOURCES = foo.c1
-.c1.c0:
+nodist_foo_SOURCES = foo.c
+EXTRA_DIST = foo.c0
+%.c0: %.c1
(echo 'int main (void)' && echo '{' && cat $<) > $@
-.c0.c:
+%.c: %.c0
(cat $< && echo '}') > $@
CLEANFILES = foo.c0 foo.c
END
echo 'return 0;' > foo.c1
-command_ok_ "aclocal" $ACLOCAL
-command_ok_ "automake" $AUTOMAKE
-command_ok_ "autoconf" $AUTOCONF
-command_ok_ "configure" ./configure
-
-directive=''; make_can_chain_suffix_rules || directive=TODO
-
-for target in all distcheck; do
- command_ok_ "make $target" \
- -D "$directive" -r "suffix rules not chained" \
- $MAKE $target
-done
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+./configure
+$MAKE all
+$MAKE distcheck
-command_ok_ "clean" $MAKE clean
-# Sanity check.
+# Try with explicit dependencies as well.
+$MAKE clean
cat >> Makefile <<'END'
foo.c: foo.c0
foo.c0: foo.c1
END
-command_ok_ "make with explicit dependencies" $MAKE
+$MAKE all
:
diff --git a/t/suffix-custom-default-ext.sh b/t/suffix-custom-default-ext.sh
new file mode 100644
index 000000000..7b81f367b
--- /dev/null
+++ b/t/suffix-custom-default-ext.sh
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2002-2014 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/>.
+
+# Interaction between user-defined extensions for files in _SOURCES
+# and the use of AM_DEFAULT_SOURCE_EXT.
+
+required=c++
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_PROG_CXX
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+AM_DEFAULT_SOURCE_EXT = .cc
+bin_PROGRAMS = foo bar baz qux
+%.cc: %.zoo
+ sed 's/INTEGER/int/g' $< >$@
+EXTRA_DIST = $(addsuffix .zoo,$(bin_PROGRAMS))
+generated_cc_sources = $(addsuffix .cc,$(bin_PROGRAMS))
+CLEANFILES = $(generated_cc_sources)
+# We don't want the generated C++ files to be distributed, and this
+# is the best workaround we've found so far. Not very clean, but it
+# works.
+dist-hook:
+ rm -f $(addprefix $(distdir)/,$(generated_cc_sources))
+END
+
+# This is deliberately valid C++, but invalid C.
+cat > foo.zoo <<'END'
+using namespace std;
+INTEGER main (void)
+{
+ return 0;
+}
+END
+cp foo.zoo bar.zoo
+cp foo.zoo baz.zoo
+cp foo.zoo qux.zoo
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+$MAKE all
+$MAKE distdir
+ls -l $distdir
+test ! -f $distdir/foo.cc
+test ! -f $distdir/bar.cc
+test ! -f $distdir/baz.cc
+test ! -f $distdir/qux.cc
+$MAKE distcheck
+
+:
diff --git a/t/suffix-custom-link.sh b/t/suffix-custom-link.sh
new file mode 100644
index 000000000..7cb89fe83
--- /dev/null
+++ b/t/suffix-custom-link.sh
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2002-2014 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 support entries with user-defined extensions of
+# files in _SOURCES, and we can override the choice of a link in case
+# the Automake default (C linker) would be inappropriate.
+
+required=c++
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_PROG_CXX
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+%.$(OBJEXT): %.xt
+## Creative quoting to plase maintainer checks.
+ sed -e 's/@/o/g' -e 's/!/;/g' -e 's/<-/<''</g' $< >$*-t.cc \
+ && $(CXX) -c $*-t.cc \
+ && rm -f $*-t.cc \
+ && mv -f $*-t.$(OBJEXT) $@
+bin_PROGRAMS = foo
+foo_SOURCES = 1.xt 2.xt
+foo_LINK = $(CXX) -o $@
+END
+
+cat > 1.xt <<'END'
+#include <cstdlib>
+void say_hell@ (v@id)!
+int main (v@id)
+{
+ say_hell@ ()!
+ std::exit(0)!
+}
+END
+
+cat > 2.xt <<'END'
+#include <i@stream>
+void say_hell@ (v@id)
+{
+ using namespace std!
+ c@ut <- "Hell@, W@rld\n" <- endl!
+}
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+$MAKE all
+if cross_compiling; then :; else
+ ./foo
+ ./foo | grep 'Hello, World'
+fi
+
+$MAKE distcheck
+
+:
diff --git a/t/suffix-custom-pr14441.sh b/t/suffix-custom-pr14441.sh
deleted file mode 100644
index 7c663da24..000000000
--- a/t/suffix-custom-pr14441.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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 for bug#14441: the same user-defined suffix being transformed into
-# different automake-known suffixes in different Makefiles was confusing
-# Automake.
-
-. test-init.sh
-
-cat >>configure.ac <<EOF
-AC_PROG_CC
-AC_PROG_CXX
-AC_CONFIG_FILES([sub/Makefile])
-EOF
-
-mkdir sub
-
-cat > Makefile.am <<'END'
-SUBDIRS = sub
-bin_PROGRAMS = one
-one_SOURCES = one.ext
-.ext.cc:
- whatever
-END
-
-cat > sub/Makefile.am <<'END'
-bin_PROGRAMS = two
-two_SOURCES = two.ext
-.ext.c:
- do something
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-
-$FGREP '.c' Makefile.in sub/Makefile.in # For debugging.
-
-grep '^\.cc\.o:' Makefile.in
-LC_ALL=C $EGREP '\.c[^a-z]' Makefile.in && exit 1
-grep '^\.c\.o:' sub/Makefile.in
-$FGREP '.cc' sub/Makefile.in && exit 1
-
-:
diff --git a/t/suffix-custom-subobj-and-specflg.sh b/t/suffix-custom-subobj-and-specflg.sh
index 2ccb9dc8b..d24c2ce12 100644
--- a/t/suffix-custom-subobj-and-specflg.sh
+++ b/t/suffix-custom-subobj-and-specflg.sh
@@ -14,9 +14,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Tests that Automake understands suffix rules with renamed objects
-# and subdir objects.
-# Reported by Florian Briegel.
+# Tests that Automake understands suffix-based pattern rules with
+# renamed objects and subdir objects. Reported by Florian Briegel.
required=cc
. test-init.sh
@@ -27,18 +26,17 @@ AC_OUTPUT
EOF
cat >Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-SUFFIXES = .baz .c
-.baz.c:
- case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
-## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5).
- cp `test -f '$<' || echo $(srcdir)/`$< $@
+%.c: %.baz
+ test -d $(@D) || $(MKDIR_P) $(@D)
+ cp $< $@
DISTCLEANFILES = sub/bar.c
bin_PROGRAMS = foo
-foo_SOURCES = foo.c sub/bar.baz
-foo_CFLAGS =
+foo_SOURCES = foo.c
+nodist_foo_SOURCES = sub/bar.c
+EXTRA_DIST = sub/bar.baz
+foo_CFLAGS = -DRETVAL=0
END
mkdir sub
@@ -47,7 +45,7 @@ extern int foo ();
int main () { return foo (); }
END
cat > foo.c <<'END'
-int foo () { return 0; }
+int foo () { return RETVAL; }
END
$ACLOCAL
diff --git a/t/suffix-custom-subobj.sh b/t/suffix-custom-subobj.sh
index f0011cd56..16969afb9 100644
--- a/t/suffix-custom-subobj.sh
+++ b/t/suffix-custom-subobj.sh
@@ -14,8 +14,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Tests that Automake understands suffix rules with subdir objects.
-# Reported by John Ratliff.
+# Tests that pattern rules with subdir objects are understood.
+# Originally reported by John Ratliff against suffix rules.
required=cc
. test-init.sh
@@ -26,12 +26,9 @@ AC_OUTPUT
EOF
cat >Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-SUFFIXES = .baz .o
# We fake here:
-.baz.o:
-## Account for VPATH issues on weaker make implementations.
- cp `test -f '$<' || echo $(srcdir)/`$< $@
+%.o: %.baz
+ cp $< $@
bin_PROGRAMS = foo
foo_SOURCES = foo.c sub/bar.baz
@@ -53,7 +50,7 @@ $AUTOMAKE -a
./configure
-run_make OBJEXT=quux test-fake
+$MAKE test-fake OBJEXT=quux
$MAKE test-real
:
diff --git a/t/suffix-custom.sh b/t/suffix-custom.sh
new file mode 100644
index 000000000..768521ebb
--- /dev/null
+++ b/t/suffix-custom.sh
@@ -0,0 +1,104 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 support entries with user-defined extensions of
+# files in _SOURCES, if there is a rule to turn files with that
+# extension in object files.
+
+required=cc
+. test-init.sh
+
+cat >> configure.ac <<'END'
+AC_CONFIG_HEADERS([config.h])
+AC_DEFINE([EXIT_OK], [0], [The exit status for success])
+AC_DEFINE([EXIT_KO], [1], [The exit status for failure])
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+AM_DEFAULT_SOURCE_EXT = .my-c
+MY_CFLAGS = $(if $(filter .,$(srcdir)),,-I $(srcdir)) $(CPPFLAGS)
+%.$(OBJEXT): %.my-c
+ sed -e 's/@/o/g' -e 's/~/0/g' $< >$*-t.c \
+ && $(CC) $(MY_CFLAGS) -c $*-t.c \
+ && rm -f $*-t.c \
+ && mv -f $*-t.$(OBJEXT) $@
+bin_PROGRAMS = foo
+bin_PROGRAMS += zardoz
+zardoz_SOURCES = main.c protos.h greet.my-c cleanup.my-c
+END
+
+cat > foo.my-c <<'END'
+#include <stdi@.h>
+#include <stdlib.h>
+int main (v@id)
+{
+ printf ("Dummy\n");
+ exit (~);
+}
+END
+
+cat > protos.h << 'END'
+void greet (void);
+int cleanup (void);
+#include <stdio.h>
+END
+
+cat > greet.my-c << 'END'
+#include "pr@t@s.h"
+void greet (v@id)
+{
+ printf ("Hell@, ");
+}
+END
+
+cat > cleanup.my-c << 'END'
+#include "pr@t@s.h"
+int cleanup (v@id)
+{
+ return (fcl@se (std@ut) == ~);
+}
+END
+
+cat > main.c <<'END'
+#include <config.h>
+#include "protos.h"
+int main (void)
+{
+ greet ();
+ puts ("W@rld!\n");
+ return (cleanup () ? EXIT_OK : EXIT_KO);
+}
+END
+
+$ACLOCAL
+$AUTOHEADER
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+$MAKE all
+if cross_compiling; then :; else
+ ./foo
+ ./zardoz
+ ./zardoz | grep 'Hello, W@rld!'
+fi
+
+$MAKE distcheck
+
+:
diff --git a/t/suffix-hdr.sh b/t/suffix-hdr.sh
new file mode 100644
index 000000000..8aae56c0c
--- /dev/null
+++ b/t/suffix-hdr.sh
@@ -0,0 +1,82 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Use of "custom" headers (with custom suffix).
+
+required='cc native'
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = zardoz
+nodist_zardoz_SOURCES = foo.c bar.h
+EXTRA_DIST = bar.my-h foo.my-c
+BUILT_SOURCES = bar.h
+%.c: %.my-c
+ sed 's/INTEGER/int/' $< >$@
+%.h: %.my-h
+ sed 's/SUBSTITUTE/#define/' $< >$@
+CLEANFILES = $(nodist_zardoz_SOURCES) $(BUILT_SOURCES)
+END
+
+cat > foo.my-c << 'END'
+#include "bar.h"
+INTEGER main (void)
+{
+ printf ("Hello, %s!\n", PLANET);
+ return 0;
+}
+END
+
+cat > bar.my-h << 'END'
+#include <stdio.h>
+SUBSTITUTE PLANET "Mars"
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure --enable-dependency-tracking
+
+$MAKE
+./zardoz
+test "$(./zardoz)" = 'Hello, Mars!'
+
+$sleep
+$PERL -npi -e 's/\bMars\b/Jupiter/' bar.my-h
+
+$MAKE
+./zardoz
+test "$(./zardoz)" = 'Hello, Jupiter!'
+
+$MAKE distdir
+test -f $distdir/foo.my-c
+test -f $distdir/bar.my-h
+test ! -f $distdir/foo.c
+test ! -f $distdir/bar.h
+
+$MAKE clean
+test ! -f foo.c
+test ! -f bar.h
+
+$MAKE distcheck
+
+:
diff --git a/t/suffix6c.sh b/t/suffix-obj.sh
index 01692e440..668eba03e 100644
--- a/t/suffix6c.sh
+++ b/t/suffix-obj.sh
@@ -15,7 +15,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test to make sure that '.o' and '.obj' are handled like '.$(OBJEXT)'.
-# See also related "grepping" test 'suffix6.sh'.
. test-init.sh
@@ -31,19 +30,15 @@ AC_SUBST([OBJEXT])
AC_OUTPUT
END
-unset OBJEXT
-
cat > Makefile.am << 'END'
-SUFFIXES = .zoo .o .obj .@OBJEXT@
-
bin_PROGRAMS = foo
foo_SOURCES = foo.zoo
-.zoo.o:
+%.o: %.zoo
{ echo '=.zoo.o=' && cat $<; } >$@
-.zoo.obj:
+%.obj: %.zoo
{ echo '=.zoo.obj=' && cat $<; } >$@
-.zoo.@OBJEXT@:
+%.@OBJEXT@: %.zoo
{ echo '=.zoo.@OBJEXT@=' && cat $<; } >$@
END
@@ -70,7 +65,7 @@ cat > foo.exp <<'END'
%TWO%
END
echo %TWO% > foo.zoo
-run_make OBJEXT=o
+$MAKE OBJEXT=o
cat foo.o
cat foo.XxX
diff foo.XxX foo.exp
@@ -82,7 +77,7 @@ cat > foo.exp <<'END'
%THREE%
END
echo %THREE% > foo.zoo
-run_make OBJEXT=obj
+$MAKE OBJEXT=obj
cat foo.obj
cat foo.XxX
diff foo.XxX foo.exp
diff --git a/t/libtool2.sh b/t/suffix-rules-old-fashioned.sh
index 7e48b7ec5..fbdc4bef6 100644
--- a/t/libtool2.sh
+++ b/t/suffix-rules-old-fashioned.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,36 +14,59 @@
# 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 libtool clean targets exist.
-# Report from Eric Magnien.
+# Automake-NG still accepts old-fashioned suffix rules.
-required=libtoolize
. test-init.sh
cat >> configure.ac << 'END'
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_LIBTOOL
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
END
cat > Makefile.am << 'END'
-SUBDIR = subdir
-lib_LTLIBRARIES = libfoo.la
-libfoo_la_SOURCES = foo.c
+SUBDIRS = sub
+foobar: ; cp $< $@
+.mu.um:
+ cp $< $@
+.SUFFIXES: foo bar .mu .um
+data_DATA = xbar question.um
END
mkdir sub
cat > sub/Makefile.am << 'END'
-lib_LTLIBRARIES = libfoo.la
-libfoo_la_SOURCES = foo.c
+SUFFIXES = .1 2 .3 4
+.1.3 24:
+ sed 's/@/O/' $< >$@
+all-local: bar.3 bar4
END
$ACLOCAL
-: > ltmain.sh
-$AUTOMAKE -a
+$AUTOMAKE
-grep 'rm -f .*\.lo' sub/Makefile.in
+grep SUFFIXES Makefile.in sub/Makefile.in # For debugging.
+
+$AUTOCONF
+echo foofoofoo > xfoo
+echo 'What is the sound of one hand?' > question.mu
+echo '@NE' > sub/bar.1
+echo 'TW@' > sub/bar2
+
+mkdir build
+cd build
+../configure
+$MAKE
+diff ../xfoo xbar
+diff ../question.mu question.um
+test "$(cat sub/bar.3)" = ONE
+test "$(cat sub/bar4)" = TWO
+
+cd ..
+./configure
+$MAKE
+
+diff xfoo xbar
+diff question.mu question.um
+test "$(cat sub/bar.3)" = ONE
+test "$(cat sub/bar4)" = TWO
:
diff --git a/t/suffix.sh b/t/suffix.sh
index 860b8fa4e..b3acb55a6 100644
--- a/t/suffix.sh
+++ b/t/suffix.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/>.
-# Make sure proper suffix rules for C compilation are produced, and
+# Make sure proper pattern rules for C compilation are produced, and
# only once.
# See also related test 'suffix2.sh'.
@@ -44,15 +44,11 @@ for use_arlib in false :; do
$ACLOCAL
- $AUTOMAKE $am_warns -i
- grep '^ *\.c' Makefile.in # For debugging.
- test $(grep -c '^\.c\.o:' Makefile.in) -eq 1
- test $(grep -c '^\.c\.obj:' Makefile.in) -eq 1
-
- $AUTOMAKE $am_warns
- grep '^ *\.c' Makefile.in # For debugging.
- test $(grep -c '^\.c\.o:' Makefile.in) -eq 1
- test $(grep -c '^\.c\.obj:' Makefile.in) -eq 1
+ for o in '' '-i'; do
+ $AUTOMAKE $am_warns $o
+ grep '%\.[co$]' Makefile.in # For debugging.
+ test $(grep -c '^%\.\$(OBJEXT): %\.c$' Makefile.in) -eq 1
+ done
done
diff --git a/t/suffix10.tap b/t/suffix10.sh
index 482504b97..6fcf90378 100644
--- a/t/suffix10.tap
+++ b/t/suffix10.sh
@@ -15,13 +15,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Make sure that derivations work with .lo too.
+# Also check suffixes containing the'-' character.
# (related to PR/37)
required='cc libtoolize yacc'
. test-init.sh
-plan_ 7
-
cat >>configure.ac <<EOF
AC_PROG_CC
AC_PROG_YACC
@@ -32,8 +31,10 @@ EOF
cat >Makefile.am << 'END'
lib_LTLIBRARIES = libfoo.la
-libfoo_la_SOURCES = foo.x_
-.x_.y:
+nodist_libfoo_la_SOURCES = foo.y
+CLEANFILES = $(nodist_libfoo_la_SOURCES)
+EXTRA_DIST = $(nodist_libfoo_la_SOURCES:.y=.x-x)
+%.y: %.x-x
rm -f $@ $@-t
## The leading ':;' works around a bug in bash <= 3.2.
:; { echo '/* autogenerated */' \
@@ -44,8 +45,7 @@ libfoo_la_SOURCES = foo.x_
&& echo '%%' \
&& echo "foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};" \
&& echo '%%' \
-## Account for VPATH issues on weaker make implementations.
- && cat `test -f '$<' || echo $(srcdir)/`$<; \
+ && cat $<; \
} > $@-t
mv -f $@-t $@
.PHONY: test
@@ -53,30 +53,20 @@ test:
echo $(libfoo_la_OBJECTS) | grep '^foo\.lo$$'
END
-cat > foo.x_ << 'END'
+cat > foo.x-x << 'END'
int foo (void) { return yyparse(); }
END
-# We must protect the TAP driver from the output of configure, since
-# that might output a stray "ok" on a line of its own (due to a
-# libtool bug on Mac OS X), thus causing a spurious test result to
-# be seen. See automake bug#11897.
-run_configure ()
-{
- st=0; ./configure >output 2>&1 || st=1
- sed 's/^/ /' output
- test $st -eq 0
-}
+libtoolize --force
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
-command_ok_ "libtoolize" libtoolize --force
-command_ok_ "aclocal" $ACLOCAL
-command_ok_ "autoconf" $AUTOCONF
-command_ok_ "automake" $AUTOMAKE --add-missing
-command_ok_ "configure" run_configure
-command_ok_ "make test" $MAKE test
+./configure
-directive=''; make_can_chain_suffix_rules || directive=TODO
-command_ok_ "make all" -D "$directive" -r "suffix rules not chained" \
- $MAKE all
+$MAKE test
+$MAKE all
+test -f libfoo.la
+$MAKE distcheck
:
diff --git a/t/suffix11.tap b/t/suffix11.tap
deleted file mode 100644
index 4a0b606e1..000000000
--- a/t/suffix11.tap
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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/>.
-
-# Tests that Automake understands multiple suffix rules on the same line.
-# PR/371 and PR/372: Reported by Duncan Gibson.
-# We also check for suffixes containing '-'.
-
-required=cc
-. test-init.sh
-
-plan_ 10
-
-cat >>configure.ac <<EOF
-AC_PROG_CC
-AC_OUTPUT
-EOF
-
-cat >Makefile.am << 'END'
-bin_PROGRAMS = foo bar baz
-foo_SOURCES = foo.x_
-bar_SOURCES = bar.y-z
-baz_SOURCES = baz1.x_ baz2.y-z
-
-.y-z.c .x_.c:
-## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5).
- sed 's/INTEGER/int/g' `test -f '$<' || echo $(srcdir)/`$< >$@
-
-CLEANFILES = foo.c bar.c baz1.c baz2.c
-
-.PHONY: test-real test-fake
-test-fake:
- echo $(foo_OBJECTS) | grep '^foo\.foo$$'
- echo $(bar_OBJECTS) | grep '^bar\.foo$$'
- echo $(baz_OBJECTS) | grep '^baz1\.foo baz2\.foo$$'
-test-real:
- echo $(foo_OBJECTS) | grep '^foo\.$(OBJEXT)$$'
- echo $(bar_OBJECTS) | grep '^bar\.$(OBJEXT)$$'
- echo $(baz_OBJECTS) | grep '^baz1\.$(OBJEXT) baz2\.$(OBJEXT)$$'
-check-local: test-real
-END
-
-echo 'INTEGER main(void) { return 0; }' > foo.x_
-echo 'INTEGER main(void) { return 0; }' > bar.y-z
-echo 'INTEGER main(void) { INTEGER baz(void); return baz(); }' > baz1.x_
-echo 'INTEGER baz(void) { return 0; }' > baz2.y-z
-
-command_ok_ "aclocal" $ACLOCAL
-command_ok_ "autoconf" $AUTOCONF
-
-# What we do is not portable. Automake should warn.
-AUTOMAKE_fails -a
-command_ok_ "warn about unportable make usage" \
- grep '[iI]nference rules can have only one target before the colon' stderr
-# But this should work anyway.
-command_ok_ "automake" $AUTOMAKE -a -Wno-portability
-
-command_ok_ "configure" ./configure
-command_ok_ "make test-fake" run_make OBJEXT=foo test-fake
-command_ok_ "make test-real" $MAKE test-real
-
-directive=''; make_can_chain_suffix_rules || directive=TODO
-
-for target in '' distcheck; do
- command_ok_ "make $target" \
- -D "$directive" -r "suffix rules not chained" \
- $MAKE $target
-done
-
-:
diff --git a/t/suffix2.sh b/t/suffix2.sh
index de953b999..4b5aa466e 100644
--- a/t/suffix2.sh
+++ b/t/suffix2.sh
@@ -14,20 +14,19 @@
# 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 proper suffix rules for C compilation are produced,
+# Make sure proper pattern rules for C compilation are produced,
# and only once, even for libtool libraries.
# See also related test 'suffix.sh'.
-required=libtoolize
. test-init.sh
cat >> configure.ac << 'END'
AC_PROG_CC
AM_PROG_AR
-AC_PROG_LIBTOOL
END
cat > Makefile.am << 'END'
+LIBTOOL = who cares
lib_LTLIBRARIES = libltdl.la
libltdl_la_SOURCES = ltdl.c ltdl.h
END
@@ -41,14 +40,11 @@ END
$ACLOCAL
-$AUTOMAKE -a
-grep '^ *\.c' Makefile.in # For debugging.
-test $(grep -c '^\.c\.o:' Makefile.in) -eq 1
-test $(grep -c '^\.c\.obj:' Makefile.in) -eq 1
-
-$AUTOMAKE -i
-grep '^ *\.c' Makefile.in # For debugging.
-test $(grep -c '^\.c\.o:' Makefile.in) -eq 1
-test $(grep -c '^\.c\.obj:' Makefile.in) -eq 1
+for o in -a -i; do
+ $AUTOMAKE $o
+ grep '%\.[lco$]' Makefile.in # For debugging.
+ test $(grep -c '^%\.$(OBJEXT): %\.c$' Makefile.in) -eq 1
+ test $(grep -c '^%\.lo: %\.c$' Makefile.in) -eq 1
+done
:
diff --git a/t/suffix3.sh b/t/suffix3.sh
new file mode 100644
index 000000000..75ed96458
--- /dev/null
+++ b/t/suffix3.sh
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 1999-2014 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 suffix rules chain.
+
+required=c++
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+%.cc: %.zoo
+ sed 's/INTEGER/int/g' $< >$@
+bin_PROGRAMS = zardoz
+nodist_zardoz_SOURCES = foo.cc
+EXTRA_DIST = foo.zoo
+CLEANFILES = foo.cc
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+# Automake has been clearly told that foo.zoo is eventually transformed
+# into foo.o, and to use this latter file (to link foo).
+$FGREP 'foo.$(OBJEXT)' Makefile.in
+# Finally, our dummy package doesn't use C in any way, so it the
+# Makefile shouldn't contain stuff related to the C compiler.
+$FGREP '$(LINK)' Makefile.in && exit 1
+$FGREP 'AM_CFLAGS' Makefile.in && exit 1
+$FGREP '$(CFLAGS)' Makefile.in && exit 1
+$FGREP '$(CC)' Makefile.in && exit 1
+
+$AUTOCONF
+./configure
+
+# This is deliberately valid C++, but invalid C.
+cat > foo.zoo <<'END'
+using namespace std;
+INTEGER main (void)
+{
+ return 0;
+}
+END
+
+$MAKE all
+$MAKE distcheck
+
+# Intermediate files should not be distributed.
+$MAKE distdir
+test ! -e $me-1.0/foo.cc
+
+:
diff --git a/t/suffix3.tap b/t/suffix3.tap
deleted file mode 100644
index c1bcd4794..000000000
--- a/t/suffix3.tap
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1999-2015 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 suffix rules chain.
-
-required=c++
-. test-init.sh
-
-plan_ 10
-
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUFFIXES = .zoo
-.zoo.cc:
- sed 's/INTEGER/int/g' `test -f '$<' || echo $(srcdir)/`$< >$@
-bin_PROGRAMS = foo
-foo_SOURCES = foo.zoo
-# This is required by "make distcheck". The useless indirection is
-# reequired to avoid false positives by the grepping checks below.
-FOO = foo
-CLEANFILES = $(FOO).cc
-END
-
-command_ok_ "aclocal" $ACLOCAL
-command_ok_ "automake" $AUTOMAKE
-
-# The foo.cc intermediate step is implicit, it's a mistake if
-# Automake requires this file somewhere. Also, Automake should
-# not require the file 'foo.c' anywhere.
-command_ok_ "intermediate files not mentioned" \
- not $FGREP foo.c Makefile.in
-# However Automake must figure that foo.zoo is eventually
-# transformed into foo.o, and use this latter file (to link foo).
-command_ok_ "final object file figured out" \
- $FGREP 'foo.$(OBJEXT)' Makefile.in
-
-command_ok_ "autoconf" $AUTOCONF
-command_ok_ "configure" ./configure
-
-# This is deliberately valid C++, but invalid C.
-cat > foo.zoo <<'END'
-using namespace std;
-INTEGER main (void)
-{
- return 0;
-}
-END
-
-directive=''; make_can_chain_suffix_rules || directive=TODO
-
-for target in all distcheck; do
- command_ok_ "make $target" \
- -D "$directive" -r "suffix rules not chained" \
- $MAKE $target
-done
-
-# FIXME: should we check that intermediate file 'foo.cc' has
-# been removed? Or is this requiring too much from the make
-# implementation?
-
-# Intermediate files should not be distributed.
-command_ok_ "make distdir" $MAKE distdir
-command_ok_ "intermediate file not distributed" test ! -e $me-1.0/foo.cc
-
-:
diff --git a/t/suffix4.sh b/t/suffix4.sh
deleted file mode 100644
index e06c8621c..000000000
--- a/t/suffix4.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 Automake doesn't abort on user-defined extensions.
-# Based on a report from Dmitry Mikhin <dmitrym@acres.com.au>.
-
-# Also make sure that .SUFFIXES is automatically adjusted with
-# extensions from implicit rules.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-.k.o:
- echo $< > $@
-
-bin_PROGRAMS = foo
-foo_SOURCES = foo.k
-END
-
-$ACLOCAL
-$AUTOMAKE
-grep '^\.SUFFIXES:' Makefile.in | sed -e 's/$/ /' > suffixes
-cat suffixes
-$FGREP ' .k ' suffixes
-
-:
diff --git a/t/suffix5.sh b/t/suffix5.sh
index be3cbbbdb..73da89b10 100644
--- a/t/suffix5.sh
+++ b/t/suffix5.sh
@@ -29,9 +29,8 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-.k.lo:
-## Account for VPATH issues on weaker make implementations.
- (echo $< && cat `test -f '$<' || echo $(srcdir)/`$<) > $@
+%.lo: %.k
+ (echo $< && cat $<) > $@
noinst_LTLIBRARIES = libfoo.la
libfoo_la_SOURCES = foo.k
@@ -53,7 +52,7 @@ done
$ACLOCAL
$AUTOMAKE
-grep '_OBJECTS.*foo\.lo' Makefile.in
+#grep '_OBJECTS.*foo\.lo' Makefile.in
$AUTOCONF
./configure
diff --git a/t/suffix6.sh b/t/suffix6.sh
deleted file mode 100644
index db92f32a3..000000000
--- a/t/suffix6.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 Automake supports implicit rules with dot-less
-# extensions. Also make sure that '.o' and '.obj' are handled like
-# '.$(OBJEXT)'. See also related "semantic" tests 'suffix6b.sh'
-# and 'suffix6c.sh'.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-SUFFIXES = a b .$(OBJEXT) c .o .obj
-bin_PROGRAMS = foo
-foo_SOURCES = fooa barc bazc
-ab:
- dummy action 1
-b.$(OBJEXT):
- dummy action 2
-c.o:
- dummy action C
-c.obj:
- dummy action C
-END
-
-$ACLOCAL
-$AUTOMAKE
-
-sed -n -e '/foo_OBJECTS *=.*\\$/ {
- :loop
- p
- n
- t clear
- :clear
- s/\\$/\\/
- t loop
- p
- n
-}' -e 's/$/ /' -e 's/^.*foo_OBJECTS *= */ /p' Makefile.in > foo-objects
-cat foo-objects
-
-# Automake must figure that fooa translates to foo.$(OBJEXT) and
-# foo.$(OBJEXT) using the following rules:
-# fooa --[ab]--> foob --[b.$(OBJEXT)]--> foo.$(OBJEXT)
-$FGREP ' foo.$(OBJEXT) ' foo-objects
-# barc --[c.o]--> bar.$(OBJEXT) ## This is really meant!
-$FGREP ' bar.$(OBJEXT) ' foo-objects
-# bazc --[c.obj]--> baz.$(OBJEXT) ## This is really meant!
-$FGREP ' baz.$(OBJEXT) ' foo-objects
-
-:
diff --git a/t/suffix6b.sh b/t/suffix6b.sh
deleted file mode 100644
index b6fb03205..000000000
--- a/t/suffix6b.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 Automake supports implicit rules with dot-less
-# extensions. Se also related "grepping" test 'suffix6.sh'.
-
-required=GNUmake # Other makes might not grok dot-less suffix rules.
-. test-init.sh
-
-cat >> configure.ac << 'END'
-# $(LINK) is not defined automatically by Automake, since the *_SOURCES
-# variables don't contain any known extension (.c, .cc, .f, ...).
-# So we need this hack -- but since such an hack can also serve as a
-# mild stress test, that's ok.
-AC_SUBST([LINK], ['cat >$@'])
-AC_SUBST([OBJEXT], [oOo])
-AC_SUBST([EXEEXT], [.XxX])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-SUFFIXES = a b c .$(OBJEXT)
-bin_PROGRAMS = foo
-foo_SOURCES = fooa
-ab:
- { echo '=ab=' && cat $<; } >$@
-bc:
- { echo '=bc=' && cat $<; } >$@
-c.$(OBJEXT):
- { echo '=b.obj=' && cat $<; } >$@
-test:
- : For debugging.
- ls -l
- : Implicit intermediate files should be removed by GNU make ...
- test ! -r foob
- test ! -r fooc
- : ... but object files should not.
- cat foo.$(OBJEXT)
- : For debugging.
- cat foo.XxX
- : Now check that the chain of implicit rules has been executed
- : completely and in the correct order.
- (echo =b.obj= && echo =bc= && echo =ab= && echo =src=) > exp
- diff exp foo.XxX
- rm -f exp
-.PHONY: test
-check-local: test
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
-echo =src= > fooa
-
-$MAKE
-$MAKE test
-$MAKE distcheck
-
-:
diff --git a/t/suffix7.sh b/t/suffix7.sh
deleted file mode 100644
index 4ef4aa239..000000000
--- a/t/suffix7.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 Automake supports implicit rules "confusing"
-# extensions. Inspired by a mail from Alex Hornby.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-SUFFIXES = .idl S.cpp C.h
-SUFFIXES += C.cpp S.h
-.idlC.cpp:
- cp $< $@
-END
-
-$ACLOCAL
-$AUTOMAKE
-
-# Make sure Automake has NOT recognized .cpp and .idlC as two new
-# extensions.
-grep 'SUFFIXES.* \.cpp' Makefile.in && exit 1
-grep 'SUFFIXES.* \.idlC' Makefile.in && exit 1
-
-:
diff --git a/t/suffix8.tap b/t/suffix8.sh
index 18aef842f..992922ec4 100644
--- a/t/suffix8.tap
+++ b/t/suffix8.sh
@@ -21,8 +21,6 @@
required='cc libtoolize'
. test-init.sh
-plan_ 10
-
cat >>configure.ac <<'END'
AM_PROG_AR
AM_PROG_LIBTOOL
@@ -41,23 +39,16 @@ lib_LTLIBRARIES = libfoo.la
foo_SOURCES = foo.x_
libfoo_la_SOURCES = bar.x_
-# The elaborate cp commands below account for VPATH issues on
-# weaker make implementations (e.g. IRIX 6.5).
-.x_.y_:
- cp `test -f '$<' || echo $(srcdir)/`$< $@
-.y_.o:
- cp `test -f '$<' || echo $(srcdir)/`$< $@
-.y_.obj:
- cp `test -f '$<' || echo $(srcdir)/`$< $@
-.y_.z_:
- cp `test -f '$<' || echo $(srcdir)/`$< $@
-.z_.lo:
- cp `test -f '$<' || echo $(srcdir)/`$< $@
-
-# Some make implementations don't remove intermediate files
-# automatically, thus causing "make distcheck" to fail if
-# this is not added.
-MOSTLYCLEANFILES = *.y_ *.z_
+%.y_: %.x_
+ cp $< $@
+%.o: %.x_
+ cp $< $@
+%.obj: %.x_
+ cp $< $@
+%.z_: %.y_
+ cp $< $@
+%.lo: %.z_
+ cp $< $@
.PHONY: test0 test1 test2
test0:
@@ -75,31 +66,16 @@ END
echo 'int main (void) { return 0; }' > foo.x_
echo 'int bar (void) { return 0; }' > bar.x_
-# We must protect the TAP driver from the output of configure, since
-# that might output a stray "ok" on a line of its own (due to a
-# libtool bug on Mac OS X), thus causing a spurious test result to
-# be seen. See automake bug#11897.
-protect_output ()
-{
- st=0; "$@" >output 2>&1 || st=1
- sed 's/^/ /' output
- test $st -eq 0
-}
-
-command_ok_ "libtoolize" libtoolize
-command_ok_ "aclocal" $ACLOCAL
-command_ok_ "autoconf" $AUTOCONF
-command_ok_ "automake" $AUTOMAKE -a
-command_ok_ "configure" protect_output ./configure
-command_ok_ "make test0" run_make OBJEXT=foo test0
-command_ok_ "make test1" $MAKE test1
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
-directive=''; make_can_chain_suffix_rules || directive=TODO
+./configure
+$MAKE test0 OBJEXT=foo
-for target in test2 all distcheck; do
- command_ok_ "make $target" \
- -D "$directive" -r "suffix rules not chained" \
- protect_output $MAKE $target
+for target in test1 test2 all distcheck; do
+ $MAKE $target
done
:
diff --git a/t/suffix9.sh b/t/suffix9.sh
index 9282cc58a..27bfb87ea 100644
--- a/t/suffix9.sh
+++ b/t/suffix9.sh
@@ -39,9 +39,9 @@ cat >Makefile.am << 'END'
bin_PROGRAMS = foo
foo_SOURCES = foo.x_
-.x_.y:
+%.y: %.x_
cp $< $@
-.x_.c:
+%.c: %.x_
cp $< $@
END
@@ -53,9 +53,9 @@ cat >Makefile.am << 'END'
bin_PROGRAMS = foo
foo_SOURCES = foo.x_
-.x_.c:
+%.c: %.x_
cp $< $@
-.x_.y:
+%.y: %.x_
cp $< $@
END
diff --git a/t/tags.sh b/t/tags-id.sh
index 30f21582e..ab06ad77a 100644
--- a/t/tags.sh
+++ b/t/tags-id.sh
@@ -17,13 +17,30 @@
# Test for bug reported by Harlan Stenn: the tags target doesn't work
# when there are only headers in a directory.
+required=mkid
. test-init.sh
+echo AC_OUTPUT >> configure.ac
+
cat > Makefile.am << 'END'
noinst_HEADERS = iguana.h
+test-id: ID
+ test -f $(srcdir)/iguana.h
+ test -f ID
+check-local: test-id
+END
+
+cat > iguana.h << 'END'
+#define FOO "bar"
+int zap (int x, char y);
END
$ACLOCAL
+$AUTOCONF
$AUTOMAKE
-grep '^ID:' Makefile.in
+./configure
+$MAKE test-id
+$MAKE distcheck
+
+:
diff --git a/t/tags-pr12372.sh b/t/tags-pr12372.sh
index 731c41926..21a9498c5 100644
--- a/t/tags-pr12372.sh
+++ b/t/tags-pr12372.sh
@@ -31,7 +31,7 @@ END
cat > Makefile.am <<'END'
all-local: tags
-.pc.o:
+%.o: %.pc
sed -e 's/\[/{/' -e 's/\]/}/' $(srcdir)/$*.pc >$*.c
$(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c $*.c
rm -f $*.c
@@ -44,7 +44,7 @@ END
mkdir sub
cat > sub/Makefile.am <<'END'
all-local: tags
-.pc.o:
+%.o: %.pc
sed -e 's/@/a/g' $(srcdir)/$*.pc >$*.c
$(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c $*.c
rm -f $*.c
diff --git a/t/tags2.sh b/t/tags2.sh
deleted file mode 100644
index e5be4fe83..000000000
--- a/t/tags2.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 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/>.
-
-# TAGS_DEPENDENCIES only make sense if other tag-worthy things (such as
-# sources) exist.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat >Makefile.am << 'END'
-TAGS_DEPENDENCIES = foo
-END
-
-$ACLOCAL
-AUTOMAKE_fails
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr
-
-cat >>Makefile.am << 'END'
-bin_PROGRAMS = bar
-END
-
-AUTOMAKE_run
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr && exit 1
-
-:
diff --git a/t/tap-bad-prog.tap b/t/tap-bad-prog.tap
index 849ce5769..d2f106e82 100644
--- a/t/tap-bad-prog.tap
+++ b/t/tap-bad-prog.tap
@@ -45,7 +45,7 @@ chmod a-r noread.test
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
diff --git a/t/tap-basic.sh b/t/tap-basic.sh
index 63649a133..2f45903b3 100644
--- a/t/tap-basic.sh
+++ b/t/tap-basic.sh
@@ -18,7 +18,7 @@
# - LOG_COMPILER support;
# - basic support for TODO and SKIP directives, and "Bail out!" magic;
# - testsuite progress output on console;
-# - runtime overriding of TESTS and TEST_LOGS;
+# - runtime overriding of TESTS;
# - correct counts of test results (both in summary and in progress
# output on console).
# Note that some of the features checked here are checked in other
@@ -44,7 +44,7 @@ ok.test:
echo 'ok 1' >> $@-t
echo 'not ok 2 # TODO' >>$@-t
echo 'ok 3 # SKIP' >>$@-t
- cat $@-t ;: For debugging.
+ cat $@-t # For debugging.
mv -f $@-t $@
END
@@ -72,6 +72,13 @@ ok 19 - nineteen # SKIP
ok 20 twenty twenty # SKIP
END
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
@@ -137,12 +144,12 @@ grep '^PASS:' stdout && exit 1
test $($FGREP -c ': bail.test' stdout) -eq 1
$FGREP 'success.test' stdout && exit 1
-# Override TEST_LOGS from the command line, making it point to a test
+# Override TESTS from the command line, making it point to a test
# (ok.test) that has to be generated at make time.
rm -f *.log *.test
-run_make -O check TEST_LOGS=ok.log
+run_make -O check TESTS=ok
count_test_results total=3 pass=1 fail=0 xpass=0 xfail=1 skip=1 error=0
test -f ok.test
diff --git a/t/tap-color.sh b/t/tap-color.sh
index 44e741d82..a44516ca3 100644
--- a/t/tap-color.sh
+++ b/t/tap-color.sh
@@ -117,41 +117,17 @@ test_color ()
test_no_color ()
{
- # With make implementations that, like Solaris make, in case of errors
- # print the whole failing recipe on standard output, we should content
- # ourselves with a laxer check, to avoid false positives.
- # Keep this in sync with lib/am/check.am:$(am__color_tests).
- if $FGREP '= Xalways; then' stdout; then
- # Extra verbose make, resort to laxer checks.
- # But we also want to check that the testsuite summary is not unduly
- # colorized.
- (
- set +e # In case some grepped regex below isn't matched.
- # Not a useless use of cat; see above comments "grep-nonprinting"
- # requirement in 'test-init.sh'.
- cat stdout | grep "TOTAL.*:"
- cat stdout | grep "PASS.*:"
- cat stdout | grep "FAIL.*:"
- cat stdout | grep "SKIP.*:"
- cat stdout | grep "XFAIL.*:"
- cat stdout | grep "XPASS.*:"
- cat stdout | grep "ERROR.*:"
- cat stdout | grep "^#"
- cat stdout | grep 'test.*expected'
- cat stdout | grep 'test.*not run'
- cat stdout | grep '===='
- cat stdout | grep '[Ss]ee .*test-suite\.log'
- cat stdout | grep '[Tt]estsuite summary'
- ) | grep "$esc" && exit 1
- : For shells with broken 'set -e'
- else
- cat stdout | grep "$esc" && exit 1
- : For shells with broken 'set -e'
- fi
+ # Not a useless use of cat; see above comments "grep-nonprinting"
+ # requirement in 'test-init.sh'.
+ cat stdout | grep "$esc" && exit 1
+ : For 'set -e'.
}
+# It should be possible to override AM_COLOR_TESTS also from the
+# environment.
# Forced colorization should take place also with non-ANSI terminals;
# hence the "TERM=dumb" definition.
+
AM_COLOR_TESTS=always; export AM_COLOR_TESTS
run_make -O -e FAIL TERM=dumb check
test_color
diff --git a/t/tap-common-setup.sh b/t/tap-common-setup.sh
index b15a414ea..25c725b3c 100644
--- a/t/tap-common-setup.sh
+++ b/t/tap-common-setup.sh
@@ -18,9 +18,7 @@
. test-init.sh
-cat >> configure.ac << END
-AC_OUTPUT
-END
+echo AC_OUTPUT >> configure.ac
cat > Makefile.am << 'END'
TEST_LOG_DRIVER = $(srcdir)/tap-driver
@@ -28,6 +26,13 @@ TEST_LOG_COMPILER = cat
TESTS = all.test
END
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
diff --git a/t/tap-deps.sh b/t/tap-deps.sh
index 3edac73a9..fae434540 100644
--- a/t/tap-deps.sh
+++ b/t/tap-deps.sh
@@ -20,7 +20,7 @@
. test-init.sh
cat > Makefile.am << 'END'
-# The tests are *deliberately* listed in inversed order here.
+# The tests are *deliberately* listed in inverted order here.
TESTS = c.test b.test a.test
b.log: a.log
c.log: b.log
diff --git a/t/tap-diagnostic-custom.sh b/t/tap-diagnostic-custom.sh
index c95995b34..1884fb3dd 100644
--- a/t/tap-diagnostic-custom.sh
+++ b/t/tap-diagnostic-custom.sh
@@ -77,7 +77,7 @@ done
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
diff --git a/t/tap-diagnostic.sh b/t/tap-diagnostic.sh
index 6bb2ee408..b5a97692a 100644
--- a/t/tap-diagnostic.sh
+++ b/t/tap-diagnostic.sh
@@ -53,7 +53,7 @@ PASS: all.test 4 - zardoz
END
run_make -O check
-$EGREP -i "#.*all\\.test|a comment|(Tests|Shell) " stdout && exit 1
+$EGREP "#.*all\\.test|a comment|(Tests|Shell) " stdout && exit 1
count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
echo 'AM_TEST_LOG_DRIVER_FLAGS = --comments' >> Makefile
@@ -65,7 +65,7 @@ diff exp got
count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
run_make -O TEST_LOG_DRIVER_FLAGS="--no-comments" check
-$EGREP -i "#.*all\\.test|a comment|(Tests|Shell) " stdout && exit 1
+$EGREP "#.*all\\.test|a comment|(Tests|Shell) " stdout && exit 1
count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
# The "#"-prepended lines here shouldn't be parsed as test results.
diff --git a/t/tap-doc.sh b/t/tap-doc.sh
index e1d9951d3..0a6bd3d2d 100644
--- a/t/tap-doc.sh
+++ b/t/tap-doc.sh
@@ -83,11 +83,7 @@ PASS: mu.tap 1
XFAIL: mu.tap 2 # TODO frobnication not yet implemented
END
-sed -n '/^PASS: foo\.sh/,/^XFAIL: mu\.tap/p' stdout > t
-cat t
-# Strip extra "informative" lines that could be printed by Solaris
-# Distributed Make.
-LC_ALL=C $EGREP -v ' --> ([0-9][0-9]* job|[Jj]ob output)' t > got
+sed -n '/^PASS: foo\.sh/,/^XFAIL: mu\.tap/p' stdout > got
cat exp
cat got
diff --git a/t/tap-doc2.sh b/t/tap-doc2.sh
index 4781d3cf3..9e457f5f7 100644
--- a/t/tap-doc2.sh
+++ b/t/tap-doc2.sh
@@ -66,8 +66,6 @@ END
chmod a+x *.test
-# Strip extra "informative" lines that could be printed by Solaris
-# Distributed Make.
mkdir build-aux
cp "$am_scriptdir"/tap-driver.sh build-aux \
|| framework_failure_ "fetching the perl TAP driver"
@@ -79,9 +77,6 @@ cp "$am_scriptdir"/tap-driver.sh build-aux \
case $MAKE in *\ -j*) skip_ "can't work easily with concurrent make";; esac
-# Prevent Sun Distributed Make from trying to run in parallel.
-DMAKE_MODE=serial; export DMAKE_MODE
-
run_make -O -e FAIL check
cat > exp <<'END'
diff --git a/t/tap-recheck-logs.sh b/t/tap-lazy-check.sh
index 852547c7d..537108bd2 100644
--- a/t/tap-recheck-logs.sh
+++ b/t/tap-lazy-check.sh
@@ -14,8 +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/>.
-# TAP support:
-# - RECHECK_LOGS
+# TAP support: AM_LAZY_CHECK
. test-init.sh
@@ -46,7 +45,7 @@ Bail out!
END
# Even the tests that are not re-run should contribute to the testsuite
-# summary when obtained by "make check RECHECK_LOGS=".
+# summary when obtained by "make check AM_LAZY_CHECK=yes".
grep_summary ()
{
grep '^# TOTAL: *4$' stdout
@@ -65,7 +64,7 @@ test -f baz.log
rm -f foo.log bar.log
-run_make -O -e FAIL check RECHECK_LOGS=
+run_make -O -e FAIL check AM_LAZY_CHECK=yes
test -f foo.log
test -f bar.log
grep '^PASS: foo\.test 1$' stdout
@@ -79,7 +78,7 @@ touch foo.test
# We re-run only a successful test, but the tests that failed in the
# previous run should still be taken into account, and cause an overall
# failure.
-run_make -O -e FAIL check RECHECK_LOGS=
+run_make -O -e FAIL check AM_LAZY_CHECK=yes
grep '^PASS: foo\.test 1$' stdout
grep '^PASS: foo\.test 2$' stdout
grep 'ba[rz]\.test' stdout && exit 1
@@ -88,7 +87,7 @@ grep_summary
$sleep
touch zardoz
-run_make -O -e FAIL check RECHECK_LOGS=
+run_make -O -e FAIL check AM_LAZY_CHECK=yes
grep '^ERROR: baz\.test' stdout
$EGREP '(foo|bar)\.test' stdout && exit 1
is_newest baz.log zardoz
@@ -96,18 +95,8 @@ grep_summary
# Now, explicitly retry with all test logs already updated, and ensure
# that the summary is still displayed.
-run_make -O -e FAIL check RECHECK_LOGS=
+run_make -O -e FAIL check AM_LAZY_CHECK=yes
$EGREP '(foo|bar|baz)\.test' stdout && exit 1
grep_summary
-# The following should re-run foo.test (and only foo.test), even if its
-# log file is up-to-date.
-: > older
-run_make -O -e FAIL check RECHECK_LOGS=foo.log
-grep '^PASS: foo\.test 1$' stdout
-grep '^PASS: foo\.test 2$' stdout
-grep 'ba[rz]\.test' stdout && exit 1
-is_newest foo.log older
-grep_summary
-
:
diff --git a/t/tap-log.sh b/t/tap-log.sh
index d75ac07a5..63063aa75 100644
--- a/t/tap-log.sh
+++ b/t/tap-log.sh
@@ -85,7 +85,7 @@ END
chmod a+x *.test
-run_make -e FAIL TEST_SUITE_LOG=my.log check
+$MAKE check TEST_SUITE_LOG=my.log && exit 1
ls -l # For debugging.
test ! -e test-suite.log
test ! -e global.log
@@ -116,7 +116,7 @@ $FGREP 'xpass.test' my.log
$FGREP 'error.test' my.log
touch error2.log test-suite.log global.log
-run_make TEST_SUITE_LOG=my.log mostlyclean
+$MAKE mostlyclean TEST_SUITE_LOG=my.log
ls -l # For debugging.
test ! -e my.log
test ! -e pass.log
diff --git a/t/tap-more.sh b/t/tap-more.sh
index 37f11ab7c..abc59bf45 100644
--- a/t/tap-more.sh
+++ b/t/tap-more.sh
@@ -28,7 +28,8 @@
fetch_tap_driver
-cat >> configure.ac <<END
+cat >> configure.ac << 'END'
+AC_SUBST([LOG_DRIVER], ["dummy but required"])
AC_SUBST([AM_TEST_LOG_DRIVER_FLAGS], ['--comments'])
AC_OUTPUT
END
@@ -39,6 +40,13 @@ TESTS = 1.test 2.test 3.test
EXTRA_DIST = $(TESTS) tap-driver
END
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
cat > 1.test <<'END'
#! /bin/sh
echo 1..2
@@ -85,7 +93,6 @@ for try in 0 1; do
mkdir build
cd build
srcdir=..
- am_make=$MAKE
elif test $try -eq 1; then
# In-tree parallel build.
srcdir=.
@@ -96,18 +103,7 @@ for try in 0 1; do
:
;;
*)
- # Some make implementations (e.g., HP-UX) don't grok '-j',
- # some require no space between '-j' and the number of jobs
- # (e.g., older GNU make versions), and some *do* require a
- # space between '-j' and the number of jobs (e.g., Solaris
- # dmake). We need a runtime test to see what works.
- echo 'all:' > Makefile
- for am_make in "$MAKE -j3" "$MAKE -j 3" "$MAKE"; do
- $am_make && break
- done
- rm -f Makefile
- MAKE=$am_make
- unset am_make
+ MAKE="$MAKE -j3"
;;
esac
else
diff --git a/t/tap-more2.sh b/t/tap-more2.sh
index fd09e8dde..5638c10cd 100644
--- a/t/tap-more2.sh
+++ b/t/tap-more2.sh
@@ -77,7 +77,7 @@ END
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE --add-missing
./configure
diff --git a/t/tap-no-spurious-summary.sh b/t/tap-no-spurious-summary.sh
deleted file mode 100644
index dd18f0e2d..000000000
--- a/t/tap-no-spurious-summary.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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/>.
-
-# TAP support:
-# - ':test-results:' directives in test scripts' output doesn't
-# originate spurious results in the testsuite summary
-
-. test-init.sh
-
-. tap-setup.sh
-
-cat > all.test <<'END'
-1..1
-:test-result: PASS
-:test-result: FAIL
-:test-result: XPASS
-:test-result: XFAIL
-:test-result: SKIP
-:test-result: ERROR
-:test-result: UNKNOWN
-ok 1
-END
-
-run_make -O check
-count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-for result in PASS FAIL XPASS XFAIL SKIP ERROR UNKNOWN; do
- grep "^ *:test-result: $result$" all.log
-done
-
-:
diff --git a/t/tap-passthrough-exit.sh b/t/tap-passthrough-exit.sh
index 876eab5de..53c843cef 100644
--- a/t/tap-passthrough-exit.sh
+++ b/t/tap-passthrough-exit.sh
@@ -52,7 +52,7 @@ for e in $exit_statuses; do
done
done
-run_make check TEST_LOG_DRIVER_FLAGS='--ignore-exit'
+$MAKE check TEST_LOG_DRIVER_FLAGS='--ignore-exit'
$FGREP ".test - exited with status" *.log && exit 1
:
diff --git a/t/tap-passthrough.sh b/t/tap-passthrough.sh
index 8385cd78e..c8424e20b 100644
--- a/t/tap-passthrough.sh
+++ b/t/tap-passthrough.sh
@@ -46,7 +46,7 @@ ok # SKIP who cares?
$weirdchars
END
-run_make TESTS=ok.test check || { cat ok.log; exit 1; }
+$MAKE TESTS=ok.test check || { cat ok.log; exit 1; }
cat ok.log
for rx in \
@@ -115,7 +115,7 @@ Last line
END
st=0
-run_make check \
+$MAKE check \
TESTS='tiny.test ok.test ko.test bail.test skip.test err.test' || st=$?
cat tiny.log
cat ok.log
diff --git a/t/tap-recheck.sh b/t/tap-recheck.sh
index 0fd170adb..2b1a81c3f 100644
--- a/t/tap-recheck.sh
+++ b/t/tap-recheck.sh
@@ -21,11 +21,12 @@
fetch_tap_driver
-cat >> configure.ac <<END
+cat >> configure.ac << 'END'
AC_OUTPUT
END
cat > Makefile.am << 'END'
+LOG_DRIVER = $(error LOG_DRIVER should never be expanded) false
TEST_LOG_DRIVER = $(srcdir)/tap-driver
TESTS = a.test b.test c.test d.test
END
@@ -80,7 +81,7 @@ chmod a+x *.test
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
do_recheck ()
{
@@ -129,7 +130,6 @@ for vpath in : false; do
count_test_results total=9 pass=3 fail=2 xpass=1 xfail=1 skip=1 error=1
: Let us make b.test pass.
- using_gmake || $sleep # Required by BSD make.
echo OK > b.ok
do_recheck --fail
# a.test has been successful the first time, so no need to re-run it.
@@ -141,7 +141,6 @@ for vpath in : false; do
count_test_results total=7 pass=2 fail=2 xpass=1 xfail=1 skip=1 error=0
: Let us make the first part of c.test pass.
- using_gmake || $sleep # Required by BSD make.
echo OK > c.pass
do_recheck --fail
test ! -e a.run
@@ -151,7 +150,6 @@ for vpath in : false; do
count_test_results total=5 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=0
: Let us make also the second part of c.test pass.
- using_gmake || $sleep # Required by BSD make.
echo KO > c.xfail
do_recheck --fail
test ! -e a.run
@@ -162,7 +160,6 @@ for vpath in : false; do
: Nothing changed, so only d.test should be run.
for i in 1 2; do
- using_gmake || $sleep # Required by BSD make.
do_recheck --fail
test ! -e a.run
test ! -e b.run
@@ -172,7 +169,6 @@ for vpath in : false; do
done
: Let us make d.test run more testcases, and experience _more_ failures.
- using_gmake || $sleep # Required by BSD make.
echo 'test_count=9' > d.count
unindent > d.extra <<'END'
echo 'ok # SKIP s'
@@ -194,7 +190,6 @@ END
count_test_results total=11 pass=2 fail=4 xpass=1 xfail=0 skip=2 error=2
: Let us finally make d.test pass.
- using_gmake || $sleep # Required by BSD make.
echo 'test_count=1' > d.count
echo : > d.extra
do_recheck --pass
@@ -205,7 +200,6 @@ END
count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=0
: All tests have been successful or skipped, nothing should be re-run.
- using_gmake || $sleep # Required by BSD make.
do_recheck --pass
test ! -e a.run
test ! -e b.run
diff --git a/t/tap-signal.tap b/t/tap-signal.tap
index 601b4ea08..e28057489 100644
--- a/t/tap-signal.tap
+++ b/t/tap-signal.tap
@@ -66,7 +66,7 @@ chmod a+x *.test
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
@@ -101,17 +101,7 @@ signal_caught ()
esac
}
-command_ok_ '"make check" fails' eval '
- (
- run_make -e IGNORE -O check
- # Extra "echo" and silencing of xtraces required to avoid possible
- # garbled output with NetBSD make, which would miss some final
- # newlines in the expected places and thus mess up our TAP output.
- set +x; echo
- test $am_make_rc -gt 0
- )
-'
-cat stdout # For debugging.
+command_ok_ '"make check" fails' run_make -O -e FAIL check
command_ok_ "count of test results" count_test_results \
total=$(($results_count * 2)) \
diff --git a/t/tap-todo-skip.sh b/t/tap-todo-skip.sh
index d24603403..375e5aa28 100644
--- a/t/tap-todo-skip.sh
+++ b/t/tap-todo-skip.sh
@@ -64,7 +64,7 @@ run_make -O check
count_test_results total=256 pass=0 fail=0 xpass=0 xfail=128 skip=128 error=0
# -------------------------------------------------------- #
-# TODO ans SKIP directives aren't recognized spuriously. #
+# TODO and SKIP directives aren't recognized spuriously. #
# -------------------------------------------------------- #
cat > all.test <<'END'
diff --git a/t/targetclash.sh b/t/targetclash.sh
index 2075a116c..ee32ff00d 100644
--- a/t/targetclash.sh
+++ b/t/targetclash.sh
@@ -23,11 +23,12 @@ AC_PROG_CC
END
cat > Makefile.am << 'END'
-bin_PROGRAMS = ctags
+data_DATA =
+bin_PROGRAMS = uninstall-dataDATA
END
$ACLOCAL
AUTOMAKE_fails -a
-grep 'redefinition.*ctags' stderr
+grep 'redefinition.*uninstall-dataDATA' stderr
:
diff --git a/t/test-driver-acsubst.sh b/t/test-driver-acsubst.sh
index 1d18ed6f9..0703945cd 100644
--- a/t/test-driver-acsubst.sh
+++ b/t/test-driver-acsubst.sh
@@ -26,6 +26,13 @@ cp "$am_testaux_srcdir"/trivial-test-driver test-drivers/triv \
cp "$am_scriptdir"/test-driver test-drivers/dflt \
|| fatal_ "failed to fetch auxiliary script test-driver"
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
cat >> configure.ac <<'END'
AC_SUBST([LOG_DRIVER], ['${SHELL} test-drivers/triv'])
AC_SUBST([TEST_LOG_DRIVER], ['${SHELL} test-drivers/dflt'])
diff --git a/t/test-driver-cond.sh b/t/test-driver-cond.sh
index 15dbb2c94..fccebed7c 100644
--- a/t/test-driver-cond.sh
+++ b/t/test-driver-cond.sh
@@ -79,13 +79,6 @@ chmod a+x foo bar.test baz.sh
$AUTOMAKE -a
test -f test-driver
-grep DRIVER Makefile.in || exit 99 # For debugging.
-
-grep '^my_LOG_DRIVER *=' Makefile.in \
- && fatal_ 'unexpected $(my_LOG_DRIVER) in Makefile.in'
-
-grep '^TEST_LOG_DRIVER =.*\$(SHELL).*/test-driver' Makefile.in
-
$PERL -MTAP::Parser -e 1 \
|| skip_ "cannot import TAP::Parser perl module"
diff --git a/t/test-driver-create-log-dir.sh b/t/test-driver-create-log-dir.sh
index 80536ea0e..5ddfe39a4 100644
--- a/t/test-driver-create-log-dir.sh
+++ b/t/test-driver-create-log-dir.sh
@@ -71,6 +71,13 @@ echo dummy2 > "$trs_file"
END
chmod a+x checkdir-driver
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
diff --git a/t/test-driver-custom-multitest-recheck.sh b/t/test-driver-custom-multitest-recheck.sh
index 1d0f258ef..f7b07864a 100644
--- a/t/test-driver-custom-multitest-recheck.sh
+++ b/t/test-driver-custom-multitest-recheck.sh
@@ -81,7 +81,7 @@ chmod a+x *.test
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
do_recheck ()
{
@@ -107,7 +107,6 @@ for vpath in : false; do
$srcdir/configure
: A "make recheck" in a clean tree should run no tests.
- using_gmake || $sleep # Required by BSD make.
do_recheck --pass
cat test-suite.log
test ! -e a.run
@@ -131,7 +130,6 @@ for vpath in : false; do
count_test_results total=9 pass=3 fail=2 xpass=1 xfail=1 skip=1 error=1
: Let us make b.test pass.
- using_gmake || $sleep # Required by BSD make.
echo OK > b.ok
do_recheck --fail
# a.test has been successful the first time, so no need to re-run it.
@@ -143,7 +141,6 @@ for vpath in : false; do
count_test_results total=7 pass=2 fail=2 xpass=1 xfail=1 skip=1 error=0
: Let us make the first part of c.test pass.
- using_gmake || $sleep # Required by BSD make.
echo OK > c.pass
do_recheck --fail
test ! -e a.run
@@ -153,7 +150,6 @@ for vpath in : false; do
count_test_results total=5 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=0
: Let us make also the second part of c.test pass.
- using_gmake || $sleep # Required by BSD make.
echo KO > c.xfail
do_recheck --fail
test ! -e a.run
@@ -164,7 +160,6 @@ for vpath in : false; do
: Nothing changed, so only d.test should be run.
for i in 1 2; do
- using_gmake || $sleep # Required by BSD make.
do_recheck --fail
test ! -e a.run
test ! -e b.run
@@ -174,7 +169,6 @@ for vpath in : false; do
done
: Let us make d.test run more testcases, and experience _more_ failures.
- using_gmake || $sleep # Required by BSD make.
unindent > d.extra <<'END'
echo SKIP: s
echo FAIL: f 1
@@ -195,7 +189,6 @@ END
count_test_results total=11 pass=2 fail=4 xpass=1 xfail=0 skip=2 error=2
: Let us finally make d.test pass.
- using_gmake || $sleep # Required by BSD make.
echo : > d.extra
do_recheck --pass
test ! -e a.run
@@ -205,7 +198,6 @@ END
count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=0
: All tests have been successful or skipped, nothing should be re-run.
- using_gmake || $sleep # Required by BSD make.
do_recheck --pass
test ! -e a.run
test ! -e b.run
diff --git a/t/test-driver-custom-multitest-recheck2.sh b/t/test-driver-custom-multitest-recheck2.sh
index 53794a121..91b91b4c9 100644
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -16,10 +16,8 @@
# Custom test drivers: try the "recheck" functionality with test protocols
# that allow multiple testcases in a single test script. In particular,
-# check that this still works when we override $(TESTS) and $(TEST_LOGS)
-# at make runtime.
-# See also related tests 'test-driver-custom-multitest-recheck.sh' and
-# 'parallel-tests-recheck-override.sh'.
+# check that this still works when we override $(TESTS) at make runtime.
+# See also related tests 'test-driver-custom-multitest-recheck.sh'.
. test-init.sh
@@ -69,9 +67,10 @@ chmod a+x *.test
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
for vpath in : false; do
+
if $vpath; then
mkdir build
cd build
@@ -82,6 +81,7 @@ for vpath in : false; do
$srcdir/configure
+
: Run the tests for the first time.
run_make -O -e FAIL check
# All the test scripts should have run.
@@ -92,18 +92,14 @@ for vpath in : false; do
rm -f *.run
- : An empty '$(TESTS)' or '$(TEST_LOGS)' means that no test should be run.
- for var in TESTS TEST_LOGS; do
- run_make -O "$var=" recheck
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -e a.run
- test ! -e b.run
- test ! -e c.run
- done
- unset var
+ : An empty '$(TESTS)' means that no test should be run.
+ run_make -O TESTS= recheck
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -e a.run
+ test ! -e b.run
+ test ! -e c.run
: a.test was successful the first time, no need to re-run it.
- using_gmake || $sleep # Required by BSD make.
run_make -O TESTS=a.test recheck
count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
test ! -e a.run
@@ -111,9 +107,8 @@ for vpath in : false; do
test ! -e c.run
: b.test failed, it should be re-run. And make it pass this time.
- using_gmake || $sleep # Required by BSD make.
echo OK > b.ok
- run_make -O TEST_LOGS=b.log recheck
+ run_make -O TESTS=b recheck
test ! -e a.run
test -f b.run
test ! -e c.run
@@ -122,13 +117,11 @@ for vpath in : false; do
rm -f *.run
: No need to re-run a.test or b.test anymore.
- using_gmake || $sleep # Required by BSD make.
- run_make -O TEST_LOGS=b.log recheck
+ run_make -O TESTS=b recheck
count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
test ! -e a.run
test ! -e b.run
test ! -e c.run
- using_gmake || $sleep # Required by BSD make.
run_make -O TESTS='a.test b.test' recheck
count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
test ! -e a.run
@@ -139,7 +132,7 @@ for vpath in : false; do
: as it contained an XPASS. And this time, make it fail with
: an hard error.
echo dummy > c.err
- run_make -e FAIL -O TEST_LOGS='a.log c.log' recheck
+ run_make -O -e FAIL TESTS='a.test c' recheck
count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
test ! -e a.run
test ! -e b.run
@@ -150,7 +143,6 @@ for vpath in : false; do
: c.test contained and hard error the last time, so it should be re-run.
: This time, make it pass
# Use 'echo', not ':'; see comments above for why.
- using_gmake || $sleep # Required by BSD make.
echo dummy > c.ok
run_make -O TESTS='c.test a.test' recheck
count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
@@ -162,7 +154,6 @@ for vpath in : false; do
: Nothing should be rerun anymore, as all tests have been eventually
: successful.
- using_gmake || $sleep # Required by BSD make.
run_make -O recheck
count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
test ! -e a.run
diff --git a/t/test-driver-custom-multitest.sh b/t/test-driver-custom-multitest.sh
index 45e5c6225..42fe35182 100644
--- a/t/test-driver-custom-multitest.sh
+++ b/t/test-driver-custom-multitest.sh
@@ -29,6 +29,8 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
+LOG_DRIVER = dummy but required
+
TEST_EXTENSIONS = .t
T_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
@@ -104,6 +106,13 @@ END
chmod a+x *.t
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
diff --git a/t/test-driver-custom-no-extra-driver.sh b/t/test-driver-custom-no-extra-driver.sh
deleted file mode 100644
index 90f415d26..000000000
--- a/t/test-driver-custom-no-extra-driver.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 auxiliary script 'test-driver' doesn't get needlessly
-# installed or referenced if it's not used, i.e., if the user has
-# defined his own '*LOG_DRIVER' variables.
-
-. test-init.sh
-
-cat >> configure.ac <<'END'
-AC_PROG_CC
-AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
-AC_SUBST([X_LOG_DRIVER], [none])
-AC_OUTPUT
-END
-
-mkdir sub1 sub2
-
-cat > Makefile.am <<'END'
-SUBDIRS = sub1 sub2
-LOG_DRIVER =
-TEST_LOG_DRIVER = :
-TESTS = foo bar.test
-END
-
-cat > sub1/Makefile.am <<'END'
-TEST_EXTENSIONS = .x .sh .pl
-SH_LOG_DRIVER = dummy1
-PL_LOG_DRIVER = dummy2
-TESTS = a.pl b.sh c.x
-END
-
-cat > sub2/Makefile.am <<'END'
-TEST_EXTENSIONS = .bar
-LOG_DRIVER = x
-BAR_LOG_DRIVER = y
-TESTS = 1 2.bar 3.test 4.t 5.tt $(check_PROGRAMS)
-check_PROGRAMS = p1 p2$(EXEEXT) p3.bar p4.suf
-END
-
-$ACLOCAL
-
-for opts in '' '--add-missing' '-a -c'; do
- $AUTOMAKE $opts
- $FGREP test-driver Makefile.in sub[12]/Makefile.in && exit 1
- find . | $FGREP test-driver && exit 1
- : For shells with busted 'set -e'.
-done
-
-:
diff --git a/t/test-driver-custom-xfail-tests.sh b/t/test-driver-custom-xfail-tests.sh
index 565bc441e..c3421e0bd 100644
--- a/t/test-driver-custom-xfail-tests.sh
+++ b/t/test-driver-custom-xfail-tests.sh
@@ -48,8 +48,6 @@ TESTS = pass.test x1.test x2.test x3.test x4.test x5.test x6.test
END
cat > sub2/Makefile.am <<'END'
-AUTOMAKE_OPTIONS = -Wno-portability-recursive
-
TEST_LOG_DRIVER = $(srcdir)/../td
# XFAIL_TESTS should gracefully AC_SUBST @substitution@ and
@@ -137,7 +135,7 @@ chmod a+x td
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE --add-missing
./configure
diff --git a/t/test-driver-custom.sh b/t/test-driver-custom.sh
index d12024576..5c3bf1894 100644
--- a/t/test-driver-custom.sh
+++ b/t/test-driver-custom.sh
@@ -115,6 +115,13 @@ cp 1.chk 4.c.chk
cp 1.chk 5.suf
cp 1.chk sub/test
+cat > test-driver <<'END'
+#!/bin/sh
+echo "$0: required by Automake, but should never be actually used" >&2
+exit 1
+END
+chmod a+x test-driver
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
diff --git a/t/test-driver-fail.sh b/t/test-driver-fail.sh
index 8899edb86..b38700e0a 100644
--- a/t/test-driver-fail.sh
+++ b/t/test-driver-fail.sh
@@ -29,18 +29,20 @@ AC_OUTPUT
END
cat > Makefile.am <<'END'
-TEST_LOG_DRIVER = ./oops
-TESTS = foo.test
+TEST_EXTENSIONS =
+LOG_DRIVER = ./oops
+TESTS = foo
END
-cat > foo.test <<'END'
+cat > foo <<'END'
#! /bin/sh
exit 0
END
+chmod a+x foo
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
diff --git a/t/test-driver-is-distributed.sh b/t/test-driver-is-distributed.sh
index b3b0301e8..537ebbb03 100644
--- a/t/test-driver-is-distributed.sh
+++ b/t/test-driver-is-distributed.sh
@@ -46,14 +46,14 @@ END
SUBDIRS = tests
check-local: test-top
test-top: distdir
- ls -l \$(distdir) \$(distdir)/* ;: For debugging.
+ ls -l \$(distdir) \$(distdir)/* # For debugging.
test -f \$(distdir)/$test_driver
.PHONY: test-top
END
unindent > tests/Makefile.am << END
check-local: test-sub
test-sub:
- echo ' ' \$(DIST_COMMON) ' ' | grep '[ /]$test_driver '
+ echo ' ' \$(am.dist.common-files) ' ' | grep '[ /]$test_driver '
TESTS = foo.test
EXTRA_DIST = \$(TESTS)
END
diff --git a/t/test-driver-strip-vpath.sh b/t/test-driver-strip-vpath.sh
index b3a456521..1793dd141 100644
--- a/t/test-driver-strip-vpath.sh
+++ b/t/test-driver-strip-vpath.sh
@@ -38,9 +38,10 @@ cat > Makefile.am << 'END'
# The $(empty) are for eliciting VPATH rewrites on make implementations
# that support it (e.g., Solaris make), to improve coverage.
empty =
-TESTS = $(empty) foo.test src/bar.test ./src/baz.test $(empty)
+TESTS = $(empty) foo.test src/bar.test ./src/baz $(empty)
$(TESTS):
-TEST_LOG_DRIVER = $(srcdir)/checkstrip-driver
+LOG_DRIVER = $(srcdir)/checkstrip-driver
+TEST_LOG_DRIVER = $(LOG_DRIVER)
EXTRA_DIST = checkstrip-driver
END
@@ -60,8 +61,10 @@ while test $# -gt 0; do
done
echo "test name: $test_name" # For debugging.
case $test_name in
- foo.test|./foo.test|src/ba[rz].test|./src/ba[rz].test);;
- *) exit 1;;
+ foo.test|./foo.test) ;;
+ src/bar.test|./src/bar.test) ;;
+ src/baz|./src/baz) ;;
+ *) exit 1 ;;
esac
echo dummy > "$log_file"
echo dummy > "$trs_file"
@@ -70,7 +73,7 @@ chmod a+x checkstrip-driver
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
cd ..
diff --git a/t/test-driver-trs-suffix-registered.sh b/t/test-driver-trs-suffix-registered.sh
deleted file mode 100644
index e5570e8f5..000000000
--- a/t/test-driver-trs-suffix-registered.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# parallel-tests support: the following are registered with '.SUFFIXES':
-# - .log
-# - .trs (used by files that store test results and metadata)
-# - .test if $(TEST_EXTENSIONS) is not defined
-# - stuff in $(TEST_EXTENSIONS) otherwise
-
-. test-init.sh
-
-: > Makefile.am
-
-cat > 1.am << 'END'
-TESTS =
-END
-
-cat > 2.am << 'END'
-TEST_EXTENSIONS = .SH .abcdef
-TESTS =
-END
-
-: > test-driver
-
-$ACLOCAL
-
-$AUTOMAKE 1
-$AUTOMAKE 2
-
-sed -e 's/$/ /' 1.in > mk.1
-sed -e 's/$/ /' 2.in > mk.2
-
-grep '^\.SUFFIXES:' mk.1
-grep '^\.SUFFIXES:' mk.2
-
-for suf in test log trs; do
- grep "^\\.SUFFIXES:.* \\.$suf " mk.1
-done
-
-for suf in SH abcdef log trs; do
- grep "^\\.SUFFIXES:.* \\.$suf " mk.2
-done
-
-:
diff --git a/t/test-extensions-cond.sh b/t/test-extensions-cond.sh
index fd6fba06d..52d8fa0a4 100644
--- a/t/test-extensions-cond.sh
+++ b/t/test-extensions-cond.sh
@@ -14,56 +14,97 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Expose bug in conditional definition of TEST_EXTENSIONS.
+# Conditional definition of TEST_EXTENSIONS is supported.
. test-init.sh
cat >> configure.ac << 'END'
-AM_CONDITIONAL([COND], [:])
-AM_CONDITIONAL([COND2], [:])
+AC_CONFIG_FILES([sub/Makefile])
+AM_CONDITIONAL([COND1], [test x"$cond1" = x"yes"])
+AM_CONDITIONAL([COND2], [test x"$cond2" = x"yes"])
+AC_OUTPUT
END
-$ACLOCAL
+mkdir sub
-cat > 1.am << 'END'
-TESTS =
-if COND
-## lineno 4
-TEST_EXTENSIONS = .foo
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+TESTS = foo.sh bar.test
+if COND1
+TEST_EXTENSIONS = .sh
endif
END
-cat > 2.am << 'END'
-TESTS =
-## lineno 3
-TEST_EXTENSIONS = .foo
-if COND
-# Do nothing.
+cat > sub/Makefile.am << 'END'
+TESTS = 1.sh 2.bar 3.x
+TEST_EXTENSIONS = .sh
+if COND1
+if !COND2
+TEST_EXTENSIONS += .x
+endif
else
TEST_EXTENSIONS += .bar
endif
END
-cat > 3.am << 'END'
-TESTS =
-if COND
-if !COND2
-TESTS = x
-else
-## lineno 7
-TEST_EXTENSIONS = .foo
-endif
-endif
+cat > foo.sh << 'END'
+#!/bin/sh
+exit 0
END
+chmod a+x foo.sh
+
+cp foo.sh bar.test
+cp foo.sh sub/1.sh
+cp foo.sh sub/2.bar
+cp foo.sh sub/3.x
+
+do_setup ()
+{
+ ./configure "$@"
+ $MAKE check
+ ls -l . sub
+}
+
+do_clean ()
+{
+ $MAKE clean
+ test "$(find . -name '*.log')" = ./config.log
+}
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+do_setup cond1=yes cond2=yes
+test -f foo.log
+test -f bar.test.log
+test -f sub/1.log
+test -f sub/2.bar.log
+test -f sub/3.x.log
+do_clean
+
+do_setup cond1=yes cond2=no
+test -f foo.log
+test -f bar.test.log
+test -f sub/1.log
+test -f sub/2.bar.log
+test -f sub/3.log
+do_clean
-: > test-driver
+do_setup cond1=no cond2=yes
+test -f foo.sh.log
+test -f bar.log
+test -f sub/1.log
+test -f sub/2.log
+test -f sub/3.x.log
+do_clean
-for i in 1 2 3; do
- AUTOMAKE_fails $i
- lineno=$(sed -n 's/^## lineno //p' $i.am) \
- && test 0 -lt "$lineno" \
- || exit 99
- grep "^$i\\.am:$lineno:.*TEST_EXTENSIONS.*conditional content" stderr
-done
+do_setup cond1=no cond2=no
+test -f foo.sh.log
+test -f bar.log
+test -f sub/1.log
+test -f sub/2.log
+test -f sub/3.x.log
+do_clean
:
diff --git a/t/test-extensions-dynamic.sh b/t/test-extensions-dynamic.sh
new file mode 100644
index 000000000..6e2125ad9
--- /dev/null
+++ b/t/test-extensions-dynamic.sh
@@ -0,0 +1,94 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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_EXTENSIONS with contents dynamically determined at make time
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_SUBST([suf], [.tap])
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+mkdir sub
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+TESTS = foo.sh bar.test baz.t1 mu.t1.t2 zardoz.tap
+TEST_EXTENSIONS = .test @suf@ $(foreach i,1 2,.t$(i))
+TEST_EXTENSIONS += $(subst &,.,$(call am.util.tolower,&SH))
+END
+
+cat > sub/Makefile.am << 'END'
+TESTS = 1.sh 2.bar 3
+TEST_EXTENSIONS = $(suffix $(TESTS))
+END
+
+cat > foo.sh << 'END'
+#!/bin/sh
+exit 0
+END
+chmod a+x foo.sh
+
+cp foo.sh bar.test
+cp foo.sh baz.t1
+cp foo.sh mu.t1.t2
+cp foo.sh zardoz.tap
+cp foo.sh sub/1.sh
+cp foo.sh sub/2.bar
+cp foo.sh sub/3
+
+do_setup ()
+{
+ $MAKE check ${1+"$@"}
+ ls -l . sub
+}
+
+do_clean ()
+{
+ $MAKE clean
+ test "$(find . -name '*.log')" = ./config.log
+}
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+
+do_setup
+test -f foo.log
+test -f bar.log
+test -f baz.log
+test -f mu.t1.log
+test -f zardoz.log
+test -f sub/1.log
+test -f sub/2.log
+test -f sub/3.log
+
+do_clean
+
+do_setup TEST_EXTENSIONS='.sh .t2 $(subst o,e,.tost) ${suf}'
+test -f foo.log
+test -f bar.log
+test -f baz.t1.log
+test -f mu.t1.log
+test -f zardoz.log
+test -f sub/1.log
+test -f sub/2.bar.log
+test -f sub/3.log
+
+:
diff --git a/t/test-extensions-funny-chars.sh b/t/test-extensions-funny-chars.sh
new file mode 100644
index 000000000..19372e235
--- /dev/null
+++ b/t/test-extensions-funny-chars.sh
@@ -0,0 +1,126 @@
+#! /bin/sh
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure that Automake can handle "funny chars" in TEST_EXTENSIONS,
+# as long as they can be used in GNU make variable names.
+
+. test-init.sh
+
+fetch_tap_driver
+
+echo AC_OUTPUT >> configure.ac
+
+cat >> Makefile.am <<'END'
+TEST_EXTENSIONS = .@ .2 .f-o-o .l!Nu.x
+TESTS = foo.@ bar.f-o-o baz.2 zardoz.l!Nu.x
+XFAIL_TESTS = zardoz.l!Nu.x
+@_LOG_COMPILER = $(SHELL)
+2_LOG_COMPILER = $(SHELL)
+F-O-O_LOG_DRIVER = $(srcdir)/tap-driver
+L!NU.X_LOG_COMPILER = false
+EXTRA_DIST = $(TESTS) tap-driver
+END
+
+touch foo.@ bar.f-o-o zardoz.l!Nu.x \
+ || skip_ "your file system doesn't support funny characters"
+
+# Try to ensure this file fails if executed directly.
+cat > foo.@ << 'END'
+#! /bin/false
+echo @K @K @K
+exit 0
+END
+cp foo.@ baz.2
+# We don't want them to be executable, either. So do this for
+# extra safety.
+chmod a-x foo.@ baz.2
+
+cat > bar.f-o-o << 'END'
+#! /bin/sh
+echo 1..4
+echo "ok - good"
+echo "ok 2 # SKIP"
+echo "not ok 3 # TODO"
+echo ok
+END
+chmod a+x bar.f-o-o
+
+cat > zardoz.l!Nu.x << 'END'
+#! /bin/sh
+echo Hello Zardoz
+exit 0
+END
+chmod a+x zardoz.l!Nu.x
+
+count_all ()
+{
+ count_test_results total=7 pass=4 fail=0 skip=1 xfail=2 xpass=0 error=0
+ grep '^PASS: foo\.@$' stdout
+ grep '^PASS: baz\.2$' stdout
+ grep '^XFAIL: zardoz.l!Nu\.x$' stdout
+ grep '^PASS: bar\.f-o-o 1 - good' stdout
+ grep '^SKIP: bar\.f-o-o 2 # SKIP' stdout
+ grep '^XFAIL: bar\.f-o-o 3 # TODO' stdout
+ grep '^PASS: bar\.f-o-o 4$' stdout
+}
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+run_make -e IGNORE -O check
+ls -l
+cat test-suite.log
+cat foo.log
+grep '@K @K @K' foo.log
+cat baz.log
+grep '@K @K @K' baz.log
+cat bar.log
+cat zardoz.log
+grep 'Hello Zardoz' zardoz.log && exit 1
+test $am_make_rc -eq 0
+count_all
+
+$MAKE clean
+test ! -f test-suite.log
+test ! -f foo.log
+test ! -f bar.log
+test ! -f baz.log
+test ! -f zardoz.log
+
+run_make -e IGNORE -O check TESTS=zardoz L!NU.X_LOG_COMPILER=/bin/sh
+count_test_results total=1 pass=0 fail=0 skip=0 xfail=0 xpass=1 error=0
+cat test-suite.log
+test ! -f foo.log
+test ! -f bar.log
+test ! -f baz.log
+cat zardoz.log
+grep 'Hello Zardoz' zardoz.log
+test $am_make_rc -gt 0
+
+run_make -O recheck
+count_test_results total=1 pass=0 fail=0 skip=0 xfail=1 xpass=0 error=0
+grep '^XFAIL: zardoz.l!Nu\.x$' stdout
+
+run_make -O recheck
+count_test_results total=0 pass=0 fail=0 skip=0 xfail=0 xpass=0 error=0
+
+run_make -O distcheck
+count_all
+
+:
diff --git a/t/autodist-acconfig.sh b/t/test-extensions-invalid.sh
index 939aaf11f..bb112654f 100644
--- a/t/autodist-acconfig.sh
+++ b/t/test-extensions-invalid.sh
@@ -14,31 +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/>.
-# Check that 'acconfig.h' is automatically distributed if it exists
-# (at automake runtime).
-# Related to automake bug#7819.
+# Make sure that invalid entries in TEST_EXTENSIONS are diagnosed at
+# make runtime. See automake bug#9400.
. test-init.sh
-cat >> configure.ac <<END
-AC_OUTPUT
-END
+echo AC_OUTPUT >> configure.ac
-cat > Makefile.am <<'END'
-.PHONY: test
-test: distdir
- ls -l $(distdir)
- echo ' ' $(DIST_COMMON) ' ' | grep '[ /]acconfig\.h '
- test -f $(distdir)/acconfig.h
+cat > Makefile.am << 'END'
+TESTS =
+TEST_EXTENSIONS = mu x1 .foo _ x2
END
-: > acconfig.h
-
$ACLOCAL
-$AUTOMAKE
$AUTOCONF
+$AUTOMAKE -a
./configure
-$MAKE test
+
+run_make -E -e FAIL
+for suf in mu x1 _ x2; do
+ $FGREP "invalid test extension: '$suf'" stderr
+done
+
+# Verify that we don't report valid suffixes, even if intermixed
+# with invalid ones.
+grep 'invalid.*extension.*foo' stderr && exit 1
:
diff --git a/t/test-extensions.sh b/t/test-extensions.sh
deleted file mode 100644
index bf4f5f23d..000000000
--- a/t/test-extensions.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Make sure that Automake diagnose invalid entries in TEST_EXTENSIONS,
-# and do not diagnose valid (albeit more unusual) ones.
-# See automake bug#9400.
-
-. test-init.sh
-
-cat >> configure.ac <<'END'
-AC_OUTPUT
-END
-
-$ACLOCAL
-$AUTOCONF
-
-valid_extensions='sh T t1 _foo BAR x_Y_z _'
-
-echo TESTS = > Makefile.am
-echo " $valid_extensions" \
- | sed -e 's/ / ./g' -e 's/^/TEST_EXTENSIONS =/' >> Makefile.am
-cat Makefile.am # For debugging.
-
-$AUTOMAKE -a
-
-grep -i 'log' Makefile.in # For debugging.
-
-for lc in $valid_extensions; do
- uc=$(echo $lc | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ)
- $FGREP "\$(${uc}_LOG_COMPILER)" Makefile.in
- grep "^${uc}_LOG_COMPILE =" Makefile.in
- grep "^\.${lc}\.log:" Makefile.in
-done
-
-# The produced Makefile is not broken.
-./configure
-$MAKE all check
-
-cat > Makefile.am << 'END'
-TESTS = foo.test bar.sh
-TEST_EXTENSIONS = .test mu .x-y a-b .t.1 .sh .6c .0 .11 .= @suf@ .@ext@
-TEST_EXTENSIONS += .= .t33 .a@b _&_
-END
-
-AUTOMAKE_fails
-for suf in mu .x-y a-b .t.1 .6c .0 .11 @suf@ .@ext@ '.=' '_&_'; do
- suf2=$(printf '%s\n' "$suf" | sed -e 's/\./\\./')
- $EGREP "^Makefile\.am:2:.*invalid test extension.* $suf2( |$)" stderr
-done
-
-# Verify that we accept valid suffixes, even if intermixed with
-# invalid ones.
-$EGREP '\.(sh|test|t33)' stderr && exit 1
-
-# Verify that we don't try to handle invalid suffixes.
-$EGREP '(LOG_COMPILER|non-POSIX var|bad character)' stderr && exit 1
-
-:
diff --git a/t/test-log.sh b/t/test-log.sh
index a1d085e6a..f6eedb76b 100644
--- a/t/test-log.sh
+++ b/t/test-log.sh
@@ -88,7 +88,7 @@ $AUTOMAKE -a
./configure
-run_make -e FAIL TEST_SUITE_LOG=my.log check
+$MAKE TEST_SUITE_LOG=my.log check && exit 1
ls -l # For debugging.
test ! -e test-suite.log
test ! -e global.log
@@ -130,7 +130,7 @@ have_rst_section 'XPASS: xpass' my.log
have_rst_section 'ERROR: error' my.log
touch error2.log test-suite.log global.log
-run_make TEST_SUITE_LOG=my.log mostlyclean
+$MAKE TEST_SUITE_LOG=my.log mostlyclean
ls -l # For debugging.
test ! -e my.log
test ! -e pass.log
diff --git a/t/test-metadata-global-log.sh b/t/test-metadata-global-log.sh
index e2104bedb..c3bac14bf 100644
--- a/t/test-metadata-global-log.sh
+++ b/t/test-metadata-global-log.sh
@@ -127,7 +127,7 @@ echo TESTS = *.test >> Makefile.am
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
diff --git a/t/test-metadata-global-result.sh b/t/test-metadata-global-result.sh
index b194a1354..1f3a798b4 100644
--- a/t/test-metadata-global-result.sh
+++ b/t/test-metadata-global-result.sh
@@ -28,7 +28,8 @@ cat > Makefile.am << 'END'
TEST_EXTENSIONS = .test .x
TEST_LOG_DRIVER = ./dummy-driver
X_LOG_DRIVER = ./dummy-driver
-TESTS = foo.test zar-doz.test
+LOG_DRIVER = ./dummy-driver
+TESTS = foo.test zar-doz.test mu
END
cat > dummy-driver <<'END'
@@ -68,13 +69,14 @@ have_result ()
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
: Basic checks.
echo :global-test-result: PASS > foo.test
+echo :global-test-result: PASS > mu
echo :global-test-result: ERROR > zar-doz.x
$MAKE check
@@ -86,6 +88,11 @@ PASS: foo
END
have_result <<END
+PASS: mu
+========
+END
+
+have_result <<END
ERROR: zar-doz
==============
END
@@ -94,6 +101,7 @@ END
echo :global-test-result: PASS/SKIP > foo.test
echo :global-test-result: ALMOST PASSED > zar-doz.x
+echo :global-test-result: HU? > mu
$MAKE check
cat test-suite.log
@@ -108,6 +116,11 @@ ALMOST PASSED: zar-doz
======================
END
+have_result <<END
+HU?: mu
+=======
+END
+
: Fields ':test-result:' does not interfere with the global test result.
cat > foo.test << 'END'
@@ -122,6 +135,13 @@ cat > zar-doz.x << 'END'
:test-result: XFAIL
END
+cat > mu << 'END'
+:test-result: PASS
+:global-test-result: XFAIL
+:test-result: PASS
+:test-result: PASS
+END
+
$MAKE check && exit 1
cat test-suite.log
@@ -135,6 +155,11 @@ FAIL: zar-doz
=============
END
+have_result <<END
+XFAIL: mu
+=========
+END
+
: What happens when ':global-test-result:' is absent.
cat > foo.test << 'END'
@@ -142,6 +167,7 @@ cat > foo.test << 'END'
:test-result: ERROR
END
: > zar-doz.x
+: > mu
$MAKE check && exit 1
cat test-suite.log
@@ -156,10 +182,16 @@ RUN: zar-doz
============
END
+have_result <<END
+RUN: mu
+=======
+END
+
# Leading and trailing whitespace gets eaten/normalized.
echo ":global-test-result:SKIP${tab} ${tab}${tab}" > foo.test
echo ":global-test-result:${tab} ${tab}XFAIL ${tab} " > zar-doz.x
+echo ":global-test-result: ${tab} PASS${tab} ${tab}${tab}" > mu
$MAKE check
cat test-suite.log
@@ -174,10 +206,16 @@ XFAIL: zar-doz
==============
END
+have_result <<END
+PASS: mu
+========
+END
+
# Whitespaces before and after ':global-test-result:' are handled OK.
echo " $tab:global-test-result:PASS" > foo.test
echo "${tab}${tab}:global-test-result:${tab} ${tab}SKIP" > zar-doz.x
+echo " :global-test-result:${tab}SKIP" > mu
$MAKE check
cat test-suite.log
@@ -192,4 +230,9 @@ SKIP: zar-doz
=============
END
+have_result <<END
+SKIP: mu
+========
+END
+
:
diff --git a/t/test-metadata-recheck.sh b/t/test-metadata-recheck.sh
index dfb1cf377..1a246cbe2 100644
--- a/t/test-metadata-recheck.sh
+++ b/t/test-metadata-recheck.sh
@@ -138,7 +138,7 @@ chmod a+x dummy-driver
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE -a
./configure
@@ -153,7 +153,6 @@ rm -f *.run
# fields indicating success, so "make recheck" must pass. Still, the
# next "make recheck" call should still re-run the same set of tests.
for iteration in 1 2; do
- using_gmake || $sleep # Required by BSD make.
$MAKE recheck
ls -l
for t in $rechecked; do test -f $t.run; done
diff --git a/t/test-metadata-results.sh b/t/test-metadata-results.sh
index adc7564d2..e829763b5 100644
--- a/t/test-metadata-results.sh
+++ b/t/test-metadata-results.sh
@@ -24,8 +24,9 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-TEST_LOG_DRIVER = ./dummy-driver
-TESTS = foo.test bar.test
+LOG_DRIVER = ./dummy-driver
+TEST_LOG_DRIVER = ${LOG_DRIVER}
+TESTS = foo.test bar
END
cat > dummy-driver <<'END'
@@ -81,7 +82,7 @@ count_test_results ()
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
+$AUTOMAKE --add-missing
./configure
@@ -89,7 +90,7 @@ $AUTOMAKE
# "old-style" directives with format "RESULT: test-name" are now ignored.
: > foo.test
-echo blah blah blah > bar.test
+echo blah blah blah > bar
mk_check
count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
@@ -97,7 +98,7 @@ cat > foo.test <<END
:test-global-result: PASS
:test-result: FAIL
END
-cat > bar.test <<END
+cat > bar <<END
:test-result: SKIP
:test-global-result: ERROR
END
@@ -109,7 +110,7 @@ FAIL: foo.test
:test-result: PASS
:test-global-result: XPASS
END
-echo ERROR: bar.test > bar.test
+echo ERROR: bar > bar
mk_check
count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
@@ -117,7 +118,7 @@ cat > foo.test <<END
:test-global-result: SKIP
:test-result: FAIL
END
-cat > bar.test <<END
+cat > bar <<END
:test-global-result: PASS
END
mk_check -e FAIL
@@ -128,7 +129,7 @@ cat > foo.test <<END
:test-result: PASS
:test-result: SKIP
END
-cat > bar.test <<END
+cat > bar <<END
:test-result: SKIP
:test-result: PASS
:test-result: SKIP
@@ -148,18 +149,19 @@ cat > foo.test <<END
:test-result: XPASS
:test-result: ERROR
END
-: > bar.test
+
+: > bar
mk_check -e FAIL
count_test_results total=6 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=1
-cp foo.test bar.test
+cp foo.test bar
mk_check -e FAIL
count_test_results total=12 pass=2 fail=2 xpass=2 xfail=2 skip=2 error=2
# Check that we are liberal w.r.t. whitespace use.
: > foo.test
-: > bar.test
+: > bar
for RESULT in PASS FAIL XPASS XFAIL SKIP ERROR; do
sed -e 's/^ *//' -e 's/|//g' >> foo.test <<END
|:test-result:$RESULT|
@@ -167,10 +169,10 @@ for RESULT in PASS FAIL XPASS XFAIL SKIP ERROR; do
|:test-result:$RESULT $tab|
|:test-result:$tab$tab $RESULT$tab $tab |
END
- echo " $tab $tab$tab :test-result: $RESULT" >> bar.test
+ echo " $tab $tab$tab :test-result: $RESULT" >> bar
done
cat foo.test # For debugging.
-cat bar.test # Likewise.
+cat bar # Likewise.
mk_check -e FAIL
count_test_results total=30 pass=5 fail=5 xpass=5 xfail=5 skip=5 error=5
diff --git a/t/test-missing.sh b/t/test-missing.sh
index 19e0666a4..9c6ab440e 100644
--- a/t/test-missing.sh
+++ b/t/test-missing.sh
@@ -14,9 +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/>.
-# parallel-tests:
-# - non-existent scripts listed in TESTS get diagnosed
-# See also related test 'test-missing2.sh'.
+# parallel-tests: non-existent scripts listed in TESTS get diagnosed.
. test-init.sh
@@ -37,18 +35,18 @@ $AUTOMAKE -a
./configure
-run_make -e FAIL -M check
+run_make -O -E -e FAIL check
test -f ok.log
-grep '^PASS: ok\.test' output
-$FGREP 'zardoz.log' output
+grep '^PASS: ok\.test' stdout
+$FGREP 'zardoz.log' stderr
test ! -e test-suite.log
-run_make -M -e FAIL TESTS='zardoz2.test' check
-$FGREP 'zardoz2.log' output
+run_make -E -e FAIL TESTS=zardoz2.test check
+$FGREP 'zardoz2.log' stderr
test ! -e test-suite.log
-run_make -M -e FAIL TEST_LOGS='zardoz3.log' check
-$FGREP 'zardoz3.log' output
+run_make -E -e FAIL TESTS=zardoz3 check
+$FGREP 'zardoz3.log' stderr
test ! -e test-suite.log
# The errors should persist even after 'test-suite.log'
@@ -58,8 +56,8 @@ test ! -e test-suite.log
$MAKE check
rm -f zardoz.test
-run_make -M -e FAIL check
-$FGREP 'zardoz.log' output
+run_make -E -e FAIL check
+$FGREP 'zardoz.log' stderr
test ! -e test-suite.log
:
diff --git a/t/test-missing2.sh b/t/test-missing2.sh
deleted file mode 100644
index b60305bdb..000000000
--- a/t/test-missing2.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# parallel-tests:
-# - non-existent scripts listed in TESTS get diagnosed, even when
-# all the $(TEST_LOGS) have a dummy dependency.
-# See also related test 'test-missing.sh'.
-
-. test-init.sh
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TESTS = foobar1.test foobar2.test
-$(TEST_LOGS):
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-
-$MAKE foobar1.log foobar2.log || exit 99
-test ! -e foobar1.log || exit 99
-test ! -e foobar1.trs || exit 99
-test ! -e foobar2.log || exit 99
-test ! -e foobar2.trs || exit 99
-
-run_make -e FAIL -M check
-grep 'test-suite\.log.*foobar1\.log' output
-grep 'test-suite\.log.*foobar1\.trs' output
-grep 'test-suite\.log.*foobar2\.log' output
-grep 'test-suite\.log.*foobar2\.trs' output
-test ! -e test-suite.log
-
-:
diff --git a/t/test-trs-basic.sh b/t/test-trs-basic.sh
index 85b3fbbc6..ffee22c2e 100644
--- a/t/test-trs-basic.sh
+++ b/t/test-trs-basic.sh
@@ -31,9 +31,10 @@ TEST_LOG_COMPILER = $(SHELL)
SH_LOG_COMPILER = $(SHELL)
## Used to check some internal details. And yes, the quotes around
-## '$bases' are deliberate: they check for whitespace normalization.
+## $(am__tests_bases) are deliberate: they check for whitespace
+## normalization.
tb:
- $(am__set_TESTS_bases); echo "$$bases" > $@
+ echo '$(am.test-suite.test-bases)' > $@
END
cat > foo.test << 'END'
@@ -50,7 +51,6 @@ $ACLOCAL
$AUTOCONF
$AUTOMAKE -a
-
#
# Check some internal details first.
#
@@ -71,7 +71,7 @@ for vpath in : false; do
test x"$(cat tb)" = x"foo bar sub/zardoz"
rm -f tb
# Please don't change the order of the stuff in TESTS, below.
- run_make TESTS='foo.test foo2.sh foo-log foolog.test a.log.b.sh 0.exe' tb
+ $MAKE TESTS='foo.test foo2.sh foo-log foolog.test a.log.b.sh 0.exe' tb
test x"$(cat tb)" = x"foo foo2 foo-log foolog a.log.b 0.exe"
rm -f tb
@@ -113,43 +113,43 @@ test -f unrelated.trs
test -f sub/foo.trs
#
-# Try with a subset of TESTS.
+# Try with a subset of TESTS, complete with test extensions.
#
-run_make TESTS=foo.test check
+$MAKE TESTS=foo.test check
test -f foo.trs
test ! -e bar.trs
test ! -e sub/zardoz.trs
$MAKE clean
test ! -e foo.trs
-run_make TESTS='foo.test bar.sh' check
+$MAKE TESTS='foo.test bar.sh' check
test -f foo.trs
test -f bar.trs
test ! -e sub/zardoz.trs
# "make clean" shouldn't remove '.trs' files for tests not in $(TESTS).
-run_make TESTS=bar.sh clean
+$MAKE TESTS=bar.sh clean
test -f foo.trs
test ! -e bar.trs
$MAKE clean
#
-# Try with a subset of TEST_LOGS.
+# Try with a subset of TESTS, omitting the test extensions.
#
-run_make TEST_LOGS=sub/zardoz.log check
+$MAKE TESTS=sub/zardoz check
test ! -e foo.trs
test ! -e bar.trs
test -f sub/zardoz.trs
$MAKE clean
test ! -e sub/zardoz.trs
-run_make TEST_LOGS='foo.log bar.log' check
+$MAKE TESTS='foo bar' check
test -f foo.trs
test -f bar.trs
test ! -e sub/zardoz.trs
-# "make clean" shouldn't remove '.trs' files for tests whose log
-# is not in $(TEST_LOGS).
-run_make TEST_LOGS=foo.log clean
+# "make clean" shouldn't remove '.trs' files for tests that are not
+# in is not in $(TESTS).
+$MAKE TESTS=foo clean
test ! -e foo.trs
test -f bar.trs
test ! -e sub/zardoz.trs
diff --git a/t/autodist-acconfig-no-subdir.sh b/t/test-trs-recover-parallel.sh
index 85a24a3bb..faf88ec13 100644
--- a/t/autodist-acconfig-no-subdir.sh
+++ b/t/test-trs-recover-parallel.sh
@@ -14,43 +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/>.
-# Check that 'acconfig.h' is *not* automatically distributed when
-# placed in a subdirectory.
-# Related to automake bug#7819.
+# Check parallel harness features:
+# - recovery from deleted '.log' and '.trs' files, with parallel make
. test-init.sh
-cat >> configure.ac <<END
-AC_CONFIG_FILES([sub/Makefile])
-AC_OUTPUT
-END
+all= log= trs=
+for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
+ all="$all $i" log="$log $i" trs="$trs $i"
+done
-cat > Makefile.am <<'END'
-SUBDIRS = sub
-sub/acconfig.h:
- echo target $@ should not be built >&2; exit 1
-check-local: distdir
- ls -l $(distdir)/sub
- test ! -f $(distdir)/sub/acconfig.h
-END
+echo AC_OUTPUT >> configure.ac
+echo TESTS = > Makefile.am
-mkdir sub
+for i in $all; do
+ echo TESTS += $i.test >> Makefile.am
+ (echo "#!/bin/sh" && echo "mkdir $i.d") > $i.test
+ chmod a+x $i.test
+done
-cat > sub/Makefile.am <<'END'
-acconfig.h:
- echo target $@ should not be built >&2; exit 1
-check-local:
- echo $(DISTFILES) | grep 'acconfig\.h' && exit 1; :
- echo $(DIST_COMMON) | grep 'acconfig\.h' && exit 1; :
-END
-
-: > sub/acconfig.h
+ls -l # For debugging.
$ACLOCAL
-$AUTOMAKE
$AUTOCONF
+$AUTOMAKE -a
./configure
+
+: Create the required log files.
$MAKE check
+for n in 1 2 5 7 12; do
+ for suf in log trs; do
+ rmdir *.d
+ rm -f *.$suf
+ $MAKE -j$n check
+ for f in $all; do
+ test -f $f.log
+ test -f $f.trs
+ done
+ done
+done
+
:
diff --git a/t/test-trs-recover.sh b/t/test-trs-recover.sh
index d1a2459f0..eb2577495 100644
--- a/t/test-trs-recover.sh
+++ b/t/test-trs-recover.sh
@@ -94,14 +94,14 @@ grep '^PASS: baz\.test' stdout
: Recreate with a "make check" with redefined TESTS.
rm -f foo.trs bar.trs baz.trs
-run_make TESTS=foo.test check
+$MAKE TESTS=foo.test check
test -f foo.trs
test ! -e bar.trs
test ! -e baz.trs
-: Recreate with a "make check" with redefined TEST_LOGS.
+: Recreate with a "make check" with redefined suffix-less TESTS.
rm -f foo.trs bar.trs baz.trs
-run_make TEST_LOGS=bar.log check
+$MAKE TESTS=bar check
test ! -e foo.trs
test -f bar.trs
test ! -e baz.trs
@@ -149,7 +149,7 @@ test -f baz.trs
rm -f foo.trs
update_stamp
touch bar.test
-run_make -O RECHECK_LOGS= check
+run_make -O AM_LAZY_CHECK=yes check
# Check that make has updated what it needed to, but no more.
test -f foo.trs
is_newest bar.trs bar.test
diff --git a/t/test-trs-recover2.sh b/t/test-trs-recover2.sh
deleted file mode 100644
index eeb099bd8..000000000
--- a/t/test-trs-recover2.sh
+++ /dev/null
@@ -1,118 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2015 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 parallel harness features:
-# - recovery from unreadable '.trs' files, in various scenarios
-
-. test-init.sh
-
-cat >> configure.ac <<END
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TESTS = foo.test bar.test
-TEST_LOG_COMPILER = true
-END
-
-: > foo.test
-: > bar.test
-
-TEST_STATUS=0; export TEST_STATUS
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-
-: > t
-chmod a-r t && test ! -r t || skip_ "you can still read unreadable files"
-rm -f t
-
-: Create the required log files.
-$MAKE check
-test -f foo.trs
-test -f bar.trs
-
-: Recreate with a sweeping "make check".
-chmod a-r bar.trs
-$MAKE check
-test -f foo.trs
-test -r foo.trs
-test -f bar.trs
-test -r bar.trs
-
-: Again, this time with one .trs file missing and the other
-: one unreadable.
-rm -f foo.trs
-chmod a-r bar.trs
-$MAKE check
-test -f foo.trs
-test -r foo.trs
-test -f bar.trs
-test -r bar.trs
-
-: Again, but using "make recheck" this time.
-rm -f foo.trs
-chmod a-r bar.trs
-run_make -O recheck
-test -f foo.trs
-test -r foo.trs
-test -f bar.trs
-test -r bar.trs
-grep '^PASS: foo\.test' stdout
-grep '^PASS: bar\.test' stdout
-
-: Recreate by remaking the global test log.
-chmod a-r foo.trs
-rm -f test-suite.log
-run_make -O test-suite.log
-test -f foo.trs
-test -r foo.trs
-grep '^PASS: foo\.test' stdout
-grep 'bar\.test' stdout && exit 1
-# Also test that have only run before should be counted in the final
-# testsuite summary.
-grep '^# TOTAL: *2$' stdout
-
-: Setup for the next check.
-: > baz.test
-sed 's/^TESTS =.*/& baz.test/' Makefile > t
-diff t Makefile && exit 99
-mv -f t Makefile
-$MAKE check
-test -f foo.trs
-test -f bar.trs
-test -f baz.trs
-
-: Interactions with lazy test reruns are OK.
-chmod a-r foo.trs
-$sleep
-touch stamp
-$sleep
-touch bar.test
-run_make -O RECHECK_LOGS= check
-test -r foo.trs
-is_newest bar.trs bar.test
-grep '^PASS: foo\.test' stdout
-grep '^PASS: bar\.test' stdout
-grep 'baz\.test' stdout && exit 1
-# Also test that have only run before should be counted in the final
-# testsuite summary.
-grep '^# TOTAL: *3$' stdout
-
-:
diff --git a/t/testsuite-summary-count-many.sh b/t/testsuite-summary-count-many.sh
index 1458f25d3..ca0c4d84f 100644
--- a/t/testsuite-summary-count-many.sh
+++ b/t/testsuite-summary-count-many.sh
@@ -21,6 +21,8 @@
. test-init.sh
+expensive_
+
for s in trivial-test-driver extract-testsuite-summary.pl; do
cp "$am_testaux_srcdir/$s" . || fatal_ "failed to fetch auxiliary script $s"
done
diff --git a/t/transform3.sh b/t/transform3.sh
index 604c7b6b9..e21e78a34 100644
--- a/t/transform3.sh
+++ b/t/transform3.sh
@@ -37,7 +37,7 @@ pkglib_LIBRARIES = libzap.a
pkglibexec_SCRIPTS = mu
test-install: install
- find $(prefix) ;: For debugging.
+ find $(prefix) # For debugging.
test -f $(bindir)/gnu-foo
test -x $(bindir)/gnu-foo
test -f $(datadir)/foo/bar.txt
@@ -49,7 +49,7 @@ test-install: install
test ! -d $(libexecdir)/gnu-foo
test-installdirs: installdirs
- find $(prefix) ;: For debugging.
+ find $(prefix) # For debugging.
test -d $(datadir)/foo
test ! -d $(datadir)/gnu-foo
test -d $(libdir)/foo
diff --git a/t/triplet.sh b/t/triplet.sh
new file mode 100644
index 000000000..88083a8f0
--- /dev/null
+++ b/t/triplet.sh
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# The $(host), $(build), $(target) variables, and their '*_alias'
+# and 'am.conf.*-triplet' counterparts.
+
+. test-init.sh
+
+: > config.guess
+: > config.sub
+: > Makefile.am
+
+$ACLOCAL
+$AUTOMAKE
+grep "^am\.conf\.host-triplet = *$" Makefile.in
+grep "^am\.conf\.build-triplet = *$" Makefile.in
+grep "^am\.conf\.target-triplet = *$" Makefile.in
+
+mv -f configure.ac configure.tmpl
+
+for M in HOST BUILD TARGET; do
+ m=$(echo $M | LC_ALL=C tr '[A-Z]' '[a-z]')
+ (cat configure.tmpl && echo AC_CANONICAL_$M) > configure.ac
+ rm -rf autom4te.cache
+ $AUTOMAKE
+ grep "^$m = @$m@$" Makefile.in
+ grep "^${m}_alias = @${m}_alias@$" Makefile.in
+ grep "^am\\.conf\\.${m}-triplet = \\\$(${m})$" Makefile.in
+ case $m in
+ build)
+ grep '^am\.conf\.host-triplet = *$' Makefile.in
+ grep '^am\.conf\.target-triplet = *$' Makefile.in
+ ;;
+ host)
+ grep '^am\.conf\.build-triplet = $(build)$' Makefile.in
+ grep '^am\.conf\.target-triplet = *$' Makefile.in
+ ;;
+ target)
+ grep '^am\.conf\.build-triplet = $(build)$' Makefile.in
+ grep '^am\.conf\.target-triplet = $(target)$' Makefile.in
+ ;;
+ esac
+done
+
+rm -rf autom4te.cache
+
+cat configure.tmpl - >configure.ac <<'END'
+AC_CANONICAL_HOST
+AC_CANONICAL_BUILD
+AC_CANONICAL_TARGET
+END
+
+$AUTOMAKE
+for m in host build target; do
+ grep "^$m = @$m@$" Makefile.in
+ grep "^${m}_alias = @${m}_alias@$" Makefile.in
+ grep "^am\.conf\.${m}-triplet = \$(${m})$" Makefile.in
+done
+
+:
diff --git a/t/txinfo-add-missing-and-dist.sh b/t/txinfo-add-missing-and-dist.sh
index 2a4fa84f2..ddcd93f3f 100644
--- a/t/txinfo-add-missing-and-dist.sh
+++ b/t/txinfo-add-missing-and-dist.sh
@@ -32,8 +32,8 @@ cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
.PHONY: test1 test2
test1:
- @echo DISTFILES = $(DISTFILES)
- echo ' ' $(DISTFILES) ' ' | grep '[ /]auxdir/texinfo\.tex '
+ @echo am.dist.all-files = $(am.dist.all-files)
+ echo ' ' $(am.dist.all-files) ' ' | grep '[ /]auxdir/texinfo\.tex '
test2: distdir
ls -l $(distdir)/*
test -f $(distdir)/auxdir/texinfo.tex
diff --git a/t/txinfo-builddir.sh b/t/txinfo-builddir.sh
index f5a134b1e..78d8f852b 100644
--- a/t/txinfo-builddir.sh
+++ b/t/txinfo-builddir.sh
@@ -22,10 +22,6 @@
required='makeinfo tex texi2dvi'
. test-init.sh
-if useless_vpath_rebuild; then
- skip_ "$MAKE has brittle VPATH support"
-fi
-
echo AC_OUTPUT >> configure.ac
cat > Makefile.am << 'END'
diff --git a/t/txinfo-dvi-recurs.sh b/t/txinfo-dvi-recurs.sh
deleted file mode 100644
index 2f20b3c78..000000000
--- a/t/txinfo-dvi-recurs.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 dvi target recurses into subdir.
-# Reported by Pavel Roskin.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub
-END
-
-mkdir sub
-cat > sub/Makefile.am << 'END'
-info_TEXINFOS = maude.texi
-END
-
-echo '@setfilename maude.info' > sub/maude.texi
-: > sub/texinfo.tex
-
-$ACLOCAL
-$AUTOMAKE
-
-grep dvi-recursive Makefile.in
-grep '[^-]info-recursive' Makefile.in
-grep '[^n]install-info-recursive' Makefile.in
diff --git a/t/txinfo-many-output-formats-vpath.sh b/t/txinfo-many-output-formats-vpath.sh
index 2d22f3c63..3abd8382c 100644
--- a/t/txinfo-many-output-formats-vpath.sh
+++ b/t/txinfo-many-output-formats-vpath.sh
@@ -118,7 +118,7 @@ test ! -e sub/main2.html
test ! -e rec/main3.html
# Test production of a single HTML file.
-run_make MAKEINFOFLAGS=--no-split html
+$MAKE MAKEINFOFLAGS=--no-split html
test -f main.html
test -f sub/main2.html
test -f rec/main3.html
@@ -200,7 +200,6 @@ test ! -e share/$me/pdf/hello
# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
-using_gmake || $MAKE Makefile
$MAKE distcheck
:
diff --git a/t/txinfo-many-output-formats.sh b/t/txinfo-many-output-formats.sh
index 813c4dcc6..efdc4ed86 100644
--- a/t/txinfo-many-output-formats.sh
+++ b/t/txinfo-many-output-formats.sh
@@ -118,7 +118,7 @@ test ! -e sub/main2.html
test ! -e rec/main3.html
# Test production of a single HTML file.
-run_make MAKEINFOFLAGS=--no-split html
+$MAKE MAKEINFOFLAGS=--no-split html
test -f main.html
test -f sub/main2.html
test -f rec/main3.html
@@ -200,7 +200,6 @@ test ! -e share/$me/pdf/hello
# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
-using_gmake || $MAKE Makefile
$MAKE distcheck
:
diff --git a/t/txinfo-no-extra-dist.sh b/t/txinfo-no-extra-dist.sh
index 886443f0f..94e50139d 100644
--- a/t/txinfo-no-extra-dist.sh
+++ b/t/txinfo-no-extra-dist.sh
@@ -32,11 +32,11 @@ info_TEXINFOS = textutils.texi subdir/main.texi
test-dist: distdir
test -f $(distdir)/textutils.info
test -f $(distdir)/subdir/main.info
- @echo DISTFILES = $(DISTFILES)
- @case '$(DISTFILES)' in \
+ @echo am.dist.all-files = $(am.dist.all-files)
+ @case '$(am.dist.all-files)' in \
*'~'*|*'.bak'*|*'.info-'*|*.i[0-9]*) exit 1;; \
- *) exit 0;; \
- esac
+ *) exit 0;; \
+ esac
@st=0; \
find $(distdir) | grep '~' && st=1; \
find $(distdir) | grep '\.bak' && st=1; \
diff --git a/t/txinfo-no-repeated-targets.sh b/t/txinfo-no-repeated-targets.sh
deleted file mode 100644
index e6856a428..000000000
--- a/t/txinfo-no-repeated-targets.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2015 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 we only create texinfo-related targets once.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = maude.texi liver.texi heart.texi
-END
-
-echo '@setfilename maude.info' > maude.texi
-echo '@setfilename liver.info' > liver.texi
-echo '@setfilename heart.info' > heart.texi
-: > texinfo.tex
-
-$ACLOCAL
-$AUTOMAKE
-
-# These are just examples -- basically for many targets in texinfos.am
-# we only want them to appear once. But grepping them all would be
-# overkill.
-for t in info dist-info dvi-am install-html uninstall-pdf-am; do
- $EGREP "(^| )$t*.:" Makefile.in # For debugging.
- test $($EGREP -c "(^| )$t(:| *.:)" Makefile.in) -eq 1
-done
-
-:
diff --git a/t/txinfo-other-suffixes.sh b/t/txinfo-other-suffixes.sh
deleted file mode 100644
index faed07973..000000000
--- a/t/txinfo-other-suffixes.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1998-2015 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 '.txi' and '.texinfo' extensions are deprecated,
-# but still work.
-
-. test-init.sh
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = foo.txi bar.texinfo
-END
-
-echo '@setfilename foo.info' > foo.txi
-echo '@setfilename bar.info' > bar.texinfo
-: > texinfo.tex
-
-$ACLOCAL
-AUTOMAKE_fails
-grep "^Makefile\.am:.*suffix '.txi'.*Texinfo file.*discouraged" stderr
-grep "^Makefile\.am:.*suffix '.texinfo'.*Texinfo file.*discouraged" stderr
-grep "^Makefile\.am:.* use '.texi' instead" stderr
-
-$AUTOMAKE -Wno-obsolete
-
-grep '^\.txi\.info: *$' Makefile.in
-grep '^\.texinfo\.info: *$' Makefile.in
-
-:
diff --git a/t/txinfo-setfilename-repeated.sh b/t/txinfo-setfilename-repeated.sh
index 216304abd..4fbee8d54 100644
--- a/t/txinfo-setfilename-repeated.sh
+++ b/t/txinfo-setfilename-repeated.sh
@@ -27,7 +27,7 @@ cat > texinfo.texi << 'END'
@setfilename texinfo.info
...
@verbatim
-@setfilename example.info
+@setfilename foobar.info
@end verbatim
...
END
@@ -35,7 +35,7 @@ END
$ACLOCAL
$AUTOMAKE --add-missing
-grep 'example' Makefile.in && exit 1
+grep 'foobar' Makefile.in && exit 1
grep 'texinfo\.info:' Makefile.in
:
diff --git a/t/txinfo-tex-dist.sh b/t/txinfo-tex-dist.sh
index 1f098e89a..3205c9a37 100644
--- a/t/txinfo-tex-dist.sh
+++ b/t/txinfo-tex-dist.sh
@@ -28,8 +28,8 @@ cat > Makefile.am << 'END'
info_TEXINFOS = textutils.texi
.PHONY: test1 test2
test1:
- @echo DISTFILES = $(DISTFILES)
- echo ' ' $(DISTFILES) ' ' | grep '[ /]texinfo\.tex '
+ @echo am.dist.all-files = $(am.dist.all-files)
+ echo ' ' $(am.dist.all-files) ' ' | grep '[ /]texinfo\.tex '
test2: distdir
ls -l $(distdir)
test -f $(distdir)/texinfo.tex
diff --git a/t/commen11.sh b/t/txinfo-unrecognized-extension-2.sh
index 86300d77a..bf51b3fa3 100644
--- a/t/commen11.sh
+++ b/t/txinfo-unrecognized-extension-2.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 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,25 @@
# 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 backslash-newline-hash combinations are diagnosed as
-# comments following a trailing backslash, even when the combination
-# follows a variable assignment that is preceded by a comment.
+# Test that automake complains properly when texinfo input files
+# specify output info files with an invalid extension.
. test-init.sh
cat > Makefile.am << 'END'
-# initial comment
-variable = value-before-comment \
-#
-
-# comment
-SUBDIRS = foo \
-# bar
-
+info_TEXINFOS = foo.texi bar.texi baz.texi
END
-mkdir foo
+echo '@setfilename foo.inf' > foo.texi
+echo '@setfilename bar' > bar.texi
+echo '@setfilename baz.texi' > baz.texi
+: > texinfo.tex
$ACLOCAL
AUTOMAKE_fails
-grep '^Makefile\.am:3:.*backslash' stderr
-grep '^Makefile\.am:7:.*backslash' stderr
+
+grep "foo\.texi:.* 'foo\.inf'.*unrecognized extension" stderr
+grep "bar\.texi:.* 'bar'.*unrecognized extension" stderr
+grep "baz\.texi:.* 'baz\.texi'.*unrecognized extension" stderr
:
diff --git a/t/txinfo-vtexi.sh b/t/txinfo-vtexi.sh
index 83c6322be..9b4ff2d4a 100644
--- a/t/txinfo-vtexi.sh
+++ b/t/txinfo-vtexi.sh
@@ -53,10 +53,4 @@ grep '^\$(srcdir)/textutils\.info:.*[ /]version\.texi *$' Makefile.in
$EGREP 'stamp-vti:.*textutils\.texi( .*)?$' Makefile.in
$EGREP 'stamp-vti:.*\$\(top_srcdir\)/configure( .*)?$' Makefile.in
-# Check that the path to mdate-sh is correct. Over escaping of '$'
-# etc. once led to '\$\(srcdir\)/mdate-sh'.
-# Filter out '$(srcdir)/mdate-sh'; there should be no occurrences
-# of '.../mdate-sh' left then.
-sed 's,\$(srcdir)/mdate-sh,,g' Makefile.in | grep '/mdate-sh' && exit 1
-
:
diff --git a/t/txinfo-vtexi3.sh b/t/txinfo-vtexi3.sh
index b5b1c8601..1e2da4a22 100644
--- a/t/txinfo-vtexi3.sh
+++ b/t/txinfo-vtexi3.sh
@@ -41,7 +41,7 @@ cat > Makefile.am << 'END'
info_TEXINFOS = foobar.texi quux.texi zardoz.texi
.PHONY: echo-distfiles
echo-distfiles:
- @echo ' ' $(DISTFILES) ' '
+ @echo ' ' $(am.dist.all-files) ' '
END
cat > foobar.texi << 'END'
@@ -94,7 +94,7 @@ do_check ()
vmonth=$(grep '^@set UPDATED ' $srcdir/$vfile.texi | awk '{print $4, $5}')
grep "^@set UPDATED-MONTH $vmonth$" $srcdir/$vfile.texi
# Check that the vers*.texi file is distributed according
- # to $(DISTFILES).
+ # to $(am.dist.all-files).
$MAKE echo-distfiles # For debugging.
$MAKE -s echo-distfiles | grep "[ /]$vfile\\.texi"
}
diff --git a/t/txinfo-vtexi4.sh b/t/txinfo-vtexi4.sh
index 3d3ad0594..3107197e2 100644
--- a/t/txinfo-vtexi4.sh
+++ b/t/txinfo-vtexi4.sh
@@ -55,8 +55,8 @@ test-grepinfo:
cat $(srcdir)/foo.info | grep 'GREPDATE=$(my_date_rx)='
cat $(srcdir)/foo.info | grep 'GREPMONTH=$(my_month_rx)='
test-distfiles:
- @echo DISTFILES = $(DISTFILES)
- echo ' ' $(DISTFILES) ' ' | grep '[ /]version.texi '
+ @echo am.dist.all-files = $(am.dist.all-files)
+ echo ' ' $(am.dist.all-files) ' ' | grep '[ /]version.texi '
test-distdir: distdir
ls -l $(distdir)
diff $(srcdir)/version.texi $(distdir)/version.texi
diff --git a/t/uninstall-fail.sh b/t/uninstall-fail.sh
index 41bd57be7..a3bcfb4b6 100644
--- a/t/uninstall-fail.sh
+++ b/t/uninstall-fail.sh
@@ -68,17 +68,17 @@ mkdir $inst $inst/share
: > $inst/share/foobar.txt
chmod a-w $inst/share
-run_make -M -e FAIL uninstall
+run_make -E -e FAIL uninstall
if test $rm_f_is_silent_on_error = yes; then
: "rm -f" is silent on errors, skip the grepping of make output
else
- grep "rm: .*foobar\.txt" output
+ grep "rm: .*foobar\.txt" stderr >&2
fi
chmod a-rwx $inst/share
(cd $inst/share) && skip_ "cannot make directories fully unreadable"
-run_make -M -e FAIL uninstall
+run_make -E -e FAIL uninstall
# Some shells, like Solaris 10 /bin/ksh and /usr/xpg4/bin/sh, do not
# report the name of the 'cd' builtin upon a chdir error:
@@ -96,6 +96,6 @@ run_make -M -e FAIL uninstall
# > cd unreadable'
# /bin/ksh[3]: unreadable: permission denied
-$EGREP "(cd|sh)(\[[0-9]*[0-9]\])?: .*$inst/share" output
+$EGREP "(cd|sh)(\[[0-9]*[0-9]\])?: .*$inst/share" stderr
:
diff --git a/t/vala-headers.sh b/t/vala-headers.sh
index de905bc5a..965747b94 100644
--- a/t/vala-headers.sh
+++ b/t/vala-headers.sh
@@ -16,7 +16,7 @@
# Test to make sure compiling Vala code really works with recursive make.
-required="pkg-config valac gcc GNUmake"
+required="pkg-config valac gcc"
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/vala-libs.sh b/t/vala-libs.sh
index badd538ae..38abd9c36 100644
--- a/t/vala-libs.sh
+++ b/t/vala-libs.sh
@@ -17,7 +17,7 @@
# Building libraries (libtool and static) from Vala sources.
# And use of vapi files to call C code from Vala.
-required="valac cc pkg-config libtoolize GNUmake"
+required="valac cc pkg-config libtoolize"
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/vala-mix.sh b/t/vala-mix.sh
index 778610868..aea483259 100644
--- a/t/vala-mix.sh
+++ b/t/vala-mix.sh
@@ -16,7 +16,7 @@
# Vala sources and C sources in the same program. Functional test.
-required='valac cc pkg-config GNUmake'
+required='valac cc pkg-config'
. test-init.sh
cat >> configure.ac <<'END'
diff --git a/t/vala-mix2.sh b/t/vala-mix2.sh
index 11ae48d11..0725100fe 100644
--- a/t/vala-mix2.sh
+++ b/t/vala-mix2.sh
@@ -17,7 +17,7 @@
# Vala sources, C and C++ sources and C and C++ headers in the same
# program. Functional test. See automake bug#10894.
-required='valac cc c++ pkg-config GNUmake'
+required='valac cc c++ pkg-config'
. test-init.sh
cat >> configure.ac <<'END'
diff --git a/t/vala-non-recursive-setup.sh b/t/vala-non-recursive-setup.sh
index 5faafab6a..11fa05c76 100644
--- a/t/vala-non-recursive-setup.sh
+++ b/t/vala-non-recursive-setup.sh
@@ -16,7 +16,7 @@
# Test to make sure compiling Vala code really works with non-recursive make.
-required="pkg-config valac gcc GNUmake"
+required='valac gcc pkg-config'
. test-init.sh
mkdir src
@@ -53,44 +53,25 @@ $AUTOMAKE -a
./configure
$MAKE
test -f src/zardoz.c
+# FIXME: having 'src/zardoz_vala.stamp' should be more appropriate here.
test -f src_zardoz_vala.stamp
$MAKE distcheck
$MAKE maintainer-clean
test ! -e src/zardoz.c
+# FIXME: having 'src/zardoz_vala.stamp' should be more appropriate here.
test ! -e src_zardoz_vala.stamp
mkdir build
cd build
../configure
$MAKE
+test -f ../src/zardoz.c
+# FIXME: having 'src/zardoz_vala.stamp' should be more appropriate here.
+test -f ../src_zardoz_vala.stamp
$MAKE distcheck
+$MAKE maintainer-clean
+test ! -f src/zardoz.c
+# FIXME: having 'src/zardoz_vala.stamp' should be more appropriate here.
+test ! -e src_zardoz_vala.stamp
-cd ..
-rm -rf build
-
-# Try again with subdir-objects.
-
-cat > 'Makefile.am' <<'END'
-AUTOMAKE_OPTIONS = subdir-objects
-
-bin_PROGRAMS = src/zardoz
-src_zardoz_CFLAGS = $(GOBJECT_CFLAGS)
-src_zardoz_LDADD = $(GOBJECT_LIBS)
-src_zardoz_SOURCES = src/zardoz.vala
-END
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure || skip_ "configure failure"
-$MAKE
-$MAKE distcheck
-$MAKE distclean
-mkdir build
-cd build
-../configure
-$MAKE
-$MAKE distcheck
-
-
+:
diff --git a/t/vala-parallel.sh b/t/vala-parallel.sh
index 079bd95c5..2a50b65e4 100644
--- a/t/vala-parallel.sh
+++ b/t/vala-parallel.sh
@@ -16,7 +16,7 @@
# Vala support with parallel make.
-required='valac cc pkg-config GNUmake'
+required='valac cc pkg-config'
. test-init.sh
cat >> configure.ac <<'END'
diff --git a/t/vala-per-target-flags.sh b/t/vala-per-target-flags.sh
index 7c6828aad..8df6a0fd2 100644
--- a/t/vala-per-target-flags.sh
+++ b/t/vala-per-target-flags.sh
@@ -16,7 +16,7 @@
# Test per-target flags in vala support.
-required="pkg-config valac gcc GNUmake"
+required="pkg-config valac gcc"
. test-init.sh
mkdir src
diff --git a/t/vala-recursive-setup.sh b/t/vala-recursive-setup.sh
index ce3d92617..8cab96aa9 100644
--- a/t/vala-recursive-setup.sh
+++ b/t/vala-recursive-setup.sh
@@ -16,7 +16,7 @@
# Test to make sure compiling Vala code really works with recursive make.
-required="pkg-config valac gcc GNUmake"
+required="pkg-config valac gcc"
. test-init.sh
mkdir src
diff --git a/t/vala-vapi.sh b/t/vala-vapi.sh
index cb530dac7..74f8e2245 100644
--- a/t/vala-vapi.sh
+++ b/t/vala-vapi.sh
@@ -16,7 +16,7 @@
# Test and that vapi files are correctly handled by Vala support.
-required='pkg-config valac cc GNUmake'
+required='valac cc pkg-config'
. test-init.sh
cat >> configure.ac <<'END'
diff --git a/t/vala-vpath.sh b/t/vala-vpath.sh
index fdb802ffa..100661680 100644
--- a/t/vala-vpath.sh
+++ b/t/vala-vpath.sh
@@ -17,7 +17,7 @@
# Test to make sure vala support handles from-scratch VPATH builds.
# See automake bug#8753.
-required="cc valac pkg-config GNUmake"
+required='cc valac pkg-config'
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/var-undef-append.sh b/t/var-undef-append.sh
new file mode 100644
index 000000000..7c67d2546
--- /dev/null
+++ b/t/var-undef-append.sh
@@ -0,0 +1,100 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# Automake should allow us top append to undefined variables, for
+# consistency with GNU make. For the same reason, if we override
+# a variable definition from the command line, any '+=' appending
+# to it should get overridden as well.
+# See also "spy" test 'spy-var-append.sh'.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_CONDITIONAL([COND_NO], [false])
+AM_CONDITIONAL([COND_YES], [:])
+AM_CONDITIONAL([COND_YES2], [:])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+var0 += foo0
+
+if COND_NO
+var00 += foo00
+endif
+
+if COND_YES
+if COND_YES2
+var000 += foo000
+endif
+endif
+
+if COND_NO
+var1 = oops
+endif
+var1 += bar
+if COND_YES
+var1 += baz
+endif
+if COND_NO
+var1 += oops
+endif
+
+if COND_YES
+var2 = a
+endif
+var2 += b
+
+if COND_YES
+var3 := c
+endif
+var3 += d
+
+var4 = cuckoo
+var4 += nightingale
+
+.PHONY: test1 test2
+test1:
+ test x'$(var0)' = x'foo0'
+ test x'$(var00)' = x''
+ test x'$(var000)' = x'foo000'
+ test x'$(var1)' = x'bar baz'
+ test x'$(var2)' = x'a b'
+ test x'$(var3)' = x'c d'
+ test x'$(var4)' = x'cuckoo nightingale'
+test2:
+ test x'$(var0)' = x
+ test x'$(var1)' = x'one'
+ test x'$(var2)' = x'two'
+ test x'$(var3)' = x'three'
+ test x'$(var4)' = x''
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+checkit ()
+{
+ run_make -E -- "$@" && test ! -s stderr
+}
+
+checkit test1
+checkit test2 var0= var1=one var2=two var3=three var4=
+
+:
diff --git a/t/depend6.sh b/t/vars-assign.sh
index 5beeb61d6..9d46bde2d 100644
--- a/t/depend6.sh
+++ b/t/vars-assign.sh
@@ -14,33 +14,35 @@
# 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 for _AM_OUTPUT_DEPENDENCY_COMMANDS grouping bug,
-# reported by Markus Duft.
+# Automake do not complain about nor messes up GNU make specific
+# variable assignments (":=" and "?=").
. test-init.sh
-cat >>configure.ac << END
-AC_PROG_CC
-AC_OUTPUT
-END
+echo AC_OUTPUT >> configure.ac
-cat > Makefile.am << END
-bin_PROGRAMS = foo
-foo_SOURCES = foo.c foo.h
-END
+unset PREFOO FOO BAR BAZ XFOO XBAZ || :
+
+cat > Makefile.am <<'END'
+PREFOO = bar
+FOO := foo$(PREFOO)$(XFOO)
+XFOO = fail
+BAR ?= barbar
-cat >foo.c << END
-#include "foo.h"
+.PHONY: test1 test2
+test1:
+ test $(FOO) = foobar
+ test $(BAR) = barbar
+test2:
+ test $(FOO) = foobar
+ test $(BAR) = rabrab
END
-: >foo.h
$ACLOCAL
-$AUTOMAKE
$AUTOCONF
-./configure --disable-dependency-tracking 2>stderr || {
- stat=$?; cat stderr >&2; exit $stat;
-}
-cat stderr >&2
-grep shift stderr && exit 1
+$AUTOMAKE
+./configure
+$MAKE test1
+PREFOO=notseen FOO=notseen BAR=rabrab $MAKE test2
:
diff --git a/t/vars3.sh b/t/vars3.sh
deleted file mode 100644
index 6913b332b..000000000
--- a/t/vars3.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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 warns about variables containing spaces
-# and other non-POSIX characters.
-
-. test-init.sh
-
-cat >Makefile.am <<'EOF'
-L01 = $(shell echo *)
-L02 = $$(not an error)
-L03 = $$(this is)$${ok too}
-L04 = $(nextvariableisbad)$(addsuffix .a, $(A))
-L05 = "$(bad boy)"
-L06 = $(this:is= ok)
-L07 = ${three errors}${on this} $(long line)
-L08$(o u c h): $(wildcard *.c)
- ${another Error}
- echo $${ok-this is}
-L11: $(thisis) $(ok)
- ${here}
-EOF
-
-$ACLOCAL
-# Make sure this warning is print in the 'portability' category.
-$AUTOMAKE --warnings=no-error,none,portability 2>stderr \
- || { cat stderr >&2; exit 1; }
-cat stderr >&2
-
-# Lines number are printed in error message.
-# Use them to make sure errors are diagnosed against the right lines.
-
-# No error expected apart from those on these lines.
-grep -v '^Makefile\.am:[145789]:' stderr | grep . && exit 1
-
-# Now check some individual values.
-grep ':1:.*shell echo' stderr
-grep 'nextvariableisbad' stderr && exit 1
-grep ':4:.*addsuffix' stderr
-grep ':5:.*bad boy' stderr
-grep ':7:.*three errors' stderr
-grep ':7:.*on this' stderr
-grep ':7:.*long line' stderr
-grep ':8:.*o u c h' stderr
-grep ':8:.*wildcard' stderr
-grep ':9:.*another Error' stderr
-
-$EGREP 'ok|thisis|here' stderr && exit 1
-
-# None of these errors be diagnosed with '-Wno-portability'.
-$AUTOMAKE -Wno-portability
-
-# Likewise if we add this in the Makefile.am
-# (although this makes some difference internally: AUTOMAKE_OPTIONS is
-# processed far later).
-echo 'AUTOMAKE_OPTIONS = -Wno-portability' >> Makefile.am
-$AUTOMAKE
-
-:
diff --git a/t/vartar.sh b/t/vartar.sh
index 5113826be..9a6b74f02 100644
--- a/t/vartar.sh
+++ b/t/vartar.sh
@@ -19,21 +19,21 @@
. test-init.sh
cat > Makefile.am << 'END'
-install = install
-install:
- $(install) install
+xinstall = xinstall
+xinstall:
+ $(xinstall) xinstall
END
$ACLOCAL
$AUTOMAKE -Wno-override
-grep '^install = install$' Makefile.in
+grep '^xinstall = xinstall$' Makefile.in
cat > target.expected <<'EOF'
-install:
- $(install) install
+xinstall:
+ $(xinstall) xinstall
EOF
-sed -n '/^install:/,/^ /p' Makefile.in > target.value
+sed -n '/^xinstall:/,/^ /p' Makefile.in > target.value
diff target.expected target.value
:
diff --git a/t/vartypo2.sh b/t/vartypo2.sh
deleted file mode 100644
index 83a7ccb48..000000000
--- a/t/vartypo2.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2015 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 we warn about possible variable typos when we should,
-# Libtool variant.
-
-required=libtoolize
-. test-init.sh
-
-cat >>configure.ac <<'END'
-AM_PROG_AR
-AC_PROG_LIBTOOL
-AC_OUTPUT
-END
-
-cat >Makefile.am <<'END'
-libfoo_la_SOURCES = unused
-nodist_libfoo_la_SOURCES = unused
-EXTRA_libfoo_la_SOURCES = unused
-libfoo_la_LIBADD = unused
-libfoo_la_DEPENDENCIES = unused
-EXTRA_libfoo_la_DEPENDENCIES = unused
-END
-
-libtoolize
-$ACLOCAL
-AUTOMAKE_fails --add-missing
-# The expected diagnostic is:
-# automake: warnings are treated as errors
-# Makefile.am:3: warning: variable 'EXTRA_libfoo_la_SOURCES' is defined but no program or
-# Makefile.am:3: library has 'libfoo_la' as canonical name (possible typo)
-# Makefile.am:1: warning: variable 'libfoo_la_SOURCES' is defined but no program or
-# Makefile.am:1: library has 'libfoo_la' as canonical name (possible typo)
-# Makefile.am:2: warning: variable 'nodist_libfoo_la_SOURCES' is defined but no program or
-# Makefile.am:2: library has 'libfoo_la' as canonical name (possible typo)
-# Makefile.am:4: warning: variable 'libfoo_la_LIBADD' is defined but no program or
-# Makefile.am:4: library has 'libfoo_la' as canonical name (possible typo)
-# Makefile.am:6: warning: variable 'EXTRA_libfoo_la_DEPENDENCIES' is defined but no program or
-# Makefile.am:6: library has 'libfoo_la' as canonical name (possible typo)
-# Makefile.am:5: warning: variable 'libfoo_la_DEPENDENCIES' is defined but no program or
-# Makefile.am:5: library has 'libfoo_la' as canonical name (possible typo)
-
-grep 'as canonical' stderr | grep -v ' .libfoo_la. ' && exit 1
-test $(grep -c 'variable.*is defined but' stderr) -eq 6
-
-# If we add a global -Wnone, all warnings should disappear.
-$AUTOMAKE -Wnone
-
-# Likewise, if matching programs or libraries are defined.
-cat >>Makefile.am <<'END'
-lib_LTLIBRARIES = libfoo.la
-END
-
-$AUTOMAKE
-
-:
diff --git a/t/vartypos-deps.sh b/t/vartypos-deps.sh
new file mode 100644
index 000000000..f69dcb126
--- /dev/null
+++ b/t/vartypos-deps.sh
@@ -0,0 +1,101 @@
+#! /bin/sh
+# Copyright (C) 2010-2014 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 we warn about possible variable typos for the
+# *_DEPENDENCIES when we should, and do not warn about them
+# when we should not.
+
+. test-init.sh
+
+subdirs='ok1 ok2 ko1 ko2'
+mkdir $subdirs
+
+errgrep ()
+{
+ grep "variable '${1}_DEPENDENCIES' is defined" stderr
+ grep "'$1' as canonical name" stderr
+}
+
+cat >> configure.ac <<END
+AC_CONFIG_FILES([$(for d in $subdirs; do echo $d/Makefile; done)])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+AM_LDFLAGS = unused
+ETAGS_ARGS = --unused
+TAGS_DEPENDENCIES = foo.c
+CONFIG_STATUS_DEPENDENCIES = cvs-version.sh
+CONFIGURE_DEPENDENCIES = cvs-version.sh
+foo.c:
+ echo 'int main (void) { return 0; }' > $@
+END
+
+: > cvs-version.sh
+
+cat > ok1/Makefile.am <<'END'
+TESTS = unused ignored.test
+LOG_DEPENDENCIES = unused
+TEST_LOG_DEPENDENCIES = unused
+END
+
+cat > ok2/Makefile.am <<'END'
+TESTS = ignored.sh notseen.tap
+TEST_EXTENSIONS = .sh .tap
+LOG_DEPENDENCIES = unused
+SH_LOG_DEPENDENCIES = unused
+TAP_LOG_DEPENDENCIES = unused
+END
+
+cat > ko1/Makefile.am <<'END'
+LOG_DEPENDENCIES =
+TEST_LOG_DEPENDENCIES =
+END
+
+cat > ko2/Makefile.am <<'END'
+TESTS = unused ignored.test
+TEST_LOG_DEPENDENCIES =
+LOG_DEPENDENCIES =
+SH_LOG_DEPENDENCIES =
+CONFIGSTATUS_DEPENDENCIES =
+CONFIG_DEPENDENCIES =
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+$MAKE
+(cd ok1 && $MAKE)
+(cd ok2 && $MAKE)
+
+cd ko1
+run_make -E -e FAIL
+errgrep LOG
+errgrep TEST_LOG
+cd ..
+
+cd ko2
+run_make -E -e FAIL
+errgrep SH_LOG
+errgrep CONFIG
+errgrep CONFIGSTATUS
+$EGREP "'(TEST_)?LOG" stderr && exit 1
+cd ..
+
+:
diff --git a/t/vartypos-whitelist.sh b/t/vartypos-whitelist.sh
new file mode 100644
index 000000000..e03722e7d
--- /dev/null
+++ b/t/vartypos-whitelist.sh
@@ -0,0 +1,117 @@
+#! /bin/sh
+# Copyright (C) 2010-2014 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 we allow the use to whitelist false positives in our
+# detection of variable typos. Inspired by the GNU coreutils (8.17)
+# build system.
+
+required=cc
+. test-init.sh
+
+edit ()
+{
+ file=$1; shift
+ "$@" <$file >t && mv -f t $file || fatal_ "editing $file"
+}
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_SUBST([LIBSELINUX], ["$l_selinux"])
+AC_OUTPUT
+END
+
+l_selinux=; export l_selinux=
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = cp mv rm
+noinst_LIBRARIES = libremove.a libcopy.a
+remove_LDADD = libremove.a
+copy_LDADD = libcopy.a
+copy_LDADD += @LIBSELINUX@
+cp_LDADD = $(copy_LDADD)
+rm_LDADD = $(remove_LDADD)
+mv_LDADD = $(copy_LDADD) $(remove_LDADD)
+AM_VARTYPOS_WHITELIST = copy_LDADD remove_LDADD
+EXTRA_DIST = libcopy.h libremove.h
+END
+
+echo 'extern void cu_copy (void);' > libcopy.h
+echo 'extern void cu_remove (void);' > libremove.h
+
+cat > libcopy.c << 'END'
+#include "libcopy.h"
+void cu_copy (void) { return; }
+END
+
+cat > libremove.c << 'END'
+#include "libremove.h"
+void cu_remove (void) { return; }
+END
+
+cat > cp.c <<'END'
+#include "libcopy.h"
+int main (void)
+{
+ cu_copy ();
+ return 0;
+}
+END
+
+cat > rm.c <<'END'
+#include "libremove.h"
+int main (void)
+{
+ cu_remove ();
+ return 0;
+}
+END
+
+cat > mv.c <<'END'
+#include "libremove.h"
+#include "libcopy.h"
+int main (void)
+{
+ cu_copy ();
+ cu_remove ();
+ return 0;
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+$MAKE
+
+# Sanity check the distribution.
+$MAKE distcheck
+
+# If we remove the whitelisting, failure ensues.
+sed '/^AM_VARTYPOS_WHITELIST *=/d' <Makefile.am >t && mv -f t Makefile.am \
+ || fatal_ "editing Makefile.am"
+run_make -e FAIL -E
+grep "'copy_LDADD' is defined but no program" stderr
+grep "'remove_LDADD' is defined but no program" stderr
+
+run_make -e FAIL -E \
+ AM_VARTYPOS_WHITELIST=remove_LDADD AM_FORCE_SANITY_CHECK=yes
+grep "'copy_LDADD' is defined but no program" stderr
+grep "remove_LDADD" stderr && exit 1
+
+:
diff --git a/t/vartypos.sh b/t/vartypos.sh
index d4a61e953..ef6e01fa7 100644
--- a/t/vartypos.sh
+++ b/t/vartypos.sh
@@ -18,72 +18,97 @@
. test-init.sh
-cat >>configure.ac <<'END'
+: > ltmain.sh
+
+cat >> configure.ac <<'END'
+m4_define([AC_PROG_RANLIB], [AC_SUBST([RANLIB], [who-cares])])
+m4_define([AM_PROG_AR], [AC_SUBST([AR], [who-cares])])
+m4_define([LT_INIT], [AC_SUBST([LIBTOOL], [who-cares])])
+LT_INIT
+AM_PROG_AR
AC_PROG_RANLIB
AC_OUTPUT
END
-cat >Makefile.am <<'END'
-foo_SOURCES = unused
-nodist_foo_SOURCES = unused
-EXTRA_foo_SOURCES = unused
-foo_LDADD = unused
-foo_LDFLAGS = unused
-foo_DEPENDENCIES = unused
-EXTRA_foo_DEPENDENCIES = unused
-
-libfoo_a_SOURCES = unused
-nodist_libfoo_a_SOURCES = unused
-EXTRA_libfoo_a_SOURCES = unused
-libfoo_a_LIBADD = unused
-libfoo_a_DEPENDENCIES = unused
-EXTRA_libfoo_a_DEPENDENCIES = unused
+cat > Makefile.am <<'END'
+foo_SOURCES =
+dist_foo_SOURCES =
+nodist_foo_SOURCES =
+EXTRA_foo_SOURCES =
+EXTRA_dist_foo_SOURCES =
+EXTRA_nodist_foo_SOURCES =
+
+foo_DEPENDENCIES =
+EXTRA_foo_DEPENDENCIES =
+
+foo_LDADD =
+foo_LDFLAGS =
+EXTRA_foo_LDADD =
+EXTRA_foo_LDFLAGS =
+
+libfoo_a_SOURCES =
+dist_libfoo_a_SOURCES =
+nodist_libfoo_a_SOURCES =
+EXTRA_libfoo_a_SOURCES =
+EXTRA_dist_libfoo_a_SOURCES =
+EXTRA_nodist_libfoo_a_SOURCES =
+
+libfoo_a_DEPENDENCIES =
+EXTRA_libfoo_a_DEPENDENCIES =
+
+libfoo_a_LIBADD =
+EXTRA_libfoo_a_LIBADD =
+libfoo_a_LDFLAGS =
+EXTRA_libfoo_a_LDFLAGS =
+
+libbar_la_SOURCES =
+dist_libbar_la_SOURCES =
+nodist_libbar_la_SOURCES =
+EXTRA_libbar_la_SOURCES =
+EXTRA_dist_libbar_la_SOURCES =
+EXTRA_nodist_libbar_la_SOURCES =
+
+libbar_la_DEPENDENCIES =
+EXTRA_libbar_la_DEPENDENCIES =
+
+libbar_la_LIBADD =
+EXTRA_libbar_la_LIBADD =
+libbar_la_LDFLAGS =
+EXTRA_libbar_la_LDFLAGS =
+
+.PHONY: nihil
+nihil:
+ @:
END
$ACLOCAL
-AUTOMAKE_fails -Wno-extra-portability
-# The expected diagnostic is:
-# automake: warnings are treated as errors
-# Makefile.am:2: warning: variable 'nodist_foo_SOURCES' is defined but no program or
-# Makefile.am:2: library has 'foo' as canonical name (possible typo)
-# Makefile.am:1: warning: variable 'foo_SOURCES' is defined but no program or
-# Makefile.am:1: library has 'foo' as canonical name (possible typo)
-# Makefile.am:9: warning: variable 'libfoo_a_SOURCES' is defined but no program or
-# Makefile.am:9: library has 'libfoo_a' as canonical name (possible typo)
-# Makefile.am:10: warning: variable 'nodist_libfoo_a_SOURCES' is defined but no program or
-# Makefile.am:10: library has 'libfoo_a' as canonical name (possible typo)
-# Makefile.am:11: warning: variable 'EXTRA_libfoo_a_SOURCES' is defined but no program or
-# Makefile.am:11: library has 'libfoo_a' as canonical name (possible typo)
-# Makefile.am:3: warning: variable 'EXTRA_foo_SOURCES' is defined but no program or
-# Makefile.am:3: library has 'foo' as canonical name (possible typo)
-# Makefile.am:12: warning: variable 'libfoo_a_LIBADD' is defined but no program or
-# Makefile.am:12: library has 'libfoo_a' as canonical name (possible typo)
-# Makefile.am:4: warning: variable 'foo_LDADD' is defined but no program or
-# Makefile.am:4: library has 'foo' as canonical name (possible typo)
-# Makefile.am:5: warning: variable 'foo_LDFLAGS' is defined but no program or
-# Makefile.am:5: library has 'foo' as canonical name (possible typo)
-# Makefile.am:14: warning: variable 'EXTRA_libfoo_a_DEPENDENCIES' is defined but no program or
-# Makefile.am:14: library has 'libfoo_a' as canonical name (possible typo)
-# Makefile.am:7: warning: variable 'EXTRA_foo_DEPENDENCIES' is defined but no program or
-# Makefile.am:7: library has 'foo' as canonical name (possible typo)
-# Makefile.am:6: warning: variable 'foo_DEPENDENCIES' is defined but no program or
-# Makefile.am:6: library has 'foo' as canonical name (possible typo)
-# Makefile.am:13: warning: variable 'libfoo_a_DEPENDENCIES' is defined but no program or
-# Makefile.am:13: library has 'libfoo_a' as canonical name (possible typo)
-
-grep 'as canonical' stderr | grep -v ' .foo. ' | grep -v ' .libfoo_a. ' \
- && exit 1
-test $(grep -c 'variable.*is defined but' stderr) -eq 13
-
-# If we add a global -Wnone, all warnings should disappear.
-$AUTOMAKE -Wnone
-
-# Likewise, if matching programs or libraries are defined.
-cat >>Makefile.am <<'END'
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+run_make -E -e FAIL nihil
+
+$FGREP 'as canonical' stderr \
+ | $EGREP -v " '(foo|libfoo_a|libbar_la)' " && exit 1
+test 36 -eq $(grep -c 'variable.*is defined but' stderr)
+
+# If matching programs or libraries are defined, all errors should
+# disappear.
+cat >> Makefile.am <<'END'
bin_PROGRAMS = foo
lib_LIBRARIES = libfoo.a
+lib_LTLIBRARIES = libbar.la
END
-$AUTOMAKE -Wno-extra-portability
+$MAKE nihil
+
+# If further errors are introduced, they are reported.
+$sleep
+echo none_SOURCES = >> Makefile.am
+
+run_make -E -e FAIL nihil
+
+grep "variable 'none_SOURCES'" stderr
+grep "'none' as canonical name" stderr
:
diff --git a/t/verbatim.sh b/t/verbatim.sh
new file mode 100644
index 000000000..2f4647655
--- /dev/null
+++ b/t/verbatim.sh
@@ -0,0 +1,162 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# A line starting with '!' used in our internal .am fragments is
+# passed verbatim to the output Makefile, and in the right place
+# too. Yes, this test is hacky ... as is the behaviour it tests
+# after all ;-)
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+long1=long
+long2="$long1 $long1"
+long4="$long2 $long2"
+long8="$long4 $long4"
+long16="$long8 $long8"
+long32="$long16 $long16"
+long64="$long32 $long32"
+long128="$long64 $long64"
+long256="$long128 $long128"
+long512="$long256 $long265"
+
+# Sanity check.
+case $long512 in
+ *' long long '*) ;;
+ *) fatal_ 'defining $long512' ;;
+esac
+
+mkdir am
+cp "$am_amdir"/*.am ./am
+cp "$am_amdir"/*.mk ./am
+
+echo pkgdata_DATA = configure.ac > Makefile.am
+
+# The '.am' file are read-only when this test is run under
+# "make distcheck", so we need to unlink any of them we want
+# to overwrite.
+rm -f am/data.am
+cat > am/data.am << 'END'
+include 0.am
+include 1.am
+include 2.am
+include 3.am
+END
+
+echo "!x = $long256" > am/0.am
+
+cat >> am/1.am << 'END'
+!## unmodified
+!xyz = \
+rule:
+ @echo Go Custom Rule
+!!unmodified!
+.PHONY: test-xyz
+test-xyz:
+ test '$(xyz)' = '!unmodified!'
+END
+
+cat > am/2.am << 'END'
+!badrule1: ; @echo "'$@' unexpectedly won over 'all'!"; exit 1
+!badrule2:
+! @echo "'$@' unexpectedly won over 'all'!"; exit 1
+all-local: verbatim-rule
+ test -f $<.ok
+!verbatim-rule:
+!ifeq (ok,ok)
+! @echo $@ run correctly
+! : > $@.ok
+!else
+! echo $@ failure; exit 1
+!endif
+# We want this deliberately after verbatim-rule.
+x = ok
+END
+
+cat > am/3.am << 'END'
+x1 := 1
+x2 := 2
+
+foo = .
+
+!ifndef FOO
+!foo += $(x1)
+!else
+!foo += $(x2)
+!endif
+
+!ifeq ($(BAR),1)
+!bar = aaa
+!else
+!ifeq "$(BAR)" "2"
+!bar = lol
+!else
+!bar = default
+!endif # this comment should be comment ignored
+!endif
+
+check-var:
+ test '$($(var))' = '$(val)'
+END
+
+# Avoid interferences from the environment.
+FOO= BAR=; unset FOO BAR
+
+$ACLOCAL
+$AUTOMAKE --libdir=.
+
+grep '^!' Makefile.in | grep -v '^!unmodified!$' && exit 1
+
+# Use perl, to avoid possible issues with regex length in vendor greps.
+$PERL -e "
+ while (<>) { exit (0) if (/^x = $long256$/); }
+ exit (1);
+" Makefile.in
+
+grep '^!unmodified!$' Makefile.in
+test $(grep -c '^!unmodified!$' Makefile.in) -eq 1
+grep '^## unmodified$' Makefile.in
+grep '^xyz = \\$' Makefile.in
+
+$EGREP 'foo|bar' Makefile.in # For debugging.
+test $(grep -c '^foo +=' Makefile.in) -eq 2
+test $(grep -c '^bar =' Makefile.in) -eq 3
+
+$AUTOCONF
+./configure
+
+# The created makefile is not broken.
+$MAKE -n
+
+$MAKE rule
+test ! -f verbatim-rule.ok
+$MAKE
+test -f verbatim-rule.ok
+$MAKE | grep 'Custom Rule' && exit 1
+$MAKE test-xyz
+
+$MAKE check-var var=foo val='. 1'
+$MAKE check-var var=foo val='. 1' FOO=''
+$MAKE check-var var=foo val='. 2' FOO=yes
+$MAKE check-var var=foo val='. 2' FOO=' who cares!'
+
+$MAKE check-var var=bar val=default
+$MAKE check-var var=bar val=aaa BAR=1
+$MAKE check-var var=bar val=lol BAR=2
+$MAKE check-var var=bar val=default BAR=3
+
+:
diff --git a/t/version7.sh b/t/version7.sh
index 7f5e03bed..4089a99fe 100644
--- a/t/version7.sh
+++ b/t/version7.sh
@@ -59,7 +59,6 @@ grep '2\.718' version.texi
$sleep
echo 'm4_define([THE_VERSION], [3.141])' > version.m4
-using_gmake || $MAKE Makefile
$MAKE distcheck
./configure --version | grep '3\.141'
grep '3\.141' version.texi
diff --git a/t/vpath-built-sources.sh b/t/vpath-built-sources.sh
new file mode 100644
index 000000000..1f325ac37
--- /dev/null
+++ b/t/vpath-built-sources.sh
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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/>.
+
+# In a VPATH build, a target starting with $(srcdir) is triggered to
+# build a source with the same name but without the $(srcdir).
+
+required=cc
+. test-init.sh
+
+ocwd=$(pwd) || fatal_ "couldn't get current working directory"
+
+cat >> configure.ac <<'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+noinst_PROGRAMS = p1 p2 p3 tp1 tp2 tp3
+
+write-it = echo 'int main (void) { return 0; }' >$@
+
+# We keep all the targets on separate lines to make sure the dumb
+# Automake parser actually sees them all.
+$(srcdir)/p1.c:
+ $(write-it)
+${srcdir}/p2.c:
+ $(write-it)
+@srcdir@/p3.c:
+ $(write-it)
+$(top_srcdir)/tp1.c:
+ $(write-it)
+${top_srcdir}/tp2.c:
+ $(write-it)
+@top_srcdir@/tp3.c:
+ $(write-it)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+mkdir build
+cd build
+../configure
+$MAKE all
+
+cd "$ocwd"
+rm -f *.c
+mkdir -p sub1/sub2/sub3
+cd sub1/sub2/sub3
+"$ocwd"/configure --disable-dependency-tracking
+$MAKE all
+
+cd "$ocwd"
+rm -f *.c
+./configure
+$MAKE all
+$MAKE distcheck
+
+:
diff --git a/t/vpath-rewrite.sh b/t/vpath-rewrite.sh
new file mode 100644
index 000000000..fe31408ea
--- /dev/null
+++ b/t/vpath-rewrite.sh
@@ -0,0 +1,100 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 Automake-provided internal make macros to deal with VPATH rewrites.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am << END
+bsub:
+ mkdir \$@
+bsub/foo: bsub
+ mkdir \$@
+bsub/foo/bar: bsub/foo
+ mkdir \$@
+bsub/mu.c++: bsub/foo
+ touch \$@
+bsub/foo/pu.cxx: bsub/foo
+ touch \$@
+
+clean-local:
+ rm -rf bsub
+
+## Yes, I'm a lazy typist.
+vr = \$(am.vpath.rewrite)
+
+test-common: bsub/foo/bar bsub/mu.c++ bsub/foo/pu.cxx
+ test '\$(call vr,Makefile)' = Makefile
+ test '\$(call vr,$tab config.status )' = config.status
+ test '\$(call vr,.)' = .
+## FIXME: These two do not work apparently :-( Such use cases are not
+## FIXME: required presently though, so this is not a big deal.
+ : test '\$(call vr, bsub$tab )' = bsub
+ : test '\$(call vr,bsub)' = bsub
+ test '\$(call vr,bsub/.)' = bsub/.
+ test '\$(call vr,bsub/mu.c++)' = bsub/mu.c++
+ test '\$(call vr,bsub/foo/pu.cxx)' = bsub/foo/pu.cxx
+ test '\$(call vr,bsub/foo )' = bsub/foo
+ test '\$(call vr,bsub/foo/bar)' = bsub/foo/bar
+ test '\$(call vr,nonesuch)' = \$(srcdir)/nonesuch
+ test '\$(call vr, $tab nonesuch2 )' = \$(srcdir)/nonesuch2
+ test '\$(call vr, sub/none)' = \$(srcdir)/sub/none
+
+test-vpath: test-common
+ test '\$(call vr,ssub)' = \$(srcdir)/ssub
+ test '\$(call vr,ssub/foo )' = \$(srcdir)/ssub/foo
+ test '\$(call vr, ssub/foo/bar)' = \$(srcdir)/ssub/foo/bar
+ test '\$(call vr,Makefile.in )' = \$(srcdir)/Makefile.in
+ test '\$(call vr,zap/paz.c)' = \$(srcdir)/zap/paz.c
+ test '\$(call vr,configure $tab)' = \$(srcdir)/configure
+ test '\$(call vr, configure.ac$tab )' = \$(srcdir)/configure.ac
+
+test-intree: test-common
+ test '\$(call vr,ssub)' = ssub
+ test '\$(call vr,ssub/foo )' = ssub/foo
+ test '\$(call vr, ssub/foo/bar)' = ssub/foo/bar
+ test '\$(call vr,Makefile.in )' = Makefile.in
+ test '\$(call vr,zap/paz.c)' = zap/paz.c
+ test '\$(call vr,configure $tab)' = configure
+ test '\$(call vr, configure.ac$tab )' = configure.ac
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+mkdir zap ssub ssub/foo ssub/foo/bar
+: > zap/paz.c
+
+./configure
+$MAKE test-intree
+$MAKE distclean
+
+mkdir build
+cd build
+../configure
+$MAKE test-vpath
+cd ..
+
+ocwd=$(pwd) || fatal_ "couldn't get current working directory"
+mkdir build2 build2/subbuild
+cd build2/subbuild
+"$ocwd"/configure
+$MAKE test-vpath
+
+:
diff --git a/t/vpath.sh b/t/vpath.sh
index ce79c67b5..03b7075e5 100644
--- a/t/vpath.sh
+++ b/t/vpath.sh
@@ -19,15 +19,29 @@
. test-init.sh
+echo AC_OUTPUT >> configure.ac
+
cat > Makefile.am << 'END'
VPATH = zardoz
+%.bar: %.foo
+ cp $< $@
END
$ACLOCAL
+$AUTOCONF
$AUTOMAKE
-grep VPATH Makefile.in # For debugging.
-grep '^VPATH = zardoz$' Makefile.in
-grep 'VPATH.*@srcdir@' Makefile.in && exit 1
+mkdir build
+cd build
+mkdir zardoz
+../configure
+
+echo OK > zardoz/file.foo
+echo KO > ../file.foo
+$MAKE file.bar
+test "$(cat file.bar)" = OK
+rm -f file.bar zardoz/file.foo
+$MAKE file.bar && exit 1
+test ! -f file.bar
:
diff --git a/t/warning-groups-win-over-strictness.sh b/t/warning-groups-win-over-strictness.sh
index c483f638b..7fb0f8dd6 100644
--- a/t/warning-groups-win-over-strictness.sh
+++ b/t/warning-groups-win-over-strictness.sh
@@ -30,8 +30,8 @@ touch README INSTALL NEWS AUTHORS ChangeLog COPYING THANKS
cat > configure.ac << END
AC_INIT([$me], [1.0])
m4_include([am-init-automake.m4])
-AC_PROG_CC
AC_CONFIG_FILES([Makefile])
+AM_CONDITIONAL([NEVERTRUE], [false)]
# Other similar tests do not use AC_OUTPUT, so we use it here,
# for completeness and for better coverage.
AC_OUTPUT
@@ -39,7 +39,9 @@ END
cat > Makefile.am <<END
include automake-options.am
-FOO := bar
+if NEVERTRUE
+AUTOMAKE_OPTIONS = no-dependencies
+endif
END
rm -rf autom4te*.cache
@@ -47,7 +49,7 @@ rm -rf autom4te*.cache
echo 'AM_INIT_AUTOMAKE' > am-init-automake.m4
$ACLOCAL
AUTOMAKE_fails -Werror -Wall --foreign
-grep '^Makefile\.am:.*:=.*not portable' stderr
+grep "^Makefile\\.am:3:.*AUTOMAKE_OPTIONS.*conditional" stderr
rm -rf autom4te*.cache
: > automake-options.am
diff --git a/t/warnings-override.sh b/t/warnings-override.sh
index 8c25b959c..382689153 100644
--- a/t/warnings-override.sh
+++ b/t/warnings-override.sh
@@ -23,14 +23,11 @@
. test-init.sh
+mkdir aux || skip_ "cannot create directories named 'aux'"
+
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
-cat > Makefile.am <<'END'
-FOO := bar
-AUTOMAKE_OPTIONS =
-END
-
set_warnings ()
{
set +x
@@ -49,9 +46,14 @@ ok ()
ko ()
{
AUTOMAKE_fails $*
- grep '^Makefile\.am:1:.*:=.*not portable' stderr
+ grep "^Makefile\\.am:.*'aux' is reserved on W32" stderr
}
+cat > Makefile.am <<END
+AUTOMAKE_OPTIONS = ## For later editing by 'set_am_opts'.
+SUBDIRS = aux
+END
+
$ACLOCAL
# Files required in gnu strictness.
diff --git a/t/warnings-precedence.sh b/t/warnings-precedence.sh
index 0e6bb3fb5..7f6bd61ac 100644
--- a/t/warnings-precedence.sh
+++ b/t/warnings-precedence.sh
@@ -20,14 +20,11 @@
. test-init.sh
+mkdir aux || skip_ "cannot create directories named 'aux'"
+
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
-cat > Makefile.am <<'END'
-FOO := bar
-AUTOMAKE_OPTIONS =
-END
-
set_warnings ()
{
set +x
@@ -46,12 +43,17 @@ ok ()
ko ()
{
AUTOMAKE_fails $*
- grep '^Makefile\.am:1:.*:=.*not portable' stderr
+ grep "^Makefile\\.am:.*'aux' is reserved on W32" stderr
}
# Files required in gnu strictness.
touch README INSTALL NEWS AUTHORS ChangeLog COPYING
+cat > Makefile.am <<END
+AUTOMAKE_OPTIONS = ## For later editing by 'set_warnings'.
+SUBDIRS = aux
+END
+
$ACLOCAL
ok -Wportability -Wno-portability
ko -Wno-portability -Wportability
diff --git a/t/warnings-strictness-interactions.sh b/t/warnings-strictness-interactions.sh
index 18a660cb6..6edd9276c 100644
--- a/t/warnings-strictness-interactions.sh
+++ b/t/warnings-strictness-interactions.sh
@@ -20,12 +20,16 @@
. test-init.sh
+mkdir aux || skip_ "cannot create directories named 'aux'"
+
# We want (almost) complete control over automake options.
AUTOMAKE="$am_original_AUTOMAKE -Werror"
+$ACLOCAL
+
cat > Makefile.am <<END
-AUTOMAKE_OPTIONS =
-FOO := bar
+AUTOMAKE_OPTIONS = ## For later editing by 'set_am_opts'.
+SUBDIRS = aux
END
set_am_opts ()
@@ -41,7 +45,6 @@ set_am_opts ()
set_am_opts '-Wportability' configure.ac
set_am_opts 'foreign' Makefile.am
-$ACLOCAL
$AUTOMAKE
rm -rf autom4te*.cache
@@ -53,7 +56,6 @@ set_am_opts '-Wno-portability' configure.ac
set_am_opts 'gnu' Makefile.am
AUTOMAKE_fails
-$ACLOCAL
-grep '^Makefile\.am:2:.*:=.*not portable' stderr
+grep "^Makefile\\.am:.*'aux' is reserved on W32" stderr
:
diff --git a/t/warnings-win-over-strictness.sh b/t/warnings-win-over-strictness.sh
index 388517add..8d177110c 100644
--- a/t/warnings-win-over-strictness.sh
+++ b/t/warnings-win-over-strictness.sh
@@ -19,6 +19,8 @@
. test-init.sh
+mkdir aux || skip_ "cannot create directories named 'aux'"
+
# We want complete control over automake options.
AUTOMAKE=$am_original_AUTOMAKE
@@ -31,11 +33,11 @@ ok ()
ko ()
{
AUTOMAKE_run $*
- grep '^Makefile\.am:.*:=.*not portable' stderr
+ grep "^Makefile\\.am:.*'aux' is reserved on W32" stderr
test $(wc -l <stderr) -eq 1
}
-set_am_opts()
+set_am_opts ()
{
set +x
sed <$2 >$2-t -e "s|^\\(AUTOMAKE_OPTIONS\\) *=.*|\\1 = $1|" \
@@ -48,13 +50,13 @@ set_am_opts()
# Files required in gnu strictness.
touch README INSTALL NEWS AUTHORS ChangeLog COPYING
+$ACLOCAL
+
cat > Makefile.am <<END
-AUTOMAKE_OPTIONS =
-FOO := bar
+AUTOMAKE_OPTIONS = ## For later editing by 'set_am_opts'.
+SUBDIRS = aux
END
-$ACLOCAL
-
ko --foreign -Wportability
ko -Wportability --foreign
ok --gnu -Wno-portability
diff --git a/t/warnopts.sh b/t/warnopts.sh
index 383a2ad48..d51b3df2a 100644
--- a/t/warnopts.sh
+++ b/t/warnopts.sh
@@ -18,13 +18,14 @@
. test-init.sh
-cat >>configure.ac <<END
+cat >> configure.ac << 'END'
+AC_PROG_CC
AC_CONFIG_FILES([sub/Makefile])
AM_CONDITIONAL([COND_FALSE], [false])
AC_OUTPUT
END
-mkdir sub
+mkdir aux sub sub/aux || skip_ "cannot create directories named 'aux'"
# These two Makefile contain the same errors, but have different
# warnings disabled.
@@ -34,31 +35,29 @@ AUTOMAKE_OPTIONS = -Wno-unsupported
if COND_FALSE
AUTOMAKE_OPTIONS += no-dependencies
endif
-foo_SOURCES = unused
-SUBDIRS = sub
+SUBDIRS = sub aux
END
cat > sub/Makefile.am << 'END'
-AUTOMAKE_OPTIONS = -Wno-syntax
+AUTOMAKE_OPTIONS = -Wno-portability
if COND_FALSE
AUTOMAKE_OPTIONS += no-dependencies
endif
-foo_SOURCES = unused
+SUBDIRS = aux
END
$ACLOCAL
AUTOMAKE_fails
-# The expected diagnostic is
+# The expected diagnostic is:
# automake: warnings are treated as errors
-# Makefile.am:5: warning: variable 'foo_SOURCES' is defined but no program or
-# Makefile.am:5: library has 'foo' as canonical name (possible typo)
+# Makefile.am:5: warning: name 'aux' is reserved on W32 and DOS platforms
# sub/Makefile.am:1: warning: 'AUTOMAKE_OPTIONS' cannot have conditional contents
-grep '^Makefile.am:.*foo_SOURCES' stderr
-grep '^sub/Makefile.am:.*AUTOMAKE_OPTIONS' stderr
-grep '^sub/Makefile.am:.*foo_SOURCES' stderr && exit 1
-grep '^Makefile.am:.*AUTOMAKE_OPTIONS' stderr && exit 1
-# Only three lines of warnings.
-test $(grep -v 'warnings are treated as errors' stderr | wc -l) = 3
+grep "^Makefile\\.am:.*'aux' is reserved on W32" stderr
+grep "^sub/Makefile\\.am:.*AUTOMAKE_OPTIONS.*conditional" stderr
+grep "^Makefile\\.am:.*AUTOMAKE_OPTIONS" stderr && exit 1
+grep "^sub/Makefile\\.am:.*'aux'" stderr && exit 1
+# Only two lines of warnings proper.
+test $(grep -v 'warnings are treated as errors' stderr | wc -l) -eq 2
rm -rf autom4te*.cache
diff --git a/t/werror.sh b/t/werror.sh
index 9da201084..479c3082a 100644
--- a/t/werror.sh
+++ b/t/werror.sh
@@ -16,11 +16,19 @@
# Test to make sure -Werror and --add-missing work together.
+am_create_testdir=empty
. test-init.sh
-: > Makefile.am
-
-rm -f install-sh depcomp missing mkinstalldirs
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+: > Makefile.am
+test ! -f install-sh # Sanity check.
$ACLOCAL
$AUTOMAKE -Werror --add-missing
+test -f install-sh # Sanity check.
+
+:
diff --git a/t/werror2.sh b/t/werror2.sh
index 12b134155..8c9a87a05 100644
--- a/t/werror2.sh
+++ b/t/werror2.sh
@@ -21,7 +21,7 @@
. test-init.sh
-echo AC_OUTPUT>>configure.ac
+echo AC_OUTPUT >> configure.ac
: > Makefile.am
@@ -35,7 +35,7 @@ $AUTOCONF
./configure
$MAKE
-cat >Makefile.am <<END
+cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = -Werror
foo_SOURCES = unused
END
diff --git a/t/werror3.sh b/t/werror3.sh
index 53aea01d3..b05d7873e 100644
--- a/t/werror3.sh
+++ b/t/werror3.sh
@@ -34,14 +34,6 @@ VAR = bar
END
$ACLOCAL
-
-# The issue would not manifest with threaded execution.
-unset AUTOMAKE_JOBS
-AUTOMAKE_run -Wno-error
-grep 'VAR multiply defined' stderr
-
-AUTOMAKE_JOBS=2
-export AUTOMAKE_JOBS
AUTOMAKE_run -Wno-error
grep 'VAR multiply defined' stderr
diff --git a/t/yacc-auxdir.sh b/t/yacc-auxdir.sh
index 152b0b835..0b3f6e6ee 100644
--- a/t/yacc-auxdir.sh
+++ b/t/yacc-auxdir.sh
@@ -50,7 +50,7 @@ test -f aux1/ylwrap
test ! -e ylwrap
test ! -e sub/ylwrap
grep -i 'ylwrap' Makefile.in sub/Makefile.in # For debugging.
-$FGREP '$(top_srcdir)/aux1/ylwrap' Makefile.in
-$FGREP '$(top_srcdir)/aux1/ylwrap' sub/Makefile.in
+$FGREP '$(am.conf.aux-dir)/ylwrap' Makefile.in
+$FGREP '$(am.conf.aux-dir)/ylwrap' sub/Makefile.in
:
diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh
index 610d911ab..b75856e83 100644
--- a/t/yacc-basic.sh
+++ b/t/yacc-basic.sh
@@ -34,7 +34,7 @@ bar_YFLAGS = -v
.PHONY: echo-distcom
echo-distcom:
- @echo ' ' $(DIST_COMMON) ' '
+ @echo ' ' $(am.dist.common-files) ' '
END
cat > parse.y << 'END'
@@ -89,7 +89,7 @@ test -f $distdir/bar-parse.c
# be distributed, or properly cleaned by automake-generated rules.
# We don't want to set the exact semantics yet, but want to ensure
# they are are consistent.
-yl_distcheck
+$MAKE distcheck
# Make sure that the Yacc-derived C sources are erased by
# maintainer-clean, and not by distclean.
diff --git a/t/yacc-bison-skeleton-cxx.sh b/t/yacc-bison-skeleton-cxx.sh
index 6e22cbed4..213906fb9 100644
--- a/t/yacc-bison-skeleton-cxx.sh
+++ b/t/yacc-bison-skeleton-cxx.sh
@@ -97,6 +97,6 @@ $MAKE
# Check that distribution is self-contained, and do not require
# bison to be built.
-yl_distcheck YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false'
+$MAKE distcheck YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false'
:
diff --git a/t/yacc-bison-skeleton.sh b/t/yacc-bison-skeleton.sh
index 03440c541..128f1c4f5 100644
--- a/t/yacc-bison-skeleton.sh
+++ b/t/yacc-bison-skeleton.sh
@@ -72,6 +72,6 @@ $MAKE
# Check that distribution is self-contained, and do not require
# bison to be built.
-yl_distcheck YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false'
+$MAKE YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false' distcheck
:
diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh
index f3296758d..d1356483a 100644
--- a/t/yacc-cxx.sh
+++ b/t/yacc-cxx.sh
@@ -38,7 +38,7 @@ foo4_YFLAGS = $(foo3_YFLAGS)
.PHONY: echo-distcom
echo-distcom:
- @echo ' ' $(DIST_COMMON) ' '
+ @echo ' ' $(am.dist.common-files) ' '
END
cat > parse1.yy << 'END'
@@ -115,7 +115,7 @@ test -f $distdir/foo4-parse4.cpp
# must either not be distributed, or properly cleaned by automake-generated
# rules. We don't want to set the exact semantics yet, but want to ensure
# they are are consistent.
-yl_distcheck
+$MAKE distcheck
# Make sure that the Yacc-derived C++ sources are erased by
# maintainer-clean, and not by distclean.
diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh
index 7232d7f25..b49c5982d 100644
--- a/t/yacc-d-basic.sh
+++ b/t/yacc-d-basic.sh
@@ -39,7 +39,7 @@ bin_PROGRAMS = zardoz
zardoz_SOURCES = parse.y main.c
.PHONY: echo-distcom
echo-distcom:
- @echo ' ' $(DIST_COMMON) ' '
+ @echo ' ' $(am.dist.common-files) ' '
END
cp foo/Makefile.am bar/Makefile.am
cp foo/Makefile.am baz/Makefile.am
@@ -146,7 +146,7 @@ for i in $generated; do
done
# Sanity check the distribution.
-yl_distcheck
+$MAKE distcheck
# While we are at it, make sure that 'parse.c' and 'parse.h' are erased
# by maintainer-clean, and not by distclean.
diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh
index 16c4ac3df..8c0d11fee 100644
--- a/t/yacc-d-cxx.sh
+++ b/t/yacc-d-cxx.sh
@@ -66,7 +66,7 @@ mkdir foo bar baz qux baz/sub
cat > Makefile.am <<'END'
.PHONY: echo-distcom
echo-distcom:
- @echo ' ' $(DIST_COMMON) ' '
+ @echo ' ' $(am.dist.common-files) ' '
END
cp Makefile.am foo/Makefile.am
cp Makefile.am bar/Makefile.am
@@ -114,7 +114,6 @@ write_main parse.hpp > bar/main.cpp
# Try with -d in $(AM_YFLAGS), and a subdir parser.
cat >> baz/Makefile.am <<END
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = joe
joe_SOURCES = sub/parse.y++ sub/main.c++
BUILT_SOURCES = sub/parse.h++
@@ -196,7 +195,7 @@ test -f $distdir/qux/maude-parse.hxx
# The Yacc-derived C++ sources must be created, and not removed once
# compiled (i.e., not treated like "intermediate files" in the GNU
# make sense).
-yl_distcheck
+$MAKE distcheck
# Check that we can recover from deleted headers.
$MAKE clean
diff --git a/t/yacc-deleted-headers.sh b/t/yacc-deleted-headers.sh
index d46b39da3..48fe1d150 100644
--- a/t/yacc-deleted-headers.sh
+++ b/t/yacc-deleted-headers.sh
@@ -101,53 +101,9 @@ $MAKE
headers='parse1.h p2-parse2.h parse3.h parse4.h'
-# Check that we remake only the necessary headers.
-
-rm -f $headers
-$MAKE parse1.h
-test -f parse1.h
-test ! -e p2-parse2.h
-test ! -e parse3.h
-test ! -e parse4.h
-
-rm -f $headers
-$MAKE p2-parse2.h
-test ! -e parse1.h
-test -f p2-parse2.h
-test ! -e parse3.h
-test ! -e parse4.h
-
-rm -f $headers
-$MAKE parse3.h
-test ! -e parse1.h
-test ! -e p2-parse2.h
-test -f parse3.h
-test ! -e parse4.h
-# Since we declared parse3.h into $(p3_SOURCES), make should be
-# able to rebuild it automatically before remaking 'p3'.
-rm -f $headers
-$MAKE clean-p3
-test ! -e parse3.h # Sanity check.
-$MAKE build-p3
-test -f parse3.h
-
-$MAKE
-
-rm -f $headers
-$MAKE parse4.h
-test ! -e parse1.h
-test ! -e p2-parse2.h
-test ! -e parse3.h
-test -f parse4.h
-
-# Now remake all the headers together.
-
rm -f $headers
$MAKE $headers
-test -f parse1.h
-test -f p2-parse2.h
-test -f parse3.h
-test -f parse4.h
+for h in $headers; do test -f $h; done
# Most headers should be remade by "make all".
@@ -156,8 +112,9 @@ $MAKE all
test -f parse1.h
test -f p2-parse2.h
test -f parse3.h
-# parse4.h is not declared in any *_SOURCES variable, nor #included
-# by any C source file, so it shouldn't be rebuilt by "make all".
+# parse4.h is not declared in any *_SOURCES variable, nor in
+# BUILT_SOURCES, nor #included by any C source file, so it
+# shouldn't be rebuilt by "make all".
test ! -e parse4.h
:
diff --git a/t/yacc-depend2.sh b/t/yacc-depend2.sh
index 15781af90..3e6b71ab4 100644
--- a/t/yacc-depend2.sh
+++ b/t/yacc-depend2.sh
@@ -15,8 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Make sure depcomp does not needlessly update headers and objects
-# for yacc rules. This test still fails with FreeBSD make (but passes
-# with NetBSD make).
+# for yacc rules.
required='cc yacc'
. test-init.sh
diff --git a/t/yacc-dist-nobuild-subdir.sh b/t/yacc-dist-nobuild-subdir.sh
index 98da7ba72..bf1d91fab 100644
--- a/t/yacc-dist-nobuild-subdir.sh
+++ b/t/yacc-dist-nobuild-subdir.sh
@@ -15,16 +15,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check that VPATH builds and "make distcheck" works with packages
-# using yacc and the automake 'subdir-objects' option.
-# Exposes automake bug#8485.
+# using yacc sources in a subdir option. Exposes automake bug#8485.
required='cc yacc'
. test-init.sh
-# This test is bounded to fail for any implementation that
-# triggers automake bug#7884.
-useless_vpath_rebuild && skip_ "would trip on automake bug#7884"
-
cat >> configure.ac << 'END'
AC_PROG_CC
AC_PROG_YACC
@@ -48,7 +43,6 @@ int main (void)
END
cat > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = subdir-objects
noinst_PROGRAMS = foo bar
foo_SOURCES = sub/parse.y
bar_SOURCES = $(foo_SOURCES)
@@ -84,9 +78,10 @@ chmod u+w .
# Try to enable dependency tracking even with slow dependency
# extractors, to improve coverage.
../configure --enable-dependency-tracking YACC=false
-$MAKE
+
+$MAKE all YACC=false
ls -l sub/*.[ch] && exit 1
-env DISTCHECK_CONFIGURE_FLAGS='YACC=false' $MAKE distcheck
+$MAKE distcheck YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false'
:
diff --git a/t/yacc-dist-nobuild.sh b/t/yacc-dist-nobuild.sh
index b38bde37d..ff4bcc607 100644
--- a/t/yacc-dist-nobuild.sh
+++ b/t/yacc-dist-nobuild.sh
@@ -83,7 +83,7 @@ chmod a-w $distdir
mkdir build2
cd build2
../$distdir/configure
-run_make -e FAIL -M
-$FGREP parse.c output
+run_make -e FAIL -E
+$FGREP parse.c stderr
:
diff --git a/t/yacc-grepping2.sh b/t/yacc-grepping2.sh
index 1ed80904d..920c98fd2 100644
--- a/t/yacc-grepping2.sh
+++ b/t/yacc-grepping2.sh
@@ -46,6 +46,7 @@ maude_YFLAGS = -d
END
$AUTOMAKE -a
+
grep '^sub/maude-maude\.c:.*sub/maude\.y' Makefile.in
# Rule should use maude_YFLAGS.
grep 'AM_YFLAGS.*maude' Makefile.in && exit 1
diff --git a/t/yacc-lex-cxx-alone.sh b/t/yacc-lex-cxx-alone.sh
new file mode 100644
index 000000000..2ce23f972
--- /dev/null
+++ b/t/yacc-lex-cxx-alone.sh
@@ -0,0 +1,116 @@
+#! /bin/sh
+# Copyright (C) 2011-2014 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/>.
+
+# Yacc + C++ support for a program built only from yacc sources.
+# Lex + C++ support for a program built only from lex sources.
+
+required='c++ yacc'
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AC_PROG_LEX
+AC_PROG_YACC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo bar
+foo_SOURCES = foo.yy
+bar_SOURCES = bar.lxx
+
+.PHONY: check-dist
+check-dist: distdir
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]foo\.cc'
+ echo ' ' $(am.dist.common-files) ' ' | grep '[ /]bar\.cxx'
+ ls -l $(distdir)
+ test -f $(distdir)/foo.cc
+ test -f $(distdir)/bar.cxx
+END
+
+cat > foo.yy << 'END'
+%{
+// Valid C++, but deliberately invalid C.
+#include <cstdio>
+#include <cstdlib>
+// "std::" qualification required by Sun C++ 5.9.
+int yylex (void) { return std::getchar (); }
+void yyerror (const char *s) { return; }
+%}
+%%
+a : 'a' { exit(0); };
+%%
+int main (void)
+{
+ yyparse ();
+ return 1;
+}
+END
+
+cat > bar.lxx << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+int isatty (int fd) { return 0; }
+%}
+%%
+"x" return EOF;
+.
+%%
+// Valid C++, but deliberately invalid C.
+#include <cstdlib>
+int main (void)
+{
+ /* We don't use a 'while' loop here (like a real lexer would do)
+ to avoid possible hangs. */
+ if (yylex () == EOF)
+ std::exit (0);
+ else
+ std::exit (1);
+}
+
+/* Avoid possible link errors. */
+int yywrap (void) { return 1; }
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+$MAKE
+
+# The Yacc-derived and Lex-derived C++ sources must be created, and not
+# removed once compiled (i.e., not treated like "intermediate files" in
+# the GNU make sense).
+test -f foo.cc
+test -f bar.cxx
+
+if cross_compiling; then :; else
+ echo a | ./foo
+ echo b | ./foo && exit 1
+ echo x | ./bar
+ echo y | ./bar && exit 1
+ : # Don't trip on 'set -e'.
+fi
+
+# The Yacc-derived and Lex-derived C++ sources must be shipped.
+$MAKE check-dist
+
+# Sanity check on distribution.
+$MAKE distcheck
+
+:
diff --git a/t/yacc-line.sh b/t/yacc-line.sh
index 39f9522e7..112dab3ca 100644
--- a/t/yacc-line.sh
+++ b/t/yacc-line.sh
@@ -14,9 +14,9 @@
# 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 yacc support ensures that yacc-generated C
-# files use correct "#line" directives.
-# See also sister test 'lex-line.test'.
+# Check that automake yacc support ensures that yacc-generated
+# C files use correct "#line" directives.
+# See also sister test 'lex-line.sh'.
required='cc yacc'
. test-init.sh
diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh
index 9d03ef7f9..e5a134ee8 100644
--- a/t/yacc-mix-c-cxx.sh
+++ b/t/yacc-mix-c-cxx.sh
@@ -153,16 +153,7 @@ for try in 0 1; do
# not override it.
run_make=$MAKE;;
*)
- # Some make implementations (e.g., HP-UX) don't grok '-j',
- # some require no space between '-j' and the number of jobs
- # (e.g., older GNU make versions), and some *do* require a
- # space between '-j' and the number of jobs (e.g., Solaris
- # dmake). We need a runtime test to see what works.
- echo 'all:' > Makefile
- for run_make in "$MAKE -j3" "$MAKE -j 3" "$MAKE"; do
- $run_make && break
- done
- rm -f Makefile
+ run_make="$MAKE -j3";;
esac
else
echo "$me: invalid value of \$try '$try'" >&2
@@ -190,13 +181,10 @@ for try in 0 1; do
# Minimal checks about recovering from header removal.
rm -f p.h parse.hh parse3.hxx
- $run_make p.h parse.hh
+ $run_make
$debug_info
test -f p.h
test -f parse.hh
- test ! -e parse3.hxx
- $run_make
- $debug_info
test -f parse3.hxx
cd $srcdir
diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh
index 866d45aba..06256778b 100644
--- a/t/yacc-nodist.sh
+++ b/t/yacc-nodist.sh
@@ -15,10 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Checks for .c and .h files derived from non-distributed yacc sources.
-# The test 'yacc-pr204.sh' does similar check with AM_MAINTAINER_MODE
-# enabled.
-# The tests 'lex-nodist.sh' and 'lex-pr204.sh' does similar checks
-# for lex-generated .c files.
+# The test 'lex-sh.test' does similar checks for lex-generated '.c'
required='cc yacc'
. test-init.sh
@@ -96,6 +93,8 @@ $MAKE
$MAKE test-build
$MAKE test-dist
-yl_distcheck
+# But the distribution must work correctly, assuming the user has
+# the proper tools to process yacc files.
+$MAKE distcheck
:
diff --git a/t/yacc-pr204.sh b/t/yacc-pr204.sh
deleted file mode 100644
index 6d8470468..000000000
--- a/t/yacc-pr204.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2015 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/>.
-
-# For PR 204.
-# C sources derived from nodist_ yacc sources should not be distributed.
-# See also related test 'yacc-nodist.sh'.
-# The tests 'lex-nodist.sh' and 'lex-pr204.sh' does similar checks
-# for lex-generated C files.
-
-required='cc yacc'
-. test-init.sh
-
-cat >> configure.ac <<'EOF'
-AM_MAINTAINER_MODE
-AC_PROG_CC
-AC_PROG_YACC
-AC_OUTPUT
-EOF
-
-# The PARSE2 intermediate variable is there to make
-# sure Automake match 'nodist_' against the right
-# variable name...
-cat > Makefile.am << 'EOF'
-AM_YFLAGS = -d
-EXTRA_PROGRAMS = foo
-PARSE2 = parse2.y
-nodist_foo_SOURCES = parse.y $(PARSE2)
-
-distdirtest: distdir
- test ! -f $(distdir)/parse.c
- test ! -f $(distdir)/parse.y
- test ! -f $(distdir)/parse.h
- test ! -f $(distdir)/parse2.c
- test ! -f $(distdir)/parse2.y
- test ! -f $(distdir)/parse2.h
-EOF
-
-cat > parse.y << 'END'
-%{
-int yylex () {return 0;}
-void yyerror (char *s) {}
-%}
-%%
-maude : 'm' 'a' 'u' 'd' 'e' {};
-END
-
-cp parse.y parse2.y
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-$MAKE distdirtest
-
-# Make sure parse.c and parse2.c are still targets.
-$MAKE parse.c parse2.c
-test -f parse.c
-test -f parse2.c
-
-# Ensure the rebuild rule works despite AM_MAINTAINER_MODE, because
-# it's a nodist_ parser.
-$sleep
-touch parse.y parse2.y
-$sleep
-$MAKE parse.c parse2.c
-is_newest parse.c parse.y
-is_newest parse2.c parse2.y
-
-:
diff --git a/t/yacc-subdir.sh b/t/yacc-subdir.sh
index 67bb5f596..6b8d32899 100644
--- a/t/yacc-subdir.sh
+++ b/t/yacc-subdir.sh
@@ -27,7 +27,6 @@ AC_OUTPUT
END
cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = foo/foo
foo_foo_SOURCES = foo/parse.y
AM_YFLAGS = -d
diff --git a/t/yacc-subobj-nodep.sh b/t/yacc-subobj-nodep.sh
new file mode 100644
index 000000000..f64b28e46
--- /dev/null
+++ b/t/yacc-subobj-nodep.sh
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2012-2014 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 subdirs for subdir parsers are generated when subdir objects
+# are used, even when dependency tracking is disabled.
+
+required='cc yacc'
+. test-init.sh
+
+cat >configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE([no-dependencies])
+AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AC_PROG_YACC
+AC_OUTPUT
+END
+
+cat >Makefile.am <<END
+bin_PROGRAMS = p1 p2
+p1_SOURCES = sub1/s1.y
+p2_SOURCES = sub2/s2.y
+p2_CPPFLAGS = -DWHATEVER
+END
+
+mkdir sub1 sub2
+
+cat >sub1/s1.y <<END
+%{
+int yylex () { return 0; }
+void yyerror (char *s) { return; }
+int main (void) { yyparse (); return 1; }
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+cp sub1/s1.y sub2/s2.y
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+mkdir build
+cd build
+
+# Sanity check.
+../configure --help # For debugging.
+../configure --help | $EGREP '(dis|en)able-depend' \
+ && fatal_ "couldn't disable dependency tracking support globally"
+
+../configure
+$MAKE sub1/s1.c
+$MAKE sub2/s2.c
+rm -rf sub1 sub2
+$MAKE
+
+:
diff --git a/t/yflags-cmdline-override.sh b/t/yflags-cmdline-override.sh
index c733d4676..eef059865 100644
--- a/t/yflags-cmdline-override.sh
+++ b/t/yflags-cmdline-override.sh
@@ -75,7 +75,7 @@ $MAKE maintainer-clean
ls -l
./configure YFLAGS='-v'
-run_make YFLAGS=-d
+$MAKE YFLAGS=-d
ls -l
test -f foo.c
test -f foo.h
diff --git a/t/yflags-cxx.sh b/t/yflags-cxx.sh
index 32463942a..ae2c0c1e4 100644
--- a/t/yflags-cxx.sh
+++ b/t/yflags-cxx.sh
@@ -57,7 +57,7 @@ grep '\$(YFLAGS).*\$(AM_YFLAGS)' Makefile.in && exit 1
$AUTOCONF
./configure
-run_make YFLAGS=__user_flags__ foo.cc bar-bar.c++
+$MAKE foo.cc bar-bar.c++ YFLAGS=__user_flags__
cat foo.cc
cat bar-bar.c++
diff --git a/t/yflags.sh b/t/yflags.sh
index 6eeaa7dfd..e90b1223c 100644
--- a/t/yflags.sh
+++ b/t/yflags.sh
@@ -57,7 +57,7 @@ grep '\$(YFLAGS).*\$(AM_YFLAGS)' Makefile.in && exit 1
$AUTOCONF
./configure
-run_make YFLAGS=__user_flags__ foo.c bar-bar.c
+$MAKE foo.c bar-bar.c YFLAGS=__user_flags__
cat foo.c
cat bar-bar.c