From 19d04ea285be5c7b1640fbdde69267353f65b8e5 Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Thu, 30 Sep 2021 12:58:11 +0900 Subject: [PATCH] Imported Upstream version 1.16.4 --- ChangeLog | 464 ++ GNUmakefile | 2 +- HACKING | 208 +- INSTALL | 6 +- Makefile.am | 3 +- Makefile.in | 30 +- NEWS | 102 +- NEWS-2.0 | 97 + README | 10 +- THANKS | 15 + aclocal.m4 | 847 +++- bin/aclocal.in | 2 +- bin/automake.in | 107 +- bin/local.mk | 2 +- bootstrap | 4 +- configure | 4948 ++++++++++---------- configure.ac | 15 +- contrib/check-html.am | 2 +- contrib/multilib/config-ml.in | 2 +- contrib/multilib/multi.m4 | 2 +- contrib/multilib/multilib.am | 2 +- contrib/multilib/symlink-tree | 2 +- contrib/t/help-multilib.sh | 2 +- contrib/t/local.mk | 2 +- contrib/t/multilib.sh | 15 +- contrib/t/parallel-tests-html-recursive.sh | 2 +- contrib/t/parallel-tests-html.sh | 2 +- contrib/tap-driver.pl | 2 +- doc/amhello-1.0.tar.gz | Bin 86268 -> 86818 bytes doc/amhello/Makefile.am | 2 +- doc/amhello/configure.ac | 2 +- doc/amhello/src/Makefile.am | 2 +- doc/amhello/src/main.c | 2 +- doc/automake-history.info | 8 +- doc/automake-history.texi | 2 +- doc/automake.info | 419 +- doc/automake.info-1 | 360 +- doc/automake.info-2 | 797 ++-- doc/automake.texi | 898 ++-- doc/fdl.texi | 2 +- doc/help2man | 2 +- doc/local.mk | 2 +- doc/stamp-vti | 8 +- doc/version.texi | 8 +- gen-testsuite-part | 2 +- lib/Automake/ChannelDefs.pm | 2 +- lib/Automake/Channels.pm | 2 +- lib/Automake/Condition.pm | 2 +- lib/Automake/Config.in | 2 +- lib/Automake/Configure_ac.pm | 2 +- lib/Automake/DisjConditions.pm | 2 +- lib/Automake/FileUtils.pm | 2 +- lib/Automake/General.pm | 2 +- lib/Automake/Getopt.pm | 2 +- lib/Automake/Item.pm | 2 +- lib/Automake/ItemDef.pm | 2 +- lib/Automake/Language.pm | 2 +- lib/Automake/Location.pm | 2 +- lib/Automake/Options.pm | 3 +- lib/Automake/Rule.pm | 2 +- lib/Automake/RuleDef.pm | 2 +- lib/Automake/VarDef.pm | 2 +- lib/Automake/Variable.pm | 2 +- lib/Automake/Version.pm | 2 +- lib/Automake/Wrap.pm | 2 +- lib/Automake/XFile.pm | 2 +- lib/Automake/local.mk | 2 +- lib/INSTALL | 6 +- lib/am/check.am | 2 +- lib/am/check2.am | 2 +- lib/am/clean-hdr.am | 2 +- lib/am/clean.am | 2 +- lib/am/compile.am | 2 +- lib/am/configure.am | 2 +- lib/am/data.am | 2 +- lib/am/dejagnu.am | 2 +- lib/am/depend.am | 2 +- lib/am/depend2.am | 2 +- lib/am/distdir.am | 7 +- lib/am/footer.am | 2 +- lib/am/header-vars.am | 2 +- lib/am/header.am | 2 +- lib/am/inst-vars.am | 2 +- lib/am/install.am | 2 +- lib/am/java.am | 2 +- lib/am/lang-compile.am | 2 +- lib/am/lex.am | 2 +- lib/am/library.am | 2 +- lib/am/libs.am | 2 +- lib/am/libtool.am | 2 +- lib/am/lisp.am | 2 +- lib/am/local.mk | 2 +- lib/am/ltlib.am | 2 +- lib/am/ltlibrary.am | 2 +- lib/am/mans-vars.am | 2 +- lib/am/mans.am | 2 +- lib/am/program.am | 2 +- lib/am/progs.am | 2 +- lib/am/python.am | 2 +- lib/am/remake-hdr.am | 2 +- lib/am/scripts.am | 2 +- lib/am/subdirs.am | 2 +- lib/am/tags.am | 5 +- lib/am/texi-vers.am | 2 +- lib/am/texibuild.am | 2 +- lib/am/texinfos.am | 2 +- lib/am/vala.am | 2 +- lib/am/yacc.am | 2 +- lib/ar-lib | 2 +- lib/compile | 2 +- lib/config.guess | 1262 ++--- lib/config.sub | 80 +- lib/depcomp | 2 +- lib/gendocs.sh | 10 +- lib/gendocs_template | 2 +- lib/gitlog-to-changelog | 7 +- lib/gnupload | 13 +- lib/local.mk | 2 +- lib/mdate-sh | 2 +- lib/missing | 2 +- lib/py-compile | 4 +- lib/tap-driver.sh | 2 +- lib/test-driver | 11 +- lib/texinfo.tex | 418 +- lib/update-copyright | 2 +- lib/ylwrap | 2 +- m4/amversion.in | 2 +- m4/amversion.m4 | 6 +- m4/ar-lib.m4 | 2 +- m4/as.m4 | 2 +- m4/auxdir.m4 | 2 +- m4/cond-if.m4 | 2 +- m4/cond.m4 | 2 +- m4/depend.m4 | 2 +- m4/depout.m4 | 2 +- m4/dmalloc.m4 | 2 +- m4/extra-recurs.m4 | 2 +- m4/gcj.m4 | 2 +- m4/init.m4 | 18 +- m4/install-sh.m4 | 2 +- m4/internal/ac-config-macro-dirs.m4 | 2 +- m4/lead-dot.m4 | 2 +- m4/lex.m4 | 2 +- m4/lispdir.m4 | 2 +- m4/local.mk | 2 +- m4/maintainer.m4 | 2 +- m4/make.m4 | 2 +- m4/missing.m4 | 2 +- m4/mkdirp.m4 | 2 +- m4/obsolete.m4 | 2 +- m4/options.m4 | 2 +- m4/prog-cc-c-o.m4 | 2 +- m4/python.m4 | 101 +- m4/runlog.m4 | 2 +- m4/sanity.m4 | 2 +- m4/silent.m4 | 2 +- m4/strip.m4 | 2 +- m4/substnot.m4 | 2 +- m4/tar.m4 | 2 +- m4/upc.m4 | 2 +- m4/vala.m4 | 2 +- maintainer/am-ft | 2 +- maintainer/am-xft | 2 +- maintainer/maint.mk | 2 +- maintainer/rename-tests | 2 +- maintainer/syntax-checks.mk | 4 +- old/ChangeLog-tests | 2 +- old/ChangeLog.00 | 2 +- old/ChangeLog.01 | 2 +- old/ChangeLog.02 | 2 +- old/ChangeLog.03 | 2 +- old/ChangeLog.04 | 2 +- old/ChangeLog.09 | 2 +- old/ChangeLog.11 | 2 +- old/ChangeLog.96 | 2 +- old/ChangeLog.98 | 2 +- old/TODO | 2 +- pre-inst-env.in | 2 +- t/CheckListOfTests.am | 2 +- t/ac-output-old.tap | 2 +- t/aclocal-I-and-install.sh | 2 +- t/aclocal-I-order-1.sh | 2 +- t/aclocal-I-order-2.sh | 2 +- t/aclocal-I-order-3.sh | 2 +- t/aclocal-acdir.sh | 2 +- t/aclocal-amflags.sh | 2 +- t/aclocal-autoconf-version-check.sh | 2 +- t/aclocal-comments-respected.sh | 2 +- t/aclocal-deleted-header-aclocal-amflags.sh | 2 +- t/aclocal-deleted-header.sh | 2 +- t/aclocal-deps-subdir.sh | 2 +- t/aclocal-deps.sh | 2 +- t/aclocal-dirlist-abspath.sh | 2 +- t/aclocal-dirlist-globbing.sh | 2 +- t/aclocal-dirlist.sh | 2 +- t/aclocal-install-absdir.sh | 2 +- t/aclocal-install-fail.sh | 2 +- t/aclocal-install-mkdir.sh | 2 +- ...local-m4-include-are-scanned-aclocal-amflags.sh | 2 +- t/aclocal-m4-include-are-scanned.sh | 2 +- t/aclocal-m4-sinclude.sh | 2 +- t/aclocal-macrodir.tap | 2 +- t/aclocal-macrodirs.tap | 2 +- t/aclocal-missing-macros.sh | 2 +- t/aclocal-no-extra-scan.sh | 2 +- t/aclocal-no-force.sh | 2 +- t/aclocal-no-install-no-mkdir.sh | 2 +- t/aclocal-no-symlinked-overwrite.sh | 2 +- t/aclocal-no-unused-required.sh | 2 +- t/aclocal-path-install-serial.sh | 2 +- t/aclocal-path-install.sh | 2 +- t/aclocal-path-nonexistent.sh | 2 +- t/aclocal-path-precedence.sh | 2 +- t/aclocal-path.sh | 2 +- t/aclocal-pr450.sh | 2 +- t/aclocal-print-acdir.sh | 2 +- t/aclocal-remake-misc.sh | 2 +- t/aclocal-req.sh | 2 +- t/aclocal-scan-configure-ac-pr319.sh | 2 +- t/aclocal-serial.sh | 2 +- t/aclocal-underquoted-defun.sh | 2 +- t/aclocal-verbose-install.sh | 2 +- t/aclocal.sh | 2 +- t/acsilent.sh | 2 +- t/acsubst.sh | 2 +- t/acsubst2.sh | 2 +- t/add-missing-install-sh.sh | 2 +- t/add-missing-multiple.sh | 2 +- t/add-missing.tap | 2 +- t/all.sh | 2 +- t/all2.sh | 2 +- t/alloca.sh | 2 +- t/alloca2.sh | 2 +- t/alpha.sh | 2 +- t/alpha2.sh | 2 +- t/am-config-header.sh | 2 +- t/am-default-source-ext.sh | 2 +- t/am-include-only-one-generated-fragment.sh | 2 +- t/am-macro-not-found.sh | 2 +- t/am-missing-prog.sh | 2 +- t/am-prog-cc-c-o.sh | 2 +- t/am-prog-cc-stdc.sh | 2 +- t/am-tests-environment.sh | 2 +- t/amassign.sh | 2 +- t/amhello-binpkg.sh | 2 +- t/amhello-cflags.sh | 2 +- t/amhello-cross-compile.sh | 2 +- t/aminit-moreargs-deprecation.sh | 2 +- t/aminit-trailing-dnl-comment-pr16841.sh | 2 +- t/amopt.sh | 2 +- t/amopts-location.sh | 2 +- t/amopts-variable-expansion.sh | 2 +- t/amsubst.sh | 2 +- t/ansi2knr-no-more.sh | 2 +- t/ar-lib.sh | 2 +- t/ar-lib2.sh | 2 +- t/ar-lib3.sh | 2 +- t/ar-lib4.sh | 2 +- t/ar-lib5a.sh | 2 +- t/ar-lib5b.sh | 2 +- t/ar-lib6a.sh | 2 +- t/ar-lib6b.sh | 2 +- t/ar-lib7.sh | 2 +- t/ar.sh | 2 +- t/ar2.sh | 2 +- t/ar3.sh | 2 +- t/ar4.sh | 2 +- t/ar5.sh | 2 +- t/asm.sh | 2 +- t/asm2.sh | 2 +- t/asm3.sh | 2 +- t/autodist-acconfig-no-subdir.sh | 2 +- t/autodist-acconfig.sh | 2 +- t/autodist-aclocal-m4.sh | 2 +- t/autodist-config-headers.sh | 2 +- t/autodist-configure-no-subdir.sh | 2 +- t/autodist-no-duplicate.sh | 2 +- t/autodist-stamp-vti.sh | 6 +- t/autodist-subdir.sh | 2 +- t/autodist.sh | 2 +- t/autohdr-subdir-pr12495.sh | 2 +- t/autohdr.sh | 2 +- t/autohdr3.sh | 2 +- t/autohdr4.sh | 2 +- t/autohdrdry.sh | 2 +- t/automake-cmdline.tap | 2 +- t/auxdir-autodetect.sh | 2 +- t/auxdir-cc-pr15981.sh | 2 +- t/auxdir-computed.tap | 2 +- t/auxdir-misplaced.sh | 2 +- t/auxdir-nonexistent.sh | 2 +- t/auxdir-pr15981.sh | 2 +- t/auxdir-pr19311.sh | 2 +- t/auxdir-unportable.tap | 2 +- t/auxdir.sh | 2 +- t/auxdir6.sh | 2 +- t/auxdir7.sh | 2 +- t/auxdir8.sh | 2 +- t/ax/am-test-lib.sh | 2 +- t/ax/cc-no-c-o.in | 2 +- t/ax/deltree.pl | 2 +- t/ax/depcomp.sh | 2 +- t/ax/distcheck-hook-m4.am | 2 +- t/ax/extract-testsuite-summary.pl | 2 +- t/ax/is | 2 +- t/ax/is_newest | 2 +- t/ax/runtest.in | 2 +- t/ax/shell-no-trail-bslash.in | 2 +- t/ax/tap-functions.sh | 2 +- t/ax/tap-setup.sh | 2 +- t/ax/tap-summary-aux.sh | 2 +- t/ax/test-defs.in | 2 +- t/ax/test-init.sh | 2 +- t/ax/test-lib.sh | 2 +- t/ax/testsuite-summary-checks.sh | 2 +- t/ax/trivial-test-driver | 2 +- t/backcompat-acout.sh | 2 +- t/backcompat.sh | 2 +- t/backcompat2.sh | 2 +- t/backcompat3.sh | 2 +- t/backcompat6.sh | 2 +- t/backslash-before-trailing-whitespace.sh | 2 +- t/backslash-issues.sh | 2 +- t/badline.sh | 2 +- t/badopt.sh | 2 +- t/badprog.sh | 2 +- t/built-sources-check.sh | 2 +- t/built-sources-cond.sh | 2 +- t/built-sources-fork-bomb.sh | 2 +- t/built-sources-install-exec.sh | 2 +- t/built-sources-install.sh | 2 +- t/built-sources-subdir.sh | 2 +- t/built-sources.sh | 2 +- t/c-demo.sh | 2 +- t/candist.sh | 2 +- t/canon-name.sh | 2 +- t/canon.sh | 2 +- t/canon2.sh | 2 +- t/canon3.sh | 2 +- t/canon4.sh | 2 +- t/canon5.sh | 2 +- t/canon6.sh | 2 +- t/canon7.sh | 2 +- t/canon8.sh | 2 +- t/ccnoco-deps.sh | 2 +- t/ccnoco-lib.sh | 2 +- t/ccnoco-lt.sh | 2 +- t/ccnoco.sh | 2 +- t/ccnoco3.sh | 2 +- t/ccnoco4.sh | 2 +- t/check-concurrency-bug9245.sh | 2 +- t/check-exported-srcdir.sh | 2 +- t/check-fd-redirect.sh | 2 +- t/check-no-test-driver.sh | 2 +- t/check-subst-prog.sh | 2 +- t/check-subst.sh | 2 +- t/check-tests-in-builddir.sh | 2 +- t/check.sh | 2 +- t/check10.sh | 2 +- t/check11.sh | 2 +- t/check12.sh | 64 +- t/check2.sh | 2 +- t/check4.sh | 2 +- t/check5.sh | 2 +- t/check6.sh | 2 +- t/check7.sh | 2 +- t/check8.sh | 2 +- t/checkall.sh | 2 +- t/clean.sh | 2 +- t/colneq.sh | 2 +- t/colneq2.sh | 2 +- t/colneq3.sh | 2 +- t/colon.sh | 2 +- t/colon2.sh | 2 +- t/colon3.sh | 2 +- t/colon4.sh | 2 +- t/colon5.sh | 2 +- t/colon6.sh | 2 +- t/colon7.sh | 2 +- t/color-tests-opt.sh | 2 +- t/color-tests.sh | 2 +- t/color-tests2.sh | 2 +- t/commen10.sh | 2 +- t/commen11.sh | 2 +- t/comment-block.sh | 2 +- t/comment.sh | 2 +- t/comment2.sh | 2 +- t/comment3.sh | 2 +- t/comment4.sh | 2 +- t/comment5.sh | 2 +- t/comment6.sh | 2 +- t/comment7.sh | 2 +- t/comment8.sh | 2 +- t/comment9.sh | 2 +- t/comments-in-var-def.sh | 2 +- t/compile.sh | 2 +- t/compile2.sh | 2 +- t/compile3.sh | 2 +- t/compile4.sh | 2 +- t/compile5.sh | 2 +- t/compile6.sh | 2 +- t/compile7.sh | 2 +- t/compile_f90_c_cxx.sh | 2 +- t/compile_f_c_cxx.sh | 2 +- t/cond-basic.sh | 2 +- t/cond.sh | 2 +- t/cond10.sh | 2 +- t/cond11.sh | 2 +- t/cond13.sh | 2 +- t/cond14.sh | 2 +- t/cond15.sh | 2 +- t/cond16.sh | 2 +- t/cond17.sh | 2 +- t/cond18.sh | 2 +- t/cond19.sh | 2 +- t/cond20.sh | 2 +- t/cond21.sh | 2 +- t/cond22.sh | 2 +- t/cond23.sh | 2 +- t/cond24.sh | 2 +- t/cond25.sh | 2 +- t/cond26.sh | 2 +- t/cond27.sh | 2 +- t/cond28.sh | 2 +- t/cond3.sh | 2 +- t/cond30.sh | 2 +- t/cond31.sh | 2 +- t/cond32.sh | 2 +- t/cond33.sh | 2 +- t/cond34.sh | 2 +- t/cond35.sh | 2 +- t/cond36.sh | 2 +- t/cond37.sh | 2 +- t/cond38.sh | 2 +- t/cond39.sh | 2 +- t/cond4.sh | 2 +- t/cond40.sh | 2 +- t/cond41.sh | 2 +- t/cond42.sh | 2 +- t/cond43.sh | 2 +- t/cond44.sh | 2 +- t/cond45.sh | 2 +- t/cond46.sh | 2 +- t/cond5.sh | 2 +- t/cond6.sh | 2 +- t/cond7.sh | 2 +- t/cond8.sh | 2 +- t/cond9.sh | 2 +- t/condd.sh | 2 +- t/condhook.sh | 2 +- t/condhook2.sh | 2 +- t/condinc.sh | 2 +- t/condinc2.sh | 2 +- t/condlib.sh | 2 +- t/condman2.sh | 2 +- t/condman3.sh | 2 +- t/confdeps.sh | 2 +- t/conff.sh | 2 +- t/conff2.sh | 2 +- t/conffile-leading-dot.sh | 2 +- t/confh-subdir-clean.sh | 2 +- t/confh.sh | 2 +- t/confh4.sh | 2 +- t/confh5.sh | 2 +- t/confh6.sh | 2 +- t/confh7.sh | 2 +- t/confh8.sh | 2 +- t/configure.sh | 2 +- t/confincl.sh | 2 +- t/conflnk.sh | 2 +- t/conflnk2.sh | 2 +- t/conflnk3.sh | 2 +- t/conflnk4.sh | 2 +- t/confsub.sh | 2 +- t/confvar.sh | 2 +- t/confvar2.sh | 2 +- t/copy.sh | 2 +- t/cscope.tap | 2 +- t/cscope2.sh | 2 +- t/cscope3.sh | 2 +- t/cxx-demo.sh | 2 +- t/cxx-lt-demo.sh | 2 +- t/cxx.sh | 2 +- t/cxx2.sh | 2 +- t/cxxcpp.sh | 2 +- t/cxxlibobj.sh | 2 +- t/cxxlink.sh | 2 +- t/cxxnoc.sh | 2 +- t/cygnus-no-more.sh | 2 +- t/cygwin32.sh | 2 +- t/dash.sh | 2 +- t/defun.sh | 2 +- t/defun2.sh | 2 +- t/dejagnu-absolute-builddir.sh | 21 +- t/dejagnu-relative-srcdir.sh | 34 +- t/dejagnu-siteexp-append.sh | 2 +- t/dejagnu-siteexp-extend.sh | 103 +- t/dejagnu-siteexp-useredit.sh | 33 +- t/dejagnu.sh | 2 +- t/dejagnu2.sh | 2 +- t/dejagnu3.sh | 22 +- t/dejagnu4.sh | 41 +- t/dejagnu5.sh | 22 +- t/dejagnu6.sh | 21 +- t/dejagnu7.sh | 21 +- t/deleted-am.sh | 2 +- t/deleted-m4.sh | 2 +- t/depacl2.sh | 2 +- t/depcomp-implicit-auxdir.sh | 2 +- t/depcomp.sh | 2 +- t/depcomp2.sh | 2 +- t/depcomp8a.sh | 2 +- t/depcomp8b.sh | 2 +- t/depdist.sh | 2 +- t/depend-postproc.sh | 2 +- t/depend.sh | 2 +- t/depend3.sh | 2 +- t/depend4.sh | 2 +- t/depend5.sh | 2 +- t/depend6.sh | 2 +- t/deprecated-acinit.sh | 3 +- t/destdir.sh | 2 +- t/dir-named-obj-is-bad.sh | 2 +- t/discover.sh | 2 +- t/dist-auxdir-many-subdirs.sh | 2 +- t/dist-auxfile-2.sh | 2 +- t/dist-auxfile.sh | 2 +- t/dist-formats.tap | 2 +- t/dist-included-parent-dir.sh | 2 +- t/dist-install-sh.sh | 2 +- t/dist-lzma.sh | 2 +- t/dist-missing-am.sh | 2 +- t/dist-missing-included-m4.sh | 2 +- t/dist-missing-m4.sh | 2 +- t/dist-no-built-sources.sh | 72 + t/dist-pr109765.sh | 2 +- t/dist-readonly.sh | 2 +- t/dist-repeated.sh | 2 +- t/dist-shar.sh | 2 +- t/dist-tarZ.sh | 2 +- t/dist-vs-built-sources.sh | 2 +- t/dist-with-unreadable-makefile-fails.sh | 2 +- t/distcheck-configure-flags-am.sh | 2 +- t/distcheck-configure-flags-subpkg.sh | 2 +- t/distcheck-configure-flags.sh | 2 +- t/distcheck-hook.sh | 2 +- t/distcheck-hook2.sh | 2 +- t/distcheck-missing-m4.sh | 2 +- t/distcheck-no-prefix-or-srcdir-override.sh | 2 +- t/distcheck-outdated-m4.sh | 2 +- t/distcheck-override-dvi.sh | 2 +- t/distcheck-override-infodir.sh | 2 +- t/distcheck-pr10470.sh | 2 +- t/distcheck-pr18286.sh | 2 +- t/distcheck-pr9579.sh | 2 +- t/distcheck-writable-srcdir.sh | 2 +- t/distcleancheck.sh | 2 +- t/distcom-subdir.sh | 2 +- t/distcom2.sh | 2 +- t/distcom3.sh | 2 +- t/distcom4.sh | 2 +- t/distcom5.sh | 2 +- t/distdir.sh | 2 +- t/disthook.sh | 2 +- t/distlinks.sh | 2 +- t/distlinksbrk.sh | 2 +- t/distname.sh | 2 +- t/dmalloc.sh | 2 +- t/doc-parsing-buglets-colneq-subst.sh | 2 +- t/doc-parsing-buglets-tabs.sh | 2 +- t/dollar.sh | 2 +- t/dollarvar.sh | 2 +- t/dollarvar2.sh | 2 +- t/double.sh | 2 +- t/dup2.sh | 2 +- t/else.sh | 2 +- t/empty-data-primary.sh | 2 +- t/empty-sources-primary.tap | 2 +- t/exdir.sh | 2 +- t/exdir2.sh | 2 +- t/exdir3.sh | 2 +- t/exeext.sh | 2 +- t/exeext2.sh | 2 +- t/exeext3.sh | 2 +- t/exeext4.sh | 2 +- t/ext.sh | 2 +- t/ext2.sh | 2 +- t/ext3.sh | 2 +- t/extra-data.sh | 2 +- t/extra-deps-lt.sh | 2 +- t/extra-deps.sh | 2 +- t/extra-dist-dirs-and-subdirs.sh | 2 +- t/extra-dist-vpath-dir-merge.sh | 2 +- t/extra-dist-vpath-dir.sh | 2 +- t/extra-dist-wildcards-gnu.sh | 2 +- t/extra-dist-wildcards-vpath.sh | 2 +- t/extra-dist-wildcards.sh | 2 +- t/extra-portability.sh | 2 +- t/extra-portability2.sh | 2 +- t/extra-portability3.sh | 2 +- t/extra-programs-and-libs.sh | 2 +- t/extra-programs-empty.sh | 2 +- t/extra-programs-misc.sh | 2 +- t/extra-sources-no-spurious.sh | 2 +- t/extra-sources.sh | 2 +- t/extra.sh | 2 +- t/f90only.sh | 2 +- t/flavor.sh | 2 +- t/flibs.sh | 2 +- t/fn99.sh | 2 +- t/fn99subdir.sh | 2 +- t/fnoc.sh | 2 +- t/fonly.sh | 2 +- t/forcemiss.sh | 2 +- t/forcemiss2.sh | 2 +- t/fort1.sh | 2 +- t/fort2.sh | 2 +- t/fort4.sh | 2 +- t/fort5.sh | 2 +- t/fortdep.sh | 2 +- t/gcj.sh | 2 +- t/gcj2.sh | 2 +- t/gcj3.sh | 2 +- t/gcj4.sh | 2 +- t/gcj5.sh | 2 +- t/gcj6.sh | 2 +- t/get-sysconf.sh | 2 +- t/gettext-basics.sh | 2 +- t/gettext-config-rpath.sh | 2 +- t/gettext-external-pr338.sh | 2 +- t/gettext-intl-subdir.sh | 2 +- t/gettext-macros.sh | 2 +- t/gettext-pr381.sh | 2 +- t/gnits.sh | 2 +- t/gnits2.sh | 2 +- t/gnits3.sh | 2 +- t/gnumake.sh | 2 +- t/gnuwarn.sh | 2 +- t/gnuwarn2.sh | 2 +- t/hdr-vars-defined-once.sh | 2 +- t/header.sh | 2 +- t/help-depend.sh | 2 +- t/help-depend2.sh | 2 +- t/help-dmalloc.sh | 2 +- t/help-init.sh | 2 +- t/help-lispdir.sh | 2 +- t/help-python.sh | 2 +- t/help-silent.sh | 2 +- t/help-upc.sh | 2 +- t/help.sh | 2 +- t/help2.sh | 2 +- t/help3.sh | 2 +- t/help4.sh | 2 +- t/hfs.sh | 2 +- t/implicit.sh | 2 +- t/init.sh | 3 +- t/init2.sh | 2 +- t/install-info-dir.sh | 2 +- t/install-sh-option-C.sh | 2 +- t/install-sh-option-S.sh | 2 +- t/install-sh-unittests.sh | 2 +- t/installdir.sh | 2 +- t/instdat.sh | 2 +- t/instdat2.sh | 2 +- t/instdir-cond.sh | 2 +- t/instdir-cond2.sh | 2 +- t/instdir-java.sh | 2 +- t/instdir-lisp.sh | 2 +- t/instdir-ltlib.sh | 2 +- t/instdir-no-empty.sh | 2 +- t/instdir-prog.sh | 2 +- t/instdir-python.sh | 2 +- t/instdir-texi.sh | 2 +- t/instdir.sh | 2 +- t/instdir2.sh | 2 +- t/instexec.sh | 2 +- t/instfail-info.sh | 2 +- t/instfail-java.sh | 2 +- t/instfail-libtool.sh | 2 +- t/instfail.sh | 2 +- t/insthook.sh | 2 +- t/instman.sh | 2 +- t/instman2.sh | 2 +- t/instmany-mans.sh | 2 +- t/instmany-python.sh | 16 +- t/instmany.sh | 2 +- t/instspc.tap | 2 +- t/interp.sh | 2 +- t/interp2.sh | 2 +- t/java-check.sh | 2 +- t/java-clean.sh | 2 +- t/java-compile-install.sh | 7 +- t/java-compile-run-flat.sh | 10 +- t/java-compile-run-nested.sh | 20 +- t/java-empty-classpath.sh | 2 +- t/java-extra.sh | 2 +- t/java-mix.sh | 2 +- t/java-no-duplicate.sh | 2 +- t/java-nobase.sh | 2 +- t/java-noinst.sh | 2 +- t/java-rebuild.sh | 2 +- t/java-sources.sh | 2 +- t/java-uninstall.sh | 7 +- t/java.sh | 2 +- t/java2.sh | 2 +- t/java3.sh | 2 +- t/javadir-undefined.sh | 2 +- t/javaflags.sh | 2 +- t/javaprim.sh | 2 +- t/javasubst.sh | 2 +- t/ldadd.sh | 2 +- t/ldflags.sh | 2 +- t/lex-clean-cxx.sh | 2 +- t/lex-clean.sh | 2 +- t/lex-depend-cxx.sh | 2 +- t/lex-depend-grep.sh | 2 +- t/lex-depend.sh | 2 +- t/lex-header.sh | 2 +- t/lex-lib-external.sh | 2 +- t/lex-lib.sh | 2 +- t/lex-libobj.sh | 2 +- t/lex-line.sh | 2 +- t/lex-multiple.sh | 2 +- t/lex-nodist.sh | 2 +- t/lex-noyywrap.sh | 2 +- t/lex-pr204.sh | 2 +- t/lex-subobj-nodep.sh | 2 +- t/lex.sh | 2 +- t/lex2.sh | 2 +- t/lex3.sh | 2 +- t/lex5.sh | 2 +- t/lexcpp.sh | 2 +- t/lexvpath.sh | 2 +- t/lflags-cxx.sh | 2 +- t/lflags.sh | 2 +- t/libexec.sh | 2 +- t/libobj-basic.sh | 2 +- t/libobj-no-dependency-tracking.sh | 2 +- t/libobj10.sh | 2 +- t/libobj12.sh | 2 +- t/libobj13.sh | 2 +- t/libobj14.sh | 2 +- t/libobj15a.sh | 2 +- t/libobj15b.sh | 2 +- t/libobj15c.sh | 2 +- t/libobj16a.sh | 2 +- t/libobj16b.sh | 2 +- t/libobj17.sh | 2 +- t/libobj18.sh | 2 +- t/libobj19.sh | 2 +- t/libobj2.sh | 2 +- t/libobj20a.sh | 2 +- t/libobj20b.sh | 2 +- t/libobj20c.sh | 2 +- t/libobj3.sh | 2 +- t/libobj4.sh | 2 +- t/libobj5.sh | 2 +- t/libobj7.sh | 2 +- t/library.sh | 2 +- t/library2.sh | 2 +- t/library3.sh | 2 +- t/libtoo10.sh | 2 +- t/libtoo11.sh | 2 +- t/libtool-macros.sh | 2 +- t/libtool.sh | 2 +- t/libtool2.sh | 2 +- t/libtool3.sh | 2 +- t/libtool4.sh | 2 +- t/libtool5.sh | 2 +- t/libtool6.sh | 2 +- t/libtool7.sh | 2 +- t/libtool8.sh | 2 +- t/libtool9.sh | 2 +- t/license.sh | 2 +- t/license2.sh | 2 +- t/link_c_cxx.sh | 2 +- t/link_cond.sh | 2 +- t/link_dist.sh | 2 +- t/link_f90_only.sh | 2 +- t/link_f_only.sh | 2 +- t/link_fc.sh | 2 +- t/link_fccxx.sh | 2 +- t/link_fcxx.sh | 2 +- t/link_override.sh | 9 +- t/lisp-flags.sh | 2 +- t/lisp-loadpath.sh | 2 +- t/lisp-pr11806.sh | 2 +- t/lisp-readonly-srcdir.sh | 2 +- t/lisp-subdir-mix.sh | 2 +- t/lisp-subdir.sh | 2 +- t/lisp-subdir2.sh | 2 +- t/lisp2.sh | 2 +- t/lisp3.sh | 2 +- t/lisp4.sh | 2 +- t/lisp5.sh | 2 +- t/lisp6.sh | 2 +- t/lisp7.sh | 2 +- t/lisp8.sh | 2 +- t/lispdry.sh | 2 +- t/list-of-tests.mk | 5 +- t/listval.sh | 2 +- t/local.mk | 2 +- t/location.sh | 2 +- t/longlin2.sh | 2 +- t/longline.sh | 2 +- t/ltcond.sh | 2 +- t/ltcond2.sh | 2 +- t/ltconv.sh | 2 +- t/ltdeps.sh | 2 +- t/ltinit.sh | 2 +- t/ltinstloc.sh | 2 +- t/ltlibobjs.sh | 2 +- t/ltlibsrc.sh | 2 +- t/ltorder.sh | 2 +- t/m4-inclusion.sh | 2 +- t/maintclean-vpath.sh | 2 +- t/maintclean.sh | 2 +- t/maintmode-configure-msg.sh | 2 +- t/make-dryrun.tap | 2 +- t/make-is-gnu.sh | 2 +- t/make-keepgoing.tap | 2 +- t/make.sh | 2 +- t/makefile-deps.sh | 2 +- t/makej.sh | 2 +- t/makej2.sh | 2 +- t/maken.sh | 2 +- t/maken3.sh | 2 +- t/makevars.sh | 2 +- t/man.sh | 2 +- t/man2.sh | 2 +- t/man3.sh | 2 +- t/man5.sh | 2 +- t/man6.sh | 2 +- t/man7.sh | 2 +- t/man8.sh | 2 +- t/mdate.sh | 2 +- t/mdate2.sh | 2 +- t/mdate3.sh | 2 +- t/mdate4.sh | 2 +- t/mdate5.sh | 2 +- t/mdate6.sh | 2 +- t/missing-auxfile-stops-makefiles-creation.sh | 2 +- t/missing-version-mismatch.sh | 2 +- t/missing3.sh | 2 +- t/mkdir_p.sh | 2 +- t/mkdirp-deprecation.sh | 2 +- t/mkinst2.sh | 2 +- t/mkinst3.sh | 2 +- t/mkinstall.sh | 2 +- t/mmode.sh | 2 +- t/mmodely.sh | 2 +- t/no-extra-c-stuff.sh | 2 +- t/no-extra-makefile-code.sh | 2 +- t/no-spurious-install-recursive.sh | 2 +- t/nobase-libtool.sh | 2 +- t/nobase-nodist.sh | 2 +- t/nobase-python.sh | 2 +- t/nobase.sh | 2 +- t/nodef.sh | 2 +- t/nodef2.sh | 2 +- t/nodep.sh | 2 +- t/nodep2.sh | 2 +- t/nodepcomp.sh | 2 +- t/nodist.sh | 2 +- t/nodist2.sh | 2 +- t/nodist3.sh | 2 +- t/noinst.sh | 2 +- t/noinstdir.sh | 2 +- t/nolink.sh | 2 +- t/nostdinc.sh | 2 +- t/notrans.sh | 2 +- t/number.sh | 2 +- t/objc-basic.sh | 2 +- t/objc-deps.sh | 2 +- t/objc-flags.sh | 2 +- t/objc-megademo.sh | 2 +- t/objc-minidemo.sh | 2 +- t/objcxx-basic.sh | 2 +- t/objcxx-deps.sh | 2 +- t/objcxx-flags.sh | 2 +- t/objcxx-minidemo.sh | 2 +- t/objext-pr10128.sh | 2 +- t/oldvars.sh | 2 +- t/order.sh | 2 +- t/output-order.sh | 2 +- t/output.sh | 2 +- t/output10.sh | 2 +- t/output11.sh | 2 +- t/output12.sh | 2 +- t/output13.sh | 2 +- t/output2.sh | 2 +- t/output3.sh | 2 +- t/output4.sh | 2 +- t/output5.sh | 2 +- t/output6.sh | 2 +- t/output7.sh | 2 +- t/output8.sh | 2 +- t/output9.sh | 2 +- t/override-conditional-1.sh | 2 +- t/override-conditional-2.sh | 2 +- t/override-conditional-pr13940.sh | 2 +- t/override-html.sh | 2 +- t/override-suggest-local.sh | 2 +- t/parallel-am.sh | 2 +- t/parallel-am2.sh | 2 +- t/parallel-am3.sh | 2 +- t/parallel-tests-basics.sh | 2 +- t/parallel-tests-cmdline-override.sh | 2 +- t/parallel-tests-concurrency-2.sh | 2 +- t/parallel-tests-concurrency.sh | 2 +- t/parallel-tests-console-output.sh | 2 +- t/parallel-tests-driver-install.sh | 2 +- t/parallel-tests-dry-run-1.sh | 2 +- t/parallel-tests-dry-run-2.sh | 2 +- t/parallel-tests-empty-testlogs.sh | 2 +- t/parallel-tests-empty.sh | 2 +- t/parallel-tests-exeext.sh | 2 +- t/parallel-tests-exit-status-reported.sh | 2 +- t/parallel-tests-exit-statuses.sh | 2 +- t/parallel-tests-extra-programs.sh | 2 +- t/parallel-tests-fd-redirect-exeext.sh | 2 +- t/parallel-tests-fd-redirect.sh | 2 +- t/parallel-tests-fork-bomb.sh | 2 +- t/parallel-tests-generated-and-distributed.sh | 2 +- t/parallel-tests-harderror.sh | 2 +- t/parallel-tests-interrupt.tap | 2 +- t/parallel-tests-log-compiler-1.sh | 2 +- t/parallel-tests-log-compiler-2.sh | 2 +- t/parallel-tests-log-compiler-example.sh | 2 +- t/parallel-tests-log-override-1.sh | 2 +- t/parallel-tests-log-override-2.sh | 2 +- t/parallel-tests-log-override-recheck.sh | 2 +- t/parallel-tests-no-color-in-log.sh | 2 +- t/parallel-tests-no-spurious-summary.sh | 2 +- t/parallel-tests-once.sh | 2 +- t/parallel-tests-recheck-depends-on-all.sh | 2 +- t/parallel-tests-recheck-pr11791.sh | 2 +- t/parallel-tests-recheck.sh | 2 +- t/parallel-tests-reset-term.sh | 2 +- t/parallel-tests-subdir.sh | 2 +- t/parallel-tests-suffix-prog.sh | 2 +- t/parallel-tests-suffix.sh | 2 +- t/parallel-tests-trailing-whitespace.sh | 2 +- t/parallel-tests-unreadable.sh | 2 +- t/parse.sh | 2 +- t/per-target-flags.sh | 2 +- t/percent.sh | 2 +- t/percent2.sh | 2 +- t/perf/cond.sh | 2 +- t/perf/testsuite-recheck.sh | 2 +- t/perf/testsuite-summary.sh | 2 +- t/phony.sh | 2 +- t/pkg-config-macros.sh | 2 +- t/pluseq.sh | 2 +- t/pluseq10.sh | 2 +- t/pluseq11.sh | 2 +- t/pluseq2.sh | 2 +- t/pluseq3.sh | 2 +- t/pluseq4.sh | 2 +- t/pluseq5.sh | 2 +- t/pluseq6.sh | 2 +- t/pluseq7.sh | 2 +- t/pluseq8.sh | 2 +- t/pluseq9.sh | 2 +- t/pm/Cond2.pl | 2 +- t/pm/Cond3.pl | 2 +- t/pm/Condition-t.pl | 2 +- t/pm/Condition.pl | 2 +- t/pm/DisjCon2.pl | 2 +- t/pm/DisjCon3.pl | 2 +- t/pm/DisjConditions-t.pl | 2 +- t/pm/DisjConditions.pl | 2 +- t/pm/General.pl | 2 +- t/pm/Version.pl | 2 +- t/pm/Version2.pl | 2 +- t/pm/Version3.pl | 2 +- t/pm/Wrap.pl | 2 +- t/posixsubst-data.sh | 2 +- t/posixsubst-extradist.sh | 2 +- t/posixsubst-ldadd.sh | 2 +- t/posixsubst-libraries.sh | 2 +- t/posixsubst-ltlibraries.sh | 2 +- t/posixsubst-programs.sh | 2 +- t/posixsubst-scripts.sh | 2 +- t/posixsubst-sources.sh | 2 +- t/posixsubst-tests.sh | 2 +- t/ppf77.sh | 2 +- t/pr2.sh | 2 +- t/pr211.sh | 2 +- t/pr220.sh | 2 +- t/pr224.sh | 2 +- t/pr229.sh | 2 +- t/pr243.sh | 2 +- t/pr266.sh | 2 +- t/pr279-2.sh | 2 +- t/pr279.sh | 2 +- t/pr287.sh | 2 +- t/pr300-lib.sh | 2 +- t/pr300-ltlib.sh | 2 +- t/pr300-prog.sh | 2 +- t/pr307.sh | 2 +- t/pr401.sh | 2 +- t/pr401b.sh | 2 +- t/pr401c.sh | 2 +- t/pr72.sh | 2 +- t/pr87.sh | 2 +- t/pr9.sh | 2 +- t/precious.sh | 2 +- t/prefix.sh | 2 +- t/preproc-basics.sh | 2 +- t/preproc-c-compile.sh | 2 +- t/preproc-demo.sh | 2 +- t/preproc-errmsg.sh | 2 +- t/primary-prefix-couples-documented-valid.sh | 2 +- t/primary-prefix-couples-force-valid.sh | 2 +- t/primary-prefix-invalid-couples.tap | 2 +- t/primary-prefix-valid-couples.sh | 2 +- t/primary.sh | 2 +- t/primary2.sh | 2 +- t/primary3.sh | 2 +- t/print-libdir.sh | 2 +- t/proginst.sh | 2 +- t/programs-primary-rewritten.sh | 2 +- t/py-compile-basedir.sh | 2 +- t/py-compile-basic.sh | 2 +- t/py-compile-destdir.sh | 2 +- t/py-compile-env.sh | 2 +- t/py-compile-option-terminate.sh | 2 +- t/py-compile-usage.sh | 2 +- t/python-am-path-iftrue.sh | 2 +- t/python-dist.sh | 2 +- t/python-missing.sh | 2 +- t/python-pr10995.sh | 2 +- t/python-prefix.sh | 91 + t/python-too-old.sh | 2 +- t/python-vars.sh | 41 +- t/python-virtualenv.sh | 4 +- t/python.sh | 2 +- t/python10.sh | 2 +- t/python11.sh | 2 +- t/python12.sh | 2 +- t/python2.sh | 2 +- t/python3.sh | 2 +- t/recurs-user-deeply-nested.sh | 2 +- t/recurs-user-indir.sh | 2 +- t/recurs-user-keep-going.sh | 2 +- t/recurs-user-many.sh | 2 +- t/recurs-user-no-subdirs.sh | 2 +- t/recurs-user-no-top-level.sh | 2 +- t/recurs-user-override.sh | 2 +- t/recurs-user-phony.sh | 2 +- t/recurs-user-wrap.sh | 2 +- t/recurs-user.sh | 2 +- t/recurs-user2.sh | 2 +- t/relativize.tap | 2 +- t/remake-aclocal-version-mismatch.sh | 2 +- t/remake-after-acinclude-m4.sh | 2 +- t/remake-after-aclocal-m4.sh | 2 +- t/remake-after-configure-ac.sh | 2 +- t/remake-after-makefile-am.sh | 2 +- t/remake-all-1.sh | 2 +- t/remake-all-2.sh | 2 +- t/remake-am-pr10111.sh | 2 +- t/remake-config-status-dependencies.sh | 2 +- t/remake-configure-dependencies.sh | 2 +- t/remake-deeply-nested.sh | 2 +- t/remake-deleted-am-2.sh | 2 +- t/remake-deleted-am-subdir.sh | 2 +- t/remake-deleted-am.sh | 2 +- t/remake-deleted-m4-file.sh | 2 +- t/remake-fail.sh | 2 +- t/remake-gnulib-add-acsubst.sh | 2 +- t/remake-gnulib-add-header.sh | 2 +- t/remake-gnulib-remove-header.sh | 2 +- t/remake-include-aclocal.sh | 2 +- t/remake-include-configure.sh | 2 +- t/remake-include-makefile.sh | 2 +- t/remake-m4-pr10111.sh | 2 +- t/remake-macrodir.sh | 2 +- t/remake-maintainer-mode.sh | 2 +- t/remake-makefile-intree.sh | 2 +- t/remake-makefile-vpath.sh | 2 +- t/remake-mild-stress.sh | 2 +- t/remake-moved-m4-file.sh | 2 +- t/remake-not-after-make-dist.sh | 2 +- t/remake-recurs-user.sh | 2 +- t/remake-renamed-am.sh | 2 +- t/remake-renamed-m4-file.sh | 2 +- t/remake-renamed-m4-macro-and-file.sh | 2 +- t/remake-renamed-m4-macro.sh | 2 +- t/remake-subdir-from-subdir.sh | 2 +- t/remake-subdir-gnu.sh | 2 +- t/remake-subdir-grepping.sh | 2 +- t/remake-subdir-long-time.sh | 2 +- t/remake-subdir-no-makefile.sh | 2 +- t/remake-subdir-only.sh | 2 +- t/remake-subdir.sh | 2 +- t/remake-subdir2.sh | 2 +- t/remake-subdir3.sh | 2 +- t/remake-timing-bug-pr8365.sh | 2 +- t/repeated-options.sh | 2 +- t/reqd2.sh | 2 +- t/rm-f-probe.sh | 2 +- t/rulepat.sh | 2 +- t/sanity.sh | 2 +- t/seenc.sh | 2 +- t/self-check-cc-no-c-o.sh | 2 +- t/self-check-configure-help.sh | 2 +- t/self-check-dir.tap | 2 +- t/self-check-exit.tap | 2 +- t/self-check-explicit-skips.sh | 2 +- t/self-check-is-blocked-signal.tap | 2 +- t/self-check-is_newest.tap | 2 +- t/self-check-me.tap | 2 +- t/self-check-report.sh | 2 +- t/self-check-seq.tap | 2 +- t/self-check-shell-no-trail-bslash.sh | 2 +- t/self-check-unindent.tap | 2 +- t/serial-tests.sh | 2 +- t/silent-c.sh | 2 +- t/silent-configsite.sh | 2 +- t/silent-custom.sh | 2 +- t/silent-cxx.sh | 2 +- t/silent-f77.sh | 2 +- t/silent-f90.sh | 2 +- t/silent-gen.sh | 2 +- t/silent-lex.sh | 2 +- t/silent-lt.sh | 2 +- t/silent-many-languages.sh | 2 +- t/silent-nested-vars.sh | 2 +- t/silent-texi.sh | 2 +- t/silent-yacc-headers.sh | 2 +- t/silent-yacc.sh | 2 +- t/sourcefile-in-subdir.sh | 2 +- t/space.sh | 2 +- t/specflg-dummy.sh | 2 +- t/specflg6.sh | 2 +- t/specflg7.sh | 2 +- t/specflg8.sh | 2 +- t/specflg9.sh | 2 +- t/spell.sh | 2 +- t/spell2.sh | 2 +- t/spell3.sh | 2 +- t/spelling.sh | 2 +- t/spy-double-colon.sh | 2 +- t/spy-rm.tap | 2 +- t/src-acsubst.sh | 2 +- t/stamph2.sh | 2 +- t/stdinc.sh | 2 +- t/stdlib.sh | 2 +- t/stdlib2.sh | 2 +- t/strictness-override.sh | 2 +- t/strictness-precedence.sh | 2 +- t/strip.sh | 2 +- t/strip2.sh | 2 +- t/strip3.sh | 2 +- t/subdir-ac-subst.sh | 2 +- t/subdir-add-pr46.sh | 2 +- t/subdir-add2-pr46.sh | 2 +- t/subdir-am-cond.sh | 2 +- t/subdir-cond-err.sh | 2 +- t/subdir-cond-gettext.sh | 2 +- t/subdir-distclean.sh | 2 +- t/subdir-env-interference.sh | 2 +- t/subdir-keep-going-pr12554.sh | 2 +- t/subdir-order.sh | 2 +- t/subdir-subsub.sh | 2 +- t/subdir-with-slash.sh | 2 +- t/subdir.sh | 2 +- t/subobj-clean-lt-pr10697.sh | 2 +- t/subobj-clean-pr10697.sh | 2 +- t/subobj-indir-pr13928.sh | 2 +- t/subobj-objname-clash.sh | 2 +- t/subobj-pr13928-more-langs.sh | 2 +- t/subobj-vpath-pr13928.sh | 2 +- t/subobj.sh | 4 +- t/subobj10.sh | 2 +- t/subobj11a.sh | 2 +- t/subobj11b.sh | 2 +- t/subobj11c.sh | 2 +- t/subobj2.sh | 2 +- t/subobj4.sh | 2 +- t/subobj5.sh | 2 +- t/subobj6.sh | 2 +- t/subobj7.sh | 2 +- t/subobj8.sh | 2 +- t/subobj9.sh | 2 +- t/subobjname.sh | 2 +- t/subpkg-macrodir.sh | 2 +- t/subpkg-yacc.sh | 2 +- t/subpkg.sh | 2 +- t/subpkg2.sh | 2 +- t/subpkg3.sh | 2 +- t/subpkg4.sh | 2 +- t/subst-no-trailing-empty-line.sh | 2 +- t/subst.sh | 2 +- t/subst3.sh | 2 +- t/subst4.sh | 2 +- t/subst5.sh | 2 +- t/substre2.sh | 2 +- t/substref.sh | 2 +- t/substtarg.sh | 2 +- t/suffix-chain.tap | 2 +- t/suffix-custom-pr14441.sh | 2 +- t/suffix-custom-subobj-and-specflg.sh | 2 +- t/suffix-custom-subobj.sh | 2 +- t/suffix-extra-c-stuff-pr14560.sh | 2 +- t/suffix.sh | 2 +- t/suffix10.tap | 2 +- t/suffix11.tap | 2 +- t/suffix2.sh | 2 +- t/suffix3.tap | 2 +- t/suffix4.sh | 2 +- t/suffix5.sh | 2 +- t/suffix6.sh | 2 +- t/suffix6b.sh | 2 +- t/suffix6c.sh | 2 +- t/suffix7.sh | 2 +- t/suffix8.tap | 2 +- t/suffix9.sh | 2 +- t/symlink.sh | 2 +- t/symlink2.sh | 2 +- t/syntax.sh | 2 +- t/tags-lisp-space.sh | 2 +- t/tags-pr12372.sh | 2 +- t/tags.sh | 2 +- t/tags2.sh | 2 +- t/tagsub.sh | 2 +- t/tap-ambiguous-directive.sh | 2 +- t/tap-autonumber.sh | 2 +- t/tap-bad-prog.tap | 2 +- t/tap-bailout-and-logging.sh | 2 +- t/tap-bailout-leading-space.sh | 2 +- t/tap-bailout-suppress-badexit.sh | 2 +- t/tap-bailout-suppress-later-diagnostic.sh | 2 +- t/tap-bailout-suppress-later-errors.sh | 2 +- t/tap-bailout.sh | 2 +- t/tap-basic.sh | 2 +- t/tap-color.sh | 2 +- t/tap-common-setup.sh | 2 +- t/tap-deps.sh | 2 +- t/tap-diagnostic-custom.sh | 2 +- t/tap-diagnostic.sh | 2 +- t/tap-doc.sh | 2 +- t/tap-doc2.sh | 2 +- t/tap-driver-stderr.sh | 2 +- t/tap-empty-diagnostic.sh | 2 +- t/tap-empty.sh | 2 +- t/tap-escape-directive-2.sh | 2 +- t/tap-escape-directive.sh | 2 +- t/tap-exit.sh | 2 +- t/tap-fancy.sh | 2 +- t/tap-fancy2.sh | 2 +- t/tap-global-log.sh | 2 +- t/tap-global-result.sh | 2 +- t/tap-log.sh | 2 +- t/tap-merge-stdout-stderr.sh | 2 +- t/tap-missing-plan-and-bad-exit.sh | 2 +- t/tap-more.sh | 2 +- t/tap-more2.sh | 2 +- t/tap-msg0-bailout.sh | 2 +- t/tap-msg0-directive.sh | 2 +- t/tap-msg0-misc.sh | 2 +- t/tap-msg0-planskip.sh | 2 +- t/tap-msg0-result.sh | 2 +- t/tap-negative-numbers.sh | 2 +- t/tap-no-disable-hard-error.sh | 2 +- t/tap-no-merge-stdout-stderr.sh | 2 +- t/tap-no-spurious-numbers.sh | 2 +- t/tap-no-spurious-summary.sh | 2 +- t/tap-no-spurious.sh | 2 +- t/tap-not-ok-skip.sh | 2 +- t/tap-number-wordboundary.sh | 2 +- t/tap-numbers-leading-zero.sh | 2 +- t/tap-numeric-description.sh | 2 +- t/tap-out-of-order.sh | 2 +- t/tap-passthrough-exit.sh | 2 +- t/tap-passthrough.sh | 2 +- t/tap-plan-corner.sh | 2 +- t/tap-plan-errors.sh | 2 +- t/tap-plan-leading-zero.sh | 2 +- t/tap-plan-malformed.sh | 2 +- t/tap-plan-middle.sh | 2 +- t/tap-plan-whitespace.sh | 2 +- t/tap-plan.sh | 2 +- t/tap-planskip-and-logging.sh | 2 +- t/tap-planskip-badexit.sh | 2 +- t/tap-planskip-bailout.sh | 2 +- t/tap-planskip-case-insensitive.sh | 2 +- t/tap-planskip-late.sh | 2 +- t/tap-planskip-later-errors.sh | 2 +- t/tap-planskip-unplanned-corner.sh | 2 +- t/tap-planskip-unplanned.sh | 2 +- t/tap-planskip-whitespace.sh | 2 +- t/tap-planskip.sh | 2 +- t/tap-recheck-logs.sh | 2 +- t/tap-recheck.sh | 2 +- t/tap-result-comment.sh | 2 +- t/tap-signal.tap | 2 +- t/tap-summary-color.sh | 2 +- t/tap-summary.sh | 2 +- t/tap-test-number-0.sh | 2 +- t/tap-todo-skip-together.sh | 2 +- t/tap-todo-skip-whitespace.sh | 2 +- t/tap-todo-skip.sh | 2 +- t/tap-unplanned.sh | 2 +- t/tap-whitespace-normalization.sh | 2 +- t/tap-with-and-without-number.sh | 2 +- t/tap-xfail-tests.sh | 2 +- t/tar-opts-errors.sh | 2 +- t/tar-override.sh | 2 +- t/tar-pax.sh | 2 +- t/tar-ustar-id-too-high.sh | 2 +- t/tar-ustar.sh | 2 +- t/target-cflags.sh | 2 +- t/targetclash.sh | 2 +- t/test-driver-acsubst.sh | 2 +- t/test-driver-cond.sh | 2 +- t/test-driver-create-log-dir.sh | 9 +- t/test-driver-custom-multitest-recheck.sh | 2 +- t/test-driver-custom-multitest-recheck2.sh | 2 +- t/test-driver-custom-multitest.sh | 2 +- t/test-driver-custom-no-extra-driver.sh | 2 +- t/test-driver-custom-xfail-tests.sh | 2 +- t/test-driver-custom.sh | 2 +- t/test-driver-fail.sh | 2 +- t/test-driver-is-distributed.sh | 2 +- t/test-driver-strip-vpath.sh | 2 +- t/test-driver-trs-suffix-registered.sh | 2 +- t/test-extensions-cond.sh | 2 +- t/test-extensions-empty.sh | 2 +- t/test-extensions.sh | 2 +- t/test-harness-vpath-rewrite.sh | 2 +- t/test-log.sh | 2 +- t/test-logs-repeated.sh | 2 +- t/test-metadata-global-log.sh | 2 +- t/test-metadata-global-result.sh | 2 +- t/test-metadata-recheck.sh | 2 +- t/test-metadata-results.sh | 2 +- t/test-missing.sh | 2 +- t/test-missing2.sh | 2 +- t/test-trs-basic.sh | 2 +- t/test-trs-recover.sh | 2 +- t/test-trs-recover2.sh | 2 +- t/tests-environment-and-log-compiler.sh | 2 +- t/tests-environment-backcompat.sh | 2 +- t/tests-environment-fd-redirect.sh | 11 +- t/tests-environment.sh | 2 +- t/testsuite-summary-color.sh | 2 +- t/testsuite-summary-count-many.sh | 2 +- t/testsuite-summary-count.sh | 2 +- t/testsuite-summary-header.sh | 2 +- t/testsuite-summary-reference-log.sh | 2 +- t/toplevelmd.sh | 67 + t/transform.sh | 2 +- t/transform2.sh | 6 +- t/transform3.sh | 2 +- t/txinfo-absolute-srcdir-pr408.sh | 2 +- t/txinfo-add-missing-and-dist.sh | 2 +- t/txinfo-bsd-make-recurs.sh | 2 +- t/txinfo-builddir.sh | 2 +- t/txinfo-clean.sh | 2 +- t/txinfo-dvi-recurs.sh | 2 +- t/txinfo-include.sh | 2 +- t/txinfo-info-in-srcdir.sh | 2 +- t/txinfo-makeinfo-error-no-clobber.sh | 2 +- t/txinfo-many-output-formats-vpath.sh | 2 +- t/txinfo-many-output-formats.sh | 2 +- t/txinfo-no-clutter.sh | 2 +- t/txinfo-no-extra-dist.sh | 2 +- t/txinfo-no-installinfo.sh | 2 +- t/txinfo-no-repeated-targets.sh | 2 +- t/txinfo-no-setfilename.sh | 2 +- t/txinfo-nodist-info.sh | 2 +- t/txinfo-other-suffixes.sh | 2 +- t/txinfo-override-infodeps.sh | 2 +- t/txinfo-override-texinfo-tex.sh | 2 +- t/txinfo-setfilename-repeated.sh | 2 +- t/txinfo-setfilename-suffix-strip.sh | 2 +- t/txinfo-subdir-pr343.sh | 2 +- t/txinfo-tex-dist.sh | 2 +- t/txinfo-unrecognized-extension.sh | 2 +- t/txinfo-unrecognized-info-suffix.sh | 2 +- t/txinfo-vtexi.sh | 2 +- t/txinfo-vtexi2.sh | 2 +- t/txinfo-vtexi3.sh | 2 +- t/txinfo-vtexi4.sh | 2 +- t/txinfo-without-info-suffix.sh | 2 +- t/txinfo19.sh | 2 +- t/txinfo23.sh | 2 +- t/txinfo24.sh | 2 +- t/txinfo25.sh | 2 +- t/txinfo28.sh | 2 +- t/uninstall-fail.sh | 2 +- t/uninstall-pr9578.sh | 2 +- t/unused.sh | 2 +- t/upc.sh | 2 +- t/upc2.sh | 2 +- t/upc3.sh | 2 +- t/vala-configure.sh | 2 +- t/vala-grepping.sh | 2 +- t/vala-headers.sh | 8 +- t/vala-libs-distcheck.sh | 2 +- t/vala-libs-vpath.sh | 2 +- t/vala-libs.sh | 2 +- t/vala-mix.sh | 2 +- t/vala-mix2.sh | 2 +- t/vala-non-recursive-setup.sh | 2 +- t/vala-parallel.sh | 2 +- t/vala-per-target-flags.sh | 2 +- t/vala-recursive-setup.sh | 2 +- t/vala-vapi.sh | 2 +- t/vala-vpath.sh | 2 +- t/var-recurs.sh | 2 +- t/var-recurs2.sh | 2 +- t/vars.sh | 2 +- t/vars3.sh | 2 +- t/vartar.sh | 2 +- t/vartypo2.sh | 2 +- t/vartypos.sh | 2 +- t/version3.sh | 2 +- t/version4.sh | 2 +- t/version6.sh | 2 +- t/version7.sh | 2 +- t/version8.sh | 2 +- t/vpath.sh | 2 +- t/warning-groups-win-over-strictness.sh | 2 +- t/warnings-obsolete-default.sh | 2 +- t/warnings-override.sh | 2 +- t/warnings-precedence.sh | 2 +- t/warnings-strictness-interactions.sh | 2 +- t/warnings-unknown.sh | 2 +- t/warnings-win-over-strictness.sh | 2 +- t/warnopts.sh | 2 +- t/werror.sh | 2 +- t/werror2.sh | 2 +- t/werror3.sh | 2 +- t/werror4.sh | 2 +- t/whoami.sh | 2 +- t/xsource.sh | 2 +- t/yacc-auxdir.sh | 2 +- t/yacc-basic.sh | 2 +- t/yacc-bison-skeleton-cxx.sh | 2 +- t/yacc-bison-skeleton.sh | 2 +- t/yacc-clean-cxx.sh | 2 +- t/yacc-clean.sh | 2 +- t/yacc-cxx-grepping.sh | 2 +- t/yacc-cxx.sh | 2 +- t/yacc-d-basic.sh | 2 +- t/yacc-d-cxx.sh | 2 +- t/yacc-d-vpath.sh | 2 +- t/yacc-deleted-headers.sh | 2 +- t/yacc-depend.sh | 2 +- t/yacc-depend2.sh | 2 +- t/yacc-dist-nobuild-subdir.sh | 2 +- t/yacc-dist-nobuild.sh | 2 +- t/yacc-dry.sh | 2 +- t/yacc-grepping.sh | 2 +- t/yacc-grepping2.sh | 2 +- t/yacc-headers-and-dist-pr47.sh | 2 +- t/yacc-line.sh | 2 +- t/yacc-misc.sh | 2 +- t/yacc-mix-c-cxx.sh | 2 +- t/yacc-nodist.sh | 2 +- t/yacc-pr204.sh | 2 +- t/yacc-subdir.sh | 2 +- t/yacc-vpath.sh | 2 +- t/yacc-weirdnames.sh | 2 +- t/yflags-cmdline-override.sh | 2 +- t/yflags-conditional.sh | 2 +- t/yflags-cxx.sh | 2 +- t/yflags-d-false-positives.sh | 2 +- t/yflags-force-conditional.sh | 2 +- t/yflags-force-override.sh | 2 +- t/yflags-var-expand.sh | 2 +- t/yflags.sh | 2 +- 1476 files changed, 8530 insertions(+), 6389 deletions(-) create mode 100644 NEWS-2.0 create mode 100644 t/dist-no-built-sources.sh create mode 100755 t/python-prefix.sh create mode 100644 t/toplevelmd.sh diff --git a/ChangeLog b/ChangeLog index e033499..7707fa8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,467 @@ +2021-07-25 Jim Meyering + + version 1.16.4 + + * configure.ac (AC_INIT): Bump version number to 1.16.4. + * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). + * NEWS: Record release version. + +2021-07-22 Karl Berry + + maint: Update files from upstream with 'make fetch'. + + * lib/gendocs.sh: Update. + +2021-07-18 Jim Meyering + + maint: adjust version, post-snapshot + + * configure.ac (AC_INIT): Bump version number to 1.16e for snapshot. + * m4/amversion.m4: Regenerate. + +2021-07-18 Jim Meyering + + maint: adjust version for snapshot + + * configure.ac (AC_INIT): Bump version number to 1.16d for snapshot. + * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). + +2021-07-18 Jim Meyering + + doc: NEWS tweak + + * NEWS: Indent consistently. + +2021-07-17 Karl Berry + + doc: update HACKING. + + * HACKING: update for some current realities. + +2021-07-15 Jacob Bachmeyer + + tests: use testsuite/ directory in DejaGnu tests + + Patch posted: + https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00009.html + + * t/check12.sh: Consistently use the directory name, testsuite/, + for all DejaGnu tests, and always use recursive make to run + DejaGnu, for backward and forward compatibility. + * t/dejagnu3.sh: Likewise. + * t/dejagnu4.sh: Likewise. + * t/dejagnu5.sh: Likewise. + * t/dejagnu6.sh: Likewise. + * t/dejagnu7.sh: Likewise. + * t/dejagnu-absolute-builddir.sh: Likewise. + * t/dejagnu-relative-srcdir.sh: Likewise. + * t/dejagnu-siteexp-extend.sh: Likewise. + * t/dejagnu-siteexp-useredit.sh: Likewise. + * NEWS: mention this. + * THANKS: new contributor. + +2021-07-15 Nick Gasson + + automake: silent make output for custom link commands. + + Patch posted: + https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00010.html + + * bin/automake.in (define_per_target_linker_variable): Use + AM_V_${target}_LINK if defined as the verbose variable name for + custom link commands. + * doc/automake.texi (Program and Library Variables): Document the new + variable. + * t/link_override.sh: Add extra checks for silent make rules. + * NEWS: Mention this. + * THANKS: new contributor. + +2021-07-11 meyering + + maint: avoid syntax-check failures + + * maintainer/syntax-checks.mk (toupper): Tighten the regexp + to avoid a new false-match in t/python-prefix.sh. + * t/instmany-python.sh: Use run_make in place of some $MAKE uses. + * t/python-prefix.sh: Likewise. + * t/python-vars.sh: Likewise. + +2021-07-11 Jim Meyering + + maint: make update-copyright + +2021-07-11 Allison Karlitskaya + + maint: tweak comment wording + + * doc/automake.texi (List of Automake options): Nit. + * t/dist-no-built-sources.sh: Likewise. + +2021-07-11 Jim Meyering + + no-dist-built-sources: fix-up + + * bin/automake.in (preprocess_file): Process new option here, + (handle_dist): ... not here. + * lib/Automake/Options.pm (_is_valid_easy_option): + Remove pure-dist. + * lib/am/distdir.am: Don't factor out the duplicate-looking + $(MAKE)... command. Otherwise, many dist-using tests would fail + for me, e.g., t/aclocal-amflags.sh. + +2021-07-11 Jim Meyering + + test: disable use of ksh in a test that would otherwise hang + + * t/tests-environment-fd-redirect.sh: This test would hang when + using ksh93 from Fedora 34 and CentOS 8. Comments demonstrate + the issue reported as https://github.com/ksh93/ksh/issues/316 + +2021-07-11 Karl Berry + + doc: update THANKS. + + * THANKS: mention contributors over the past couple years. + +2021-07-09 Allison Karlitskaya + + dist: add new "dist-no-built-sources" automake option. + + Fixes automake bug https://debbugs.gnu.org/49317. + + * bin/automake.in: implement new option "no-dist-built-sources" to + omit the dependency of distdir on $(BUILT_SOURCES). (Allison's + original patch used the option name dist-pure; trivially renamed.) + * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: conditionalize + the dependency. + * lib/Automake/Options.pm (_is_valid_easy_option): list it. + * doc/automake.texi (List of Automake options): document it. + * NEWS: mention it. + * t/dist-no-built-sources.sh: test it. + * t/list-of-tests.mk (handwritten_TESTS): add it. + +2021-07-07 Karl Berry + + maint: missed commits. + + * INSTALL: Update from gnulib via make fetch. + * NEWS: mention config.{guess,sub} restoration of `...`. + +2021-07-05 Karl Berry + + maint: Update files from upstream with 'make fetch' + + * lib/INSTALL: Update. + * lib/config.guess: Likewise. + * lib/config.sub: Likewise. + * lib/gendocs.sh: Likewise. + * lib/gendocs_template: Likewise. + * lib/gitlog-to-changelog: Likewise. + * lib/gnupload: Likewise. + * lib/texinfo.tex: Likewise. + * lib/update-copyright: Likewise. + +2021-07-05 Karl Berry + + tests: forgot to remove dev exit 33 from new test. + + * t/toplevelmd.sh: normal ending. + +2021-07-01 Karl Berry + + dist: accept .md versions for README et al. + + This change was suggested by madmurphy; some ideas were taken + from the patch he provided. + https://lists.gnu.org/archive/html/automake-patches/2021-06/msg00005.html + + * bin/automake.in (@toplevelmd_ok): new global, listing the files + for which we will accept .md versions. + (@common_files): remove those files from there. + (handle_dist): check for .md if non-.md is absent. + (handle_minor_options): check for README-alpha.md. + (check_gnu_standards): accept .md version if present. + (check_gnits_standards): likewise. + (usage): output list of .md-accepted files. + * doc/automake.texi (Basics of Distribution): document. + + * t/toplevelmd.sh: new test. + * t/list-of-tests.mk (handwritten_tests): add it. + * NEWS: mention new feature. + +2021-06-08 Karl Berry + + doc: omit "really" from manual. + + * doc/automake.texi: remove or replace "really". + +2021-06-07 Karl Berry + + doc: --always-make doesn't work. + + * doc/automake.texi (Rebuilding): the GNU Make option + --always-make does not work with Automake. + Report from Johan Persson, + https://lists.gnu.org/archive/html/automake/2021-06/msg00002.html. + Also, use "GNU Make" (capital M) more consistently. + +2021-05-18 Karl Berry + + doc: wording. + + * README: + * t/python-virtualenv.sh: + * doc/automake.texi: wording, typos, etc. + +2021-05-18 Karl Berry + + doc: move future 2.0 incompatibilities to separate file. + + * NEWS: move info to ... + * NEWS-2.0: ... this new file. + * Makefile.am (EXTRA_DIST): add it. + +2021-05-18 Karl Berry + + python: new python-prefix test. + + * t/python-prefix.sh: new test. + * t/list-of-tests.mk (handwritten_tests): add it. + * NEWS: describe new Python prefix behavior. + +2021-05-18 Joshua Root + + python: use Python's sys.prefix and sys.exec_prefix + + for PYTHON_PREFIX and PYTHON_EXEC_PREFIX; new configure options + --with-python_prefix and --with-python_exec_prefix to set explicitly. + + This change fixes https://bugs.gnu.org/35322. + + * m4/python.m4 (AM_PATH_PYTHON): use Python's sys.prefix and + sys.exec_prefix for PYTHON_PREFIX and PYTHON_EXEC_PREFIX, + instead of $prefix and $exec_prefix. But use a variable + reference to ${prefix} if it is contained within sys.prefix; + similarly for exec_prefix. Also support new configure options + to set explicitly. + (PYTHON_PREFIX, PYTHON_EXEC_PREFIX): AC_SUBST these. + (am_cv_python_pythondir): use our new $am_cv_python_prefix, + substituting ${PYTHON_PREFIX}. + (am_cv_python_pyexecdir): likewise. + * doc/automake.texi (Python): PYTHON_PREFIX, PYTHON_EXEC_PREFIX, + document new approach. + * t/instmany-python.sh: set PYTHON_PREFIX as needed. + * t/python-vars.sh (PYTHON_EXEC_PREFIX, PYTHON_PREFIX): also set from + Python's sys.{exec_,}prefix; use ${PYTHON_{EXEC,}PREFIX} instead + of ${exec_,}prefix. + +2021-05-12 Karl Berry + + doc: HACKING updates. + + * HACKING: some additional tidbits. + +2021-02-27 Dirk Mueller + + automake: sort hash keys needed for reproducible output. + + This change fixes https://bugs.gnu.org/46744. + + * bin/automake.in: sort keys, in: handle_LIBOBJS, handle_clean, + handle_factored_dependencies, scan_autoconf_traces, + lang_vala_finish. + * NEWS: mention this. + +2021-02-22 Karl Berry + + doc: a_LDFLAGS always overrides AM_LDFLAGS. + + This change addresses https://bugs.gnu.org/34925. + + * doc/automake.texi (Program and Library Variables): document + that using a_LDFLAGS at all, even in the false branch of a + conditional, means that AM_LDFLAGS is ignored. + +2021-02-21 Mike Frysinger + + doc: [AM_]RUNTESTFLAGS not [AM_]RUNTESTDEFAULTFLAGS. + + * doc/automake.texi (Other Variables): Change [AM_]RUNTESTDEFAULTFLAGS + to [AM_]RUNTESTFLAGS. + +2021-02-11 Karl Berry + + doc: user flags last does not always allow overriding. + + This change addresses https://bugs.gnu.org/35526. + + * doc/automake.texi (Flag Variables Ordering): recognize that + user flags last does not always allow overriding. + +2021-01-06 Karl Berry + + doc: discuss AC_* ordering a little. + + * doc/automake.texi (Optional): mention that AC_CONFIG_AUX_DIR + must be called before AM_INIT_AUTOMAKE, and recommend that other + AC_CONFIG_* macros be called after. This seems to be the most + common practice. Autoconf does not currently impose ordering: + https://savannah.gnu.org/support/?110416 + +2020-12-14 Zack Weinberg + + Fix some build and test failures with Autoconf 2.70. + + Autoconf 2.70 (released last week) makes a few changes that broke Automake’s + expectations, mostly in the test suite. This patch addresses two of the + problems: + + - autoconf now issues a warning if fed a configure script that doesn’t invoke + both AC_INIT and AC_OUTPUT; this, plus a problem with system-provided + tools (still under investigation) broke the *build* on macOS; it also + causes a couple of spurious testsuite failures. + + - AC_PACKAGE_NAME and AC_PACKAGE_VERSION are now defined unconditionally. + AM_INIT_AUTOMAKE needs to use m4_ifset instead of m4_ifdef to diagnose + the obsolete use of AC_INIT with fewer than two arguments. (This change + is compatible with autoconf 2.69; m4_ifset is much older, and it means + ‘defined with a non-empty value’.) + + * configure.ac: Use both AC_INIT and AC_OUTPUT in test configure scripts. + * t/deprecated-acinit.sh, t/init.sh: Likewise. + * m4/init.m4 (AM_INIT_AUTOMAKE): Use m4_ifset, not m4_ifdef, to detect + AC_PACKAGE_NAME and/or AC_PACKAGE_VERSION not having a value. + +2020-12-13 Karl Berry + + python: don't assume $(...) in py-compile. + + This change (very) partially fixes https://bugs.gnu.org/45205. + + * lib/py-compile: use `...` instead of $(...). + Solaris 10 /bin/sh is still in use. + +2020-12-09 Karl Berry + + tests: more .NOTPARALLEL tests. + + * t/java-compile-run-nested.sh: .NOTPARALLEL in subdirs too. + +2020-12-08 Karl Berry + + tests: more .NOTPARALLEL tests. + + * contrib/t/multilib.sh: yet more .NOTPARALLEL for AM_TESTSUITE_MAKE, + found by Jim on heavier machines. + * t/autodist-stamp-vti.sh: likewise. + * t/java-compile-run-nested.sh: likewise. + * t/transform2.sh: likewise. + +2020-12-07 Karl Berry + + tests: more .NOTPARALLEL tests. + + * contrib/t/multilib.sh: use .NOTPARALLEL to avoid unreproducible + (and undebuggable, by me) test failures when running + make -j$njobs AM_TESTSUITE_MAKE="make -j$njobs" + for some arbitrary but rather large value of $njobs. + The failures don't occur with just make -j; have to run the makes + inside the tests in parallel also. + * t/java-compile-install.sh: likewise. + * t/java-compile-run-flat.sh: likewise. + * t/java-uninstall.sh: likewise. + * t/vala-headers.sh: likewise. + +2020-12-05 Karl Berry + + doc: comment Vala -newer test. + + This change updates https://bugs.gnu.org/44772. + + * bin/automake.in (lang_vala_finish_target): comment that + we're checking "C file not older than Vala file", and the + log message misleadingly says "reversed". + +2020-12-05 Reuben Thomas + + tags: support setting CTAGS, ETAGS, CSCOPE vars via ./configure. + + This change fixes https://bugs.gnu.org/45013. + + * m4/init.m4: add default settings and AC_SUBST calls for the variables + `CTAGS', `ETAGS' and `CSCOPE'. + * lib/am/tags.am: remove default settings of the above variables. + * doc/automake.texi (Tags): mention and index. + * NEWS: mention. + +2020-12-03 Karl Berry + + warnings: be less forceful about a missing subdir-objects option. + + This change somewhat ameliorates https://bugs.gnu.org/20699. + + * bin/automake.in (handle_single_transform): change + forward-incompatibility message for subdir-objects to be + less draconian and less certain that the change will ever be made. + * t/subobj.sh: message text has changed. + * doc/automake.texi (Program and Library Variables): mention + the unfortunate fact that one directory can clean in a sibling, + subdir-objects notwithstanding. + +2020-11-27 Karl Berry + + tests: .NOTPARALLEL test-driver-create-log-dir. + + * t/test-driver-create-log-dir.sh (.NOTPARALLEL): add target, + since the two tests under sub/ seem to have a race condition. + No evident way to debug or reliably reproduce. Reported by Jim. + +2020-11-27 Reuben Thomas + + vala: avoid wrong regeneration of C files. + + This change might fix https://bugs.gnu.org/44772. + + * bin/automake.in (lang_val_finish_target): reverse -newer test + to handle files being created at the same time causing + spurious rebuilds. + +2020-11-24 Karl Berry + + doc: typo. + + This change fixes https://bugs.gnu.org/44845. + + * doc/automake.texi (Vala Support): zardoz.c not zardoc.c. + +2020-11-23 Karl Berry + + tests: create log file before running the test script. + + This change partially fixes https://bugs.gnu.org/35762. + + * lib/test-driver: create $log_file before running the + test script. Also quote $log_file. Combined suggestions + from howaboutsynergy and Eric Blake. + +2020-11-22 Karl Berry + + doc: mention overriding SUBDIRS= with TESTS= and recursive make. + + This change palliates https://bugs.gnu.org/42883, + though it's not a real fix. + + * doc/automake.texi (Parallel Test Harness): with recursive + make, when limiting the tests run, also presumably needed to + override SUBDIRS. + +2020-11-18 Jim Meyering + + maint: Post-release administrivia + + * configure.ac (AC_INIT): Bump version number to 1.16b. + * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). + 2020-11-18 Jim Meyering version 1.16.3 diff --git a/GNUmakefile b/GNUmakefile index e729abb..12a4782 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,6 +1,6 @@ # Maintainer makefile for Automake. Requires GNU make. -# Copyright (C) 2012-2020 Free Software Foundation, Inc. +# Copyright (C) 2012-2021 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 diff --git a/HACKING b/HACKING index e8b7034..5f8644e 100644 --- a/HACKING +++ b/HACKING @@ -1,24 +1,28 @@ ============================================================================ = This file -* This file attempts to describe the rules to use when hacking - automake. +* This file attempts to describe the conventions to use when hacking automake. + +* After git checkout from Savannah, can do initial build with, e.g.: + $ ./bootstrap && ./configure --prefix=/tmp/amdev && make ============================================================================ = Administrivia * The correct response to most actual bugs is to write a new test case which demonstrates the bug. Then fix the bug, re-run the test suite, - and check everything in. + and check everything in. Run the test suite in parallel. * If you incorporate a change from somebody on the net: - - First, if it is a large change, you must make sure they have + - First, if it is not a tiny change, you must make sure they have signed the appropriate paperwork. - - Second, be sure to add their name and email address to THANKS. + - Second, add their name and email address to THANKS. -* If a change fixes a test, mention the test in the commit message. - If a change fixes a bug registered in the Automake debbugs tracker, - mention the bug number in the commit message. +* If a change fixes or adds a test, mention the test in the commit + message. If a change fixes a bug registered in the Automake debbugs + tracker, mention the bug number in the commit message, using + the short url form, like https://bugs.gnu.org/1234. See section below + about commit messages. * If somebody reports a new bug, mention their name in the commit message that fixes or exposes the bug, and add a line for them in THANKS. @@ -27,15 +31,16 @@ sure to add a test case for it, and to reference such test case from a proper Texinfo comment. -* Some files in the automake package are not owned by automake; these - files are listed in the $(FETCHFILES) variable in Makefile.am. They - should never be edited here. Almost all of them can be updated from - respective upstreams with "make fetch" (this should be done especially - before releases). The only exception is the 'lib/COPYING' (from FSF), - which should be updated by hand whenever the GPL gets updated (which - shouldn't happen that often anyway :-) +* Some files in the automake package are not owned by automake (many by + gnulib, https://gnu.org/s/gnulib); these files are listed in the + $(FETCHFILES) variable in Makefile.am. They should never be edited + here. All but one of them can be updated from respective upstreams + with "make fetch" (this should be done especially before releases). + The only exception is 'lib/COPYING' (from FSF), which should be + updated by hand whenever the GPL gets updated (which shouldn't happen + that often anyway :-) -* Changes other than *trivial* bug fixes must be mentioned in NEWS. +* All changes that are not trivial bug fixes must be mentioned in NEWS. * Changes which are potentially controversial, require a non-trivial plan, or must be implemented gradually with a roadmap spanning several @@ -47,10 +52,26 @@ Automake debbugs tracker, to keep the idea more visible, and have the discussions surrounding it easily archived in a central place. +=========================================================================== += Setting the development environment + +* In development, ./GNUmakefile is used, not (the generated) ./Makefile. + Run make V=1 to see the commands that are run. + +* The required and optional dependencies used by Automake and its test suite + can be automatically fetched using the GNU Guix package manager with the + following command: + + $ guix environment automake --ad-hoc \ + gettext help2man texinfo libtool flex bison dejagnu zip icedtea \ + python gcc-toolchain gfortran pkg-config vala + + For other environments, you'll need to install the equivalent. + ============================================================================ = Naming -* We've adopted the convention that internal AC_SUBSTs and make variables +* Automake's convention is 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. @@ -61,14 +82,20 @@ variable begins with the underscore character. Yay for them. I changed the target naming convention just to be safe. +* If you'd like to read some general background on automake and the + other GNU autotools, you might try this not-too-long web page (not + affiliated with GNU): + https://www.linux.com/news/best-practices-autotools/ + ============================================================================ = Editing '.am' files -* Always use $(...) and not ${...} +* For variables, always use $(...) and not ${...}. * Prefer ':' over 'true', mostly for consistency with existing code. -* Use '##' comments liberally. Comment anything even remotely unusual. +* Use '##' comments liberally. Comment anything even remotely unusual, + and even usual things, to help future readers of the code understand. * Never use basename or dirname. Instead, use sed. @@ -139,23 +166,13 @@ * Major releases can introduce backward-incompatibilities (albeit such incompatibilities should be announced well in advance, and a smooth - transition plan prepared for them), and try more risking and daring - refactorings and code cleanups. + transition plan prepared for them), and try more risky and daring + refactorings and code cleanups. Still, backward compatibilities are + extremely undesirable and should be avoided at all costs. * For more information, refer to the extensive discussion associated with automake bug#13578. -=========================================================================== -= Setting the development environment - -* The required and optional dependencies used by Automake and its test suite - can be automatically fetched using the GNU Guix package manager with the - following command: - - $ guix environment automake --ad-hoc \ - gettext help2man texinfo libtool flex bison dejagnu zip icedtea \ - python gcc-toolchain gfortran pkg-config vala - ============================================================================ = Working with git @@ -165,7 +182,9 @@ be the same as you would get if you install this version of automake and use it to generate those files. Be sure to have the latest stable version of Autoconf installed and available early - in your PATH. + in your PATH. To get a faithful and correct rebuild, run: + ./bootstrap && ./config.status --recheck && make clean all + (per https://bugs.gnu.org/11347) * The Automake git tree currently carries three basic branches: 'master', 'next' and 'maint'. @@ -213,6 +232,20 @@ it in the 'experimental/*' namespace; for example, a rewindable branch dealing with Vala support could be named like "experimental/vala-work". +* If you need to trivially fix a change after a commit, e.g., a typo in + the NEWS entry, edit the file and then: + git commit --amend --no-edit NEWS + git commit --amend --date="$(date -R)" # update date of commit + +* If you want to just completely lose your local changes: + git fetch && git reset --hard origin && git checkout && git submodule update + (the submodule stuff is for gnulib). + +* The preferred way to create a patch to mail around: + git format-patch --stdout -1 >/tmp/some-patch.diff + which can then be applied with: + git am mboxfile + ============================================================================ = Writing a good commit message @@ -252,19 +285,21 @@ * some/file (func1): Improved frobnication. (func2): Adjusted accordingly. * another/file (foo, bar): Likewise. - * tests/foo.tap: New test. - * tests/Makefile.am (TESTS): Add it. + * t/foo.sh: New test. + * t/list-of-tests.mk (handwritten_TESTS): Add it. + * doc/automake.texi (Some Node): Document it. + * NEWS: mention it. * If your commit fixes an automake bug registered in the tracker (say numbered 1234), you should put the following line after the summary line: - This change fixes automake bug#1234. + Fixes automake bug https://bugs.gnu.org/1234. * If your commit is just related to the given bug report, but does not fix it, you might want to add a line like this instead: - This change is related to automake bug#1234. + Related to automake bug https://bugs.gnu.org/1234. * When referring to older commits, use 'git describe' output as pointer. But also try to identify the given commit by date and/or summary line @@ -272,7 +307,7 @@ Since yesterday's commit, v1.11-2019-g4d2bf42, ... - ... removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, + ... removed in commit 'v1.11-1674-g02e9072' of 2012-01-01, "dist: ditch support for lzma"... * If the commit is a tiny change that is exempt from copyright paperwork, the @@ -281,9 +316,13 @@ Copyright-paperwork-exempt: yes +* Generally write the commit message in present tense. + ============================================================================ = Test suite +* See file 't/README' for more information. + * Use "make check" and "make maintainer-check" liberally. * Export the 'keep_testdirs' environment variable to "yes" to keep @@ -292,7 +331,94 @@ * Use perl coverage information to ensure your new code is thoroughly tested by your new tests. -* See file 't/README' for more information. +* To run the tests, you should install expect, shar, language compilers, + gettext macros. Anything you don't install won't be tested. The test + suite will report on tests skipped due to software not available. + +* You can run a single test, with, e.g., + + make check TESTS='t/aclocal-acdir.sh' + + where t/aclocal-acdir.sh can be any t/*.sh test, including a new one + you are writing. You may want to add --no-print-dir to silence GNU + make about the many cd commands, and/or env VERBOSE=1 to get more + information about what make is running. + +* Then check t/test-suite.log for the overall results. The directory + t/TESTNAME.dir is where the work will be left, if the test fails. + During development of a new test, you want to end it with "exit 33" + (or whatever) to make it fail even when it would succeed, so you can + inspect the test directory to be sure things worked as expected. + + You can also set keep_testdirs=yes on the command line to keep the + *.dir results. + +* Run the test suite in parallel (e.g., "make -j12 check"), both so it + doesn't take forever and because that is what most users will do. You + can also parallelize the makes that run inside each test with, e.g.: + + make check AM_TESTSUITE_MAKE="make -j$(( 1*$(nproc) + 1 ))" + + If you like, try different levels of parallelization to see what + runs the fastest on your machine. + +* Run "make maintainer-check" before commit. Watch out for trailing spaces. + +* It is good to run also run "make -j12 distcheck" before pushing a + commit since that exercises yet more testing, after "make -j12 check" + succeeds. + +* Use make V=1 to un-silence (some) of what make does. + +* To set up a new test, first write the test file in t/good-name.sh. + Choose a name that fits with existing ones, as best you can devise. + + - You'll likely want to copy material from an existing test, which is + fine and good; depending on how much is copied, it may be useful to + mention the other test(s) you used. + + - Nevertheless, start the copyright year list in the new file fresh, + with the current year. + + - You can run the new test on its own with + make check TESTS='t/good-name.sh' + + - At some point before releasing, add the test to the appropriate + variable in t/list-of-tests.mk, most likely the (alphabetical) + handwritten_TESTS. + +============================================================================ += Bug tracker + +* Automake uses the debbugs instance at https://bugs.gnu.org. Email + from the tracker is sent to bug-automake@gnu.org, and vice versa. + (https://gnu.org/s/automake for all the mailing lists; you should subscribe.) + +* To see all open bugs (and recently closed ones): + https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=automake + +* For a full search form, initialized to show bugs tagged confirmed: + https://debbugs.gnu.org/cgi/pkgreport.cgi?package=automake;include=tags%3Aconfirmed + +* We use the "confirmed" tag to mean bugs that have been reviewed, are + evidently valid, but no one is currently working or plans to work on + them. Thus they are good candidates for new volunteers to get involved. + +* To download the so-called maintainer mbox for a bug, say 12345: + https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12345;mbox=yes;mboxmaint=yes + Only the maintainer mbox consistently has the bug# prefix on Subject: + lines, so it is generally the most usable. + +* To close a bug, you can mail (or bcc) to 12345-done@debbugs.gnu.org. + It's best to do this with a note saying that the bug is being closed + because the fix was pushed, or whatever the reason. + +* To add tags "help" and "confirmed" to bug 12345, mail to + control@debbugs.gnu.org with a one-line body: + tags 35322 + help confirmed + +* In general, all bug operations are done by mail. Reference information: + https://debbugs.gnu.org/server-control.html # dev info ============================================================================ = Release procedure @@ -305,7 +431,7 @@ running "make fetch". In case any file in the automake repository has been updated, commit and re-run the testsuite. -* Ensure that the copyright notices of the distributed files is up to +* Ensure that the copyright notices of the distributed files are up to date. The maintainer-only target "update-copyright" can help with this. @@ -391,7 +517,7 @@ ----- -Copyright (C) 2003-2020 Free Software Foundation, Inc. +Copyright (C) 2003-2021 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 diff --git a/INSTALL b/INSTALL index 8865734..e82fd21 100644 --- a/INSTALL +++ b/INSTALL @@ -1,8 +1,8 @@ Installation Instructions ************************* - Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software -Foundation, Inc. + Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free +Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -225,7 +225,7 @@ order to use an ANSI C compiler: and if that doesn't work, install pre-built binaries of GCC for HP-UX. - HP-UX 'make' updates targets which have the same time stamps as their + HP-UX 'make' updates targets which have the same timestamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. diff --git a/Makefile.am b/Makefile.am index d8a9da1..0dcef26 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,7 @@ ## Makefile for Automake. -# Copyright (C) 1995-2020 Free Software Foundation, Inc. +# Copyright (C) 1995-2021 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 @@ -36,6 +36,7 @@ EXTRA_DIST += \ bootstrap \ GNUmakefile \ HACKING \ + NEWS-2.0 \ PLANS # We want a handful of substitutions to be fully-expanded by make; diff --git a/Makefile.in b/Makefile.in index 3190a66..bbe2d04 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. +# Makefile.in generated by automake 1.16.4 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 1995-2020 Free Software Foundation, Inc. +# Copyright (C) 1995-2021 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 @@ -106,15 +106,7 @@ build_triplet = @build@ host_triplet = @host@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ - $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/cond.m4 \ - $(top_srcdir)/m4/init.m4 $(top_srcdir)/m4/install-sh.m4 \ - $(top_srcdir)/m4/lead-dot.m4 $(top_srcdir)/m4/missing.m4 \ - $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/prog-cc-c-o.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/silent.m4 $(top_srcdir)/m4/strip.m4 \ - $(top_srcdir)/m4/substnot.m4 $(top_srcdir)/m4/tar.m4 \ - $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ @@ -254,9 +246,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope AM_RECURSIVE_TARGETS = cscope check recheck am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ @@ -486,6 +475,8 @@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -494,6 +485,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ F77 = @F77@ FC = @FC@ @@ -625,8 +617,8 @@ MAINTAINERCLEANFILES = # Maintainer-specific files and scripts. # XXX: This script should be updated with 'fetch' target. -EXTRA_DIST = bootstrap GNUmakefile HACKING PLANS contrib/tap-driver.pl \ - contrib/check-html.am contrib/checklinkx \ +EXTRA_DIST = bootstrap GNUmakefile HACKING NEWS-2.0 PLANS \ + contrib/tap-driver.pl contrib/check-html.am contrib/checklinkx \ contrib/multilib/README contrib/multilib/config-ml.in \ contrib/multilib/symlink-tree contrib/multilib/multilib.am \ contrib/multilib/multi.m4 contrib/README old/ChangeLog-tests \ @@ -1331,6 +1323,7 @@ t/dist-missing-m4.sh \ t/dist-readonly.sh \ t/dist-repeated.sh \ t/dist-pr109765.sh \ +t/dist-no-built-sources.sh \ t/dist-vs-built-sources.sh \ t/distcleancheck.sh \ t/distcom2.sh \ @@ -1769,6 +1762,7 @@ t/test-trs-recover.sh \ t/test-trs-recover2.sh \ t/test-extensions.sh \ t/test-extensions-cond.sh \ +t/toplevelmd.sh \ t/parse.sh \ t/percent.sh \ t/percent2.sh \ @@ -1847,6 +1841,7 @@ t/python-am-path-iftrue.sh \ t/python-missing.sh \ t/python-too-old.sh \ t/python-dist.sh \ +t/python-prefix.sh \ t/python-vars.sh \ t/python-virtualenv.sh \ t/python-pr10995.sh \ @@ -3238,7 +3233,6 @@ recheck: all @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TAP_LOG_DRIVER_FLAGS) $(TAP_LOG_DRIVER_FLAGS) -- $(TAP_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/NEWS b/NEWS index ec6915f..bb3e3ae 100644 --- a/NEWS +++ b/NEWS @@ -1,69 +1,45 @@ -* WARNING: Future backward-incompatibilities! - - - Makefile recipes generated by Automake 2.0 will expect to use an - 'rm' program that doesn't complain when called without any non-option - argument if the '-f' option is given (so that commands like "rm -f" - and "rm -rf" will act as a no-op, instead of raising usage errors). - This behavior of 'rm' is very widespread in the wild, and it will be - required in the next POSIX version: - - - - Accordingly, AM_INIT_AUTOMAKE now expands some shell code that checks - that the default 'rm' program in PATH satisfies this requirement, - aborting the configure process if this is not the case. For the - moment, it's still possible to force the configuration process to - succeed even with a broken 'rm', that that will no longer be the case - for Automake 2.0. - - - Automake 2.0 will require Autoconf 2.70 or later (which is still - unreleased at the moment of writing, but is planned to be released - before Automake 2.0 is). - - - Automake 2.0 will drop support for the long-deprecated 'configure.in' - name for the Autoconf input file. You are advised to start using the - recommended name 'configure.ac' instead, ASAP. - - - The ACLOCAL_AMFLAGS special make variable will be fully deprecated in - Automake 2.0: it will raise warnings in the "obsolete" category (but - still no hard error of course, for compatibilities with the many, many - packages that still relies on that variable). You are advised to - start relying on the new Automake support for AC_CONFIG_MACRO_DIRS - instead (which was introduced in Automake 1.13). - - - Automake 2.0 will remove support for automatic dependency tracking - with the SGI C/C++ compilers on IRIX. The SGI depmode has been - reported broken "in the wild" already, and we don't think investing - time in debugging and fixing is worthwhile, especially considering - that SGI has last updated those compilers in 2006, and retired - support for them in December 2013: - - - - Automake 2.0 will remove support for MS-DOS and Windows 95/98/ME - (support for them was offered by relying on the DJGPP project). - Note however that both Cygwin and MSYS/MinGW on modern Windows - versions will continue to be fully supported. - - - Automake-provided scripts and makefile recipes might (finally!) - start assuming a POSIX shell in Automake 2.0. There still is no - certainty about this though: we'd first like to wait and see - whether future Autoconf versions will be enhanced to guarantee - that such a shell is always found and provided by the checks in - ./configure. - - - Starting from Automake 2.0, third-party m4 files located in the - system-wide aclocal directory, as well as in any directory listed - in the ACLOCAL_PATH environment variable, will take precedence - over "built-in" Automake macros. For example (assuming Automake - is installed in the /usr/local hierarchy), a definition of the - AM_PROG_VALAC macro found in '/usr/local/share/aclocal/my-vala.m4' - should take precedence over the same-named automake-provided macro - (defined in '/usr/local/share/aclocal-2.0/vala.m4'). +For planned incompatibilities in a future Automake 2.0 release, +please see NEWS-2.0 and start following the advice there now. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in ?.?.?: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New in 1.16.4: + +* New features added + + - The PYTHON_PREFIX and PYTHON_EXEC_PREFIX variables are now set from + Python's sys.prefix and sys.exec_prefix; use the new configure options + --with-python_prefix and --with-python_exec_prefix to specify explicitly. + + - Common top-level files can be provided as .md; the non-md version is + used if both are present: + AUTHORS ChangeLog INSTALL NEWS README README-alpha THANKS + + - CTAGS, ETAGS, SCOPE variables can be set via configure. + + - Silent make output for custom link commands. + + - New option "no-dist-built-sources" skips generating $(BUILT_SOURCES) + before building the tarball as part of "make dist", that is, + omits the dependency of $(distdir): $(BUILT_SOURCES). + +* Bugs fixed + + - automake output more reproducible. + + - test-driver less likely to clash with tests writing to the same file. + + - DejaGnu tests always use the directory name, testsuite/, for + compatibility with the newer dejagnu-1.6.3 and with prior versions. + +* Distribution + + - config.sub and config.guess updates include restoration of `...` + for maximum portability. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -76,7 +52,7 @@ New in 1.16.3: * Bugs fixed - - Python 3.10 version number no longer considered to be 3.1. + - Python version number 3.10 no longer considered to be 3.1. - Broken links in manual fixed or removed, and new script contrib/checklinkx (a small modification of W3C checklink) added, @@ -3113,7 +3089,7 @@ New in 0.20: ----- -Copyright (C) 1995-2020 Free Software Foundation, Inc. +Copyright (C) 1995-2021 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 diff --git a/NEWS-2.0 b/NEWS-2.0 new file mode 100644 index 0000000..743138c --- /dev/null +++ b/NEWS-2.0 @@ -0,0 +1,97 @@ +This file (NEWS-2.0) lists several incompatibilities planned for a +future Automake 2.0 release. + +However, the (few) current Automake maintainers have insufficient interest +and energy to pursue the 2.0 release. We have not even reviewed all +existing bugs. New maintainers are needed! For more information about +helping with Automake development: +https://lists.gnu.org/archive/html/automake/2021-03/msg00018.html + +Therefore, there is no ETA for Automake 2.0, but it is not likely to be +any time soon. So moving these future issues to a separate file seemed +warranted. For more info, see the ./PLANS/ directory. + + +* WARNING: Future backward-incompatibilities! + + - Makefile recipes generated by Automake 2.0 will expect to use an + 'rm' program that doesn't complain when called without any non-option + argument if the '-f' option is given (so that commands like "rm -f" + and "rm -rf" will act as a no-op, instead of raising usage errors). + This behavior of 'rm' is very widespread in the wild, and it will be + required in the next POSIX version: + + + + Accordingly, AM_INIT_AUTOMAKE now expands some shell code that checks + that the default 'rm' program in PATH satisfies this requirement, + aborting the configure process if this is not the case. For the + moment, it's still possible to force the configuration process to + succeed even with a broken 'rm', but that will no longer be the case + for Automake 2.0. + + - Automake 2.0 will require Autoconf 2.71 or later. Exact + dependencies are unknowable at ths time. + + - Automake 2.0 will drop support for the long-deprecated 'configure.in' + name for the Autoconf input file. You are advised to start using the + recommended name 'configure.ac' instead, ASAP. + + - The ACLOCAL_AMFLAGS special make variable will be fully deprecated in + Automake 2.0: it will raise warnings in the "obsolete" category (but + still no hard error of course, for compatibilities with the many, many + packages that still relies on that variable). You are advised to + start relying on the new Automake support for AC_CONFIG_MACRO_DIRS + instead (which was introduced in Automake 1.13). + + - Automake 2.0 will remove support for automatic dependency tracking + with the SGI C/C++ compilers on IRIX. The SGI depmode has been + reported broken "in the wild" already, and we don't think investing + time in debugging and fixing is worthwhile, especially considering + that SGI has last updated those compilers in 2006, and retired + support for them in December 2013: + + + - Automake 2.0 will remove support for MS-DOS and Windows 95/98/ME + (support for them was offered by relying on the DJGPP project). + Note however that both Cygwin and MSYS/MinGW on modern Windows + versions will continue to be fully supported. + + - Automake-provided scripts and makefile recipes might (finally!) + start assuming a POSIX shell in Automake 2.0. There still is no + certainty about this though: we'd first like to wait and see + whether future Autoconf versions will be enhanced to guarantee + that such a shell is always found and provided by the checks in + ./configure. + + In 2020, config.guess was changed by its then-maintainer to require + $(...); the ensuing bug reports and maintenance hassle + (unfortunately the changes have not been reverted) are a convincing + argument that we should not require a POSIX shell until Solaris 10, + at least, is completely gone from the world. + + - Starting from Automake 2.0, third-party m4 files located in the + system-wide aclocal directory, as well as in any directory listed + in the ACLOCAL_PATH environment variable, will take precedence + over "built-in" Automake macros. For example (assuming Automake + is installed in the /usr/local hierarchy), a definition of the + AM_PROG_VALAC macro found in '/usr/local/share/aclocal/my-vala.m4' + should take precedence over the same-named automake-provided macro + (defined in '/usr/local/share/aclocal-2.0/vala.m4'). + +----- + +Copyright (C) 1995-2021 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 . diff --git a/README b/README index d992825..c9d0a9e 100644 --- a/README +++ b/README @@ -23,11 +23,11 @@ for aclocal is currently found in the Automake manual. Automake 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: +Automake's home page: https://www.gnu.org/software/automake/ -Automake also has three mailing lists: +Automake has three mailing lists: * automake@gnu.org For general discussions of Automake and its interactions with other @@ -40,8 +40,8 @@ Automake also has three mailing lists: 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 +To see the archives of these lists, or to (un)subscribe to them, +refer to . New releases are announced to autotools-announce@gnu.org. If you want to be informed, subscribe to that list by following the instructions at @@ -52,7 +52,7 @@ the range specifies every single year in that closed interval. ----- -Copyright (C) 1994-2020 Free Software Foundation, Inc. +Copyright (C) 1994-2021 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 diff --git a/THANKS b/THANKS index a2b8c29..6c8abf9 100644 --- a/THANKS +++ b/THANKS @@ -18,6 +18,7 @@ Alexander Turbov zaufi@sendmail.ru Alexandre Duret-Lutz duret_g@epita.fr Alexey Mahotkin alexm@hsys.msk.ru Alfred M. Szmidt ams@gnu.org +Allison Karlitskaya allison.karlitskaya@redhat.com Andrea Urbani matfanjol@mail.com Andreas Bergmeier lcid-fire@gmx.net Andreas Buening andreas.buening@nexgo.de @@ -71,6 +72,7 @@ Christina Gratorp christina.gratorp@gmail.com Claudio Fontana sick_soul@yahoo.it Clifford Wolf clifford@clifford.at Colin Watson cjwatson@ubuntu.com +Colomban Wendling lists.ban@herbesfolles.org Dagobert Michelsen dam@opencsw.org Daiki Ueno ueno@unixuser.org Dalibor Topic robilad@kaffe.org @@ -102,6 +104,7 @@ Diego Elio Pettenò flameeyes@flameeyes.eu Dieter Baron dillo@stieltjes.smc.univie.ac.at Dieter Jurzitza DJurzitza@harmanbecker.com Дилян Палаузов dilyan.palauzov@aegee.org +Dirk Mueller josef.moellers@suse.com Dmitry Mikhin dmitrym@acres.com.au Dmitry V. Levin ldv@altlinux.org Doug Evans devans@cygnus.com @@ -127,6 +130,7 @@ Ezra Peisach epeisach@MED-XTAL.BU.EDU Fabian Alenius fabian.alenius@gmail.com Federico Simoncelli fsimonce@redhat.com Felix Salfelder felix@salfelder.org +Felix Yan felixonmars@archlinux.org Flavien Astraud flav42@yahoo.fr Florian Briegel briegel@zone42.de Francesco Salvestrini salvestrini@gmail.com @@ -166,6 +170,7 @@ Imacat imacat@mail.imacat.idv.tw Infirit infirit@gmail.com Inoue inoue@ainet.or.jp Jack Kelly jack@jackkelly.name +Jacob Bachmeyer jcb@gnu.org James Amundson amundson@users.sourceforge.net James Bostock james.bostock@gmail.com James Henstridge james@daa.com.au @@ -209,6 +214,7 @@ Jonathan Nieder jrnieder@gmail.com Joseph S. Myers joseph@codesourcery.com Josh MacDonald jmacd@cs.berkeley.edu Joshua Cowan jcowan@jcowan.reslife.okstate.edu +Joshua Root jmr@macports.org js pendry js.pendry@msdw.com Juergen A. Erhard jae@laden.ilk.de Juergen Keil jk@tools.de @@ -234,8 +240,10 @@ Lars J. Aas larsa@sim.no Laurent Morichetti laurentm@cup.hp.com Leo Davis ldavis@fonix.com Leonardo Boiko leoboiko@conectiva.com.br +Libor Bukata libor.bukata@oracle.com Loulou Pouchet loulou@lrde.epita.fr Ludovic Courtès ludo@gnu.org +Lukas Fleischer lfleischer@lfos.de Luo Yi luoyi.ly@gmail.com Maciej Stachowiak mstachow@mit.edu Maciej W. Rozycki macro@ds2.pg.gda.pl @@ -284,6 +292,7 @@ Miles Bader miles@ccs.mt.nec.co.jp Miloslav Trmac trmac@popelka.ms.mff.cuni.cz Miodrag Vallat miodrag@ifrance.com Mirko Streckenbach strecken@infosun.fmi.uni-passau.de +Miro Hroncok miro@hroncok.cz Miroslaw Dobrzanski-Neumann mne@mosaic-ag.com Morten Eriksen mortene@sim.no Motoyuki Kasahara m-kasahr@sra.co.jp @@ -292,6 +301,7 @@ Nelson H. F. Beebe beebe@math.utah.edu Nicholas Wourms nwourms@netscape.net Nick Bowler nbowler@elliptictech.com Nick Brown brownn@brocade.com +Nick Gasson nick@nickg.me.uk Nicola Fontana ntd@entidi.it Nicolas Joly njoly@pasteur.fr Nicolas Thiery nthiery@Icare.mines.edu @@ -317,6 +327,7 @@ Paul Eggert eggert@twinsun.com Paul Jarc prj@po.cwru.edu Paul Lunau temp@lunau.me.uk Paul Martinolich martinol@datasync.com +Paul Osmialowski pawel.osmialowski@arm.com Paul Thomas PTHOMAS@novell.com Pavel Raiskup praiskup@redhat.com Pavel Roskin pavel_roskin@geocities.com @@ -362,7 +373,9 @@ Rob Savoye rob@cygnus.com Robert Bihlmeyer robbe@orcus.priv.at Robert Boehne rboehne@ricardo-us.com Robert Collins robert.collins@itdomain.com.au +Robert Menteer reetnem@mac.com Robert Swafford robert.swafford@l-3com.com +Robert Wanamaker rlw@nycap.rr.com Roberto Bagnara bagnara@cs.unipr.it Roman Fietze roman.fietze@telemotive.de Ronald Copley ronald.copley@gmail.com @@ -375,6 +388,8 @@ Ryan T. Sammartino ryants@shaw.ca Sam Hocevar sam@zoy.org Sam Sirlin sam@kalessin.jpl.nasa.gov Sam Steingold sds@gnu.org +Samuel Tardieu sam@rfc1149.net +Samy Mahmoudi samy.mahmoudi@gmail.com Sander Niemeijer niemeijer@science-and-technology.nl Santiago Vila sanvila@unex.es Scott James Remnant scott@netsplit.com diff --git a/aclocal.m4 b/aclocal.m4 index b076c2c..9fdd1aa 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.3 -*- Autoconf -*- +# generated automatically by aclocal 1.16.4 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,24 +14,833 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69d.4-8e54],, -[m4_warning([this file was generated for autoconf 2.69d.4-8e54. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, +[m4_warning([this file was generated for autoconf 2.71. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -m4_include([m4/amversion.m4]) -m4_include([m4/auxdir.m4]) -m4_include([m4/cond.m4]) -m4_include([m4/init.m4]) -m4_include([m4/install-sh.m4]) -m4_include([m4/lead-dot.m4]) -m4_include([m4/missing.m4]) -m4_include([m4/options.m4]) -m4_include([m4/prog-cc-c-o.m4]) -m4_include([m4/runlog.m4]) -m4_include([m4/sanity.m4]) -m4_include([m4/silent.m4]) -m4_include([m4/strip.m4]) -m4_include([m4/substnot.m4]) -m4_include([m4/tar.m4]) +# Copyright (C) 2002-2021 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_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.4], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.16.4])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2021 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. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2021 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_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +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 +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_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. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# 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 +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + +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 +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +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. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2021 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_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2021 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. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2021 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_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2021 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_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2021 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_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2021 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_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2021 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_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2021 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_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [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]);; +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 +]) + +# Copyright (C) 2001-2021 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_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +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 +# 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 + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2021 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_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2021 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_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/bin/aclocal.in b/bin/aclocal.in index ca2f963..f112447 100644 --- a/bin/aclocal.in +++ b/bin/aclocal.in @@ -1,7 +1,7 @@ #!@PERL@ # aclocal - create aclocal.m4 by scanning configure.ac -*- perl -*- # @configure_input@ -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 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 diff --git a/bin/automake.in b/bin/automake.in index 31c7238..f04f5d5 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -1,7 +1,7 @@ #!@PERL@ # automake - create Makefile.in from Makefile.am -*- perl -*- # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 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 @@ -199,11 +199,14 @@ 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. +# Top-level files that can be foo.md instead of foo. We assume that all +# but THANKS are required at strictness level gnu. +my @toplevelmd_ok = qw(AUTHORS ChangeLog INSTALL NEWS README THANKS); + +# 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 + (qw(ABOUT-GNU ABOUT-NLS BACKLOG COPYING + COPYING.DOC COPYING.LIB COPYING.LESSER TODO ar-lib compile config.guess config.rpath config.sub depcomp install-sh libversion.in mdate-sh missing mkinstalldirs py-compile texinfo.tex ylwrap), @@ -1839,22 +1842,27 @@ sub handle_single_transform { # Since the next major version of automake (2.0) will # make the behaviour so far only activated with the - # 'subdir-object' option mandatory, it's better if we + # 'subdir-objects' option mandatory, it's better if we # start warning users not using that option. # As suggested by Peter Johansson, we strive to avoid # the warning when it would be irrelevant, i.e., if # all source files sit in "current" directory. + # + # There are problems with making this change; see + # https://bugs.gnu.org/20699 before making + # subdir-objects, let alone unconditional. + # (Making it non-overridable seems especially wrong.) + # msg_var 'unsupported', $var, "source file '$full' is in a subdirectory," . "\nbut option 'subdir-objects' is disabled"; msg 'unsupported', INTERNAL, <<'EOF', uniq_scope => US_GLOBAL; possible forward-incompatibility. -At least a source file is in a subdirectory, but the 'subdir-objects' +At least one source file is in a subdirectory, but the 'subdir-objects' automake option hasn't been enabled. For now, the corresponding output -object file(s) will be placed in the top-level directory. However, -this behaviour will change in future Automake versions: they will -unconditionally cause object files to be placed in the same subdirectory -of the corresponding sources. +object file(s) will be placed in the top-level directory. However, this +behavior may change in a future Automake major version, with object +files being placed in the same subdirectory as the corresponding sources. You are advised to start using 'subdir-objects' option throughout your project, to avoid future incompatibilities. EOF @@ -2388,7 +2396,7 @@ sub handle_LIBOBJS $var->requires_variables ("\@${lt}LIBOBJS\@ used", $lt . 'LIBOBJS') if ! keys %libsources; - foreach my $iter (keys %libsources) + foreach my $iter (sort keys %libsources) { my $dir = ''; if ($iter =~ /^(.*)(\.[cly])$/) @@ -3828,7 +3836,7 @@ sub handle_dist () $check_aux = 1; } } - foreach my $cfile (@common_files) + foreach my $cfile (@toplevelmd_ok, @common_files) { if (dir_has_case_matching_file ($relative_dir, $cfile) # The file might be absent, but if it can be built it's ok. @@ -3836,13 +3844,30 @@ sub handle_dist () { push_dist_common ($cfile); } + elsif (grep { $_ eq $cfile } @toplevelmd_ok) + { # Irritatingly, have to repeat the checks, now for .md files; + # we want to prefer non-.md, so do this second, and only "elsif". + if (dir_has_case_matching_file ($relative_dir, "$cfile.md") + || rule "$cfile.md") + { + push_dist_common ("$cfile.md"); + } + } # Don't use 'elsif' here because a file might meaningfully - # appear in both directories. + # appear in both $relative_dir and $config_aux_dir. if ($check_aux && dir_has_case_matching_file ($config_aux_dir, $cfile)) { push_dist_common ("$config_aux_dir/$cfile") } + elsif ($check_aux && grep { $_ eq $cfile } @toplevelmd_ok) + { + if (dir_has_case_matching_file ($config_aux_dir, "$cfile.md") + || rule "$cfile.md") + { + push_dist_common ("$cfile.md"); + } + } } # We might copy elements from @configure_dist_common to @@ -4692,7 +4717,7 @@ sub handle_clean DIST_CLEAN, [], MAINTAINER_CLEAN, []); - foreach my $file (keys %clean_files) + foreach my $file (sort keys %clean_files) { my $when = $clean_files{$file}; prog_error 'invalid entry in %clean_files' @@ -4762,7 +4787,7 @@ sub handle_factored_dependencies () . "not 'install-hook'"); # Install the -local hooks. - foreach (keys %dependencies) + foreach (sort keys %dependencies) { # Hooks are installed on the -am targets. s/-am$// or next; @@ -4784,7 +4809,7 @@ sub handle_factored_dependencies () } # All the required targets are phony. - depend ('.PHONY', keys %required_targets); + depend ('.PHONY', sort keys %required_targets); # Actually output gathered targets. foreach (sort target_cmp keys %dependencies) @@ -5114,11 +5139,12 @@ sub handle_minor_options () "version '$package_version' doesn't follow " . "Gnits standards"); } - if (defined $1 && -f 'README-alpha') + if (defined $1 && (-f 'README-alpha' || -f 'README-alpha.md')) { # This means we have an alpha release. See # GNITS_VERSION_PATTERN for details. - push_dist_common ('README-alpha'); + my $af = -f 'README-alpha' ? 'README-alpha' : 'README-alpha.md'; + push_dist_common ($af); } } } @@ -5260,7 +5286,7 @@ sub scan_autoconf_traces # has a precise meaning for AC_CONFIG_FILES and so on. $traces .= join (' ', map { "--trace=$_" . ':\$f:\$l::\$d::\$n::\${::}%' } - (keys %traced)); + (sort keys %traced)); verb "running WARNINGS=$ENV{WARNINGS} $traces"; my $tracefh = new Automake::XFile ("$traces $filename |"); @@ -5605,8 +5631,16 @@ sub check_gnu_standards () if ($relative_dir eq '.') { # In top level (or only) directory. - require_file ("$am_file.am", GNU, - qw/INSTALL NEWS README AUTHORS ChangeLog/); + + foreach my $file (@toplevelmd_ok) + { + next if $file eq 'THANKS'; # gnits, checked below + # if non-.md is absent, and .md is present, require .md; + # otherwise require non-.md. + my $required + = (! -f $file && -f "$file.md") ? "$file.md" : $file; + require_file ("$am_file.am", GNU, $required); + } # Accept one of these three licenses; default to COPYING. # Make sure we do not overwrite an existing license. @@ -5637,7 +5671,10 @@ sub check_gnits_standards () if ($relative_dir eq '.') { # In top level (or only) directory. - require_file ("$am_file.am", GNITS, 'THANKS'); + my $file = 'THANKS'; + my $required + = (! -f $file && -f "$file.md") ? "$file.md" : $file; + require_file ("$am_file.am", GNITS, $file); } } @@ -5733,8 +5770,14 @@ sub lang_vala_finish_target my $built_c_file = "\$(builddir)/$c_file"; my $built_dir = dirname $built_c_file; my $base_c_file = basename $c_file; + # + # The -newer test here is checking "C file not older than Vala + # file" (not "C file newer than Vala file"; see + # https://bugs.gnu.org/44772. The log message on the commit + # misleadingly says "reversed". + # $output_rules .= "$built_c_file: \$(builddir)/${derived}_vala.stamp\n" - . "\t\@if test ! -f \$@ && test \$(srcdir) != \$(builddir) && test -n \"\$\$(find -L \$(srcdir)/$c_file -prune -newer \$(srcdir)/$vala_file)\"; then cp -p \$(srcdir)/$c_file $built_c_file; fi\n" + . "\t\@if test ! -f \$@ && test \$(srcdir) != \$(builddir) && test -n \"\$\$(find -L \$(srcdir)/$vala_file -prune \! -newer \$(srcdir)/$c_file)\"; then cp -p \$(srcdir)/$c_file $built_c_file; fi\n" . "\t\@if test -f \$@; then :; else rm -f \$(builddir)/${derived}_vala.stamp; fi\n" . "\t\@if test -f \$@; then :; else \\\n" . "\t \$(MAKE) \$(AM_MAKEFLAGS) \$(builddir)/${derived}_vala.stamp; \\\n" @@ -5831,7 +5874,7 @@ sub lang_vala_finish () { my ($self) = @_; - foreach my $prog (keys %known_programs) + foreach my $prog (sort keys %known_programs) { lang_vala_finish_target ($self, $prog); } @@ -6317,8 +6360,12 @@ sub define_per_target_linker_variable my ($linker, $target) = @_; # If the user wrote a custom link command, we don't define ours. - return "${target}_LINK" - if set_seen "${target}_LINK"; + my $custom_link = "${target}_LINK"; + if (set_seen ($custom_link)) + { + my $verbose = $custom_link if var (verbose_var ($custom_link)); + return ($custom_link, $verbose); + } my $xlink = $linker ? $linker : 'LINK'; @@ -6820,6 +6867,7 @@ sub preprocess_file 'SHAR' => !! option 'dist-shar', 'ZIP' => !! option 'dist-zip', 'ZSTD' => !! option 'dist-zstd', + 'DIST_BUILT_SOURCES' => !! option 'dist-built-sources', 'INSTALL-INFO' => ! option 'no-installinfo', 'INSTALL-MAN' => ! option 'no-installman', @@ -8145,8 +8193,11 @@ Library files: "(always):\n"; print_autodist_files @common_files; print "\nFiles automatically distributed if found " . + "(as .md if needed):\n"; + print_autodist_files (map { "${_}[.md]" } @toplevelmd_ok); + print "\nFiles automatically distributed if found " . "(under certain conditions):\n"; - print_autodist_files @common_sometimes; + print_autodist_files @common_sometimes, 'README-alpha[.md]'; print ' Report bugs to <@PACKAGE_BUGREPORT@>. diff --git a/bin/local.mk b/bin/local.mk index 5cf2efb..845121f 100644 --- a/bin/local.mk +++ b/bin/local.mk @@ -1,5 +1,5 @@ ## -*- makefile-automake -*- -## Copyright (C) 1995-2020 Free Software Foundation, Inc. +## Copyright (C) 1995-2021 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 diff --git a/bootstrap b/bootstrap index 4ed6981..7c4a9b7 100755 --- a/bootstrap +++ b/bootstrap @@ -2,7 +2,7 @@ # This script helps bootstrap automake, when checked out from git. # -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 Free Software Foundation, Inc. # Originally written by Pavel Roskin September 2002. # # This program is free software; you can redistribute it and/or modify @@ -42,7 +42,7 @@ PACKAGE=automake datadir=. # This should be automatically updated by the 'update-copyright' # rule of our Makefile. -RELEASE_YEAR=2020 +RELEASE_YEAR=2021 # Override SHELL. This is required on DJGPP so that Perl's system() # uses bash, not COMMAND.COM which doesn't quote arguments properly. diff --git a/configure b/configure index f070bc8..42b5088 100755 --- a/configure +++ b/configure @@ -1,11 +1,12 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69d.4-8e54 for GNU Automake 1.16.3. +# Generated by GNU Autoconf 2.71 for GNU Automake 1.16.4. # # Report bugs to . # # -# Copyright (C) 1992-1996, 1998-2017, 2020 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -16,6 +17,7 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -24,7 +26,7 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -138,7 +140,8 @@ exit 255 # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: @@ -146,7 +149,7 @@ then : # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -169,10 +172,12 @@ as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO @@ -182,13 +187,13 @@ test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null then : as_have_required=yes -else +else $as_nop as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH @@ -222,7 +227,7 @@ IFS=$as_save_IFS if $as_found then : -else +else $as_nop if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : @@ -290,6 +295,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -307,6 +313,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -375,7 +389,7 @@ then : { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -393,13 +407,21 @@ then : { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -521,6 +543,7 @@ esac as_echo='printf %s\n' as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -588,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU Automake' PACKAGE_TARNAME='automake' -PACKAGE_VERSION='1.16.3' -PACKAGE_STRING='GNU Automake 1.16.3' +PACKAGE_VERSION='1.16.4' +PACKAGE_STRING='GNU Automake 1.16.4' PACKAGE_BUGREPORT='bug-automake@gnu.org' PACKAGE_URL='https://www.gnu.org/software/automake/' @@ -649,6 +672,9 @@ scriptdir pkgvdatadir APIVERSION RELEASE_YEAR +CSCOPE +ETAGS +CTAGS am__untar am__tar AMTAR @@ -1307,7 +1333,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Automake 1.16.3 to adapt to many kinds of systems. +\`configure' configures GNU Automake 1.16.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1378,7 +1404,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Automake 1.16.3:";; + short | recursive ) echo "Configuration of GNU Automake 1.16.4:";; esac cat <<\_ACEOF @@ -1487,10 +1513,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Automake configure 1.16.3 -generated by GNU Autoconf 2.69d.4-8e54 +GNU Automake configure 1.16.4 +generated by GNU Autoconf 2.71 -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1507,7 +1533,7 @@ fi ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1529,7 +1555,7 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -1546,7 +1572,7 @@ fi ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1568,7 +1594,7 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -1585,7 +1611,7 @@ fi ac_fn_fc_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1607,7 +1633,7 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -1624,7 +1650,7 @@ fi ac_fn_f77_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1646,7 +1672,7 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -1680,8 +1706,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Automake $as_me 1.16.3, which was -generated by GNU Autoconf 2.69d.4-8e54. Invocation command line was +It was created by GNU Automake $as_me 1.16.4, which was +generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -1906,26 +1932,23 @@ printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 @@ -1954,689 +1977,548 @@ printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif -# Auxiliary files required by this configure script. -ac_aux_files="compile missing install-sh config.guess config.sub" - -# Locations in which to look for auxiliary files. -ac_aux_dir_candidates="${srcdir}/lib" - -# Search for a directory containing all of the required auxiliary files, -# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. -# If we don't find one directory that contains all the files we need, -# we report the set of missing files from the *first* directory in -# $ac_aux_dir_candidates and give up. -ac_missing_aux_files="" -ac_first_candidate=: -printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in $ac_aux_dir_candidates -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - as_found=: +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} - printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 - ac_aux_dir_found=yes - ac_install_sh= - for ac_aux in $ac_aux_files - do - # As a special case, if "install-sh" is required, that requirement - # can be satisfied by any of "install-sh", "install.sh", or "shtool", - # and $ac_install_sh is set appropriately for whichever one is found. - if test x"$ac_aux" = x"install-sh" - then - if test -f "${as_dir}install-sh"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 - ac_install_sh="${as_dir}install-sh -c" - elif test -f "${as_dir}install.sh"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 - ac_install_sh="${as_dir}install.sh -c" - elif test -f "${as_dir}shtool"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 - ac_install_sh="${as_dir}shtool install -c" - else - ac_aux_dir_found=no - if $ac_first_candidate; then - ac_missing_aux_files="${ac_missing_aux_files} install-sh" - else - break - fi - fi - else - if test -f "${as_dir}${ac_aux}"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 - else - ac_aux_dir_found=no - if $ac_first_candidate; then - ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" - else - break - fi - fi - fi - done - if test "$ac_aux_dir_found" = yes; then - ac_aux_dir="$as_dir" - break - fi - ac_first_candidate=false +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; - as_found=false -done -IFS=$as_save_IFS -if $as_found -then : +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; -else - as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 -fi +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -if test -f "${ac_aux_dir}config.guess"; then - ac_config_guess="$SHELL ${ac_aux_dir}config.guess" -fi -if test -f "${ac_aux_dir}config.sub"; then - ac_config_sub="$SHELL ${ac_aux_dir}config.sub" -fi -if test -f "$ac_aux_dir/configure"; then - ac_configure="$SHELL ${ac_aux_dir}configure" -fi +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' - and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; +struct incomplete_array +{ + int datasize; + double data[]; +}; +struct named_init { + int number; + const wchar_t *name; + double average; +}; +typedef const char *ccp; +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} -# Check whether --enable-silent-rules was given. -if test ${enable_silent_rules+y} -then : - enableval=$enable_silent_rules; -fi +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -printf %s "checking whether $am_make supports nested variables... " >&6; } -if test ${am_cv_make_support_nested_variables+y} -then : - printf %s "(cached) " >&6 -else - if printf "%s\n" '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 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' + const char *str = ""; + int number = 0; + float fnumber = 0; + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + return *str && number && fnumber; +} +' +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; - # Make sure we can run config.sub. -$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -printf %s "checking build system type... " >&6; } -if test ${ac_cv_build+y} -then : - printf %s "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -printf "%s\n" "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + ni.number = 58; -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -printf %s "checking host system type... " >&6; } -if test ${ac_cv_host+y} -then : - printf %s "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || - as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 -fi + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -printf "%s\n" "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); -# Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this -# way we can run Autoconf tests from configure (or from the test -# suite) without being bothered by 'missing'. Likewise for autom4te, -# autoreconf, autoheader, and autoupdate. -am_AUTOCONF="${AUTOCONF-autoconf}" +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } -am_AUTOM4TE="${AUTOM4TE-autom4te}" +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; -am_AUTORECONF="${AUTORECONF-autoreconf}" +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; -am_AUTOHEADER="${AUTOHEADER-autoheader}" +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; -am_AUTOUPDATE="${AUTOUPDATE-autoupdate}" +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' -am__api_version='1.16' +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" - # Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -printf %s "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test ${ac_cv_path_install+y} -then : - printf %s "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - # Account for fact that we put trailing slashes in our PATH walk. -case $as_dir in #(( - ./ | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test ${ac_cv_path_install+y}; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -printf "%s\n" "$INSTALL" >&6; } +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -printf %s "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; -rm -f conftest.file +namespace { -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` +} // anonymous namespace +' +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' - if test x"${MISSING+set}" != xset; then - MISSING="\${SHELL} '$am_aux_dir/missing'" -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi +namespace cxx11test +{ + constexpr int get_val() { return 20; } -# 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 -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_STRIP+y} -then : - printf %s "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + struct testinit + { + int i; + double d; + }; -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -printf "%s\n" "$STRIP" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + virtual int getval() { return this->n; }; + protected: + int n; + }; -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_STRIP+y} -then : - printf %s "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -printf "%s\n" "$ac_ct_STRIP" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 -printf %s "checking for a race-free mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test ${ac_cv_path_mkdir+y} -then : - printf %s "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue - case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir ('*'coreutils) '* | \ - 'BusyBox '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } -fi + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' - test -d ./--version && rmdir ./--version - if test ${ac_cv_path_mkdir+y}; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -printf "%s\n" "$MKDIR_P" >&6; } +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_AWK+y} -then : - printf %s "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="compile missing install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/lib" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH +as_found=false +for as_dir in $ac_aux_dir_candidates do IFS=$as_save_IFS case $as_dir in #((( @@ -2644,232 +2526,311 @@ do */) ;; *) as_dir=$as_dir/ ;; esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -printf "%s\n" "$AWK" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi + as_found=: + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false - test -n "$AWK" && break + as_found=false done - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval test \${ac_cv_prog_make_${ac_make}_set+y} +IFS=$as_save_IFS +if $as_found then : - printf %s "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - SET_MAKE= -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 fi -rmdir .tst 2>/dev/null -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" fi -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Define the identity of the package. - PACKAGE='automake' - VERSION='1.16.3' - - -# Some tools Automake needs. -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} +# Check whether --enable-silent-rules was given. +if test ${enable_silent_rules+y} +then : + enableval=$enable_silent_rules; +fi +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" '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 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# 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 -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -# Keep this on a line of its own, since it must be found and processed -# by the 'update-copyright' rule in our Makefile. -RELEASE_YEAR=2020 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -# The API version is the base version. We must guarantee -# compatibility for all releases with the same API version. -APIVERSION=1.16 -pkgvdatadir="\${datadir}/$PACKAGE-$APIVERSION" -scriptdir="\${pkgvdatadir}" +# Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this +# way we can run Autoconf tests from configure (or from the test +# suite) without being bothered by 'missing'. Likewise for autom4te, +# autoreconf, autoheader, and autoupdate. +am_AUTOCONF="${AUTOCONF-autoconf}" -amdir="\${pkgvdatadir}/am" +am_AUTOM4TE="${AUTOM4TE-autom4te}" -automake_acdir="\${datadir}/aclocal-$APIVERSION" +am_AUTORECONF="${AUTORECONF-autoreconf}" -system_acdir="\${datadir}/aclocal" +am_AUTOHEADER="${AUTOHEADER-autoheader}" +am_AUTOUPDATE="${AUTOUPDATE-autoupdate}" -# Our build system is bootstrapped with the bleeding-edge versions of -# aclocal and automake, hence the remake rules must use those versions -# as well. The extra quoting is to cater to cases when the build -# directory contains whitespace or shell metacharacters. -ACLOCAL="\"`pwd`/pre-inst-env\" aclocal-$APIVERSION" -AUTOMAKE="\"`pwd`/pre-inst-env\" automake-$APIVERSION" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -printf %s "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -printf "%s\n" "no, using $LN_S" >&6; } -fi +am__api_version='1.16' -# Extract the first word of "perl", so it can be a program name with args. -set dummy perl; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_PERL+y} + # Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} then : printf %s "(cached) " >&6 -else - case $PERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_PERL="$PERL" # Let the user override the test with a path. - ;; - *) +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2879,56 +2840,193 @@ do */) ;; *) as_dir=$as_dir/ ;; esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_PERL="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in #(( + ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + done IFS=$as_save_IFS - ;; -esac +rm -rf conftest.one conftest.two conftest.dir + fi -PERL=$ac_cv_path_PERL -if test -n "$PERL"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 -printf "%s\n" "$PERL" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } + if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -if test -z "$PERL"; then - as_fn_error $? "perl not found" "$LINENO" 5 -fi -# Save details about the selected perl interpreter in config.log. -{ echo "$as_me:$LINENO: $PERL --version" >&5 - ($PERL --version) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -$PERL -e 'require 5.006;' || { - as_fn_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 - ./configure PERL=/path/to/perl" "$LINENO" 5 -} +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -# The test suite will skip some tests if tex is absent. -# Extract the first word of "tex", so it can be a program name with args. -set dummy tex; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# 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 +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_TEX+y} +if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 -else - if test -n "$TEX"; then - ac_cv_prog_TEX="$TEX" # Let the user override the test. +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -2941,7 +3039,7 @@ do esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_TEX="tex" + ac_cv_prog_STRIP="${ac_tool_prefix}strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi @@ -2951,48 +3049,29 @@ IFS=$as_save_IFS fi fi -TEX=$ac_cv_prog_TEX -if test -n "$TEX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TEX" >&5 -printf "%s\n" "$TEX" >&6; } +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi -# Save details about the selected TeX program in config.log. -# Redirect input from /dev/null, as TeX might otherwise hang waiting -# for input from the terminal. -{ echo "$as_me:$LINENO: $TEX --version &5 - ($TEX --version &5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -# The test suite will skip some tests if no lex or yacc program is -# available. -# We don't use AC_PROG_LEX nor AC_PROG_YACC here because: -# 1. we don't want flex (resp. bison) to be preferred to system lex -# (resp. system yacc); -# 2. we don't want $LEX (resp. $YACC) to be defined to ':' (resp. 'yacc') -# by default; -# 3. we prefer not to have the variables YFLAGS, LEX_OUTPUT_ROOT and -# LEXLIB to be calculated and/or AC_SUBST'd; -# 4. we prefer that the YACC and LEX variables are not reported in the -# configure help screen. -for ac_prog in yacc byacc 'bison -y' -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_YACC+y} +if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3005,7 +3084,7 @@ do esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" + ac_cv_prog_ac_ct_STRIP="strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi @@ -3015,32 +3094,93 @@ IFS=$as_save_IFS fi fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -printf "%s\n" "$YACC" >&6; } +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi - test -n "$YACC" && break -done -test -n "$YACC" || YACC="false" +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -for ac_prog in lex flex + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_LEX+y} +if test ${ac_cv_prog_AWK+y} then : printf %s "(cached) " >&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # Let the user override the test. +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3053,7 +3193,7 @@ do esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_LEX="$ac_prog" + ac_cv_prog_AWK="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi @@ -3063,302 +3203,236 @@ IFS=$as_save_IFS fi fi -LEX=$ac_cv_prog_LEX -if test -n "$LEX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 -printf "%s\n" "$LEX" >&6; } +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi - test -n "$LEX" && break + test -n "$AWK" && break done -test -n "$LEX" || LEX="false" - - -# Test for Autoconf. We run Autoconf in a subdirectory to ease -# deletion of any files created (such as those added to -# autom4te.cache). We used to perform only the last of the three -# following tests, but some users were unable to figure out that their -# installation was broken since --version appeared to work. -required_autoconf_version=2.65 - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether autoconf is installed" >&5 -printf %s "checking whether autoconf is installed... " >&6; } -if test ${am_cv_autoconf_installed+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} then : printf %s "(cached) " >&6 -else - if { echo "$as_me:$LINENO: $am_AUTOCONF --version" >&5 - ($am_AUTOCONF --version) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - am_cv_autoconf_installed=yes -else - am_cv_autoconf_installed=no -fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_autoconf_installed" >&5 -printf "%s\n" "$am_cv_autoconf_installed" >&6; } -if test "$am_cv_autoconf_installed" = no; then - as_fn_error $? "Autoconf $required_autoconf_version or better is required. - Please make sure it is installed and in your PATH." "$LINENO" 5 +else $as_nop + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether autoconf works" >&5 -printf %s "checking whether autoconf works... " >&6; } -if test ${am_cv_autoconf_works+y} -then : - printf %s "(cached) " >&6 -else - mkdir conftest -echo 'AC''_INIT' > conftest/conftest.ac -if { echo "$as_me:$LINENO: cd conftest && $am_AUTOCONF -o /dev/null conftest.ac" >&5 - (cd conftest && $am_AUTOCONF -o /dev/null conftest.ac) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - am_cv_autoconf_works=yes +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + SET_MAKE= else - am_cv_autoconf_works=no -fi -rm -rf conftest -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_autoconf_works" >&5 -printf "%s\n" "$am_cv_autoconf_works" >&6; } -if test "$am_cv_autoconf_works" = no; then - as_fn_error $? "The installed version of autoconf does not work. - Please check config.log for error messages before this one." "$LINENO" 5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether autoconf is recent enough" >&5 -printf %s "checking whether autoconf is recent enough... " >&6; } -if test ${am_cv_autoconf_version+y} -then : - printf %s "(cached) " >&6 -else - mkdir conftest -echo 'AC'"_PREREQ([$required_autoconf_version])" > conftest/conftest.ac -if { echo "$as_me:$LINENO: cd conftest && $am_AUTOCONF -o /dev/null conftest.ac" >&5 - (cd conftest && $am_AUTOCONF -o /dev/null conftest.ac) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - am_cv_autoconf_version=yes +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. else - am_cv_autoconf_version=no + am__leading_dot=_ fi -rm -rf conftest +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_autoconf_version" >&5 -printf "%s\n" "$am_cv_autoconf_version" >&6; } -if test "$am_cv_autoconf_version" = no; then - as_fn_error $? "Autoconf $required_autoconf_version or better is required." "$LINENO" 5 + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi fi -# Test for ln. We need use it to install the versioned binaries. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln works" >&5 -printf %s "checking whether ln works... " >&6; } -if test ${am_cv_prog_ln+y} -then : - printf %s "(cached) " >&6 -else -rm -f conftest conftest.file -: >conftest.file -if ln conftest.file conftest 2>/dev/null; then - am_cv_prog_ln=ln -else - am_cv_prog_ln='cp -p' -fi -rm -f conftest conftest.file -fi +# Define the identity of the package. + PACKAGE='automake' + VERSION='1.16.4' -LN=$am_cv_prog_ln -result=no -test "x$am_cv_prog_ln" = xln && result=yes -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $result" >&5 -printf "%s\n" "$result" >&6; } +# Some tools Automake needs. -# The amount we should wait after modifying files depends on the platform. -# On Windows '95, '98 and ME, files modifications have 2-seconds -# granularity and can be up to 3 seconds in the future w.r.t. the -# system clock. When it is important to ensure one file is older -# than another we wait at least 5 seconds between creations. -case $build in - *-pc-msdosdjgpp) MODIFICATION_DELAY=5;; - *) MODIFICATION_DELAY=2;; -esac +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -## ------------------------------------------- ## -## Test for things needed by the test suite. ## -## ------------------------------------------- ## +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} -then : - printf %s "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in grep ggrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} -then : - printf %s "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in egrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + + +# 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 +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi -else - ac_cv_path_EGREP=$EGREP fi - fi + +# Keep this on a line of its own, since it must be found and processed +# by the 'update-copyright' rule in our Makefile. +RELEASE_YEAR=2021 + + +# The API version is the base version. We must guarantee +# compatibility for all releases with the same API version. +APIVERSION=1.16 + + +pkgvdatadir="\${datadir}/$PACKAGE-$APIVERSION" + +scriptdir="\${pkgvdatadir}" + +amdir="\${pkgvdatadir}/am" + +automake_acdir="\${datadir}/aclocal-$APIVERSION" + +system_acdir="\${datadir}/aclocal" + + +# Our build system is bootstrapped with the bleeding-edge versions of +# aclocal and automake, hence the remake rules must use those versions +# as well. The extra quoting is to cater to cases when the build +# directory contains whitespace or shell metacharacters. +ACLOCAL="\"`pwd`/pre-inst-env\" aclocal-$APIVERSION" +AUTOMAKE="\"`pwd`/pre-inst-env\" automake-$APIVERSION" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -printf %s "checking for fgrep... " >&6; } -if test ${ac_cv_path_FGREP+y} +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PERL+y} then : printf %s "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST +else $as_nop + case $PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_PERL="$PERL" # Let the user override the test with a path. + ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( @@ -3366,147 +3440,123 @@ do */) ;; *) as_dir=$as_dir/ ;; esac - for ac_prog in fgrep - do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PERL="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - fi + ;; +esac +fi +PERL=$ac_cv_path_PERL +if test -n "$PERL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +printf "%s\n" "$PERL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -printf "%s\n" "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - - - +if test -z "$PERL"; then + as_fn_error $? "perl not found" "$LINENO" 5 +fi +# Save details about the selected perl interpreter in config.log. +{ echo "$as_me:$LINENO: $PERL --version" >&5 + ($PERL --version) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +$PERL -e 'require 5.006;' || { + as_fn_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 + ./configure PERL=/path/to/perl" "$LINENO" 5 +} -# AM_CHECK_CANDIDATE_TEST_SHELL(SHELL-PATH) -# ----------------------------------------- -# -# Check if the given shell is good enough to run our test scripts. -# Inspired to gnulib's 'tests/init.sh'. -# -# We require POSIX and XSI features (e.g., '$(...)' for command -# substitutions, '$((...))' for shell arithmetic, and support for -# '${var#...}' and '${var%...}' parameter expansions). -# -# We require that the shell can correctly trap EXIT when 'set -e' is in -# effect (OSF1/Tru64 sh failed to do so, see commit v1.10b-52-g9fe8259). -# -# We want to able to define shell aliases with the same name of shell -# builtins. -# -# We also prefer shells that, when 'set -x' is in effect, do not also -# redirect traces upon stderr redirections. For example, -# $ set -x; echo x 2>file -# would emit "+ echo x" into file with older zsh versions. Similarly, -# $ set -x; P=1 true 2>file -# would emit "P=1" into file with /usr/xpg4/bin/sh from Solaris 10 and -# /bin/sh from SunOS 5.11 and OpenBSD 4.7. -# -# Use '$am_score' to indicate the degree of acceptability of the shell. -# A score of "10" means that the shell is good enough for our needs; -# a score of "9" means that the shell has some minor bugs or limitation, -# but is still (barely) acceptable for our uses. Any other score means -# that the shell is broken or unfit. -# - - -# These messages only goes to the config.log file. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: will now look for a sturdy POSIX shell, for our testsuite" >&5 -printf "%s\n" "$as_me: will now look for a sturdy POSIX shell, for our testsuite" >&6;} - -am_bourne_compatible="# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +# The test suite will skip some tests if tex is absent. +# Extract the first word of "tex", so it can be a program name with args. +set dummy tex; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TEX+y} then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TEX"; then + ac_cv_prog_TEX="$TEX" # Let the user override the test. else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_TEX="tex" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -" -if test ${ac_cv_AM_TEST_RUNNER_SHELL+y} -then : - printf %s "(cached) " >&6 +fi +fi +TEX=$ac_cv_prog_TEX +if test -n "$TEX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TEX" >&5 +printf "%s\n" "$TEX" >&6; } else - if test "$AM_TEST_RUNNER_SHELL"; then - # Let the user override it. - ac_cv_AM_TEST_RUNNER_SHELL=$AM_TEST_RUNNER_SHELL - else - ac_cv_AM_TEST_RUNNER_SHELL=no - am_candidate_shells=${CONFIG_SHELL-} - # For the benefit of Solaris. - am_PATH=$PATH$PATH_SEPARATOR/usr/xpg6/bin$PATH_SEPARATOR/usr/xpg4/bin - for am_sh in sh sh5 dash ash bash zsh ksh pdksh; do - # Extract the first word of "$am_sh", so it can be a program name with args. -set dummy $am_sh; ac_word=$2 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +# Save details about the selected TeX program in config.log. +# Redirect input from /dev/null, as TeX might otherwise hang waiting +# for input from the terminal. +{ echo "$as_me:$LINENO: $TEX --version &5 + ($TEX --version &5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +# The test suite will skip some tests if no lex or yacc program is +# available. +# We don't use AC_PROG_LEX nor AC_PROG_YACC here because: +# 1. we don't want flex (resp. bison) to be preferred to system lex +# (resp. system yacc); +# 2. we don't want $LEX (resp. $YACC) to be defined to ':' (resp. 'yacc') +# by default; +# 3. we prefer not to have the variables YFLAGS, LEX_OUTPUT_ROOT and +# LEXLIB to be calculated and/or AC_SUBST'd; +# 4. we prefer that the YACC and LEX variables are not reported in the +# configure help screen. +for ac_prog in yacc byacc 'bison -y' +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_am_candidate_sh+y} +if test ${ac_cv_prog_YACC+y} then : printf %s "(cached) " >&6 +else $as_nop + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. else - case $am_candidate_sh in - [\\/]* | ?:[\\/]*) - ac_cv_path_am_candidate_sh="$am_candidate_sh" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $am_PATH +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( @@ -3516,7 +3566,7 @@ do esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_am_candidate_sh="$as_dir$ac_word$ac_exec_ext" + ac_cv_prog_YACC="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi @@ -3524,79 +3574,596 @@ done done IFS=$as_save_IFS - ;; -esac fi -am_candidate_sh=$ac_cv_path_am_candidate_sh -if test -n "$am_candidate_sh"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_candidate_sh" >&5 -printf "%s\n" "$am_candidate_sh" >&6; } +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +printf "%s\n" "$YACC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi - if test -n "$am_candidate_sh"; then - am_candidate_shells="$am_candidate_shells $am_candidate_sh" - fi - - # Must nullify these in order not to interfere with the checks in - # the next loop. - { am_candidate_sh=; unset am_candidate_sh;} - { ac_cv_path_am_candidate_sh=; unset ac_cv_path_am_candidate_sh;} - done - { am_PATH=; unset am_PATH;} # Not required anymore - for am_sh in $am_candidate_shells; do - am_score=0 - am_score=10 - while :; do - + test -n "$YACC" && break +done +test -n "$YACC" || YACC="false" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_sh supports \$(cmd)" >&5 -printf %s "checking whether $am_sh supports \$(cmd)... " >&6; } - if { $am_sh -c "$am_bourne_compatible -test \"\$(echo x)\" = x -test \$? -eq 0 || exit 1 -# Use 77 to indicate success (rather than 0), in case some shell -# acts like Solaris 10's /bin/sh, exiting successfully on some -# syntax errors. -exit 77" >&5 2>&1; test $? -eq 77; } - then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } +for ac_prog in lex flex +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LEX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LEX="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +fi +fi +LEX=$ac_cv_prog_LEX +if test -n "$LEX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 +printf "%s\n" "$LEX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - am_score=1; break - fi +fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_sh supports \$((expr))" >&5 -printf %s "checking whether $am_sh supports \$((expr))... " >&6; } - if { $am_sh -c "$am_bourne_compatible -test \$((1 + 2 * 3)) = 7 -test \$? -eq 0 || exit 1 -# Use 77 to indicate success (rather than 0), in case some shell -# acts like Solaris 10's /bin/sh, exiting successfully on some -# syntax errors. -exit 77" >&5 2>&1; test $? -eq 77; } - then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } + test -n "$LEX" && break +done +test -n "$LEX" || LEX="false" - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - am_score=1; break - fi +# Test for Autoconf. We run Autoconf in a subdirectory to ease +# deletion of any files created (such as those added to +# autom4te.cache). We used to perform only the last of the three +# following tests, but some users were unable to figure out that their +# installation was broken since --version appeared to work. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_sh supports \${#var}" >&5 -printf %s "checking whether $am_sh supports \${#var}... " >&6; } - if { $am_sh -c "$am_bourne_compatible -zero='' one='x' twelve=' foobar baz!' \\ +required_autoconf_version=2.65 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether autoconf is installed" >&5 +printf %s "checking whether autoconf is installed... " >&6; } +if test ${am_cv_autoconf_installed+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if { echo "$as_me:$LINENO: $am_AUTOCONF --version" >&5 + ($am_AUTOCONF --version) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + am_cv_autoconf_installed=yes +else + am_cv_autoconf_installed=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_autoconf_installed" >&5 +printf "%s\n" "$am_cv_autoconf_installed" >&6; } +if test "$am_cv_autoconf_installed" = no; then + as_fn_error $? "Autoconf $required_autoconf_version or better is required. + Please make sure it is installed and in your PATH." "$LINENO" 5 +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether autoconf works" >&5 +printf %s "checking whether autoconf works... " >&6; } +if test ${am_cv_autoconf_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + mkdir conftest +printf '%s\n' > conftest/conftest.ac \ + 'AC''_INIT(smoke-test, 1)' \ + 'AC''_OUTPUT' +if { echo "$as_me:$LINENO: cd conftest && $am_AUTOCONF -o /dev/null conftest.ac" >&5 + (cd conftest && $am_AUTOCONF -o /dev/null conftest.ac) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + am_cv_autoconf_works=yes +else + am_cv_autoconf_works=no +fi +rm -rf conftest +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_autoconf_works" >&5 +printf "%s\n" "$am_cv_autoconf_works" >&6; } +if test "$am_cv_autoconf_works" = no; then + as_fn_error $? "The installed version of autoconf does not work. + Please check config.log for error messages before this one." "$LINENO" 5 +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether autoconf is recent enough" >&5 +printf %s "checking whether autoconf is recent enough... " >&6; } +if test ${am_cv_autoconf_version+y} +then : + printf %s "(cached) " >&6 +else $as_nop + mkdir conftest +printf '%s\n' > conftest/conftest.ac \ + 'AC'"_PREREQ([$required_autoconf_version])" \ + 'AC''_INIT(smoke-test, 1)' \ + 'AC''_OUTPUT' +if { echo "$as_me:$LINENO: cd conftest && $am_AUTOCONF -o /dev/null conftest.ac" >&5 + (cd conftest && $am_AUTOCONF -o /dev/null conftest.ac) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + am_cv_autoconf_version=yes +else + am_cv_autoconf_version=no +fi +rm -rf conftest +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_autoconf_version" >&5 +printf "%s\n" "$am_cv_autoconf_version" >&6; } +if test "$am_cv_autoconf_version" = no; then + as_fn_error $? "Autoconf $required_autoconf_version or better is required." "$LINENO" 5 +fi + +# Test for ln. We need use it to install the versioned binaries. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln works" >&5 +printf %s "checking whether ln works... " >&6; } +if test ${am_cv_prog_ln+y} +then : + printf %s "(cached) " >&6 +else $as_nop + +rm -f conftest conftest.file +: >conftest.file +if ln conftest.file conftest 2>/dev/null; then + am_cv_prog_ln=ln +else + am_cv_prog_ln='cp -p' +fi +rm -f conftest conftest.file +fi + +LN=$am_cv_prog_ln + +result=no +test "x$am_cv_prog_ln" = xln && result=yes +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $result" >&5 +printf "%s\n" "$result" >&6; } + +# The amount we should wait after modifying files depends on the platform. +# On Windows '95, '98 and ME, files modifications have 2-seconds +# granularity and can be up to 3 seconds in the future w.r.t. the +# system clock. When it is important to ensure one file is older +# than another we wait at least 5 seconds between creations. +case $build in + *-pc-msdosdjgpp) MODIFICATION_DELAY=5;; + *) MODIFICATION_DELAY=2;; +esac + + +## ------------------------------------------- ## +## Test for things needed by the test suite. ## +## ------------------------------------------- ## + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + + + + + + +# AM_CHECK_CANDIDATE_TEST_SHELL(SHELL-PATH) +# ----------------------------------------- +# +# Check if the given shell is good enough to run our test scripts. +# Inspired to gnulib's 'tests/init.sh'. +# +# We require POSIX and XSI features (e.g., '$(...)' for command +# substitutions, '$((...))' for shell arithmetic, and support for +# '${var#...}' and '${var%...}' parameter expansions). +# +# We require that the shell can correctly trap EXIT when 'set -e' is in +# effect (OSF1/Tru64 sh failed to do so, see commit v1.10b-52-g9fe8259). +# +# We want to able to define shell aliases with the same name of shell +# builtins. +# +# We also prefer shells that, when 'set -x' is in effect, do not also +# redirect traces upon stderr redirections. For example, +# $ set -x; echo x 2>file +# would emit "+ echo x" into file with older zsh versions. Similarly, +# $ set -x; P=1 true 2>file +# would emit "P=1" into file with /usr/xpg4/bin/sh from Solaris 10 and +# /bin/sh from SunOS 5.11 and OpenBSD 4.7. +# +# Use '$am_score' to indicate the degree of acceptability of the shell. +# A score of "10" means that the shell is good enough for our needs; +# a score of "9" means that the shell has some minor bugs or limitation, +# but is still (barely) acceptable for our uses. Any other score means +# that the shell is broken or unfit. +# + + +# These messages only goes to the config.log file. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: will now look for a sturdy POSIX shell, for our testsuite" >&5 +printf "%s\n" "$as_me: will now look for a sturdy POSIX shell, for our testsuite" >&6;} + +am_bourne_compatible="# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else \$as_nop + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + +" +if test ${ac_cv_AM_TEST_RUNNER_SHELL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "$AM_TEST_RUNNER_SHELL"; then + # Let the user override it. + ac_cv_AM_TEST_RUNNER_SHELL=$AM_TEST_RUNNER_SHELL + else + ac_cv_AM_TEST_RUNNER_SHELL=no + am_candidate_shells=${CONFIG_SHELL-} + # For the benefit of Solaris. + am_PATH=$PATH$PATH_SEPARATOR/usr/xpg6/bin$PATH_SEPARATOR/usr/xpg4/bin + for am_sh in sh sh5 dash ash bash zsh ksh pdksh; do + # Extract the first word of "$am_sh", so it can be a program name with args. +set dummy $am_sh; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_am_candidate_sh+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $am_candidate_sh in + [\\/]* | ?:[\\/]*) + ac_cv_path_am_candidate_sh="$am_candidate_sh" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $am_PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_am_candidate_sh="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +am_candidate_sh=$ac_cv_path_am_candidate_sh +if test -n "$am_candidate_sh"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_candidate_sh" >&5 +printf "%s\n" "$am_candidate_sh" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test -n "$am_candidate_sh"; then + am_candidate_shells="$am_candidate_shells $am_candidate_sh" + fi + + # Must nullify these in order not to interfere with the checks in + # the next loop. + { am_candidate_sh=; unset am_candidate_sh;} + { ac_cv_path_am_candidate_sh=; unset ac_cv_path_am_candidate_sh;} + done + { am_PATH=; unset am_PATH;} # Not required anymore + for am_sh in $am_candidate_shells; do + am_score=0 + am_score=10 + while :; do + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_sh supports \$(cmd)" >&5 +printf %s "checking whether $am_sh supports \$(cmd)... " >&6; } + if { $am_sh -c "$am_bourne_compatible +test \"\$(echo x)\" = x +test \$? -eq 0 || exit 1 +# Use 77 to indicate success (rather than 0), in case some shell +# acts like Solaris 10's /bin/sh, exiting successfully on some +# syntax errors. +exit 77" >&5 2>&1; test $? -eq 77; } + then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + am_score=1; break + fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_sh supports \$((expr))" >&5 +printf %s "checking whether $am_sh supports \$((expr))... " >&6; } + if { $am_sh -c "$am_bourne_compatible +test \$((1 + 2 * 3)) = 7 +test \$? -eq 0 || exit 1 +# Use 77 to indicate success (rather than 0), in case some shell +# acts like Solaris 10's /bin/sh, exiting successfully on some +# syntax errors. +exit 77" >&5 2>&1; test $? -eq 77; } + then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + am_score=1; break + fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_sh supports \${#var}" >&5 +printf %s "checking whether $am_sh supports \${#var}... " >&6; } + if { $am_sh -c "$am_bourne_compatible +zero='' one='x' twelve=' foobar baz!' \\ && test \${#zero} -eq 0 \\ && test \${#one} -eq 1 \\ && test \${#twelve} -eq 12 @@ -3813,11 +4380,25 @@ fi # deliberate; for more discussion and rationale, see: # -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: will now look for generic compilers" >&5 -printf "%s\n" "$as_me: will now look for generic compilers" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: will now look for generic compilers" >&5 +printf "%s\n" "$as_me: will now look for generic compilers" >&6;} + +# C compiler. + + + + + + + + + -# C compiler. -ac_ext=c + + + am__failed=no + while :; do + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -3832,7 +4413,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3881,7 +4462,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -4042,7 +4623,7 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi if test -z "$ac_file" @@ -4058,7 +4639,7 @@ printf "%s\n" "$as_me: WARNING: C compiler cannot create executables" >&2;} am__failed=yes break } -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi @@ -4097,7 +4678,7 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else +else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot compute suffix of executables: cannot compile and link" >&5 printf "%s\n" "$as_me: WARNING: cannot compute suffix of executables: cannot compile and link" >&2;} @@ -4105,772 +4686,391 @@ printf "%s\n" "$as_me: WARNING: cannot compute suffix of executables: cannot com break } fi -rm -f conftest conftest$ac_cv_exeext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -printf "%s\n" "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -printf %s "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -printf "%s\n" "$as_me: WARNING: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - am__failed=yes - break -} - fi - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -printf "%s\n" "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -printf %s "checking for suffix of object files... " >&6; } -if test ${ac_cv_objext+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot compute suffix of object files: cannot compile" >&5 -printf "%s\n" "$as_me: WARNING: cannot compute suffix of object files: cannot compile" >&2;} - am__failed=yes - break -} -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -printf "%s\n" "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 -printf %s "checking whether the compiler supports GNU C... " >&6; } -if test ${ac_cv_c_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+y} -ac_save_CFLAGS=$CFLAGS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -printf %s "checking whether $CC accepts -g... " >&6; } -if test ${ac_cv_prog_cc_g+y} -then : - printf %s "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -printf "%s\n" "$ac_cv_prog_cc_g" >&6; } -if test $ac_test_CFLAGS; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 -printf %s "checking for $CC option to enable C11 features... " >&6; } -if test ${ac_cv_prog_cc_c11+y} -then : - printf %s "(cached) " >&6 -else - ac_cv_prog_cc_c11=no -ac_save_CC=$CC +rm -f conftest conftest$ac_cv_exeext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include -#include #include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array +int +main (void) { - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; + ; return 0; } - -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str = ""; - int number = 0; - float fnumber = 0; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); - - return *str && number && fnumber; +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot run C compiled programs. +If you meant to cross compile, use \`--host'." >&5 +printf "%s\n" "$as_me: WARNING: cannot run C compiled programs. +If you meant to cross compile, use \`--host'." >&2;} + am__failed=yes + break } -// Check _Alignas. -char _Alignas (double) aligned_as_double; -char _Alignas (0) no_special_alignment; -extern char aligned_as_int; -char _Alignas (0) _Alignas (int) aligned_as_int; - -// Check _Alignof. -enum -{ - int_alignment = _Alignof (int), - int_array_alignment = _Alignof (int[100]), - char_alignment = _Alignof (char) -}; -_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); - -// Check _Noreturn. -int _Noreturn does_not_return (void) { for (;;) continue; } - -// Check _Static_assert. -struct test_static_assert -{ - int x; - _Static_assert (sizeof (int) <= sizeof (long int), - "_Static_assert does not work in struct"); - long int y; -}; - -// Check UTF-8 literals. -#define u8 syntax error! -char const utf8_literal[] = u8"happens to be ASCII" "another string"; - -// Check duplicate typedefs. -typedef long *long_ptr; -typedef long int *long_ptr; -typedef long_ptr long_ptr; + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } -// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. -struct anonymous -{ - union { - struct { int i; int j; }; - struct { int k; long int l; } w; - }; - int m; -} v1; +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ int main (void) { - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); + { + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot compute suffix of object files: cannot compile" >&5 +printf "%s\n" "$as_me: WARNING: cannot compute suffix of object files: cannot compile" >&2;} + am__failed=yes + break +} +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - v1.i = 2; - v1.w.k = 5; - _Static_assert ((offsetof (struct anonymous, i) - == offsetof (struct anonymous, w.k)), - "Anonymous union alignment botch"); +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif ; return 0; } _ACEOF -for ac_arg in '' -std=gnu11 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_prog_cc_c11=$ac_arg + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c11" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c11" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c11" - CC=$CC$ac_prog_cc_stdc_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 -printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c11" != xno -then : - ac_prog_cc_stdc=c11 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 -printf %s "checking for $CC option to enable C99 features... " >&6; } -if test ${ac_cv_prog_cc_c99+y} + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; -struct incomplete_array +int +main (void) { - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; + ; return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) +int +main (void) { - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - const char *str = ""; - int number = 0; - float fnumber = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - return *str && number && fnumber; -} int main (void) { - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - ; return 0; } _ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99 +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c99=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c99" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c99" - CC=$CC$ac_prog_cc_stdc_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ac_prog_cc_stdc=c99 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 -else +fi +fi +if test x$ac_prog_cc_stdc = xno +then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 -else +else $as_nop ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main (void) -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c89" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c89" - CC=$CC$ac_prog_cc_stdc_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno + +if test "x$ac_cv_prog_cc_c89" = xno then : - ac_prog_cc_stdc=c89 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 -else - ac_prog_cc_stdc=no - ac_cv_prog_cc_stdc=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" fi - + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 fi - fi ac_ext=c @@ -4880,12 +5080,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - am__failed=no - while :; do - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4896,7 +5090,7 @@ printf %s "checking whether $CC understands -c and -o together... " >&6; } if test ${am_cv_prog_cc_c_o+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4969,7 +5163,7 @@ fi if test x"$GCC" = x"yes" then : am_CC_is_GNU=yes -else +else $as_nop am_CC_is_GNU=no fi @@ -4993,6 +5187,12 @@ fi + + + + + + am__failed=no while :; do ac_ext=cpp @@ -5014,7 +5214,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CXX+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else @@ -5063,7 +5263,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CXX+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else @@ -5218,7 +5418,7 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi if test -z "$ac_file" @@ -5234,7 +5434,7 @@ printf "%s\n" "$as_me: WARNING: C++ compiler cannot create executables" >&2;} am__failed=yes break } -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi @@ -5273,7 +5473,7 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else +else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot compute suffix of executables: cannot compile and link" >&5 printf "%s\n" "$as_me: WARNING: cannot compute suffix of executables: cannot compile and link" >&2;} @@ -5355,7 +5555,7 @@ printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5388,7 +5588,7 @@ then : break;; esac done -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -5410,7 +5610,7 @@ printf %s "checking whether the compiler supports GNU C++... " >&6; } if test ${ac_cv_cxx_compiler_gnu+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5428,10 +5628,10 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi @@ -5451,390 +5651,143 @@ printf %s "checking whether $CXX accepts -g... " >&6; } if test ${ac_cv_prog_cxx_g+y} then : printf %s "(cached) " >&6 -else +else $as_nop ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } -if test $ac_test_CXXFLAGS; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 -printf %s "checking for $CXX option to enable C++11 features... " >&6; } -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test ${ac_cv_prog_cxx_cxx11+y} -then : - printf %s "(cached) " >&6 -else - ac_cv_prog_cxx_cxx11=no -ac_save_CXX=$CXX -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -// Does the compiler advertise C++ 2011 conformance? -#if !defined __cplusplus || __cplusplus < 201103L -# error "Compiler does not advertise C++11 conformance" -#endif - -namespace cxx11test -{ - constexpr int get_val() { return 20; } - - struct testinit - { - int i; - double d; - }; - - class delegate - { - public: - delegate(int n) : n(n) {} - delegate(): delegate(2354) {} - - virtual int getval() { return this->n; }; - protected: - int n; - }; - - class overridden : public delegate - { - public: - overridden(int n): delegate(n) {} - virtual int getval() override final { return this->n * 2; } - }; - - class nocopy - { - public: - nocopy(int i): i(i) {} - nocopy() = default; - nocopy(const nocopy&) = delete; - nocopy & operator=(const nocopy&) = delete; - private: - int i; - }; - - // for testing lambda expressions - template Ret eval(Fn f, Ret v) - { - return f(v); - } - - // for testing variadic templates and trailing return types - template auto sum(V first) -> V - { - return first; - } - template auto sum(V first, Args... rest) -> V - { - return first + sum(rest...); - } -} - -// Does the compiler advertise C++98 conformance? -#if !defined __cplusplus || __cplusplus < 199711L -# error "Compiler does not advertise C++98 conformance" -#endif - -// These inclusions are cheap compared to including any STL header, but will -// reliably reject old compilers that lack the unsuffixed header files. -#undef NDEBUG -#include -#include -#include - -// Namespaces, exceptions, and templates were all added after "C++ 2.0". -using std::cout; -using std::strcmp; - -namespace { - -void test_exception_syntax() -{ - try { - throw "test"; - } catch (const char *s) { - // Extra parentheses suppress a warning when building autoconf itself, - // due to lint rules shared with more typical C programs. - assert (!(strcmp) (s, "test")); - } -} + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -template struct test_template +int +main (void) { - T const val; - explicit test_template(T t) : val(t) {} - template T add(U u) { return static_cast(u) + val; } -}; -} // anonymous namespace + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ int main (void) { -{ - // Test auto and decltype - auto a1 = 6538; - auto a2 = 48573953.4; - auto a3 = "String literal"; - - int total = 0; - for (auto i = a3; *i; ++i) { total += *i; } - - decltype(a2) a4 = 34895.034; -} -{ - // Test constexpr - short sa[cxx11test::get_val()] = { 0 }; -} -{ - // Test initializer lists - cxx11test::testinit il = { 4323, 435234.23544 }; -} -{ - // Test range-based for - int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, - 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; - for (auto &x : array) { x += 23; } -} -{ - // Test lambda expressions - using cxx11test::eval; - assert (eval ([](int x) { return x*2; }, 21) == 42); - double d = 2.0; - assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); - assert (d == 5.0); - assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); - assert (d == 5.0); -} -{ - // Test use of variadic templates - using cxx11test::sum; - auto a = sum(1); - auto b = sum(1, 2); - auto c = sum(1.0, 2.0, 3.0); -} -{ - // Test constructor delegation - cxx11test::delegate d1; - cxx11test::delegate d2(); - cxx11test::delegate d3(45); -} -{ - // Test override and final - cxx11test::overridden o1(55464); -} -{ - // Test nullptr - char *c = nullptr; -} -{ - // Test template brackets - test_template<::test_template> v(test_template(12)); -} -{ - // Unicode literals - char const *utf8 = u8"UTF-8 string \u2500"; - char16_t const *utf16 = u"UTF-8 string \u2500"; - char32_t const *utf32 = U"UTF-32 string \u2500"; + ; + return 0; } +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main (void) { - test_exception_syntax (); - test_template tt (2.0); - assert (tt.add (4) == 6.0); - assert (true && !false); - cout << "ok\n"; -} ; return 0; } _ACEOF -for ac_arg in '' -std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA do CXX="$ac_save_CXX $ac_arg" if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_cxx11=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cxx_cxx11" != "xno" && break done rm -f conftest.$ac_ext CXX=$ac_save_CXX - fi -# AC_CACHE_VAL -ac_prog_cxx_stdcxx_options= -case "x$ac_cv_prog_cxx_cxx11" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_cxx11" - CXX=$CXX$ac_prog_cxx_stdcxx_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } ;; -esac -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "x$ac_cv_prog_cxx_cxx11" != xno + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 ac_prog_cxx_stdcxx=cxx11 - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 - ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11 -else +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 printf %s "checking for $CXX option to enable C++98 features... " >&6; } -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test ${ac_cv_prog_cxx_cxx98+y} +if test ${ac_cv_prog_cxx_98+y} then : printf %s "(cached) " >&6 -else - ac_cv_prog_cxx_cxx98=no +else $as_nop + ac_cv_prog_cxx_98=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -// Does the compiler advertise C++98 conformance? -#if !defined __cplusplus || __cplusplus < 199711L -# error "Compiler does not advertise C++98 conformance" -#endif - -// These inclusions are cheap compared to including any STL header, but will -// reliably reject old compilers that lack the unsuffixed header files. -#undef NDEBUG -#include -#include -#include - -// Namespaces, exceptions, and templates were all added after "C++ 2.0". -using std::cout; -using std::strcmp; - -namespace { - -void test_exception_syntax() -{ - try { - throw "test"; - } catch (const char *s) { - // Extra parentheses suppress a warning when building autoconf itself, - // due to lint rules shared with more typical C programs. - assert (!(strcmp) (s, "test")); - } -} - -template struct test_template -{ - T const val; - explicit test_template(T t) : val(t) {} - template T add(U u) { return static_cast(u) + val; } -}; - -} // anonymous namespace - -int -main (void) -{ - -{ - test_exception_syntax (); - test_template tt (2.0); - assert (tt.add (4) == 6.0); - assert (true && !false); - cout << "ok\n"; -} - - ; - return 0; -} +$ac_cxx_conftest_cxx98_program _ACEOF for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA do @@ -5843,42 +5796,30 @@ do then : ac_cv_prog_cxx_cxx98=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cxx_cxx98" != "xno" && break done rm -f conftest.$ac_ext CXX=$ac_save_CXX - fi -# AC_CACHE_VAL -ac_prog_cxx_stdcxx_options= -case "x$ac_cv_prog_cxx_cxx98" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_cxx98" - CXX=$CXX$ac_prog_cxx_stdcxx_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } ;; -esac -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "x$ac_cv_prog_cxx_cxx98" != xno + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 ac_prog_cxx_stdcxx=cxx98 - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 -else - ac_prog_cxx_stdcxx=no - ac_cv_prog_cxx_stdcxx=no fi - fi ac_ext=c @@ -5910,7 +5851,7 @@ fi if test x"$GXX" = x"yes" then : am_CXX_is_GNU=yes -else +else $as_nop am_CXX_is_GNU=no fi @@ -5938,7 +5879,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_FC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else @@ -5987,7 +5928,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_FC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_FC"; then ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. else @@ -6136,7 +6077,7 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi if test -z "$ac_file" @@ -6152,7 +6093,7 @@ printf "%s\n" "$as_me: WARNING: Fortran compiler cannot create executables" >&2; am__failed=yes break } -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi @@ -6191,7 +6132,7 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else +else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot compute suffix of executables: cannot compile and link" >&5 printf "%s\n" "$as_me: WARNING: cannot compute suffix of executables: cannot compile and link" >&2;} @@ -6267,7 +6208,7 @@ printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat > conftest.$ac_ext <<_ACEOF program main @@ -6294,7 +6235,7 @@ then : break;; esac done -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -6320,7 +6261,7 @@ printf %s "checking whether the compiler supports GNU Fortran... " >&6; } if test ${ac_cv_fc_compiler_gnu+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat > conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ @@ -6332,10 +6273,10 @@ _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_fc_compiler_gnu=$ac_compiler_gnu fi @@ -6352,7 +6293,7 @@ printf %s "checking whether $FC accepts -g... " >&6; } if test ${ac_cv_prog_fc_g+y} then : printf %s "(cached) " >&6 -else +else $as_nop FCFLAGS=-g cat > conftest.$ac_ext <<_ACEOF program main @@ -6362,10 +6303,10 @@ _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ac_cv_prog_fc_g=yes -else +else $as_nop ac_cv_prog_fc_g=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 @@ -6420,7 +6361,7 @@ fi if test x"$GFC" = x"yes" then : am_FC_is_GNU=yes -else +else $as_nop am_FC_is_GNU=no fi @@ -6443,7 +6384,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_F77+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else @@ -6492,7 +6433,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_F77+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else @@ -6641,7 +6582,7 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi if test -z "$ac_file" @@ -6657,7 +6598,7 @@ printf "%s\n" "$as_me: WARNING: Fortran 77 compiler cannot create executables" > am__failed=yes break } -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi @@ -6696,7 +6637,7 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else +else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot compute suffix of executables: cannot compile and link" >&5 printf "%s\n" "$as_me: WARNING: cannot compute suffix of executables: cannot compile and link" >&2;} @@ -6772,7 +6713,7 @@ printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat > conftest.$ac_ext <<_ACEOF program main @@ -6799,7 +6740,7 @@ then : break;; esac done -else +else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -6825,7 +6766,7 @@ printf %s "checking whether the compiler supports GNU Fortran 77... " >&6; } if test ${ac_cv_f77_compiler_gnu+y} then : printf %s "(cached) " >&6 -else +else $as_nop cat > conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ @@ -6837,10 +6778,10 @@ _ACEOF if ac_fn_f77_try_compile "$LINENO" then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi @@ -6857,7 +6798,7 @@ printf %s "checking whether $F77 accepts -g... " >&6; } if test ${ac_cv_prog_f77_g+y} then : printf %s "(cached) " >&6 -else +else $as_nop FFLAGS=-g cat > conftest.$ac_ext <<_ACEOF program main @@ -6867,10 +6808,10 @@ _ACEOF if ac_fn_f77_try_compile "$LINENO" then : ac_cv_prog_f77_g=yes -else +else $as_nop ac_cv_prog_f77_g=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 @@ -6925,7 +6866,7 @@ fi if test x"$G77" = x"yes" then : am_F77_is_GNU=yes -else +else $as_nop am_F77_is_GNU=no fi @@ -6960,7 +6901,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_GNU_CC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$GNU_CC"; then ac_cv_prog_GNU_CC="$GNU_CC" # Let the user override the test. else @@ -7009,7 +6950,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_GNU_CC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_GNU_CC"; then ac_cv_prog_ac_ct_GNU_CC="$ac_ct_GNU_CC" # Let the user override the test. else @@ -7069,7 +7010,7 @@ if test "$GNU_CC" != false; then (exit $ac_status); } then : -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: botched installation for GNU C compiler" >&5 printf "%s\n" "$as_me: WARNING: botched installation for GNU C compiler" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: tests requiring the GNU C compiler will be skipped" >&5 @@ -7096,7 +7037,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_GNU_CXX+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$GNU_CXX"; then ac_cv_prog_GNU_CXX="$GNU_CXX" # Let the user override the test. else @@ -7145,7 +7086,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_GNU_CXX+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_GNU_CXX"; then ac_cv_prog_ac_ct_GNU_CXX="$ac_ct_GNU_CXX" # Let the user override the test. else @@ -7205,7 +7146,7 @@ if test "$GNU_CXX" != false; then (exit $ac_status); } then : -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: botched installation for GNU C++ compiler" >&5 printf "%s\n" "$as_me: WARNING: botched installation for GNU C++ compiler" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: tests requiring the GNU C++ compiler will be skipped" >&5 @@ -7232,7 +7173,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_GNU_FC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$GNU_FC"; then ac_cv_prog_GNU_FC="$GNU_FC" # Let the user override the test. else @@ -7281,7 +7222,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_GNU_FC+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_GNU_FC"; then ac_cv_prog_ac_ct_GNU_FC="$ac_ct_GNU_FC" # Let the user override the test. else @@ -7341,7 +7282,7 @@ if test "$GNU_FC" != false; then (exit $ac_status); } then : -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: botched installation for GNU Fortran compiler" >&5 printf "%s\n" "$as_me: WARNING: botched installation for GNU Fortran compiler" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: tests requiring the GNU Fortran compiler will be skipped" >&5 @@ -7368,7 +7309,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_GNU_F77+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$GNU_F77"; then ac_cv_prog_GNU_F77="$GNU_F77" # Let the user override the test. else @@ -7417,7 +7358,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_GNU_F77+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_GNU_F77"; then ac_cv_prog_ac_ct_GNU_F77="$ac_ct_GNU_F77" # Let the user override the test. else @@ -7477,7 +7418,7 @@ if test "$GNU_F77" != false; then (exit $ac_status); } then : -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: botched installation for GNU Fortran 77 compiler" >&5 printf "%s\n" "$as_me: WARNING: botched installation for GNU Fortran 77 compiler" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: tests requiring the GNU Fortran 77 compiler will be skipped" >&5 @@ -7498,7 +7439,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_GNU_GCJ+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$GNU_GCJ"; then ac_cv_prog_GNU_GCJ="$GNU_GCJ" # Let the user override the test. else @@ -7547,7 +7488,7 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_GNU_GCJ+y} then : printf %s "(cached) " >&6 -else +else $as_nop if test -n "$ac_ct_GNU_GCJ"; then ac_cv_prog_ac_ct_GNU_GCJ="$ac_ct_GNU_GCJ" # Let the user override the test. else @@ -7606,7 +7547,7 @@ if test "$GNU_GCJ" != false; then (exit $ac_status); } then : -else +else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: botched installation for GNU Java compiler" >&5 printf "%s\n" "$as_me: WARNING: botched installation for GNU Java compiler" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: tests requiring the GNU Java compiler will be skipped" >&5 @@ -7823,6 +7764,7 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -7831,7 +7773,7 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -7937,6 +7879,7 @@ as_fn_error () } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -7963,6 +7906,7 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -7975,7 +7919,7 @@ then : { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -7993,7 +7937,7 @@ then : { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -8181,8 +8125,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU Automake $as_me 1.16.3, which was -generated by GNU Autoconf 2.69d.4-8e54. Invocation command line was +This file was extended by GNU Automake $as_me 1.16.4, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -8242,11 +8186,11 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -GNU Automake config.status 1.16.3 -configured by $0, generated by GNU Autoconf 2.69d.4-8e54, +GNU Automake config.status 1.16.4 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." diff --git a/configure.ac b/configure.ac index 15d3f8e..f7656ff 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script. -# Copyright (C) 1995-2020 Free Software Foundation, Inc. +# Copyright (C) 1995-2021 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # along with this program. If not, see . AC_PREREQ([2.69]) -AC_INIT([GNU Automake], [1.16.3], [bug-automake@gnu.org]) +AC_INIT([GNU Automake], [1.16.4], [bug-automake@gnu.org]) AC_CONFIG_SRCDIR([bin/automake.in]) AC_CONFIG_AUX_DIR([lib]) @@ -44,7 +44,7 @@ AM_INIT_AUTOMAKE([-Wall -Werror dist-xz filename-length-max=99 # Keep this on a line of its own, since it must be found and processed # by the 'update-copyright' rule in our Makefile. -RELEASE_YEAR=2020 +RELEASE_YEAR=2021 AC_SUBST([RELEASE_YEAR]) # The API version is the base version. We must guarantee @@ -123,7 +123,9 @@ fi AC_CACHE_CHECK([whether autoconf works], [am_cv_autoconf_works], [mkdir conftest -echo 'AC''_INIT' > conftest/conftest.ac +printf '%s\n' > conftest/conftest.ac \ + 'AC''_INIT([smoke-test], [1])' \ + 'AC''_OUTPUT' if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]); then am_cv_autoconf_works=yes @@ -139,7 +141,10 @@ fi AC_CACHE_CHECK([whether autoconf is recent enough], [am_cv_autoconf_version], [mkdir conftest dnl Creative quoting required to avoid spurious expansion of AC_PREREQ macro -echo 'AC'"_PREREQ([[$required_autoconf_version]])" > conftest/conftest.ac +printf '%s\n' > conftest/conftest.ac \ + 'AC'"_PREREQ([[$required_autoconf_version]])" \ + 'AC''_INIT([smoke-test], [1])' \ + 'AC''_OUTPUT' if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]); then am_cv_autoconf_version=yes diff --git a/contrib/check-html.am b/contrib/check-html.am index fc593ee..42dce16 100644 --- a/contrib/check-html.am +++ b/contrib/check-html.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 diff --git a/contrib/multilib/config-ml.in b/contrib/multilib/config-ml.in index 5405eea..06d5b9f 100644 --- a/contrib/multilib/config-ml.in +++ b/contrib/multilib/config-ml.in @@ -1,7 +1,7 @@ # Configure fragment invoked in the post-target section for subdirs # wanting multilib support. # -# Copyright (C) 1995-2020 Free Software Foundation, Inc. +# Copyright (C) 1995-2021 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 diff --git a/contrib/multilib/multi.m4 b/contrib/multilib/multi.m4 index 656d0c6..9f5d325 100644 --- a/contrib/multilib/multi.m4 +++ b/contrib/multilib/multi.m4 @@ -1,5 +1,5 @@ ## -*- Autoconf -*- -# Copyright (C) 1998-2020 Free Software Foundation, Inc. +# Copyright (C) 1998-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/contrib/multilib/multilib.am b/contrib/multilib/multilib.am index 63edb9e..014dd77 100644 --- a/contrib/multilib/multilib.am +++ b/contrib/multilib/multilib.am @@ -1,6 +1,6 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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. diff --git a/contrib/multilib/symlink-tree b/contrib/multilib/symlink-tree index 1b230b6..c67dd7a 100755 --- a/contrib/multilib/symlink-tree +++ b/contrib/multilib/symlink-tree @@ -1,7 +1,7 @@ #!/bin/sh # Create a symlink tree. # -# Copyright (C) 1995-2020 Free Software Foundation, Inc. +# Copyright (C) 1995-2021 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 diff --git a/contrib/t/help-multilib.sh b/contrib/t/help-multilib.sh index eb27e22..4eced0d 100755 --- a/contrib/t/help-multilib.sh +++ b/contrib/t/help-multilib.sh @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2010-2020 Free Software Foundation, Inc. +# Copyright (C) 2010-2021 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 diff --git a/contrib/t/local.mk b/contrib/t/local.mk index 7127555..ad9eb2e 100644 --- a/contrib/t/local.mk +++ b/contrib/t/local.mk @@ -1,5 +1,5 @@ ## -*- makefile-automake -*- -## Copyright (C) 1995-2020 Free Software Foundation, Inc. +## Copyright (C) 1995-2021 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 diff --git a/contrib/t/multilib.sh b/contrib/t/multilib.sh index 4b767d7..8397fdb 100755 --- a/contrib/t/multilib.sh +++ b/contrib/t/multilib.sh @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 @@ -61,6 +61,11 @@ check-all: test -f debug/libbar/libbar.a test -f libfoo/libfoo.a test -f libbar/libbar.a +# Tell GNU make not to parallelize, since the tests can result in, for example: +# make[5]: *** No rule to make target 'mostlyclean'. Stop. +# make[5]: Leaving directory '/u/karl/gnu/src/akarl/contrib/t/multilib.dir/build/debug/libbar/sub' +# No evident way to debug or reliably reproduce. +.NOTPARALLEL: EOF # libfoo tests multilib supports when there are no subdirectories @@ -89,6 +94,10 @@ cat >libfoo/Makefile.am <<'END' noinst_LIBRARIES = libfoo.a libfoo_a_SOURCES = foo.c include $(top_srcdir)/multilib.am + +# The test can fail under a parallel make, so disable. +# No evident way to debug or reliably reproduce. +.NOTPARALLEL: END : > libfoo/foo.c @@ -116,6 +125,10 @@ SUBDIRS = sub noinst_LIBRARIES = libbar.a libbar_a_SOURCES = bar.c include $(top_srcdir)/multilib.am + +# The test can fail under a parallel make, so disable. +# No evident way to debug or reliably reproduce. +.NOTPARALLEL: END mkdir libbar/sub diff --git a/contrib/t/parallel-tests-html-recursive.sh b/contrib/t/parallel-tests-html-recursive.sh index 7932252..185e546 100755 --- a/contrib/t/parallel-tests-html-recursive.sh +++ b/contrib/t/parallel-tests-html-recursive.sh @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2012-2020 Free Software Foundation, Inc. +# Copyright (C) 2012-2021 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 diff --git a/contrib/t/parallel-tests-html.sh b/contrib/t/parallel-tests-html.sh index 1554dea..14ee854 100755 --- a/contrib/t/parallel-tests-html.sh +++ b/contrib/t/parallel-tests-html.sh @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2021 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 diff --git a/contrib/tap-driver.pl b/contrib/tap-driver.pl index a133fa1..dcc71ed 100755 --- a/contrib/tap-driver.pl +++ b/contrib/tap-driver.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 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 diff --git a/doc/amhello-1.0.tar.gz b/doc/amhello-1.0.tar.gz index 6f91c77e197e2e01d5fd0d9d39dea51a48ddce08..3f7b52195533c857c660dd7d026d449e0d6a88ea 100644 GIT binary patch literal 86818 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

vvw7z?f%A?F4FG*K(*h;| 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

NS)Bq)um7^L`f>%jvxU9a(1?)&{o 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

7j@0BV9(8~#V) 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 Everyone is permitted to copy and distribute verbatim copies diff --git a/doc/automake-history.texi b/doc/automake-history.texi index 96bf0c3..f9ad51c 100644 --- a/doc/automake-history.texi +++ b/doc/automake-history.texi @@ -10,7 +10,7 @@ This manual describes (part of) the history of GNU Automake, a program that creates GNU standards-compliant Makefiles from template files. -Copyright @copyright{} 1995--2020 Free Software Foundation, Inc. +Copyright @copyright{} 1995--2021 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/automake.info b/doc/automake.info index 6eaaef3..4132a33 100644 --- a/doc/automake.info +++ b/doc/automake.info @@ -1,11 +1,11 @@ -This is automake.info, produced by makeinfo version 6.7 from +This is automake.info, produced by makeinfo version 6.8 from automake.texi. -This manual is for GNU Automake (version 1.16.3, 19 November 2020), a +This manual is for GNU Automake (version 1.16.4, 16 July 2021), a program that creates GNU standards-compliant Makefiles from template files. - Copyright © 1995–2020 Free Software Foundation, Inc. + Copyright © 1995–2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -27,216 +27,215 @@ END-INFO-DIR-ENTRY  Indirect: -automake.info-1: 1085 -automake.info-2: 301619 +automake.info-1: 1081 +automake.info-2: 301558  Tag Table: (Indirect) -Node: Top1085 -Node: Introduction14340 -Ref: Introduction-Footnote-115749 -Node: Autotools Introduction15908 -Node: GNU Build System17290 -Node: Use Cases20038 -Node: Basic Installation22166 -Node: Standard Targets25752 -Node: Standard Directory Variables27355 -Node: Standard Configuration Variables29212 -Node: config.site30571 -Node: VPATH Builds31997 -Node: Two-Part Install36055 -Node: Cross-Compilation38499 -Node: Renaming41474 -Node: DESTDIR42632 -Node: Preparing Distributions44814 -Node: Dependency Tracking47184 -Node: Nested Packages49292 -Node: Why Autotools50808 -Node: Hello World52450 -Ref: amhello Explained52872 -Node: Creating amhello53044 -Node: amhello's configure.ac Setup Explained58399 -Node: amhello's Makefile.am Setup Explained63319 -Node: Generalities67019 -Node: General Operation67713 -Node: Strictness71137 -Ref: Gnits71271 -Node: Uniform75176 -Node: Length Limitations80115 -Node: Canonicalization82426 -Node: User Variables83498 -Node: Auxiliary Programs84988 -Node: Examples88925 -Node: Complete89795 -Node: true91900 -Node: automake Invocation94391 -Ref: Invoking automake94546 -Node: configure103161 -Node: Requirements104090 -Node: Optional109328 -Node: aclocal Invocation118730 -Ref: Invoking aclocal118891 -Node: aclocal Options121945 -Node: Macro Search Path125671 -Ref: ACLOCAL_PATH130045 -Node: Extending aclocal131615 -Node: Local Macros135339 -Node: Serials139323 -Node: Future of aclocal144543 -Node: Macros146932 -Node: Public Macros147473 -Ref: Modernize AM_INIT_AUTOMAKE invocation149096 -Node: Obsolete Macros153578 -Node: Private Macros154920 -Node: Directories156370 -Node: Subdirectories157965 -Node: Conditional Subdirectories161357 -Node: SUBDIRS vs DIST_SUBDIRS163038 -Node: Subdirectories with AM_CONDITIONAL164676 -Node: Subdirectories with AC_SUBST165870 -Node: Unconfigured Subdirectories166697 -Node: Alternative170152 -Ref: Alternative-Footnote-1172304 -Node: Subpackages172429 -Node: Programs175775 -Node: A Program177317 -Node: Program Sources178040 -Node: Linking179945 -Node: Conditional Sources183590 -Node: Conditional Programs186518 -Node: A Library188408 -Node: A Shared Library191085 -Node: Libtool Concept192089 -Node: Libtool Libraries194179 -Node: Conditional Libtool Libraries195913 -Node: Conditional Libtool Sources198370 -Node: Libtool Convenience Libraries199757 -Node: Libtool Modules203185 -Node: Libtool Flags204501 -Node: LTLIBOBJS206412 -Node: Libtool Issues207047 -Node: Error required file ltmain.sh not found207388 -Node: Objects created both with libtool and without208609 -Node: Program and Library Variables210532 -Ref: Program and Library Variables-Footnote-1221910 -Node: Default _SOURCES221985 -Node: LIBOBJS224462 -Node: Program Variables229689 -Node: Yacc and Lex233252 -Ref: Yacc and Lex-Footnote-1238880 -Node: C++ Support239143 -Node: Objective C Support240023 -Node: Objective C++ Support240996 -Node: Unified Parallel C Support242018 -Node: Assembly Support243014 -Node: Fortran 77 Support244186 -Ref: Fortran 77 Support-Footnote-1245871 -Node: Preprocessing Fortran 77246074 -Node: Compiling Fortran 77 Files246678 -Node: Mixing Fortran 77 With C and C++247290 -Ref: Mixing Fortran 77 With C and C++-Footnote-1249613 -Node: How the Linker is Chosen249921 -Node: Fortran 9x Support251460 -Node: Compiling Fortran 9x Files252506 -Node: Java Support with gcj253142 -Node: Vala Support254623 -Node: Support for Other Languages256896 -Node: Dependencies257604 -Node: EXEEXT259491 -Node: Other Objects261731 -Node: Scripts262323 -Node: Headers265182 -Node: Data266985 -Node: Sources267670 -Node: Built Sources Example270685 -Node: Other GNU Tools277873 -Node: Emacs Lisp278402 -Node: gettext280500 -Node: Libtool281188 -Node: Java281447 -Node: Python284106 -Node: Documentation289203 -Node: Texinfo289507 -Node: Man Pages296705 -Node: Install299830 -Node: Basics of Installation301619 -Node: The Two Parts of Install303149 -Node: Extending Installation304689 -Node: Staged Installs305453 -Node: Install Rules for the User306866 -Node: Clean307424 -Node: Dist309596 -Node: Basics of Distribution310100 -Node: Fine-grained Distribution Control313443 -Node: The dist Hook314370 -Node: Checking the Distribution316916 -Node: The Types of Distributions324223 -Node: Tests327038 -Node: Generalities about Testing328234 -Node: Simple Tests331171 -Node: Scripts-based Testsuites331552 -Ref: Testsuite progress on console333925 -Ref: Simple tests and color-tests336018 -Node: Serial Test Harness340041 -Node: Parallel Test Harness342146 -Ref: Basics of test metadata342652 -Node: Custom Test Drivers351384 -Node: Overview of Custom Test Drivers Support351675 -Node: Declaring Custom Test Drivers354727 -Node: API for Custom Test Drivers356149 -Node: Command-line arguments for test drivers356925 -Node: Log files generation and test results recording359639 -Node: Testsuite progress output363854 -Node: Using the TAP test protocol365276 -Node: Introduction to TAP365638 -Node: Use TAP with the Automake test harness367422 -Node: Incompatibilities with other TAP parsers and drivers372845 -Node: Links and external resources on TAP374246 -Node: DejaGnu Tests375838 -Node: Install Tests377966 -Node: Rebuilding378276 -Node: Options381954 -Node: Options generalities382255 -Node: List of Automake options384036 -Ref: tar-formats390771 -Node: Miscellaneous394284 -Node: Tags394629 -Node: Suffixes397746 -Node: Include399378 -Node: Conditionals401113 -Node: Usage of Conditionals401971 -Node: Limits of Conditionals405329 -Node: Silencing Make406514 -Node: Make verbosity406870 -Ref: Make verbosity-Footnote-1408192 -Node: Tricks For Silencing Make408266 -Node: Automake Silent Rules410773 -Node: Not Enough417759 -Node: Extending418215 -Node: Third-Party Makefiles423249 -Node: Distributing430314 -Node: API Versioning430963 -Node: Upgrading433668 -Node: FAQ435713 -Node: CVS436837 -Node: maintainer-mode445282 -Node: Wildcards449454 -Node: Limitations on File Names452893 -Node: Errors with distclean455523 -Node: Flag Variables Ordering460472 -Node: Renamed Objects468308 -Node: Per-Object Flags469899 -Node: Multiple Outputs472909 -Node: Hard-Coded Install Paths485268 -Node: Debugging Make Rules490433 -Ref: Debugging Make Rules-Footnote-1492594 -Node: Reporting Bugs492772 -Node: Copying This Manual494583 -Node: GNU Free Documentation License494813 -Node: Indices520134 -Node: Macro Index520423 -Node: Variable Index526062 -Node: General Index557783 +Node: Top1081 +Node: Introduction14332 +Ref: Introduction-Footnote-115741 +Node: Autotools Introduction15900 +Node: GNU Build System17282 +Node: Use Cases20030 +Node: Basic Installation22158 +Node: Standard Targets25744 +Node: Standard Directory Variables27347 +Node: Standard Configuration Variables29204 +Node: config.site30563 +Node: VPATH Builds31989 +Node: Two-Part Install36047 +Node: Cross-Compilation38491 +Node: Renaming41457 +Node: DESTDIR42615 +Node: Preparing Distributions44797 +Node: Dependency Tracking47167 +Node: Nested Packages49275 +Node: Why Autotools50791 +Node: Hello World52433 +Ref: amhello Explained52855 +Node: Creating amhello53027 +Node: amhello's configure.ac Setup Explained58382 +Node: amhello's Makefile.am Setup Explained63303 +Node: Generalities67003 +Node: General Operation67697 +Node: Strictness71121 +Ref: Gnits71255 +Node: Uniform75155 +Node: Length Limitations80052 +Node: Canonicalization82363 +Node: User Variables83435 +Node: Auxiliary Programs84925 +Node: Examples88862 +Node: Complete89732 +Node: true91837 +Node: automake Invocation94328 +Ref: Invoking automake94483 +Node: configure103098 +Node: Requirements104027 +Node: Optional109265 +Node: aclocal Invocation119008 +Ref: Invoking aclocal119169 +Node: aclocal Options122207 +Node: Macro Search Path125917 +Ref: ACLOCAL_PATH130291 +Node: Extending aclocal131861 +Node: Local Macros135560 +Node: Serials139543 +Node: Future of aclocal144763 +Node: Macros147113 +Node: Public Macros147654 +Ref: Modernize AM_INIT_AUTOMAKE invocation149277 +Node: Obsolete Macros153759 +Node: Private Macros155101 +Node: Directories156551 +Node: Subdirectories158146 +Node: Conditional Subdirectories161538 +Node: SUBDIRS vs DIST_SUBDIRS163219 +Node: Subdirectories with AM_CONDITIONAL164857 +Node: Subdirectories with AC_SUBST166051 +Node: Unconfigured Subdirectories166878 +Node: Alternative170336 +Ref: Alternative-Footnote-1172488 +Node: Subpackages172613 +Node: Programs175968 +Node: A Program177510 +Node: Program Sources178233 +Node: Linking180138 +Node: Conditional Sources183782 +Node: Conditional Programs186710 +Node: A Library188600 +Node: A Shared Library191277 +Node: Libtool Concept192281 +Node: Libtool Libraries194371 +Node: Conditional Libtool Libraries196105 +Node: Conditional Libtool Sources198562 +Node: Libtool Convenience Libraries199949 +Node: Libtool Modules203376 +Node: Libtool Flags204692 +Node: LTLIBOBJS206603 +Node: Libtool Issues207238 +Node: Error required file ltmain.sh not found207579 +Node: Objects created both with libtool and without208800 +Node: Program and Library Variables210716 +Node: Default _SOURCES222876 +Node: LIBOBJS225353 +Node: Program Variables230580 +Node: Yacc and Lex234125 +Ref: Yacc and Lex-Footnote-1239753 +Node: C++ Support240016 +Node: Objective C Support240878 +Node: Objective C++ Support241834 +Node: Unified Parallel C Support242839 +Node: Assembly Support243817 +Node: Fortran 77 Support244989 +Ref: Fortran 77 Support-Footnote-1246656 +Node: Preprocessing Fortran 77246859 +Node: Compiling Fortran 77 Files247463 +Node: Mixing Fortran 77 With C and C++248075 +Ref: Mixing Fortran 77 With C and C++-Footnote-1250398 +Node: How the Linker is Chosen250706 +Node: Fortran 9x Support252245 +Node: Compiling Fortran 9x Files253273 +Node: Java Support with gcj253909 +Node: Vala Support255390 +Node: Support for Other Languages257663 +Node: Dependencies258371 +Node: EXEEXT260258 +Node: Other Objects262498 +Node: Scripts263080 +Node: Headers265939 +Node: Data267734 +Node: Sources268419 +Node: Built Sources Example271424 +Node: Other GNU Tools278596 +Node: Emacs Lisp279125 +Node: gettext281222 +Node: Libtool281910 +Node: Java282169 +Node: Python284828 +Node: Documentation289863 +Node: Texinfo290167 +Node: Man Pages297352 +Node: Install301558 +Node: Basics of Installation302253 +Node: The Two Parts of Install303783 +Node: Extending Installation305323 +Node: Staged Installs306087 +Node: Install Rules for the User307500 +Node: Clean308058 +Node: Dist310230 +Node: Basics of Distribution310734 +Node: Fine-grained Distribution Control314907 +Node: The dist Hook315834 +Node: Checking the Distribution318364 +Node: The Types of Distributions325671 +Node: Tests328824 +Node: Generalities about Testing330020 +Node: Simple Tests332960 +Node: Scripts-based Testsuites333341 +Ref: Testsuite progress on console335714 +Ref: Simple tests and color-tests337807 +Node: Serial Test Harness341830 +Node: Parallel Test Harness343920 +Ref: Basics of test metadata344426 +Node: Custom Test Drivers353519 +Node: Overview of Custom Test Drivers Support353810 +Node: Declaring Custom Test Drivers356862 +Node: API for Custom Test Drivers358284 +Node: Command-line arguments for test drivers359056 +Node: Log files generation and test results recording361770 +Node: Testsuite progress output365985 +Node: Using the TAP test protocol367407 +Node: Introduction to TAP367769 +Node: Use TAP with the Automake test harness369553 +Node: Incompatibilities with other TAP parsers and drivers374976 +Node: Links and external resources on TAP376377 +Node: DejaGnu Tests377969 +Node: Install Tests380097 +Node: Rebuilding380407 +Node: Options384501 +Node: Options generalities384802 +Node: List of Automake options386583 +Ref: tar-formats393990 +Node: Miscellaneous397503 +Node: Tags397848 +Node: Suffixes401044 +Node: Include402676 +Node: Conditionals404411 +Node: Usage of Conditionals405269 +Node: Limits of Conditionals408627 +Node: Silencing Make409812 +Node: Make verbosity410168 +Ref: Make verbosity-Footnote-1411490 +Node: Tricks For Silencing Make411564 +Node: Automake Silent Rules414071 +Node: Not Enough421049 +Node: Extending421505 +Node: Third-Party Makefiles426539 +Node: Distributing433598 +Node: API Versioning434247 +Node: Upgrading436952 +Node: FAQ438997 +Node: CVS440121 +Node: maintainer-mode448557 +Node: Wildcards452732 +Node: Limitations on File Names456170 +Node: Errors with distclean458800 +Node: Flag Variables Ordering463742 +Node: Renamed Objects471751 +Node: Per-Object Flags473346 +Node: Multiple Outputs476356 +Node: Hard-Coded Install Paths488700 +Node: Debugging Make Rules493844 +Ref: Debugging Make Rules-Footnote-1495990 +Node: Reporting Bugs496168 +Node: Copying This Manual497806 +Node: GNU Free Documentation License498036 +Node: Indices523340 +Node: Macro Index523629 +Node: Variable Index529479 +Node: General Index562289  End Tag Table diff --git a/doc/automake.info-1 b/doc/automake.info-1 index 922a4ee..5771278 100644 --- a/doc/automake.info-1 +++ b/doc/automake.info-1 @@ -1,11 +1,11 @@ -This is automake.info, produced by makeinfo version 6.7 from +This is automake.info, produced by makeinfo version 6.8 from automake.texi. -This manual is for GNU Automake (version 1.16.3, 19 November 2020), a +This manual is for GNU Automake (version 1.16.4, 16 July 2021), a program that creates GNU standards-compliant Makefiles from template files. - Copyright © 1995–2020 Free Software Foundation, Inc. + Copyright © 1995–2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -31,11 +31,11 @@ File: automake.info, Node: Top, Next: Introduction, Up: (dir) GNU Automake ************ -This manual is for GNU Automake (version 1.16.3, 19 November 2020), a +This manual is for GNU Automake (version 1.16.4, 16 July 2021), a program that creates GNU standards-compliant Makefiles from template files. - Copyright © 1995–2020 Free Software Foundation, Inc. + Copyright © 1995–2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -952,8 +952,8 @@ architecture. For instance when installing GCC, the GNU Compiler Collection, we can use ‘--target=TARGET’ to specify that we want to build GCC as a cross-compiler for TARGET. Mixing ‘--build’ and ‘--target’, we can -actually cross-compile a cross-compiler; such a three-way -cross-compilation is known as a “Canadian cross”. +cross-compile a cross-compiler; such a three-way cross-compilation is +known as a “Canadian cross”. *Note Specifying the System Type: (autoconf)Specifying Names, for more information about these ‘configure’ options. @@ -1429,7 +1429,7 @@ defined a few of them. Here is an excerpt of ‘config.h’ after As you probably noticed, ‘src/main.c’ includes ‘config.h’ so it can use ‘PACKAGE_STRING’. In a real-world project, ‘config.h’ can grow -really big, with one ‘#define’ per feature probed on the system. +quite large, with one ‘#define’ per feature probed on the system. The ‘AC_CONFIG_FILES’ macro declares the list of files that ‘configure’ should create from their ‘*.in’ templates. Automake also @@ -1560,11 +1560,11 @@ includes a non-standard rule for the ‘git-dist’ target, which the Automake maintainer uses to make distributions from the source control system. - Note that most GNU make extensions are not recognized by Automake. + Note that most GNU Make extensions are not recognized by Automake. Using such extensions in a ‘Makefile.am’ will lead to errors or confusing behavior. - A special exception is that the GNU make append operator, ‘+=’, is + A special exception is that the GNU Make append operator, ‘+=’, is supported. This operator appends its right hand argument to the variable specified on the left. Automake will translate the operator into an ordinary ‘=’ operator; ‘+=’ will thus work with any make @@ -1636,7 +1636,7 @@ see *note Options::. ‘gnu’ This is the default level of strictness. Automake will check for basic compliance with the GNU standards for software packaging. - *Note (standards)Top:: for full details of these standards. + *Note (standards)Top::, for full details of these standards. Currently the following checks are made: • The files ‘INSTALL’, ‘NEWS’, ‘README’, ‘AUTHORS’, and @@ -1678,14 +1678,14 @@ see *note Options::. standards”. These are based on the GNU standards, but are even more detailed. Unless you are a Gnits standards contributor, it is recommended that you avoid this option until such time as the Gnits - standard is actually published (which may never happen). + standard is published (which is unlikely to ever happen). Currently, ‘--gnits’ does all the checks that ‘--gnu’ does, and checks the following as well: • ‘make installcheck’ will check to make sure that the ‘--help’ - and ‘--version’ really print a usage message and a version - string, respectively. This is the ‘std-options’ option (*note + and ‘--version’ print a usage message and a version string, + respectively. This is the ‘std-options’ option (*note Options::). • ‘make dist’ will check to make sure the ‘NEWS’ file has been @@ -1757,8 +1757,8 @@ variable names; thus one writes ‘bin_PROGRAMS’ and not Not every sort of object can be installed in every directory. Automake will flag those attempts it finds in error (but see below how -to override the check if you really need to). Automake will also -diagnose obvious misspellings in directory names. +to override the check if you need to). Automake will also diagnose +obvious misspellings in directory names. Sometimes the standard directories—even as augmented by Automake—are not enough. In particular it is sometimes useful, for clarity, to @@ -1775,8 +1775,8 @@ same name with ‘dir’ appended is defined (e.g., ‘zardir’). This feature can also be used to override the sanity checks Automake performs to diagnose suspicious directory/primary couples (in the -unlikely case these checks are undesirable, and you really know what -you’re doing). For example, Automake would error out on this input: +unlikely case that you need to omit these checks). For example, +Automake would error out on this input: # Forbidden directory combinations, automake will error out on this. pkglib_PROGRAMS = foo @@ -2514,6 +2514,12 @@ their effects are: always searched for; some scripts will only be sought if the generated ‘Makefile.in’ requires them. + If ‘AC_CONFIG_AUX_DIR’ is used, it must be given before the call to + ‘AM_INIT_AUTOMAKE’; Automake will warn about this if it is not so. + All other ‘AC_CONFIG_...’ macros are conventionally called after + ‘AM_INIT_AUTOMAKE’, though they may or may not work in other + locations, with or without warnings. + If ‘AC_CONFIG_AUX_DIR’ is not given, the scripts are looked for in their standard locations. For ‘mdate-sh’, ‘texinfo.tex’, and ‘ylwrap’, the standard location is the source directory @@ -2532,20 +2538,21 @@ their effects are: ‘AC_CONFIG_HEADERS’ Automake will generate rules to rebuild these headers from the corresponding templates (usually, the template for a ‘foo.h’ header - being ‘foo.h.in’). Older versions of Automake required the use of - ‘AM_CONFIG_HEADER’; this is no longer the case, and that macro has - indeed been removed. + being ‘foo.h.in’). As with ‘AC_CONFIG_FILES’ (*note Requirements::), parts of the specification using shell variables will be ignored as far as cleaning, distributing, and rebuilding is concerned. + Older versions of Automake required the use of ‘AM_CONFIG_HEADER’; + this is no longer the case, and that macro has indeed been removed. + ‘AC_CONFIG_LINKS’ Automake will generate rules to remove ‘configure’ generated links on ‘make distclean’ and to distribute named source files as part of ‘make dist’. - As for ‘AC_CONFIG_FILES’ (*note Requirements::), parts of the + As with ‘AC_CONFIG_FILES’ (*note Requirements::), parts of the specification using shell variables will be ignored as far as cleaning and distributing is concerned. (There are no rebuild rules for links.) @@ -2692,9 +2699,9 @@ File: automake.info, Node: aclocal Invocation, Next: Macros, Prev: Optional, ============================== Automake includes a number of Autoconf macros that can be used in your -package (*note Macros::); some of them are actually required by Automake -in certain situations. These macros must be defined in your -‘aclocal.m4’; otherwise they will not be seen by ‘autoconf’. +package (*note Macros::); some of them are required by Automake in +certain situations. These macros must be defined in your ‘aclocal.m4’; +otherwise they will not be seen by ‘autoconf’. The ‘aclocal’ program will automatically generate ‘aclocal.m4’ files based on the contents of ‘configure.ac’. This provides a convenient way @@ -2731,10 +2738,10 @@ automatically included in ‘aclocal.m4’. We recommend against using While computing ‘aclocal.m4’, ‘aclocal’ runs ‘autom4te’ (*note Using ‘Autom4te’: (autoconf)Using autom4te.) in order to trace the macros that -are really used, and omit from ‘aclocal.m4’ all macros that are -mentioned but otherwise unexpanded (this can happen when a macro is -called conditionally). ‘autom4te’ is expected to be in the ‘PATH’, just -as ‘autoconf’. Its location can be overridden using the ‘AUTOM4TE’ +are used, and omit from ‘aclocal.m4’ all macros that are mentioned but +otherwise unexpanded (this can happen when a macro is called +conditionally). ‘autom4te’ is expected to be in the ‘PATH’, just as +‘autoconf’. Its location can be overridden using the ‘AUTOM4TE’ environment variable. * Menu: @@ -2773,8 +2780,8 @@ File: automake.info, Node: aclocal Options, Next: Macro Search Path, Up: aclo implies ‘--install’ and ‘--dry-run’. ‘--dry-run’ - Do not actually overwrite (or create) ‘aclocal.m4’ and M4 files - installed by ‘--install’. + Do not overwrite (or create) ‘aclocal.m4’ and M4 files installed by + ‘--install’. ‘--help’ Print a summary of the command line options and exit. @@ -2796,8 +2803,8 @@ File: automake.info, Node: aclocal Options, Next: Macro Search Path, Up: aclo ‘--force’ Always overwrite the output file. The default is to overwrite the - output file only when really needed, i.e., when its contents change - or if one of its dependencies is younger. + output file only when needed, i.e., when its contents change or if + one of its dependencies is younger. This option forces the update of ‘aclocal.m4’ (or the file specified with ‘--output’ below) and only this file, it has @@ -3024,17 +3031,17 @@ side effects but macro definitions. Especially, any call to ‘AC_PREREQ’ should be done inside the defined macro, not at the beginning of the file. - Starting with Automake 1.8, ‘aclocal’ will warn about all underquoted -calls to ‘AC_DEFUN’. We realize this will annoy a lot of people, -because ‘aclocal’ was not so strict in the past and many third party -macros are underquoted; and we have to apologize for this temporary -inconvenience. The reason we have to be stricter is that a future -implementation of ‘aclocal’ (*note Future of aclocal::) will have to -temporarily include all of these third party ‘.m4’ files, maybe several -times, including even files that are not actually needed. Doing so -should alleviate many problems of the current implementation; however it -requires a stricter style from the macro authors. Hopefully it is easy -to revise the existing macros. For instance, + Starting with Automake 1.8, ‘aclocal’ warns about all underquoted +calls to ‘AC_DEFUN’. We realize this annoys some people, because +‘aclocal’ was not so strict in the past and many third party macros are +underquoted; and we have to apologize for this temporary inconvenience. +The reason we have to be stricter is that a future implementation of +‘aclocal’ (*note Future of aclocal::) will have to temporarily include +all of these third party ‘.m4’ files, maybe several times, even +including files that end up not being needed. Doing so should alleviate +many problems of the current implementation; however, it requires a +stricter style from macro authors. Hopefully it is easy to revise the +existing macros. For instance, # bad style AC_PREREQ(2.68) @@ -3054,10 +3061,10 @@ should be rewritten as ]) Wrapping the ‘AC_PREREQ’ call inside the macro ensures that Autoconf -2.68 will not be required if ‘AX_FOOBAR’ is not actually used. Most -importantly, quoting the first argument of ‘AC_DEFUN’ allows the macro -to be redefined or included twice (otherwise this first argument would -be expanded during the second definition). For consistency we like to +2.68 will not be required if ‘AX_FOOBAR’ is not used. Most importantly, +quoting the first argument of ‘AC_DEFUN’ allows the macro to be +redefined or included twice (otherwise this first argument would be +expanded during the second definition). For consistency we like to quote even arguments such as ‘2.68’ that do not require it. If you have been directed here by the ‘aclocal’ diagnostic but are @@ -3105,7 +3112,7 @@ explained in *note Macro Search Path::. Custom macros should be distributed for the same reason that ‘configure.ac’ is: so that other people have all the sources of your -package if they want to work on it. Actually, this distribution happens +package if they want to work on it. In fact, this distribution happens automatically because all ‘m4_include’d files are distributed. However there is no consensus on the distribution of third-party @@ -3268,11 +3275,11 @@ File: automake.info, Node: Future of aclocal, Prev: Serials, Up: aclocal Invo 6.3.6 The Future of ‘aclocal’ ----------------------------- -‘aclocal’ is expected to disappear. This feature really should not be -offered by Automake. Automake should focus on generating ‘Makefile’s; -dealing with M4 macros really is Autoconf’s job. The fact that some -people install Automake just to use ‘aclocal’, but do not use ‘automake’ -otherwise is an indication of how that feature is misplaced. +Ideally, ‘aclocal’ should not be part of Automake. Automake should +focus on generating ‘Makefile’s; dealing with M4 macros is more +Autoconf’s job. The fact that some people install Automake just to use +‘aclocal’, but do not use ‘automake’ otherwise is an indication of how +that feature is misplaced. The new implementation will probably be done slightly differently. For instance, it could enforce the ‘m4/’-style layout discussed in *note @@ -3294,18 +3301,18 @@ script, you will quickly notice the change. Many packages come with a script called ‘bootstrap’ or ‘autogen.sh’, that will just call ‘aclocal’, ‘libtoolize’, ‘gettextize’ or ‘autopoint’, ‘autoconf’, ‘autoheader’, and ‘automake’ in the right -order. Actually this is precisely what ‘autoreconf’ can do for you. If +order. In fact, this is precisely what ‘autoreconf’ can do for you. If your package has such a ‘bootstrap’ or ‘autogen.sh’ script, consider using ‘autoreconf’. That should simplify its logic a lot (less things -to maintain, yum!), it’s even likely you will not need the script -anymore, and more to the point you will not call ‘aclocal’ directly -anymore. +to maintain, all to the good), it’s even likely you will not need the +script anymore, and more to the point you will not call ‘aclocal’ +directly anymore. For the time being, third-party packages should continue to install public macros into ‘/usr/share/aclocal/’. If ‘aclocal’ is replaced by another tool it might make sense to rename the directory, but supporting -‘/usr/share/aclocal/’ for backward compatibility should be really easy -provided all macros are properly written (*note Extending aclocal::). +‘/usr/share/aclocal/’ for backward compatibility should be easy provided +all macros are properly written (*note Extending aclocal::).  File: automake.info, Node: Macros, Prev: aclocal Invocation, Up: configure @@ -3793,8 +3800,8 @@ remember. • Any directory listed in ‘DIST_SUBDIRS’ and ‘SUBDIRS’ must be configured. - I.e., the ‘Makefile’ must exist or the recursive ‘make’ rules will - not be able to process the directory. + That is, the ‘Makefile’ must exist or the recursive ‘make’ rules + will not be able to process the directory. • Any configured directory must be listed in ‘DIST_SUBDIRS’. This is so the cleaning rules remove the generated ‘Makefile’s. It @@ -3962,9 +3969,9 @@ in the ‘hand/’ subdirectory for the ‘hand’ package. the parent directory and the grandparent directory. So if the ‘AC_CONFIG_AUX_DIR([.])’ line was removed from ‘hand/configure.ac’, that subpackage would share the auxiliary script of the ‘arm’ package. This -may look like a gain in size (a few kilobytes), but it is actually a -loss of modularity as the ‘hand’ subpackage is no longer self-contained -(‘make dist’ in the subdirectory will not work anymore). +may look like a gain in size (a few kilobytes), but more importantly, it +is a loss of modularity as the ‘hand’ subpackage is no longer +self-contained (‘make dist’ in the subdirectory will not work anymore). Packages that do not use Automake need more work to be integrated this way. *Note Third-Party Makefiles::. @@ -4109,8 +4116,8 @@ flags (except for ‘-l’, ‘-L’, ‘-dlopen’ and ‘-dlpreopen’). So, ‘PROG_LDFLAGS’ variable for this purpose. It is also occasionally useful to have a program depend on some other -target that is not actually part of that program. This can be done -using either the ‘PROG_DEPENDENCIES’ or the ‘EXTRA_PROG_DEPENDENCIES’ +target that is not in fact part of that program. This can be done using +either the ‘PROG_DEPENDENCIES’ or the ‘EXTRA_PROG_DEPENDENCIES’ variable. Each program depends on the contents both variables, but no further interpretation is done. @@ -4543,7 +4550,7 @@ big installed library. Libtool convenience libraries are declared by directory-less variables such as ‘noinst_LTLIBRARIES’, ‘check_LTLIBRARIES’, or even ‘EXTRA_LTLIBRARIES’. Unlike installed libtool libraries they do not -need an ‘-rpath’ flag at link time (actually this is the only +need an ‘-rpath’ flag at link time (this is in fact the only difference). Convenience libraries listed in ‘noinst_LTLIBRARIES’ are always @@ -4750,7 +4757,7 @@ library). (In this trivial case the issue could be avoided by linking ‘libfoo.la’ with ‘prog’ instead of listing ‘foo.c’ in ‘prog_SOURCES’. But let’s -assume we really want to keep ‘prog’ and ‘libfoo.la’ separate.) +assume we want to keep ‘prog’ and ‘libfoo.la’ separate.) Technically, it means that we should build ‘foo.$(OBJEXT)’ for ‘prog’, and ‘foo.lo’ for ‘libfoo.la’. The problem is that in the course @@ -4826,15 +4833,23 @@ libraries differ. ‘subdir-objects’ is in effect in the current directory then the ‘.o’ file will be put into the subdirectory named after the source file. For instance, with ‘subdir-objects’ enabled, - ‘sub/dir/file.c’ will be compiled to ‘sub/dir/file.o’. Some people - prefer this mode of operation. You can specify ‘subdir-objects’ in - ‘AUTOMAKE_OPTIONS’ (*note Options::). + ‘sub/dir/file.c’ will be compiled to ‘sub/dir/file.o’. Some + projects prefer or require this mode of operation. You can specify + ‘subdir-objects’ in ‘AUTOMAKE_OPTIONS’ (*note Options::). + + When ‘subdir-objects’ is specified, and source files which lie + outside the current directory tree are nevertheless specified, as + in ‘foo_SOURCES = ../lib/other.c’, Automake will still remove + ‘../lib/other.o’, in fact, ‘../lib/*.o’ (e.g., at ‘make clean’, + even though it is arguably wrong for one subdirectory to clean in a + sibling. This may or may not be changed in the future. ‘EXTRA_maude_SOURCES’ Automake needs to know the list of files you intend to compile _statically_. For one thing, this is the only way Automake has of knowing what sort of language support a given ‘Makefile.in’ - requires. (1) This means that, for example, you can’t put a + requires. (There are other, more obscure reasons for this + limitation as well.) This means that, for example, you can’t put a configure substitution like ‘@my_sources@’ into a ‘_SOURCES’ variable. If you intend to conditionally compile source files and use ‘configure’ to substitute the appropriate object names into, @@ -4886,7 +4901,9 @@ libraries differ. ‘maude_LDFLAGS’ This variable is used to pass extra flags to the link step of a program or a shared library. It overrides the ‘AM_LDFLAGS’ - variable. + variable, even if it is defined only in a false branch of a + conditional; in other words, if ‘PROG_LDFLAGS’ is defined at all, + ‘AM_LDFLAGS’ will not be used. ‘maude_LIBTOOLFLAGS’ This variable is used to pass extra options to ‘libtool’. It @@ -4898,10 +4915,10 @@ libraries differ. ‘maude_DEPENDENCIES’ ‘EXTRA_maude_DEPENDENCIES’ It is also occasionally useful to have a target (program or - library) depend on some other file that is not actually part of - that target. This can be done using the ‘_DEPENDENCIES’ variable. - Each target depends on the contents of such a variable, but no - further interpretation is done. + library) depend on some other file that is not in fact part of that + target. This can be done using the ‘_DEPENDENCIES’ variable. Each + target depends on the contents of such a variable, but no further + interpretation is done. Since these dependencies are associated with the link rule used to create the programs they should normally list files used by the @@ -4947,6 +4964,9 @@ libraries differ. as ‘_CFLAGS’, ‘_LDFLAGS’ or ‘_LIBTOOLFLAGS’, in cases where they apply. + If the variable ‘AM_V_*_LINK’ exists, it is used to output a status + line in silent mode; otherwise, ‘AM_V_GEN’ is used. + ‘maude_CCASFLAGS’ ‘maude_CFLAGS’ ‘maude_CPPFLAGS’ @@ -5005,11 +5025,6 @@ libraries differ. This facility is rarely needed in practice, and we recommend avoiding it until you find it is required. - ---------- Footnotes ---------- - - (1) There are other, more obscure reasons for this limitation as -well. -  File: automake.info, Node: Default _SOURCES, Next: LIBOBJS, Prev: Program and Library Variables, Up: Programs @@ -5240,8 +5255,8 @@ some special cases. in preference to the per-executable (or per-library) ‘_CFLAGS’. ‘COMPILE’ - This is the command used to actually compile a C source file. The - file name is appended to form the complete command line. + This is the command used to compile a C source file. The file name + is appended to form the complete command line. ‘AM_LDFLAGS’ This is the variable the ‘Makefile.am’ author can use to pass in @@ -5249,12 +5264,12 @@ some special cases. preference to the per-executable (or per-library) ‘_LDFLAGS’. ‘LINK’ - This is the command used to actually link a C program. It already - includes ‘-o $@’ and the usual variable references (for instance, - ‘CFLAGS’); it takes as “arguments” the names of the object files - and libraries to link in. This variable is not used when the - linker is overridden with a per-target ‘_LINK’ variable or - per-target flags cause Automake to define such a ‘_LINK’ variable. + This is the command used to link a C program. It already includes + ‘-o $@’ and the usual variable references (for instance, ‘CFLAGS’); + it takes as “arguments” the names of the object files and libraries + to link in. This variable is not used when the linker is + overridden with a per-target ‘_LINK’ variable or per-target flags + cause Automake to define such a ‘_LINK’ variable.  File: automake.info, Node: Yacc and Lex, Next: C++ Support, Prev: Program Variables, Up: Programs @@ -5417,11 +5432,11 @@ seen: The maintainer’s variant of ‘CXXFLAGS’. ‘CXXCOMPILE’ - The command used to actually compile a C++ source file. The file - name is appended to form the complete command line. + The command used to compile a C++ source file. The file name is + appended to form the complete command line. ‘CXXLINK’ - The command used to actually link a C++ program. + The command used to link a C++ program.  File: automake.info, Node: Objective C Support, Next: Objective C++ Support, Prev: C++ Support, Up: Programs @@ -5449,11 +5464,11 @@ file is seen: The maintainer’s variant of ‘OBJCFLAGS’. ‘OBJCCOMPILE’ - The command used to actually compile an Objective C source file. - The file name is appended to form the complete command line. + The command used to compile an Objective C source file. The file + name is appended to form the complete command line. ‘OBJCLINK’ - The command used to actually link an Objective C program. + The command used to link an Objective C program.  File: automake.info, Node: Objective C++ Support, Next: Unified Parallel C Support, Prev: Objective C Support, Up: Programs @@ -5481,11 +5496,11 @@ file is seen: The maintainer’s variant of ‘OBJCXXFLAGS’. ‘OBJCXXCOMPILE’ - The command used to actually compile an Objective C++ source file. - The file name is appended to form the complete command line. + The command used to compile an Objective C++ source file. The file + name is appended to form the complete command line. ‘OBJCXXLINK’ - The command used to actually link an Objective C++ program. + The command used to link an Objective C++ program.  File: automake.info, Node: Unified Parallel C Support, Next: Assembly Support, Prev: Objective C++ Support, Up: Programs @@ -5512,11 +5527,11 @@ source file is seen: The maintainer’s variant of ‘UPCFLAGS’. ‘UPCCOMPILE’ - The command used to actually compile a Unified Parallel C source - file. The file name is appended to form the complete command line. + The command used to compile a Unified Parallel C source file. The + file name is appended to form the complete command line. ‘UPCLINK’ - The command used to actually link a Unified Parallel C program. + The command used to link a Unified Parallel C program.  File: automake.info, Node: Assembly Support, Next: Fortran 77 Support, Prev: Unified Parallel C Support, Up: Programs @@ -5575,12 +5590,12 @@ is seen: The maintainer’s variant of ‘RFLAGS’. ‘F77COMPILE’ - The command used to actually compile a Fortran 77 source file. The - file name is appended to form the complete command line. + The command used to compile a Fortran 77 source file. The file + name is appended to form the complete command line. ‘FLINK’ - The command used to actually link a pure Fortran 77 program or - shared library. + The command used to link a pure Fortran 77 program or shared + library. Automake can handle preprocessing Fortran 77 and Ratfor source files in addition to compiling them(1). Automake also contains some support @@ -5761,12 +5776,12 @@ is seen: The maintainer’s variant of ‘FCFLAGS’. ‘FCCOMPILE’ - The command used to actually compile a Fortran 9x source file. The - file name is appended to form the complete command line. + The command used to compile a Fortran 9x source file. The file + name is appended to form the complete command line. ‘FCLINK’ - The command used to actually link a pure Fortran 9x program or - shared library. + The command used to link a pure Fortran 9x program or shared + library. * Menu: @@ -5837,7 +5852,7 @@ Automake provides initial support for Vala (). This requires valac version 0.7.0 or later, and currently requires the user to use GNU ‘make’. - foo_SOURCES = foo.vala bar.vala zardoc.c + foo_SOURCES = foo.vala bar.vala zardoz.c Any ‘.vala’ file listed in a ‘_SOURCES’ variable will be compiled into C code by the Vala compiler. The generated ‘.c’ files are @@ -5993,9 +6008,8 @@ File: automake.info, Node: Other Objects, Next: Other GNU Tools, Prev: Progra *********************** Automake can handle derived objects that are not C programs. Sometimes -the support for actually building such objects must be explicitly -supplied, but Automake will still automatically handle installation and -distribution. +the support for building such objects must be explicitly supplied, but +Automake can still automatically handle installation and distribution. * Menu: @@ -6104,8 +6118,8 @@ will install the two files as ‘$(includedir)/foo.h’ and Usually, only header files that accompany installed libraries need to be installed. Headers used by programs or convenience libraries are not installed. The ‘noinst_HEADERS’ variable can be used for such headers. -However when the header actually belongs to a single convenience library -or program, we recommend listing it in the program’s or library’s +However, when the header belongs to a single convenience library or +program, we recommend listing it in the program’s or library’s ‘_SOURCES’ variable (*note Program Sources::) instead of in ‘noinst_HEADERS’. This is clearer for the ‘Makefile.am’ reader. ‘noinst_HEADERS’ would be the right variable to use in a directory @@ -6179,12 +6193,12 @@ _compiled_ unless explicitly requested by mentioning it in some other = foo.h’ to ensure ‘foo.h’ gets built before any other target (including ‘foo.o’) during ‘make all’ or ‘make check’. - ‘BUILT_SOURCES’ is actually a bit of a misnomer, as any file which -must be created early in the build process can be listed in this -variable. Moreover, all built sources do not necessarily have to be -listed in ‘BUILT_SOURCES’. For instance, a generated ‘.c’ file doesn’t -need to appear in ‘BUILT_SOURCES’ (unless it is included by another -source), because it’s a known dependency of the associated object. + ‘BUILT_SOURCES’ is a bit of a misnomer, as any file which must be +created early in the build process can be listed in this variable. +Moreover, all built sources do not necessarily have to be listed in +‘BUILT_SOURCES’. For instance, a generated ‘.c’ file doesn’t need to +appear in ‘BUILT_SOURCES’ (unless it is included by another source), +because it’s a known dependency of the associated object. To emphasize, ‘BUILT_SOURCES’ is honored only by ‘make all’, ‘make check’, ‘make install’, and ‘make install-exec’ (and ‘make dist’). This @@ -6316,10 +6330,10 @@ and record such dependencies explicitly in the ‘Makefile.am’. You don’t have to list _all_ the dependencies of ‘foo.o’ explicitly, only those that might need to be built. If a dependency already exists, it will not hinder the first compilation and will be recorded by the -normal dependency tracking code. (Note that after this first -compilation the dependency tracking code will also have recorded the -dependency between ‘foo.o’ and ‘bindir.h’, so our explicit dependency is -really useful to the first build only.) +normal dependency tracking code. (After this first compilation, the +dependency tracking code will also have recorded the dependency between +‘foo.o’ and ‘bindir.h’, so our explicit dependency is only useful to the +first build.) Adding explicit dependencies like this can be a bit dangerous if you are not careful enough. This is due to the way Automake tries not to @@ -6425,8 +6439,8 @@ passed to the Emacs invocation. Byte-compiled Emacs Lisp files are not portable among all versions of Emacs, so it makes sense to turn this off if you expect sites to have -more than one version of Emacs installed. Furthermore, many packages -don’t actually benefit from byte-compilation. Still, we recommend that +more than one version of Emacs installed. Furthermore, many packages do +not actually benefit from byte-compilation. Still, we recommend that you byte-compile your Emacs Lisp sources. It is probably better for sites with strange setups to cope for themselves than to make the installation less nice for everybody else. @@ -6542,25 +6556,25 @@ File: automake.info, Node: Python, Prev: Java, Up: Other GNU Tools Automake provides support for Python compilation with the ‘PYTHON’ primary. A typical setup is to call ‘AM_PATH_PYTHON’ in ‘configure.ac’ -and use a line like the following in ‘Makefile.am’: +and use a line like this in ‘Makefile.am’: python_PYTHON = tree.py leave.py - Any files listed in a ‘_PYTHON’ variable will be byte-compiled with -‘py-compile’ at install time. ‘py-compile’ actually creates both -standard (‘.pyc’) and optimized (‘.pyo’) byte-compiled versions of the -source files. Note that because byte-compilation occurs at install -time, any files listed in ‘noinst_PYTHON’ will not be compiled. Python -source files are included in the distribution by default; prepend -‘nodist_’ (as in ‘nodist_python_PYTHON’) to omit them. - - Automake ships with an Autoconf macro called ‘AM_PATH_PYTHON’ that -will determine some Python-related directory variables (see below). If -you have called ‘AM_PATH_PYTHON’ from ‘configure.ac’, then you may use -the variables ‘python_PYTHON’ or ‘pkgpython_PYTHON’ to list Python -source files in your ‘Makefile.am’, depending on where you want your -files installed (see the definitions of ‘pythondir’ and ‘pkgpythondir’ -below). + Python source files are included in the distribution by default; +prepend ‘nodist_’ (as in ‘nodist_python_PYTHON’) to omit them. + + At install time, any files listed in a ‘_PYTHON’ variable will be +byte-compiled with ‘py-compile’. ‘py-compile’ creates both standard +(‘.pyc’) and optimized (‘.pyo’) byte-compiled versions of the source +files. Because byte-compilation occurs at install time, files listed in +‘noinst_PYTHON’ will not be compiled. + + Automake ships with an Autoconf macro named ‘AM_PATH_PYTHON’ that +determines some Python-related directory variables (see below). If you +have called ‘AM_PATH_PYTHON’ from ‘configure.ac’, then you may use the +variables ‘python_PYTHON’ and ‘pkgpython_PYTHON’ to list Python source +files in your ‘Makefile.am’, depending on whether you want your files +installed in ‘pythondir’ or ‘pkgpythondir’, respectively. -- Macro: AM_PATH_PYTHON ([VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) @@ -6574,12 +6588,12 @@ below). run. If ACTION-IF-NOT-FOUND is not specified, as in the following - example, the default is to abort ‘configure’. + example, the default is to abort ‘configure’: - AM_PATH_PYTHON([2.2]) + AM_PATH_PYTHON([2.5]) This is fine when Python is an absolute requirement for the - package. If Python >= 2.5 was only _optional_ to the package, + package. If Python ≥ 2.5 was only _optional_ for the package, ‘AM_PATH_PYTHON’ could be called as follows. AM_PATH_PYTHON([2.5],, [:]) @@ -6588,7 +6602,7 @@ below). then that will be the only Python interpreter that is tried. ‘AM_PATH_PYTHON’ creates the following output variables based on - the Python installation found during configuration. + the Python installation found during configuration: ‘PYTHON’ The name of the Python executable, or ‘:’ if no suitable @@ -6604,17 +6618,16 @@ below). ‘PYTHON_VERSION’ The Python version number, in the form MAJOR.MINOR (e.g., ‘2.5’). - This is currently the value of ‘'%u.%u' % sys.version_info[:2]’. + This is set to be the value of ‘'%u.%u' % sys.version_info[:2]’. ‘PYTHON_PREFIX’ - The string ‘${prefix}’. This term may be used in future work that - needs the contents of Python’s ‘sys.prefix’, but general consensus - is to always use the value from ‘configure’. - ‘PYTHON_EXEC_PREFIX’ - The string ‘${exec_prefix}’. This term may be used in future work - that needs the contents of Python’s ‘sys.exec_prefix’, but general - consensus is to always use the value from ‘configure’. + The value of Python’s ‘sys.prefix’ (resp. ‘sys.exec_prefix’) + variable. Sometimes the same as the standard ‘${prefix}’ + (‘${exec_prefix}’), but differs on some platforms such as Mac OS x + (where Python is usually installed as a Framework). Can be set + explicitly with the ‘--with-python_prefix’ + (‘--with-python_exec_prefix’) ‘configure’ option. ‘PYTHON_PLATFORM’ The canonical name used by Python to describe the operating system, @@ -6643,9 +6656,9 @@ below). This is a convenience variable that is defined as ‘$(pyexecdir)/$(PACKAGE)’. - All of these directory variables have values that start with either -‘${prefix}’ or ‘${exec_prefix}’ unexpanded. This works fine in -‘Makefiles’, but it makes these variables hard to use in ‘configure’. + All of these directory variables have values that can start with +either ‘${prefix}’ or ‘${exec_prefix}’, unexpanded. This works fine in +‘Makefile’s, but it makes these variables hard to use in ‘configure’. This is mandated by the GNU coding standards, so that the user can run ‘make prefix=/foo install’. The Autoconf manual has a section with more details on this topic (*note Installation Directory Variables: @@ -6727,10 +6740,10 @@ for each Texinfo file. Automake will treat any include in a Texinfo file that matches ‘vers*.texi’ just as an automatically generated version file. - Sometimes an info file actually depends on more than one ‘.texi’ -file. For instance, in GNU Hello, ‘hello.texi’ includes the file -‘fdl.texi’. You can tell Automake about these dependencies using the -‘TEXI_TEXINFOS’ variable. Here is how GNU Hello does it: + Often an Info file depends on more than one ‘.texi’ file. For +instance, in GNU Hello, ‘hello.texi’ includes the file ‘fdl.texi’. You +can tell Automake about these dependencies using the ‘TEXI_TEXINFOS’ +variable. Here is how GNU Hello does it: info_TEXINFOS = hello.texi hello_TEXINFOS = fdl.texi @@ -6888,22 +6901,3 @@ For instance: notrans_dist_man3_MANS = bar.3 - -File: automake.info, Node: Install, Next: Clean, Prev: Documentation, Up: Top - -12 What Gets Installed -********************** - -Naturally, Automake handles the details of actually installing your -program once it has been built. All files named by the various -primaries are automatically installed in the appropriate places when the -user runs ‘make install’. - -* Menu: - -* Basics of Installation:: What gets installed where -* The Two Parts of Install:: Installing data and programs separately -* Extending Installation:: Adding your own rules for installation -* Staged Installs:: Installation in a temporary location -* Install Rules for the User:: Useful additional rules - diff --git a/doc/automake.info-2 b/doc/automake.info-2 index 41552cc..332bd67 100644 --- a/doc/automake.info-2 +++ b/doc/automake.info-2 @@ -1,11 +1,11 @@ -This is automake.info, produced by makeinfo version 6.7 from +This is automake.info, produced by makeinfo version 6.8 from automake.texi. -This manual is for GNU Automake (version 1.16.3, 19 November 2020), a +This manual is for GNU Automake (version 1.16.4, 16 July 2021), a program that creates GNU standards-compliant Makefiles from template files. - Copyright © 1995–2020 Free Software Foundation, Inc. + Copyright © 1995–2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -26,6 +26,25 @@ START-INFO-DIR-ENTRY END-INFO-DIR-ENTRY  +File: automake.info, Node: Install, Next: Clean, Prev: Documentation, Up: Top + +12 What Gets Installed +********************** + +Naturally, Automake handles the details of installing your program once +it has been built. All files named by the various primaries are +automatically installed in the appropriate places when the user runs +‘make install’. + +* Menu: + +* Basics of Installation:: What gets installed where +* The Two Parts of Install:: Installing data and programs separately +* Extending Installation:: Adding your own rules for installation +* Staged Installs:: Installation in a temporary location +* Install Rules for the User:: Useful additional rules + + File: automake.info, Node: Basics of Installation, Next: The Two Parts of Install, Up: Install 12.1 Basics of Installation @@ -233,50 +252,71 @@ File: automake.info, Node: Basics of Distribution, Next: Fine-grained Distribu =========================== The ‘dist’ rule in the generated ‘Makefile.in’ can be used to generate a -gzipped ‘tar’ file and other flavors of archive for distribution. The -file is named based on the ‘PACKAGE’ and ‘VERSION’ variables +gzipped ‘tar’ file and/or other flavors of archives for distribution. +The file is named based on the ‘PACKAGE’ and ‘VERSION’ variables automatically defined by either the ‘AC_INIT’ invocation or by a _deprecated_ two-arguments invocation of the ‘AM_INIT_AUTOMAKE’ macro (see *note Public Macros:: for how these variables get their values, from either defaults or explicit values—it’s slightly trickier than one -would expect). More precisely the gzipped ‘tar’ file is named +would expect). More precisely, the gzipped ‘tar’ file is named ‘${PACKAGE}-${VERSION}.tar.gz’. - You can use the ‘make’ variable ‘GZIP_ENV’ to control how gzip is -run. The default setting is ‘--best’. - You can set the environment variable ‘TAR’ to override the tar -program used; it defaults to ‘tar’. +program used; it defaults to ‘tar’. *Note The Types of Distributions::, +for how to generate other kinds of archives. For the most part, the files to distribute are automatically found by -Automake: all source files are automatically included in a distribution, -as are all ‘Makefile.am’ and ‘Makefile.in’ files. Automake also has a -built-in list of commonly used files that are automatically included if -they are found in the current directory (either physically, or as the -target of a ‘Makefile.am’ rule); this list is printed by ‘automake ---help’. Note that some files in this list are actually distributed -only if other certain conditions hold (for example, the ‘config.h.top’ -and ‘config.h.bot’ files are automatically distributed only if, e.g., -‘AC_CONFIG_HEADERS([config.h])’ is used in ‘configure.ac’). Also, files -that are read by ‘configure’ (i.e. the source files corresponding to the -files specified in various Autoconf macros such as ‘AC_CONFIG_FILES’ and -siblings) are automatically distributed. Files included in a -‘Makefile.am’ (using ‘include’) or in ‘configure.ac’ (using -‘m4_include’), and helper scripts installed with ‘automake ---add-missing’ are also distributed. - - Still, sometimes there are files that must be distributed, but which -are not covered in the automatic rules. These files should be listed in -the ‘EXTRA_DIST’ variable. You can mention files from subdirectories in -‘EXTRA_DIST’. +Automake: + + • All source files are automatically included in a distribution, as + are all ‘Makefile.am’ and ‘Makefile.in’ files. + + • Files that are read by ‘configure’ are automatically distributed. + These are the source files as specified in various Autoconf macros + such as ‘AC_CONFIG_FILES’ and siblings. + + • Files included in a ‘Makefile.am’ (using ‘include’) or in + ‘configure.ac’ (using ‘m4_include’). + + • Automake has a built-in list of commonly used files automatically + included in the distribution if they are found in the current + directory (either physically, or as the target of a ‘Makefile.am’ + rule). Some common examples: ‘ABOUT-GNU’, ‘COPYING’, ‘TODO’. + + This list also includes helper scripts installed with ‘automake + --add-missing’. Some common examples: ‘compile’, ‘config.guess’, + ‘config.rpath’, ‘config.sub’, ‘texinfo.tex’. + + • Automake has another built-in list of files automatically + distributed if they are found either with the plain name, or with + extension ‘.md’ (presumably MarkDown, though this not checked). + They are checked for in that order, so the plain name is preferred. + These are: ‘AUTHORS ChangeLog INSTALL NEWS README README-alpha + THANKS’. + + • A final built-in list of files are those distributed only if other + certain conditions hold. For example, the files ‘config.h.top’ and + ‘config.h.bot’ are automatically distributed only if, e.g., + ‘AC_CONFIG_HEADERS([config.h])’ is used in ‘configure.ac’). + ‘README-alpha’ is another such file, with ‘README-alpha.md’ + distributed if that is what is available; *note Strictness::, for + its conditions for distribution. + +These three lists of files are given in their entirety in the output +from ‘automake --help’. + + Despite all this automatic inclusion, it is still common to have +files to be distributed which are not found by the automatic rules. You +should listed these files in the ‘EXTRA_DIST’ variable. You can mention +files in subdirectories in ‘EXTRA_DIST’. You can also mention a directory in ‘EXTRA_DIST’; in this case the -entire directory will be recursively copied into the distribution. -Please note that this will also copy _everything_ in the directory, -including, e.g., Subversion’s ‘.svn’ private directories or CVS/RCS -version control files; thus we recommend against using this feature -as-is. However, you can use the ‘dist-hook’ feature to ameliorate the -problem; *note The dist Hook::. +entire directory will be recursively copied into the distribution. To +emphasize, this copies _everything_ in the directory, including +temporary editor files, intermediate build files, version control files, +etc.; thus we recommend against using this feature as-is. However, you +can use the ‘dist-hook’ feature to ameliorate the problem; *note The +dist Hook::. If you define ‘SUBDIRS’, Automake will recursively include the subdirectories in the distribution. If ‘SUBDIRS’ is defined @@ -323,17 +363,17 @@ files that get recursively included by specifying a directory in EXTRA_DIST = doc dist-hook: chmod -R u+w $(distdir)/doc - rm -rf `find $(distdir)/doc -type d -name .svn` - -Note that the ‘dist-hook’ recipe shouldn’t assume that the regular files -in the distribution directory are writable; this might not be the case -if one is packaging from a read-only source tree, or when a ‘make -distcheck’ is being done. For similar reasons, the recipe shouldn’t -assume that the subdirectories put into the distribution directory as an -effect of having them listed in ‘EXTRA_DIST’ are writable. So, if the -‘dist-hook’ recipe wants to modify the content of an existing file (or -‘EXTRA_DIST’ subdirectory) in the distribution directory, it should -explicitly to make it writable first: + rm -rf `find $(distdir)/doc -type d -name RCS` + +The ‘dist-hook’ recipe should not assume that the regular files in the +distribution directory are writable; this might not be the case if one +is packaging from a read-only source tree, or when a ‘make distcheck’ is +being done. Similarly, the recipe should not assume that the +subdirectories put into the distribution directory as a result of being +listed in ‘EXTRA_DIST’ are writable. So, if the ‘dist-hook’ recipe +wants to modify the content of an existing file (or ‘EXTRA_DIST’ +subdirectory) in the distribution directory, it should explicitly to +make it writable first: EXTRA_DIST = README doc dist-hook: @@ -348,15 +388,15 @@ explicitly to make it writable first: files from the current directory before creating the tarball. If you are at the top-level directory, then ‘distdir = $(PACKAGE)-$(VERSION)’. When used from subdirectory named ‘foo/’, then ‘distdir = -../$(PACKAGE)-$(VERSION)/foo’. ‘$(distdir)’ can be a relative or -absolute path, do not assume any form. +../$(PACKAGE)-$(VERSION)/foo’. ‘$(distdir)’ can be either a relative or +absolute path; do not assume a particular form. ‘$(top_distdir)’ always points to the root directory of the -distributed tree. At the top-level it’s equal to ‘$(distdir)’. In the +distributed tree. At the top level it’s equal to ‘$(distdir)’. In the ‘foo/’ subdirectory ‘top_distdir = ../$(PACKAGE)-$(VERSION)’. -‘$(top_distdir)’ too can be a relative or absolute path. +‘$(top_distdir)’ can also be either a relative or absolute path. - Note that when packages are nested using ‘AC_CONFIG_SUBDIRS’ (*note + When packages are nested using ‘AC_CONFIG_SUBDIRS’ (*note Subpackages::), then ‘$(distdir)’ and ‘$(top_distdir)’ are relative to the package where ‘make dist’ was run, not to any sub-packages involved. @@ -520,35 +560,44 @@ distributions in various formats. Their targets are: ‘dist-gzip’ Generate a ‘gzip’ tar archive of the distribution. This is the - only format enabled by default. + only format enabled by default. By default, this rule makes ‘gzip’ + use a compression option of ‘--best’. To make it use a different + one, set the ‘GZIP_ENV’ environment variable. For example, ‘make + dist-gzip GZIP_ENV=-7’. ‘dist-bzip2’ Generate a ‘bzip2’ tar archive of the distribution. bzip2 archives - are frequently smaller than gzipped archives. By default, this - rule makes ‘bzip2’ use a compression option of ‘-9’. To make it - use a different one, set the ‘BZIP2’ environment variable. For - example, ‘make dist-bzip2 BZIP2=-7’. + are usually smaller than gzipped archives. By default, this rule + makes ‘bzip2’ use a compression option of ‘-9’. To make it use a + different one, set the ‘BZIP2’ environment variable. ‘dist-lzip’ Generate an ‘lzip’ tar archive of the distribution. ‘lzip’ - archives are frequently smaller than ‘bzip2’-compressed archives. + archives are usually smaller than ‘bzip2’-compressed archives. By + default, this rule makes ‘lzip’ use a compression option of ‘-9’. + To make it use a different one, set the ‘LZIP_OPT’ environment + variable. ‘dist-xz’ Generate an ‘xz’ tar archive of the distribution. ‘xz’ archives - are frequently smaller than ‘bzip2’-compressed archives. By - default, this rule makes ‘xz’ use a compression option of ‘-e’. To - make it use a different one, set the ‘XZ_OPT’ environment variable. - For example, run this command to use the default compression ratio, - but with a progress indicator: ‘make dist-xz XZ_OPT=-ve’. + are usually smaller than ‘bzip2’-compressed archives. By default, + this rule makes ‘xz’ use a compression option of ‘-e’. To make it + use a different one, set the ‘XZ_OPT’ environment variable. For + example, run this command to use the default compression ratio, but + with a progress indicator: ‘make dist-xz XZ_OPT=-ve’. ‘dist-zip’ Generate a ‘zip’ archive of the distribution. -‘dist-tarZ’ - Generate a tar archive of the distribution, compressed with the - historical (and obsolescent) program ‘compress’. This option is - deprecated, and it and the corresponding functionality will be - removed altogether in Automake 2.0. +‘dist-zstd’ + Generate a ‘zstd’ tar archive of the distribution. By default, + this rule makes ‘zstd’ use a compression option of ‘-19’. To use a + different setting, set the ‘ZSTD_OPT’ environment variable. For + example, run this command to use the default compression ratio, but + with a progress indicator: ‘make dist-zstd ZSTD_OPT=-19v’. + However, note that for compatibility with ‘zstd’ itself, you may + instead set the ‘ZSTD_CLEVEL’ environment variable, in which case, + any ‘ZSTD_OPT’ setting is ignored. ‘dist-shar’ Generate a ‘shar’ archive of the distribution. This format archive @@ -556,20 +605,16 @@ distributions in various formats. Their targets are: corresponding functionality will be removed altogether in Automake 2.0. -‘dist-zstd’ - Generate a ‘zstd’ tar archive of the distribution. By default, - this rule makes ‘zstd’ use a compression option of ‘-19’. To make - it use a different one, set the ‘ZSTD_OPT’ environment variable. - For example, run this command to use the default compression ratio, - but with a progress indicator: ‘make dist-zstd ZSTD_OPT=-19v’. - However, note that for compatibility with zstd itself, you may - instead set the ‘ZSTD_CLEVEL’ environment variable, in which case, - any ‘ZSTD_OPT’ setting is ignored. +‘dist-tarZ’ + Generate a tar archive of the distribution, compressed with the + historical (and obsolescent) program ‘compress’. This option is + deprecated, and it and the corresponding functionality will be + removed altogether in Automake 2.0. The rule ‘dist’ (and its historical synonym ‘dist-all’) will create archives in all the enabled formats (*note List of Automake options:: for how to change this list). By default, only the ‘dist-gzip’ target -is hooked to ‘dist’. +is enabled by ‘dist’.  File: automake.info, Node: Tests, Next: Rebuilding, Prev: Dist, Up: Top @@ -630,11 +675,11 @@ determine that such condition of behaviour does _not_ hold. simply make no sense on a given system (for example, a test checking a Windows-specific feature makes no sense on a GNU/Linux system). In this case, accordingly to the definition above, the tests can neither be -considered passed nor failed; instead, they are _skipped_- –i.e., they -are not run, or their result is anyway ignored for what concerns the -count of failures and successes. Skips are usually explicitly reported -though, so that the user will be aware that not all of the testsuite has -really run. +considered passed nor failed; instead, they are _skipped_, that is, they +are not run, or their result is in any case ignored for what concerns +the count of failures and successes. Skips are usually explicitly +reported though, so that the user will be aware that not all of the +testsuite has been run. It’s not uncommon, especially during early development stages, that some tests fail for known reasons, and that the developer doesn’t want @@ -860,9 +905,8 @@ freeing the ‘TESTS_ENVIRONMENT’ variable for the user (*note Parallel Test Harness::). Another, less serious limitation of the serial harness is that it -doesn’t really distinguish between simple failures and hard errors; this -is due to historical reasons only, and might be fixed in future Automake -versions. +doesn’t distinguish between simple failures and hard errors; this is for +historical reasons, and might be fixed in future Automake versions.  File: automake.info, Node: Parallel Test Harness, Prev: Serial Test Harness, Up: Simple Tests @@ -960,9 +1004,18 @@ several ways to limit the set of tests that are run: env TESTS="foo.test bar.test" make -e check - Note however that the command above will unconditionally overwrite - the ‘test-suite.log’ file, thus clobbering the recorded results of - any previous testsuite run. This might be undesirable for packages + If you’re using a recursive make setup, you’ll probably also need + to override ‘SUBDIRS’: + + env TESTS="foo.test bar.test" make -e check SUBDIRS= + + Otherwise, the test harness will descend into all subdirectories, + where the tests presumably do not exist, and thus fail. (Patch to + provide better behavior would be welcome.) + + Another issue: the command above will unconditionally overwrite the + ‘test-suite.log’ file, thus clobbering the recorded results of any + previous testsuite run. This might be undesirable for packages whose testsuite takes a long time to execute. Luckily, this problem can easily be avoided by also overriding ‘TEST_SUITE_LOG’ at runtime; for example, @@ -1145,8 +1198,8 @@ File: automake.info, Node: API for Custom Test Drivers, Prev: Declaring Custom ---------------------------------- Note that _the APIs described here are still highly experimental_, and -will very likely undergo tightenings and likely also extensive changes -in the future, to accommodate for new features or to satisfy additional +will very likely undergo tightening and possibly extensive changes in +the future, to accommodate for new features or to satisfy additional portability requirements. The main characteristic of these APIs is that they are designed to @@ -1681,6 +1734,13 @@ inconvenience is that ‘autoconf’ will now be rerun each time the version number is bumped, when only ‘configure’ had to be rerun in the previous setup. + GNU Make, at least, has an option ‘--always-make’ which tells Make to +consider that all targets are out of date. This interacts badly with +Automake-generated Makefiles, which implement their own careful rules +for when to regenerate Makefiles, as described above. The result is an +endless loop, or other poor behavior. The only thing to do, as far as +we know, is to refrain from using ‘--always-make’. +  File: automake.info, Node: Options, Next: Miscellaneous, Prev: Rebuilding, Up: Top @@ -1813,6 +1873,17 @@ File: automake.info, Node: List of Automake options, Prev: Options generalitie Don’t emit any code related to ‘dist’ target. This is useful when a package has its own method for making distributions. +‘no-dist-built-sources’ + Don’t build ‘BUILT_SOURCES’ as part of ‘dist’. This option can be + set if building the distribution only requires the source files, + and doesn’t compile anything as a side-effect. The default is for + ‘$(distdir)’ to depend on ‘$(BUILT_SOURCES)’ because it is common, + at least among GNU packages, to want to build the program to + generate man pages with ‘help2man’ (*note Errors with distclean::). + Admittedly the default behavior should perhaps be to omit the + dependency, but to preserve compatibility, we don’t want to change + it now. + ‘no-dist-gzip’ Do not hook ‘dist-gzip’ to ‘dist’. @@ -1891,7 +1962,7 @@ File: automake.info, Node: List of Automake options, Prev: Options generalitie subdirectory of the build directory corresponding to the subdirectory of the source file. For instance, if the source file is ‘subdir/file.cxx’, then the output file would be - ‘subdir/file.o’. + ‘subdir/file.o’. *Note Program and Library Variables::. ‘tar-v7’ ‘tar-ustar’ @@ -1986,9 +2057,9 @@ Emacs under some circumstances. If any C, C++ or Fortran 77 source code or headers are present, then ‘tags’ and ‘TAGS’ rules will be generated for the directory. All files listed using the ‘_SOURCES’, ‘_HEADERS’, and ‘_LISP’ primaries will be -used to generate tags. Note that generated source files that are not -distributed must be declared in variables like ‘nodist_noinst_HEADERS’ -or ‘nodist_PROG_SOURCES’ or they will be ignored. +used to generate tags. Generated source files that are not distributed +must be declared in variables like ‘nodist_noinst_HEADERS’ or +‘nodist_PROG_SOURCES’ or they will be ignored. A ‘tags’ rule will be output at the topmost directory of a multi-directory package. When run from this topmost directory, ‘make @@ -1999,7 +2070,9 @@ files from subdirectories. is defined. This variable is intended for use in directories that contain taggable source that ‘etags’ does not understand. The user can use the ‘ETAGSFLAGS’ to pass additional flags to ‘etags’; -‘AM_ETAGSFLAGS’ is also available for use in ‘Makefile.am’. +‘AM_ETAGSFLAGS’ is also available for use in ‘Makefile.am’. The +variable ‘ETAGS’ is the name of the program to invoke (by default +‘etags’). Here is how Automake generates tags for its source, and for nodes in its Texinfo file: @@ -2318,7 +2391,7 @@ the easy detection of potentially important warning messages.  File: automake.info, Node: Tricks For Silencing Make, Next: Automake Silent Rules, Prev: Make verbosity, Up: Silencing Make -21.2 Standard and generic ways to silence make +21.2 Standard and generic ways to silence Make ============================================== Here we describe some common idioms/tricks to obtain a quieter make @@ -2372,7 +2445,7 @@ in this respect, providing more elaborate and flexible idioms.  File: automake.info, Node: Automake Silent Rules, Prev: Tricks For Silencing Make, Up: Silencing Make -21.3 How Automake can help in silencing make +21.3 How Automake can help in silencing Make ============================================ The tricks and idioms for silencing ‘make’ described in the previous @@ -2412,7 +2485,7 @@ are disabled) and one with silent rules enabled: mv -f .deps/func.Tpo .deps/func.Po gcc -Wall -o foo main.o func.o - Clean up, so that we we can rebuild everything from scratch. + Clean up, so that we can rebuild everything from scratch. % make clean test -z "foo" || rm -f foo rm -f *.o @@ -2467,9 +2540,9 @@ time. We think that this is a good policy, since it provides the casual user with enough information to prepare a good bug report in case anything breaks. - Still, notwithstanding the rationales above, a developer who really -wants to make silent rules enabled by default in his own package can do -so by calling ‘AM_SILENT_RULES([yes])’ in ‘configure.ac’. + Still, notwithstanding the rationales above, developers who wants to +make silent rules enabled by default in their own packages can do so by +calling ‘AM_SILENT_RULES([yes])’ in ‘configure.ac’. Users who prefer to have silent rules enabled by default can edit their ‘config.site’ file to make the variable ‘enable_silent_rules’ @@ -2741,7 +2814,7 @@ they support VPATH builds (*note VPATH Builds::). Obviously if the subpackage does not support VPATH builds the whole package will not support VPATH builds. This in turns means that ‘make distcheck’ will not work, because it relies on VPATH builds. Some people can live -without this (actually, many Automake users have never heard of ‘make +without this (indeed, many Automake users have never heard of ‘make distcheck’). Other people may prefer to revamp the existing ‘Makefile’s to support VPATH. Doing so does not necessarily require Automake; only Autoconf is needed (*note Build Directories: (autoconf)Build @@ -2755,14 +2828,14 @@ aforementioned ‘$(distdir)’ and ‘$(top_distdir)’ variables. introduce the above required targets. For instance, one may want to keep the third-party sources untouched to ease upgrades to new versions. - Here are two other ideas. If GNU make is assumed, one possibility is + Here are two other ideas. If GNU Make is assumed, one possibility is to add to that subdirectory a ‘GNUmakefile’ that defines the required targets and includes the third-party ‘Makefile’. For this to work in VPATH builds, ‘GNUmakefile’ must lie in the build directory; the easiest way to do this is to write a ‘GNUmakefile.in’ instead, and have it -processed with ‘AC_CONFIG_FILES’ from the outer package. For example if -we assume ‘Makefile’ defines all targets except the documentation -targets, and that the ‘check’ target is actually called ‘test’, we could +processed with ‘AC_CONFIG_FILES’ from the outer package. For example, +if we assume ‘Makefile’ defines all targets except the documentation +targets, and that the real ‘check’ target is named ‘test’, we could write ‘GNUmakefile’ (or ‘GNUmakefile.in’) like this: # First, include the real Makefile @@ -3118,11 +3191,10 @@ But, after all, CVS’s job is versioning, not distribution. Allowing developers to use different versions of their tools can also hide bugs during distributed development. Indeed, developers will be using (hence testing) their own generated files, instead of the -generated files that will be actually released. The developer who -prepares the tarball might be using a version of the tool that produces -bogus output (for instance a non-portable C file), something other -developers could have noticed if they weren’t using their own versions -of this tool. +generated files that will be released. The developer who prepares the +tarball might be using a version of the tool that produces bogus output +(for instance a non-portable C file), something other developers could +have noticed if they weren’t using their own versions of this tool. Third-party Files ----------------- @@ -3182,7 +3254,7 @@ rules" should be enabled or disabled. With they are disabled by default. In the latter case, if you have ‘AM_MAINTAINER_MODE’ in ‘configure.ac’, and run ‘./configure && make’, then ‘make’ will *never* attempt to rebuild ‘configure’, ‘Makefile.in’s, -Lex or Yacc outputs, etc. I.e., this disables build rules for files +Lex or Yacc outputs, etc. That is, this disables build rules for files that are usually distributed and that users should normally not have to update. @@ -3254,7 +3326,7 @@ Developers are lazy. They would often like to use wildcards in e.g., NetBSD ‘make’ will not expand globs such as ‘*’ in prerequisites of a target. - • Finally, it’s really hard to _forget_ to add a file to + • Finally, it’s quite hard to _forget_ to add a file to ‘Makefile.am’: files that are not listed in ‘Makefile.am’ are not compiled or installed, so you can’t even test them. @@ -3364,7 +3436,7 @@ VPATH Builds::), and then call ‘make distclean’. Files left in the build directory after ‘make distclean’ has run are listed after this error. - This diagnostic really covers two kinds of errors: + This diagnostic covers two kinds of errors: • files that are forgotten by distclean; • distributed files that are erroneously rebuilt. @@ -3487,19 +3559,19 @@ Compile Flag Variables ---------------------- This section attempts to answer all the above questions. We will mostly -discuss ‘CPPFLAGS’ in our examples, but actually the answer holds for -all the compile flags used in Automake: ‘CCASFLAGS’, ‘CFLAGS’, -‘CPPFLAGS’, ‘CXXFLAGS’, ‘FCFLAGS’, ‘FFLAGS’, ‘GCJFLAGS’, ‘LDFLAGS’, -‘LFLAGS’, ‘LIBTOOLFLAGS’, ‘OBJCFLAGS’, ‘OBJCXXFLAGS’, ‘RFLAGS’, -‘UPCFLAGS’, and ‘YFLAGS’. +discuss ‘CPPFLAGS’ in our examples, but the answer holds for all the +compile flags used in Automake: ‘CCASFLAGS’, ‘CFLAGS’, ‘CPPFLAGS’, +‘CXXFLAGS’, ‘FCFLAGS’, ‘FFLAGS’, ‘GCJFLAGS’, ‘LDFLAGS’, ‘LFLAGS’, +‘LIBTOOLFLAGS’, ‘OBJCFLAGS’, ‘OBJCXXFLAGS’, ‘RFLAGS’, ‘UPCFLAGS’, and +‘YFLAGS’. ‘CPPFLAGS’, ‘AM_CPPFLAGS’, and ‘mumble_CPPFLAGS’ are three variables -that can be used to pass flags to the C preprocessor (actually these -variables are also used for other languages like C++ or preprocessed -Fortran). ‘CPPFLAGS’ is the user variable (*note User Variables::), -‘AM_CPPFLAGS’ is the Automake variable, and ‘mumble_CPPFLAGS’ is the -variable specific to the ‘mumble’ target (we call this a per-target -variable, *note Program and Library Variables::). +that can be used to pass flags to the C preprocessor ( these variables +are also used for other languages like C++ or preprocessed Fortran). +‘CPPFLAGS’ is the user variable (*note User Variables::), ‘AM_CPPFLAGS’ +is the Automake variable, and ‘mumble_CPPFLAGS’ is the variable specific +to the ‘mumble’ target (we call this a per-target variable, *note +Program and Library Variables::). Automake always uses two of these variables when compiling C sources files. When compiling an object file for the ‘mumble’ target, the first @@ -3535,22 +3607,27 @@ and this flag would be propagated to the compile rules of all It is also not uncommon to override a user variable at ‘make’-time. Many installers do this with ‘prefix’, but this can be useful with -compiler flags too. For instance, if, while debugging a C++ project, -you need to disable optimization in one specific object file, you can -run something like +compiler flags too. For instance, while debugging a C++ project, if you +need to disable optimization in one specific object file, you can run +something like rm file.o make CXXFLAGS=-O0 file.o make The reason ‘$(CPPFLAGS)’ appears after ‘$(AM_CPPFLAGS)’ or -‘$(mumble_CPPFLAGS)’ in the compile command is that users should always -have the last say. It probably makes more sense if you think about it -while looking at the ‘CXXFLAGS=-O0’ above, which should supersede any -other switch from ‘AM_CXXFLAGS’ or ‘mumble_CXXFLAGS’ (and this of course -replaces the previous value of ‘CXXFLAGS’). - - You should never redefine a user variable such as ‘CPPFLAGS’ in +‘$(mumble_CPPFLAGS)’ in the compile command is that users should have +the last say. In the example above, the desire is for the +‘CXXFLAGS=-O0’ to supersede any other switch from ‘AM_CXXFLAGS’ or +‘mumble_CXXFLAGS’. + + It’s true that not all options to all programs can be overridden. So +in general, users could conceivably want to place options at arbitrary +places in the command line, but Automake does not support this. It +would be difficult to make such generality comprehensible. Being able +to specify the final options commonly suffices. + + Thus, you should never redefine a user variable such as ‘CPPFLAGS’ in ‘Makefile.am’. Use ‘automake -Woverride’ to diagnose such mistakes. Even something like @@ -3569,8 +3646,8 @@ either, for the same reason. Occasionally you need to modify these variables to perform a test, but you should reset their values afterwards. In contrast, it is OK to modify the ‘AM_’ variables within ‘configure’ if you ‘AC_SUBST’ them, but it is rather rare that you need -to do this, unless you really want to change the default definitions of -the ‘AM_’ variables in all ‘Makefile’s. +to do this, unless you want to change the default definitions of the +‘AM_’ variables in all ‘Makefile’s. What we recommend is that you define extra flags in separate variables. For instance, you may write an Autoconf macro that computes @@ -3605,8 +3682,8 @@ flag. Yet another reason to leave user variables to users. Finally, we have avoided naming the variable of the example ‘LIBFOO_LDFLAGS’ (with an underscore) because that would cause Automake -to think that this is actually a per-target variable (like -‘mumble_LDFLAGS’) for some non-declared ‘LIBFOO’ target. +to think that this is a per-target variable (like ‘mumble_LDFLAGS’) for +some non-declared ‘LIBFOO’ target. Other Variables --------------- @@ -3614,11 +3691,11 @@ Other Variables There are other variables in Automake that follow similar principles to allow user options. For instance, Texinfo rules (*note Texinfo::) use ‘MAKEINFOFLAGS’ and ‘AM_MAKEINFOFLAGS’. Similarly, DejaGnu tests (*note -DejaGnu Tests::) use ‘RUNTESTDEFAULTFLAGS’ and ‘AM_RUNTESTDEFAULTFLAGS’. -The tags and ctags rules (*note Tags::) use ‘ETAGSFLAGS’, -‘AM_ETAGSFLAGS’, ‘CTAGSFLAGS’, and ‘AM_CTAGSFLAGS’. Java rules (*note -Java::) use ‘JAVACFLAGS’ and ‘AM_JAVACFLAGS’. None of these rules -support per-target flags (yet). +DejaGnu Tests::) use ‘RUNTESTFLAGS’ and ‘AM_RUNTESTFLAGS’. The tags and +ctags rules (*note Tags::) use ‘ETAGSFLAGS’, ‘AM_ETAGSFLAGS’, +‘CTAGSFLAGS’, and ‘AM_CTAGSFLAGS’. Java rules (*note Java::) use +‘JAVACFLAGS’ and ‘AM_JAVACFLAGS’. None of these rules support +per-target flags (yet). To some extent, even ‘AM_MAKEFLAGS’ (*note Subdirectories::) obeys this naming scheme. The slight difference is that ‘MAKEFLAGS’ is passed @@ -3657,9 +3734,9 @@ built with both ‘-DEXIT_CODE=0’ _and_ ‘-DEXIT_CODE=1’. Therefore ‘automake’ outputs rules to build two different objects: ‘true-generic.o’ and ‘false-generic.o’. - ‘automake’ doesn’t actually look whether source files are shared to -decide if it must rename objects. It will just rename all objects of a -target as soon as it sees per-target compilation flags used. + Automake doesn’t actually determine whether source files are shared +to decide if it must rename objects. It just renames all objects of a +target as soon as it sees that per-target compilation flags are used. It’s OK to share object files when per-target compilation flags are not used. For instance, ‘true’ and ‘false’ will both use ‘version.o’ in @@ -3755,9 +3832,9 @@ to write a ‘Makefile’ rule that captures this one-to-two dependency. data.c data.h: data.foo foo data.foo -What the above rule really says is that ‘data.c’ and ‘data.h’ each -depend on ‘data.foo’, and can each be built by running ‘foo data.foo’. -In other words it is equivalent to: +What the above rule says is that ‘data.c’ and ‘data.h’ each depend on +‘data.foo’, and can each be built by running ‘foo data.foo’. In other +words it is equivalent to: # We do not want this. data.c: data.foo @@ -3870,10 +3947,10 @@ do not know in which order these files are created. Suppose that ‘data.h’ is created before ‘data.c’. Then we have a weird situation. The next time ‘make’ is run, ‘data.h’ will appear older than ‘data.c’, the second rule will be triggered, a shell will be started to execute -the ‘if...fi’ command, but actually it will just execute the ‘then’ -branch, that is: nothing. In other words, because the witness we -selected is not the first file created by ‘foo’, ‘make’ will start a -shell to do nothing each time it is run. +the ‘if...fi’ command, but it will just execute the ‘then’ branch, that +is: nothing. In other words, because the witness we selected is not the +first file created by ‘foo’, ‘make’ will start a shell to do nothing +each time it is run. A simple riposte is to fix the timestamps when this happens. @@ -4044,11 +4121,11 @@ File: automake.info, Node: Hard-Coded Install Paths, Next: Debugging Make Rule These two setups share their symptoms: ‘make distcheck’ fails because they are installing files to hard-coded paths. In the latter case the -path is not really hard-coded in the package, but we can consider it to -be hard-coded in the system (or in whichever tool that supplies the -path). As long as the path does not use any of the standard directory -variables (‘$(prefix)’, ‘$(bindir)’, ‘$(datadir)’, etc.), the effect -will be the same: user-installations are impossible. +path is not hard-coded in the package, but we can consider it to be +hard-coded in the system (or in whichever tool that supplies the path). +As long as the path does not use any of the standard directory variables +(‘$(prefix)’, ‘$(bindir)’, ‘$(datadir)’, etc.), the effect will be the +same: user-installations are impossible. As a (non-root) user who wants to install a package, you usually have no right to install anything in ‘/usr’ or ‘/usr/local’. So you do @@ -4088,8 +4165,8 @@ where to install the library, it will answer something like this: non-root users will not be able to install the package; hence distcheck fails. - Let’s do better. The ‘sysconfig.get_python_lib()’ function actually -accepts a third argument that will replace Python’s installation prefix. + Let’s do better. The ‘sysconfig.get_python_lib()’ function accepts a +third argument that will replace Python’s installation prefix. % python -c 'from distutils import sysconfig; print sysconfig.get_python_lib(1,0,"${exec_prefix}")' @@ -4128,14 +4205,14 @@ here is how ‘AM_PATH_LISPDIR’ (*note Emacs Lisp::) computes }' conftest.out` - I.e., it just picks the first directory that looks like + That is, it just picks the first directory that looks like ‘*/lib/*emacs/site-lisp’ or ‘*/share/*emacs/site-lisp’ in the search path of emacs, and then substitutes ‘${libdir}’ or ‘${datadir}’ appropriately. The emacs case looks complicated because it processes a list and expects two possible layouts; otherwise it’s easy, and the benefits for -non-root users are really worth the extra ‘sed’ invocation. +non-root users are worth the extra ‘sed’ invocation.  File: automake.info, Node: Debugging Make Rules, Next: Reporting Bugs, Prev: Hard-Coded Install Paths, Up: FAQ @@ -4152,23 +4229,26 @@ debugging makefiles generated by ‘automake’ effectively: • If less verbose output has been enabled in the package with the use of silent rules (*note Automake Silent Rules::), you can use ‘make V=1’ to see the commands being executed. + • ‘make -n’ can help show what would be done without actually doing - it. Note however, that this will _still execute_ commands prefixed - with ‘+’, and, when using GNU ‘make’, commands that contain the - strings ‘$(MAKE)’ or ‘${MAKE}’ (*note (make)Instead of - Execution::). 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.(1) - Furthermore, note that GNU ‘make’ will update prerequisites for the - ‘Makefile’ file itself even with ‘-n’ (*note (make)Remaking - Makefiles::). + it. However, this _still executes_ commands prefixed with ‘+’, + and, when using GNU ‘make’, commands that contain the strings + ‘$(MAKE)’ or ‘${MAKE}’ (*note (make)Instead of Execution::). + 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.(1) Furthermore, note + that GNU ‘make’ will update prerequisites for the ‘Makefile’ file + itself even with ‘-n’ (*note (make)Remaking Makefiles::). + • ‘make SHELL="/bin/bash -vx"’ can help debug complex rules. *Note (autoconf)The Make Macro SHELL::, for some portability quirks associated with this construct. + • ‘echo 'print: ; @echo "$(VAR)"' | make -f Makefile -f - print’ can be handy to examine the expanded value of variables. You may need to use a target other than ‘print’ if that is already used or a file with that name exists. + • provides a modified GNU ‘make’ command called ‘remake’ that copes with complex GNU ‘make’-specific Makefiles and allows tracing execution, examining @@ -4186,37 +4266,34 @@ File: automake.info, Node: Reporting Bugs, Prev: Debugging Make Rules, Up: FA 26.12 Reporting Bugs ==================== -Most nontrivial software has bugs. Automake 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. - - 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. +Most nontrivial software has bugs. Automake is no exception. We cannot +promise we can or will fix a bug, and we might not even agree that it is +a bug, but we want to hear about problems you encounter. Often we agree +they are bugs and want to fix them. - Before reporting a bug, it is a good idea to see if it is already -known. You can look at the GNU Bug Tracker (https://debbugs.gnu.org/) -and the bug-automake mailing list archives + So, to make it possible for us to fix a bug, please report it. If +you can, though, it is helpful if you check if it is already known. You +can look at the GNU Bug Tracker (https://debbugs.gnu.org/) and the +bug-automake mailing list archives (https://lists.gnu.org/archive/html/bug-automake/) for previous bug -reports. We previously used a Gnats database for bug tracking, but it -is no longer online. +reports. (We previously used a Gnats database for bug tracking, but it +is no longer online.) - 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 -this, please familiarize yourself with How to Report Bugs Effectively + If the bug is not already known, it should be reported. To report +bugs in a way that is useful and efficient, please read How to Report +Bugs Effectively (https://www.chiark.greenend.org.uk/~sgtatham/bugs.html) and How to Ask Questions the Smart Way -(http://catb.org/~esr/faqs/smart-questions.html). This helps you and -developers to save time, which can then be spent on fixing more bugs and -implementing more features. +(http://catb.org/~esr/faqs/smart-questions.html). Good bug reports save +time for everyone. For a bug report, a feature request or other suggestions, please send email to . This will then open a new bug in the bug tracker (https://debbugs.gnu.org/automake). Be sure to include the -versions of Autoconf and Automake that you use. Ideally, post a minimal -‘Makefile.am’ and ‘configure.ac’ that reproduces the problem you -encounter. If you have encountered test suite failures, please attach -the ‘test-suite.log’ file. +versions of Autoconf and Automake that you use and the kind of system +you’re on. Ideally, post a minimal ‘Makefile.am’ and ‘configure.ac’ +that reproduces the problem you encounter. If you have encountered test +suite failures, please attach the ‘test-suite.log’ file.  File: automake.info, Node: Copying This Manual, Next: Indices, Prev: FAQ, Up: Top @@ -4236,7 +4313,7 @@ A.1 GNU Free Documentation License Version 1.3, 3 November 2008 - Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + Copyright © 2000–2021 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies @@ -4738,53 +4815,56 @@ B.1 Macro Index * AC_CONFIG_AUX_DIR: Optional. (line 19) * AC_CONFIG_AUX_DIR <1>: Subpackages. (line 6) * AC_CONFIG_FILES: Requirements. (line 15) -* AC_CONFIG_HEADERS: Optional. (line 44) -* AC_CONFIG_LIBOBJ_DIR: Optional. (line 40) +* AC_CONFIG_FILES <1>: Basics of Distribution. + (line 26) +* AC_CONFIG_HEADERS: Optional. (line 50) +* AC_CONFIG_LIBOBJ_DIR: Optional. (line 46) * AC_CONFIG_LIBOBJ_DIR <1>: LIBOBJS. (line 51) -* AC_CONFIG_LINKS: Optional. (line 55) +* AC_CONFIG_LINKS: Optional. (line 62) * AC_CONFIG_SUBDIRS: Subpackages. (line 6) +* AC_CONFIG_SUBDIRS <1>: The dist Hook. (line 49) * AC_DEFUN: Extending aclocal. (line 36) -* AC_F77_LIBRARY_LDFLAGS: Optional. (line 101) -* AC_FC_SRCEXT: Optional. (line 107) +* AC_F77_LIBRARY_LDFLAGS: Optional. (line 108) +* AC_FC_SRCEXT: Optional. (line 114) * AC_INIT: Public Macros. (line 15) -* AC_LIBOBJ: Optional. (line 65) +* AC_LIBOBJ: Optional. (line 72) * AC_LIBOBJ <1>: LTLIBOBJS. (line 6) * AC_LIBOBJ <2>: LIBOBJS. (line 11) -* AC_LIBSOURCE: Optional. (line 66) +* AC_LIBSOURCE: Optional. (line 73) * AC_LIBSOURCE <1>: LIBOBJS. (line 17) -* AC_LIBSOURCES: Optional. (line 67) +* AC_LIBSOURCES: Optional. (line 74) * AC_OUTPUT: Requirements. (line 15) * AC_PREREQ: Extending aclocal. (line 36) -* AC_PROG_CXX: Optional. (line 85) -* AC_PROG_F77: Optional. (line 97) -* AC_PROG_FC: Optional. (line 112) +* AC_PROG_CXX: Optional. (line 92) +* AC_PROG_F77: Optional. (line 104) +* AC_PROG_FC: Optional. (line 119) * AC_PROG_LEX: Public Macros. (line 94) -* AC_PROG_LEX <1>: Optional. (line 127) -* AC_PROG_LIBTOOL: Optional. (line 117) -* AC_PROG_OBJC: Optional. (line 89) -* AC_PROG_OBJCXX: Optional. (line 93) -* AC_PROG_RANLIB: Optional. (line 81) -* AC_PROG_YACC: Optional. (line 121) -* AC_REQUIRE_AUX_FILE: Optional. (line 131) -* AC_SUBST: Optional. (line 139) -* AM_CONDITIONAL: Optional. (line 152) +* AC_PROG_LEX <1>: Optional. (line 134) +* AC_PROG_LIBTOOL: Optional. (line 124) +* AC_PROG_OBJC: Optional. (line 96) +* AC_PROG_OBJCXX: Optional. (line 100) +* AC_PROG_RANLIB: Optional. (line 88) +* AC_PROG_YACC: Optional. (line 128) +* AC_REQUIRE_AUX_FILE: Optional. (line 138) +* AC_SUBST: Optional. (line 146) +* AM_CONDITIONAL: Optional. (line 159) * AM_CONDITIONAL <1>: Usage of Conditionals. (line 6) * AM_CONDITIONAL <2>: Usage of Conditionals. (line 9) -* AM_COND_IF: Optional. (line 155) +* AM_COND_IF: Optional. (line 162) * AM_COND_IF <1>: Usage of Conditionals. (line 66) * AM_COND_IF <2>: Usage of Conditionals. (line 70) * AM_DEP_TRACK: Private Macros. (line 14) -* AM_GNU_GETTEXT: Optional. (line 161) -* AM_GNU_GETTEXT_INTL_SUBDIR: Optional. (line 167) +* AM_GNU_GETTEXT: Optional. (line 168) +* AM_GNU_GETTEXT_INTL_SUBDIR: Optional. (line 174) * AM_INIT_AUTOMAKE: Requirements. (line 6) * AM_INIT_AUTOMAKE <1>: Public Macros. (line 7) * AM_MAINTAINER_MODE: Rebuilding. (line 9) * AM_MAINTAINER_MODE <1>: maintainer-mode. (line 38) -* AM_MAINTAINER_MODE([DEFAULT-MODE]): Optional. (line 172) +* AM_MAINTAINER_MODE([DEFAULT-MODE]): Optional. (line 179) * AM_MAKE_INCLUDE: Private Macros. (line 20) * AM_MISSING_PROG: Public Macros. (line 110) * AM_OUTPUT_DEPENDENCY_COMMANDS: Private Macros. (line 15) @@ -4802,11 +4882,11 @@ B.1 Macro Index * AM_SANITY_CHECK: Private Macros. (line 30) * AM_SET_DEPDIR: Private Macros. (line 13) * AM_SILENT_RULES: Public Macros. (line 118) -* AM_SUBST_NOTMAKE(VAR): Optional. (line 180) +* AM_SUBST_NOTMAKE(VAR): Optional. (line 187) * AM_WITH_DMALLOC: Public Macros. (line 122) * m4_include: Basics of Distribution. - (line 22) -* m4_include <1>: Optional. (line 190) + (line 30) +* m4_include <1>: Optional. (line 197)  File: automake.info, Node: Variable Index, Next: General Index, Prev: Macro Index, Up: Indices @@ -4859,7 +4939,7 @@ B.2 Variable Index (line 120) * AM_DISTCHECK_CONFIGURE_FLAGS: Checking the Distribution. (line 30) -* AM_ETAGSFLAGS: Tags. (line 25) +* AM_ETAGSFLAGS: Tags. (line 27) * AM_EXT_LOG_DRIVER_FLAGS: Declaring Custom Test Drivers. (line 6) * AM_EXT_LOG_FLAGS: Parallel Test Harness. @@ -4869,7 +4949,7 @@ B.2 Variable Index * AM_GCJFLAGS: Java Support with gcj. (line 26) * AM_INSTALLCHECK_STD_OPTIONS_EXEMPT: List of Automake options. - (line 139) + (line 150) * AM_JAVACFLAGS: Java. (line 44) * AM_LDFLAGS: Linking. (line 10) * AM_LDFLAGS <1>: Program Variables. (line 59) @@ -4917,8 +4997,10 @@ B.2 Variable Index * bin_SCRIPTS: Scripts. (line 18) * build_triplet: Optional. (line 14) * BUILT_SOURCES: Sources. (line 27) +* BUILT_SOURCES, and dist target: List of Automake options. + (line 81) * BZIP2: The Types of Distributions. - (line 13) + (line 17) * CC: Program Variables. (line 12) * CCAS: Public Macros. (line 82) * CCAS <1>: Assembly Support. (line 10) @@ -4938,6 +5020,12 @@ B.2 Variable Index * CONFIG_STATUS_DEPENDENCIES: Rebuilding. (line 12) * CPPFLAGS: Program Variables. (line 12) * CPPFLAGS <1>: Assembly Support. (line 10) +* CSCOPE: Tags. (line 57) +* CSCOPEFLAGS: Tags. (line 57) +* CSCOPE_ARGS: Tags. (line 57) +* CTAGS: Tags. (line 43) +* CTAGSFLAGS: Tags. (line 43) +* CTAGS_ARGS: Tags. (line 43) * CXX: C++ Support. (line 16) * CXXCOMPILE: C++ Support. (line 25) * CXXFLAGS: C++ Support. (line 19) @@ -4975,21 +5063,22 @@ B.2 Variable Index * DIST_SUBDIRS: Subdirectories with AM_CONDITIONAL. (line 25) * DIST_SUBDIRS <1>: Basics of Distribution. - (line 52) + (line 73) * DVIPS: Texinfo. (line 141) * EMACS: Public Macros. (line 60) * EMPTY_AUTOMAKE_TARGETS: Third-Party Makefiles. (line 88) -* ETAGSFLAGS: Tags. (line 25) -* ETAGS_ARGS: Tags. (line 25) +* ETAGS: Tags. (line 27) +* ETAGSFLAGS: Tags. (line 27) +* ETAGS_ARGS: Tags. (line 27) * EXPECT: DejaGnu Tests. (line 19) * EXTRA_DIST: Basics of Distribution. - (line 39) + (line 60) * EXTRA_maude_DEPENDENCIES: Linking. (line 41) * EXTRA_maude_DEPENDENCIES <1>: Program and Library Variables. - (line 119) + (line 129) * EXTRA_maude_SOURCES: Program and Library Variables. - (line 53) + (line 60) * EXTRA_PROGRAMS: Conditional Programs. (line 15) * EXT_LOG_COMPILE: Parallel Test Harness. @@ -5022,9 +5111,9 @@ B.2 Variable Index (line 16) * GCJLINK: How the Linker is Chosen. (line 10) -* GTAGS_ARGS: Tags. (line 60) -* GZIP_ENV: Basics of Distribution. - (line 16) +* GTAGS_ARGS: Tags. (line 62) +* GZIP_ENV: The Types of Distributions. + (line 10) * HEADERS: Uniform. (line 101) * host_triplet: Optional. (line 14) * INCLUDES: Program Variables. (line 44) @@ -5039,7 +5128,7 @@ B.2 Variable Index * LFLAGS: Yacc and Lex. (line 60) * libexec_PROGRAMS: Program Sources. (line 6) * libexec_SCRIPTS: Scripts. (line 18) -* LIBOBJS: Optional. (line 68) +* LIBOBJS: Optional. (line 75) * LIBOBJS <1>: LTLIBOBJS. (line 6) * LIBOBJS <2>: LIBOBJS. (line 6) * LIBRARIES: Uniform. (line 101) @@ -5069,6 +5158,8 @@ B.2 Variable Index * LTLIBOBJS: LTLIBOBJS. (line 6) * LTLIBOBJS <1>: LIBOBJS. (line 6) * LTLIBRARIES: Uniform. (line 101) +* LZIP_OPT: The Types of Distributions. + (line 23) * MAINTAINERCLEANFILES: Clean. (line 13) * MAKE: Subdirectories. (line 29) * MAKEINFO: Texinfo. (line 99) @@ -5077,52 +5168,52 @@ B.2 Variable Index * MANS: Uniform. (line 101) * man_MANS: Man Pages. (line 6) * maude_AR: Program and Library Variables. - (line 68) + (line 76) * maude_CCASFLAGS: Program and Library Variables. - (line 170) + (line 183) * maude_CFLAGS: Program and Library Variables. - (line 171) + (line 184) * maude_CPPFLAGS: Program and Library Variables. - (line 172) + (line 185) * maude_CXXFLAGS: Program and Library Variables. - (line 173) + (line 186) * maude_DEPENDENCIES: Linking. (line 41) * maude_DEPENDENCIES <1>: Program and Library Variables. - (line 118) + (line 128) * maude_FFLAGS: Program and Library Variables. - (line 174) + (line 187) * maude_GCJFLAGS: Program and Library Variables. - (line 175) + (line 188) * maude_LDADD: Linking. (line 17) * maude_LDADD <1>: Program and Library Variables. - (line 86) + (line 94) * maude_LDFLAGS: Linking. (line 37) * maude_LDFLAGS <1>: Program and Library Variables. - (line 106) + (line 114) * maude_LFLAGS: Program and Library Variables. - (line 176) + (line 189) * maude_LIBADD: A Library. (line 26) * maude_LIBADD <1>: Program and Library Variables. - (line 78) + (line 86) * maude_LIBTOOLFLAGS: Libtool Flags. (line 6) * maude_LIBTOOLFLAGS <1>: Program and Library Variables. - (line 111) + (line 121) * maude_LINK: Program and Library Variables. - (line 154) + (line 164) * maude_OBJCFLAGS: Program and Library Variables. - (line 177) + (line 190) * maude_OBJCXXFLAGS: Program and Library Variables. - (line 178) + (line 191) * maude_RFLAGS: Program and Library Variables. - (line 179) + (line 192) * maude_SHORTNAME: Program and Library Variables. - (line 210) + (line 223) * maude_SOURCES: Program and Library Variables. (line 18) * maude_UPCFLAGS: Program and Library Variables. - (line 180) + (line 193) * maude_YFLAGS: Program and Library Variables. - (line 181) + (line 194) * MISSING: Public Macros. (line 110) * MKDIR_P: Obsolete Macros. (line 14) * mkdir_p: Obsolete Macros. (line 14) @@ -5171,20 +5262,20 @@ B.2 Variable Index * pkglibexec_SCRIPTS: Scripts. (line 18) * pkglib_LIBRARIES: A Library. (line 6) * pkglib_LTLIBRARIES: Libtool Libraries. (line 6) -* pkgpyexecdir: Python. (line 105) -* pkgpythondir: Python. (line 91) +* pkgpyexecdir: Python. (line 104) +* pkgpythondir: Python. (line 90) * PROGRAMS: Uniform. (line 17) * PROGRAMS <1>: Uniform. (line 101) -* pyexecdir: Python. (line 96) +* pyexecdir: Python. (line 95) * PYTHON: Uniform. (line 101) * PYTHON <1>: Python. (line 56) -* pythondir: Python. (line 87) -* PYTHON_EXEC_PREFIX: Python. (line 77) -* PYTHON_PLATFORM: Python. (line 82) +* pythondir: Python. (line 86) +* PYTHON_EXEC_PREFIX: Python. (line 73) +* PYTHON_PLATFORM: Python. (line 81) * PYTHON_PREFIX: Python. (line 72) * PYTHON_VERSION: Python. (line 68) * RECHECK_LOGS: Parallel Test Harness. - (line 118) + (line 127) * RFLAGS: Fortran 77 Support. (line 25) * RUNTEST: DejaGnu Tests. (line 19) * RUNTESTDEFAULTFLAGS: DejaGnu Tests. (line 14) @@ -5198,12 +5289,16 @@ B.2 Variable Index * SOURCES <1>: Default _SOURCES. (line 6) * SUBDIRS: Subdirectories. (line 8) * SUBDIRS <1>: Basics of Distribution. - (line 52) + (line 73) * SUFFIXES: Suffixes. (line 6) +* sys.exec_prefix Python variable: Python. (line 74) +* sys.platform Python variable: Python. (line 82) +* sys.prefix Python variable: Python. (line 74) +* sys.version_info Python variable: Python. (line 69) * sysconf_DATA: Data. (line 9) -* TAGS_DEPENDENCIES: Tags. (line 35) +* TAGS_DEPENDENCIES: Tags. (line 37) * TAR: Basics of Distribution. - (line 19) + (line 16) * target_triplet: Optional. (line 14) * TESTS: Scripts-based Testsuites. (line 104) @@ -5250,13 +5345,13 @@ B.2 Variable Index * XFAIL_TESTS: Scripts-based Testsuites. (line 32) * XZ_OPT: The Types of Distributions. - (line 24) -* YACC: Optional. (line 122) + (line 30) +* YACC: Optional. (line 129) * YFLAGS: Yacc and Lex. (line 37) * ZSTD_CLEVEL: The Types of Distributions. - (line 47) + (line 41) * ZSTD_OPT: The Types of Distributions. - (line 47) + (line 41)  File: automake.info, Node: General Index, Prev: Variable Index, Up: Indices @@ -5272,19 +5367,20 @@ B.3 General Index * $(LIBOBJS) and empty libraries: LIBOBJS. (line 72) * +=: General Operation. (line 24) * --add-missing: automake Invocation. (line 41) +* --always-make GNU Make option: Rebuilding. (line 77) * --automake-acdir: aclocal Options. (line 9) * --build=BUILD: Cross-Compilation. (line 14) * --copy: automake Invocation. (line 75) * --diff: aclocal Options. (line 22) * --disable-dependency-tracking: Dependency Tracking. (line 33) -* --disable-maintainer-mode: Optional. (line 173) +* --disable-maintainer-mode: Optional. (line 180) * --disable-silent-rules: Automake Silent Rules. (line 85) * --dry-run: aclocal Options. (line 27) * --enable-debug, example: Usage of Conditionals. (line 21) * --enable-dependency-tracking: Dependency Tracking. (line 43) -* --enable-maintainer-mode: Optional. (line 173) +* --enable-maintainer-mode: Optional. (line 180) * --enable-silent-rules: Automake Silent Rules. (line 85) * --force: aclocal Options. (line 49) @@ -5298,7 +5394,7 @@ B.3 General Index * --help: automake Invocation. (line 98) * --help <1>: aclocal Options. (line 31) * --help check: List of Automake options. - (line 133) + (line 144) * --help=recursive: Nested Packages. (line 30) * --host=HOST: Cross-Compilation. (line 16) * --include-deps: automake Invocation. (line 106) @@ -5321,10 +5417,12 @@ B.3 General Index * --version: automake Invocation. (line 129) * --version <1>: aclocal Options. (line 76) * --version check: List of Automake options. - (line 133) + (line 144) * --warnings: automake Invocation. (line 133) * --warnings <1>: aclocal Options. (line 80) * --with-dmalloc: Public Macros. (line 122) +* --with-python_exec_prefix: Python. (line 74) +* --with-python_prefix: Python. (line 74) * -a: automake Invocation. (line 41) * -c: automake Invocation. (line 74) * -f: automake Invocation. (line 79) @@ -5345,6 +5443,7 @@ B.3 General Index * .la suffix, defined: Libtool Concept. (line 6) * .log files: Parallel Test Harness. (line 12) +* .pyc, .pyo files: Python. (line 15) * .trs files: Parallel Test Harness. (line 12) * :copy-in-global-log:: Log files generation and test results recording. @@ -5468,9 +5567,11 @@ B.3 General Index * Binary package: DESTDIR. (line 22) * bootstrap and autoreconf: Error required file ltmain.sh not found. (line 6) -* Bugs, reporting: Introduction. (line 30) +* Bugs, reporting: Reporting Bugs. (line 6) * build tree and source tree: VPATH Builds. (line 6) * BUILT_SOURCES, defined: Sources. (line 27) +* bzip2: The Types of Distributions. + (line 17) * C++ support: C++ Support. (line 6) * canonicalizing Automake variables: Canonicalization. (line 6) * CCASFLAGS and AM_CCASFLAGS: Flag Variables Ordering. @@ -5502,6 +5603,8 @@ B.3 General Index * Compile Flag Variables: Flag Variables Ordering. (line 20) * Complete example: Complete. (line 6) +* compress: The Types of Distributions. + (line 57) * Conditional example, --enable-debug: Usage of Conditionals. (line 21) * conditional libtool libraries: Conditional Libtool Libraries. @@ -5536,7 +5639,7 @@ B.3 General Index * cross-compilation: Cross-Compilation. (line 6) * cross-compilation example: Cross-Compilation. (line 25) * CVS and generated files: CVS. (line 50) -* CVS and third-party files: CVS. (line 168) +* CVS and third-party files: CVS. (line 167) * CVS and timestamps: CVS. (line 29) * CXXFLAGS and AM_CXXFLAGS: Flag Variables Ordering. (line 20) @@ -5568,30 +5671,32 @@ B.3 General Index * dist: Standard Targets. (line 35) * dist <1>: Basics of Distribution. (line 6) +* dist-all: The Types of Distributions. + (line 62) * dist-bzip2: The Types of Distributions. - (line 18) + (line 17) * dist-bzip2 <1>: List of Automake options. (line 23) * dist-bzip2 <2>: List of Automake options. (line 23) * dist-gzip: The Types of Distributions. - (line 11) + (line 10) * dist-hook: The dist Hook. (line 6) * dist-hook <1>: Extending. (line 66) * dist-lzip: The Types of Distributions. - (line 22) + (line 23) * dist-lzip <1>: List of Automake options. (line 26) * dist-lzip <2>: List of Automake options. (line 26) * dist-shar: The Types of Distributions. - (line 45) + (line 51) * dist-shar <1>: List of Automake options. (line 40) * dist-shar <2>: List of Automake options. (line 38) * dist-tarZ: The Types of Distributions. - (line 39) + (line 57) * dist-tarZ <1>: List of Automake options. (line 45) * dist-tarZ <2>: List of Automake options. @@ -5603,13 +5708,13 @@ B.3 General Index * dist-xz <2>: List of Automake options. (line 29) * dist-zip: The Types of Distributions. - (line 33) + (line 37) * dist-zip <1>: List of Automake options. (line 32) * dist-zip <2>: List of Automake options. (line 32) * dist-zstd: The Types of Distributions. - (line 55) + (line 41) * dist-zstd <1>: List of Automake options. (line 35) * dist-zstd <2>: List of Automake options. @@ -5653,7 +5758,6 @@ B.3 General Index * dvi <2>: Extending. (line 41) * DVI output using Texinfo: Texinfo. (line 6) * dvi-local: Extending. (line 41) -* E-mail, bug reports: Introduction. (line 30) * EDITION Texinfo flag: Texinfo. (line 35) * else: Usage of Conditionals. (line 36) @@ -5744,35 +5848,39 @@ B.3 General Index * GNU Build System, use cases: Use Cases. (line 6) * GNU Coding Standards: GNU Build System. (line 29) * GNU Gettext support: gettext. (line 6) -* GNU make extensions: General Operation. (line 20) +* GNU Make extensions: General Operation. (line 20) * GNU Makefile standards: Introduction. (line 12) * gnu strictness: Strictness. (line 18) * GNUmakefile including Makefile: Third-Party Makefiles. (line 114) +* gzip: The Types of Distributions. + (line 10) * hard error: Generalities about Testing. (line 48) * Header files in _SOURCES: Program Sources. (line 39) * HEADERS primary, defined: Headers. (line 6) * HEADERS, installation directories: Headers. (line 6) * Hello World example: Hello World. (line 6) +* help2man, and dist target: List of Automake options. + (line 81) * hook targets: Extending. (line 66) * HP-UX 10, lex problems: Public Macros. (line 94) * html: Texinfo. (line 25) * html <1>: Extending. (line 41) * HTML output using Texinfo: Texinfo. (line 6) * html-local: Extending. (line 41) -* id: Tags. (line 43) +* id: Tags. (line 45) * if: Usage of Conditionals. (line 36) * include: Basics of Distribution. - (line 22) + (line 30) * include <1>: Include. (line 6) * include, distribution: Basics of Distribution. - (line 22) + (line 30) * Including Makefile fragment: Include. (line 6) * indentation in Makefile.am: General Operation. (line 33) * info: List of Automake options. - (line 97) + (line 108) * info <1>: Extending. (line 41) * info-in-builddir: List of Automake options. (line 57) @@ -5809,13 +5917,13 @@ B.3 General Index * install-html-local: Extending. (line 41) * install-info: Texinfo. (line 85) * install-info <1>: List of Automake options. - (line 97) + (line 108) * install-info <2>: Extending. (line 41) * install-info target: Texinfo. (line 85) * install-info-local: Extending. (line 41) * install-man: Man Pages. (line 32) * install-man <1>: List of Automake options. - (line 103) + (line 114) * install-man target: Man Pages. (line 32) * install-pdf: Texinfo. (line 25) * install-pdf <1>: Extending. (line 41) @@ -5854,7 +5962,7 @@ B.3 General Index * Java to native code, compilation: Java Support with gcj. (line 6) * lazy test execution: Parallel Test Harness. - (line 118) + (line 127) * LDADD and -l: Linking. (line 70) * LDFLAGS and AM_LDFLAGS: Flag Variables Ordering. (line 20) @@ -5892,8 +6000,10 @@ B.3 General Index * LTLIBRARIES primary, defined: Libtool Libraries. (line 6) * ltmain.sh not found: Error required file ltmain.sh not found. (line 6) +* lzip: The Types of Distributions. + (line 23) * m4_include, distribution: Basics of Distribution. - (line 22) + (line 30) * Macro search path: Macro Search Path. (line 6) * macro serial numbers: Serials. (line 6) * Macros Automake recognizes: Optional. (line 6) @@ -5912,7 +6022,7 @@ B.3 General Index (line 128) * make install support: Install. (line 6) * make installcheck, testing --help and --version: List of Automake options. - (line 133) + (line 144) * Make rules, overriding: General Operation. (line 46) * Make targets, overriding: General Operation. (line 46) * Makefile fragment, including: Include. (line 6) @@ -5954,24 +6064,26 @@ B.3 General Index (line 70) * no-dist: List of Automake options. (line 77) -* no-dist-gzip: List of Automake options. +* no-dist-built-sources: List of Automake options. (line 81) +* no-dist-gzip: List of Automake options. + (line 92) * no-dist-gzip <1>: List of Automake options. - (line 81) + (line 92) * no-exeext: List of Automake options. - (line 84) + (line 95) * no-installinfo: Texinfo. (line 85) * no-installinfo <1>: List of Automake options. - (line 94) + (line 105) * no-installinfo option: Texinfo. (line 85) * no-installman: Man Pages. (line 32) * no-installman <1>: List of Automake options. - (line 100) + (line 111) * no-installman option: Man Pages. (line 32) * no-op Automake targets: Third-Party Makefiles. (line 88) * no-texinfo.tex: List of Automake options. - (line 110) + (line 121) * nobase_ and dist_ or nodist_: Alternative. (line 28) * nobase_ prefix: Alternative. (line 22) * nodist_ and nobase_: Alternative. (line 28) @@ -5980,7 +6092,7 @@ B.3 General Index * Non-GNU packages: Strictness. (line 6) * Non-standard targets: General Operation. (line 12) * nostdinc: List of Automake options. - (line 106) + (line 117) * notrans_ and dist_ or nodist_: Man Pages. (line 63) * notrans_ prefix: Man Pages. (line 54) * OBJCFLAGS and AM_OBJCFLAGS: Flag Variables Ordering. @@ -5995,9 +6107,9 @@ B.3 General Index * obsolete macros: Obsolete Macros. (line 6) * optimized build, example: VPATH Builds. (line 48) * Option, --warnings=CATEGORY: List of Automake options. - (line 217) + (line 228) * Option, -WCATEGORY: List of Automake options. - (line 217) + (line 228) * Option, check-news: List of Automake options. (line 15) * Option, dejagnu: List of Automake options. @@ -6032,42 +6144,44 @@ B.3 General Index (line 70) * Option, no-dist: List of Automake options. (line 77) -* Option, no-dist-gzip: List of Automake options. +* Option, no-dist-built-sources: List of Automake options. (line 81) +* Option, no-dist-gzip: List of Automake options. + (line 92) * Option, no-exeext: List of Automake options. - (line 84) + (line 95) * Option, no-installinfo: Texinfo. (line 85) * Option, no-installinfo <1>: List of Automake options. - (line 94) + (line 105) * Option, no-installman: Man Pages. (line 32) * Option, no-installman <1>: List of Automake options. - (line 100) + (line 111) * Option, no-texinfo.tex: List of Automake options. - (line 110) + (line 121) * Option, nostdinc: List of Automake options. - (line 106) + (line 117) * Option, parallel-tests: List of Automake options. - (line 118) + (line 129) * Option, readme-alpha: List of Automake options. - (line 124) + (line 135) * Option, serial-tests: List of Automake options. - (line 114) + (line 125) * Option, tar-pax: List of Automake options. - (line 163) + (line 174) * Option, tar-ustar: List of Automake options. - (line 163) + (line 174) * Option, tar-v7: List of Automake options. - (line 163) + (line 174) * Option, VERSION: List of Automake options. - (line 212) + (line 223) * Option, warnings: List of Automake options. - (line 217) + (line 228) * Options, aclocal: aclocal Options. (line 6) * Options, automake: automake Invocation. (line 37) * Options, std-options: List of Automake options. - (line 133) + (line 144) * Options, subdir-objects: List of Automake options. - (line 154) + (line 165) * Ordering flag variables: Flag Variables Ordering. (line 6) * Overriding make rules: General Operation. (line 46) @@ -6082,17 +6196,17 @@ B.3 General Index (line 6) * Parallel build trees: VPATH Builds. (line 6) * parallel-tests: List of Automake options. - (line 118) + (line 129) * Path stripping, avoiding: Alternative. (line 22) * pax format: List of Automake options. - (line 163) + (line 174) * pdf: Texinfo. (line 25) * pdf <1>: Extending. (line 41) * PDF output using Texinfo: Texinfo. (line 6) * pdf-local: Extending. (line 41) * Per-object flags, emulated: Per-Object Flags. (line 6) * per-target compilation flags, defined: Program and Library Variables. - (line 182) + (line 195) * pkgdatadir, defined: Uniform. (line 19) * pkgincludedir, defined: Uniform. (line 19) * pkglibdir, defined: Uniform. (line 19) @@ -6132,13 +6246,13 @@ B.3 General Index * Ratfor programs: Preprocessing Fortran 77. (line 6) * read-only source tree: VPATH Builds. (line 91) -* readme-alpha: List of Automake options. - (line 124) * README-alpha: Strictness. (line 78) +* readme-alpha: List of Automake options. + (line 135) * rebuild rules: Rebuilding. (line 6) * rebuild rules <1>: CVS. (line 9) * recheck: Parallel Test Harness. - (line 130) + (line 139) * Recognized macros by Automake: Optional. (line 6) * Recursive operation of Automake: General Operation. (line 58) * recursive targets and third-party Makefiles: Third-Party Makefiles. @@ -6148,7 +6262,7 @@ B.3 General Index * Register test result: Log files generation and test results recording. (line 24) * Renaming programs: Renaming. (line 6) -* Reporting bugs: Introduction. (line 30) +* Reporting bugs: Reporting Bugs. (line 6) * Requirements of Automake: Requirements. (line 6) * Requirements, Automake: Introduction. (line 26) * Restrictions for JAVA: Java. (line 27) @@ -6175,8 +6289,10 @@ B.3 General Index * serial number and --install: aclocal Options. (line 42) * serial numbers in macros: Serials. (line 6) * serial-tests: List of Automake options. - (line 114) + (line 125) * serial-tests, Using: Serial Test Harness. (line 6) +* shar: The Types of Distributions. + (line 51) * Shared libraries, support for: A Shared Library. (line 6) * Silencing make: Silencing Make. (line 6) * Silent make: Silencing Make. (line 6) @@ -6184,6 +6300,7 @@ B.3 General Index * Silent rules: Silencing Make. (line 6) * silent rules and libtool: Automake Silent Rules. (line 59) +* site-packages Python directory: Python. (line 87) * site.exp: DejaGnu Tests. (line 26) * source tree and build tree: VPATH Builds. (line 6) * source tree, read-only: VPATH Builds. (line 91) @@ -6191,7 +6308,7 @@ B.3 General Index * Special Automake comment: General Operation. (line 68) * Staged installation: DESTDIR. (line 14) * std-options: List of Automake options. - (line 133) + (line 144) * Strictness, command line: automake Invocation. (line 37) * Strictness, defined: Strictness. (line 10) * Strictness, foreign: Strictness. (line 51) @@ -6199,7 +6316,7 @@ B.3 General Index * Strictness, gnu: Strictness. (line 18) * su, before make install: Basic Installation. (line 49) * subdir-objects: List of Automake options. - (line 154) + (line 165) * Subdirectories, building conditionally: Conditional Subdirectories. (line 6) * Subdirectories, configured conditionally: Unconfigured Subdirectories. @@ -6235,13 +6352,13 @@ B.3 General Index * tags: Tags. (line 9) * TAGS support: Tags. (line 6) * tar formats: List of Automake options. - (line 163) + (line 174) * tar-pax: List of Automake options. - (line 163) + (line 174) * tar-ustar: List of Automake options. - (line 163) + (line 174) * tar-v7: List of Automake options. - (line 163) + (line 174) * Target, install-info: Texinfo. (line 85) * Target, install-man: Man Pages. (line 32) * targets, making into no-op: Third-Party Makefiles. @@ -6277,7 +6394,7 @@ B.3 General Index * texinfo.tex: Auxiliary Programs. (line 77) * texinfo.tex <1>: Texinfo. (line 70) * TEXINFOS primary, defined: Texinfo. (line 6) -* third-party files and CVS: CVS. (line 168) +* third-party files and CVS: CVS. (line 167) * Third-party packages, interfacing with: Third-Party Makefiles. (line 6) * timestamps and CVS: CVS. (line 29) @@ -6299,7 +6416,7 @@ B.3 General Index * uninstall-hook: Extending. (line 66) * uninstall-local: Extending. (line 41) * Unit tests: Parallel Test Harness. - (line 154) + (line 163) * Unpacking: Basic Installation. (line 27) * UPCFLAGS and AM_UPCFLAGS: Flag Variables Ordering. (line 20) @@ -6309,9 +6426,9 @@ B.3 General Index * user variables: User Variables. (line 6) * Using aclocal: configure. (line 6) * ustar format: List of Automake options. - (line 163) + (line 174) * v7 tar format: List of Automake options. - (line 163) + (line 174) * Vala Support: Vala Support. (line 6) * variables, conflicting: Extending. (line 14) * Variables, overriding: General Operation. (line 51) @@ -6328,10 +6445,16 @@ B.3 General Index (line 39) * xpass: Generalities about Testing. (line 39) +* xz: The Types of Distributions. + (line 30) * yacc, multiple parsers: Yacc and Lex. (line 68) * YFLAGS and AM_YFLAGS: Flag Variables Ordering. (line 20) * ylwrap: Auxiliary Programs. (line 85) * ylwrap <1>: Yacc and Lex. (line 68) * zardoz example: Complete. (line 35) +* zip: The Types of Distributions. + (line 37) +* zstd: The Types of Distributions. + (line 41) diff --git a/doc/automake.texi b/doc/automake.texi index 17bc2da..0a0da61 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -25,7 +25,7 @@ This manual is for GNU Automake (version @value{VERSION}, @value{UPDATED}), a program that creates GNU standards-compliant Makefiles from template files. -Copyright @copyright{} 1995--2020 Free Software Foundation, Inc. +Copyright @copyright{} 1995--2021 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -441,10 +441,6 @@ Automake requires @command{perl} in order to generate the fully GNU standards-compliant, and do not require @command{perl} in order to be built. -@cindex Bugs, reporting -@cindex Reporting bugs -@cindex E-mail, bug reports - For more information on bug reports, @xref{Reporting Bugs}. @node Autotools Introduction @@ -1102,8 +1098,8 @@ create output. For instance when installing GCC, the GNU Compiler Collection, we can use @option{--target=@/@var{target}} to specify that we want to build GCC as a cross-compiler for @var{target}. Mixing @option{--build} and -@option{--target}, we can actually cross-compile a cross-compiler; -such a three-way cross-compilation is known as a @dfn{Canadian cross}. +@option{--target}, we can cross-compile a cross-compiler; such a +three-way cross-compilation is known as a @dfn{Canadian cross}. @xref{Specifying Names, , Specifying the System Type, autoconf, The Autoconf Manual}, for more information about these @command{configure} @@ -1670,7 +1666,7 @@ is an excerpt of @file{config.h} after @command{configure} has run: As you probably noticed, @file{src/main.c} includes @file{config.h} so it can use @code{PACKAGE_STRING}. In a real-world project, -@file{config.h} can grow really big, with one @samp{#define} per +@file{config.h} can grow quite large, with one @samp{#define} per feature probed on the system. The @code{AC_CONFIG_FILES} macro declares the list of files that @@ -1814,15 +1810,15 @@ the Automake distribution includes a non-standard rule for the @code{git-dist} target, which the Automake maintainer uses to make distributions from the source control system. -@cindex GNU make extensions +@cindex GNU Make extensions -Note that most GNU make extensions are not recognized by Automake. Using +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. @cindex Append operator @cmindex += -A special exception is that the GNU make append operator, @samp{+=}, is +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. @@ -1936,7 +1932,7 @@ The strictness levels are: @opindex --gnu This is the default level of strictness. Automake will check for basic compliance with the GNU standards for software packaging. -@xref{Top,,, standards, The GNU Coding Standards} for full details +@xref{Top,,, standards, The GNU Coding Standards}, for full details of these standards. Currently the following checks are made: @itemize @bullet @@ -1987,16 +1983,17 @@ Automake will check for compliance to the as-yet-unwritten @dfn{Gnits standards}. These are based on the GNU standards, but are even more detailed. Unless you are a Gnits standards contributor, it is recommended that you avoid this option until such time as the Gnits -standard is actually published (which may never happen). +standard is published (which is unlikely to ever happen). Currently, @option{--gnits} does all the checks that @option{--gnu} does, and checks the following as well: @itemize @bullet @item -@samp{make installcheck} will check to make sure that the @option{--help} -and @option{--version} really print a usage message and a version string, -respectively. This is the @option{std-options} option (@pxref{Options}). +@samp{make installcheck} will check to make sure that the +@option{--help} and @option{--version} print a usage message and a +version string, respectively. This is the @option{std-options} option +(@pxref{Options}). @item @samp{make dist} will check to make sure the @file{NEWS} file has been @@ -2100,10 +2097,10 @@ Note that the common @samp{dir} suffix is left off when constructing the variable names; thus one writes @samp{bin_PROGRAMS} and not @samp{bindir_PROGRAMS}. -Not every sort of object can be installed in every directory. Automake -will flag those attempts it finds in error (but see below how to override -the check if you really need to). -Automake will also diagnose obvious misspellings in directory names. +Not every sort of object can be installed in every directory. +Automake will flag those attempts it finds in error (but see below how +to override the check if you need to). Automake will also diagnose +obvious misspellings in directory names. @cindex Extending list of installation directories @cindex Installation directories, extending list @@ -2127,8 +2124,8 @@ xml_DATA = file.xml This feature can also be used to override the sanity checks Automake performs to diagnose suspicious directory/primary couples (in the -unlikely case these checks are undesirable, and you really know what -you're doing). For example, Automake would error out on this input: +unlikely case that you need to omit these checks). For example, +Automake would error out on this input: @c Should be tested in primary-prefix-invalid-couples.sh @example @@ -3045,6 +3042,12 @@ Automake will look for various helper scripts, such as Not all scripts are always searched for; some scripts will only be sought if the generated @file{Makefile.in} requires them. +If @code{AC_CONFIG_AUX_DIR} is used, it must be given before the call +to @code{AM_INIT_AUTOMAKE}; Automake will warn about this if it is not +so. All other @code{AC_CONFIG_...} macros are conventionally called +after @code{AM_INIT_AUTOMAKE}, though they may or may not work in +other locations, with or without warnings. + If @code{AC_CONFIG_AUX_DIR} is not given, the scripts are looked for in their standard locations. For @file{mdate-sh}, @file{texinfo.tex}, and @file{ylwrap}, the standard location is the @@ -3065,20 +3068,22 @@ macro. @item AC_CONFIG_HEADERS Automake will generate rules to rebuild these headers from the corresponding templates (usually, the template for a @file{foo.h} -header being @file{foo.h.in}). Older versions of Automake -required the use of @code{AM_CONFIG_HEADER}; this is no longer -the case, and that macro has indeed been removed. +header being @file{foo.h.in}). As with @code{AC_CONFIG_FILES} (@pxref{Requirements}), parts of the specification using shell variables will be ignored as far as cleaning, distributing, and rebuilding is concerned. +Older versions of Automake required the use of +@code{AM_CONFIG_HEADER}; this is no longer the case, and that macro +has indeed been removed. + @item AC_CONFIG_LINKS Automake will generate rules to remove @file{configure} generated links on @samp{make distclean} and to distribute named source files as part of @samp{make dist}. -As for @code{AC_CONFIG_FILES} (@pxref{Requirements}), parts of the +As with @code{AC_CONFIG_FILES} (@pxref{Requirements}), parts of the specification using shell variables will be ignored as far as cleaning and distributing is concerned. (There are no rebuild rules for links.) @@ -3241,9 +3246,9 @@ macros installed in a system-wide directory; @pxref{aclocal Invocation}). @cindex Invoking @command{aclocal} @cindex @command{aclocal}, Invoking -Automake includes a number of Autoconf macros that can be used in -your package (@pxref{Macros}); some of them are actually required by -Automake in certain situations. These macros must be defined in your +Automake includes a number of Autoconf macros that can be used in your +package (@pxref{Macros}); some of them are required by Automake in +certain situations. These macros must be defined in your @file{aclocal.m4}; otherwise they will not be seen by @command{autoconf}. @@ -3288,9 +3293,9 @@ using @file{acinclude.m4} in new packages (@pxref{Local Macros}). While computing @file{aclocal.m4}, @command{aclocal} runs @command{autom4te} (@pxref{Using autom4te, , Using @command{Autom4te}, autoconf, The Autoconf Manual}) in order to trace the macros that are -really used, and omit from @file{aclocal.m4} all macros that are -mentioned but otherwise unexpanded (this can happen when a macro is -called conditionally). @command{autom4te} is expected to be in the +used, and omit from @file{aclocal.m4} all macros that are mentioned +but otherwise unexpanded (this can happen when a macro is called +conditionally). @command{autom4te} is expected to be in the @env{PATH}, just as @command{autoconf}. Its location can be overridden using the @env{AUTOM4TE} environment variable. @@ -3336,8 +3341,8 @@ This option implies @option{--install} and @option{--dry-run}. @item --dry-run @opindex --dry-run -Do not actually overwrite (or create) @file{aclocal.m4} and M4 -files installed by @option{--install}. +Do not overwrite (or create) @file{aclocal.m4} and M4 files installed +by @option{--install}. @item --help @opindex --help @@ -3365,8 +3370,8 @@ search path (@pxref{Serials}). @item --force @opindex --force -Always overwrite the output file. The default is to overwrite the output -file only when really needed, i.e., when its contents change or if one +Always overwrite the output file. The default is to overwrite the +output file only when needed, i.e., when its contents change or if one of its dependencies is younger. This option forces the update of @file{aclocal.m4} (or the file @@ -3645,16 +3650,16 @@ defined macro, not at the beginning of the file. @acindex AC_DEFUN @acindex AC_PREREQ -Starting with Automake 1.8, @command{aclocal} will warn about all -underquoted calls to @code{AC_DEFUN}. We realize this will annoy a -lot of people, because @command{aclocal} was not so strict in the past -and many third party macros are underquoted; and we have to apologize -for this temporary inconvenience. The reason we have to be stricter -is that a future implementation of @command{aclocal} (@pxref{Future of +Starting with Automake 1.8, @command{aclocal} warns about all +underquoted calls to @code{AC_DEFUN}. We realize this annoys some +people, because @command{aclocal} was not so strict in the past and +many third party macros are underquoted; and we have to apologize for +this temporary inconvenience. The reason we have to be stricter is +that a future implementation of @command{aclocal} (@pxref{Future of aclocal}) will have to temporarily include all of these third party -@file{.m4} files, maybe several times, including even files that are -not actually needed. Doing so should alleviate many problems of the -current implementation; however it requires a stricter style from the +@file{.m4} files, maybe several times, even including files that end +up not being needed. Doing so should alleviate many problems of the +current implementation; however, it requires a stricter style from macro authors. Hopefully it is easy to revise the existing macros. For instance, @@ -3681,10 +3686,10 @@ AX_BAR @end example Wrapping the @code{AC_PREREQ} call inside the macro ensures that -Autoconf 2.68 will not be required if @code{AX_FOOBAR} is not actually -used. Most importantly, quoting the first argument of @code{AC_DEFUN} -allows the macro to be redefined or included twice (otherwise this -first argument would be expanded during the second definition). For +Autoconf 2.68 will not be required if @code{AX_FOOBAR} is not used. +Most importantly, quoting the first argument of @code{AC_DEFUN} allows +the macro to be redefined or included twice (otherwise this first +argument would be expanded during the second definition). For consistency we like to quote even arguments such as @code{2.68} that do not require it. @@ -3734,7 +3739,7 @@ system-wide directories, as explained in @ref{Macro Search Path}. Custom macros should be distributed for the same reason that @file{configure.ac} is: so that other people have all the sources of -your package if they want to work on it. Actually, this distribution +your package if they want to work on it. In fact, this distribution happens automatically because all @code{m4_include}d files are distributed. @@ -3939,12 +3944,11 @@ macros you want to revert, and run @samp{aclocal --install}. @subsection The Future of @command{aclocal} @cindex @command{aclocal}'s scheduled death -@command{aclocal} is expected to disappear. This feature really -should not be offered by Automake. Automake should focus on -generating @file{Makefile}s; dealing with M4 macros really is -Autoconf's job. The fact that some people install Automake just to use -@command{aclocal}, but do not use @command{automake} otherwise is an -indication of how that feature is misplaced. +Ideally, @command{aclocal} should not be part of Automake. Automake +should focus on generating @file{Makefile}s; dealing with M4 macros is +more Autoconf's job. The fact that some people install Automake just +to use @command{aclocal}, but do not use @command{automake} otherwise +is an indication of how that feature is misplaced. The new implementation will probably be done slightly differently. For instance, it could enforce the @file{m4/}-style layout discussed in @@ -3968,19 +3972,19 @@ Many packages come with a script called @file{bootstrap} or @file{autogen.sh}, that will just call @command{aclocal}, @command{libtoolize}, @command{gettextize} or @command{autopoint}, @command{autoconf}, @command{autoheader}, and @command{automake} in -the right order. Actually this is precisely what @command{autoreconf} +the right order. In fact, this is precisely what @command{autoreconf} can do for you. If your package has such a @file{bootstrap} or @file{autogen.sh} script, consider using @command{autoreconf}. That -should simplify its logic a lot (less things to maintain, yum!), it's -even likely you will not need the script anymore, and more to the point -you will not call @command{aclocal} directly anymore. +should simplify its logic a lot (less things to maintain, all to the +good), it's even likely you will not need the script anymore, and more +to the point you will not call @command{aclocal} directly anymore. For the time being, third-party packages should continue to install public macros into @file{/usr/share/aclocal/}. If @command{aclocal} is replaced by another tool it might make sense to rename the directory, but supporting @file{/usr/share/aclocal/} for backward -compatibility should be really easy provided all macros are properly -written (@pxref{Extending aclocal}). +compatibility should be easy provided all macros are properly written +(@pxref{Extending aclocal}). @@ -4549,7 +4553,7 @@ which directories listed in the latter should be built. @item Any directory listed in @code{DIST_SUBDIRS} and @code{SUBDIRS} must be configured. -I.e., the @file{Makefile} must exist or the recursive @command{make} +That is, the @file{Makefile} must exist or the recursive @command{make} rules will not be able to process the directory. @item Any configured directory must be listed in @code{DIST_SUBDIRS}. @@ -4665,7 +4669,6 @@ an otherwise equivalent set of variables without @samp{nobase_} prefix. @acindex AC_CONFIG_SUBDIRS @acindex AC_CONFIG_AUX_DIR - In the GNU Build System, packages can be nested to arbitrary depth. This means that a package can embed other packages with their own @file{configure}, @file{Makefile}s, etc. @@ -4750,14 +4753,14 @@ copies of @file{install-sh}: one in the top-level of the @code{arm} package, and another one in the @file{hand/} subdirectory for the @code{hand} package. -The historical default is to search for these auxiliary scripts in -the parent directory and the grandparent directory. So if the +The historical default is to search for these auxiliary scripts in the +parent directory and the grandparent directory. So if the @samp{AC_CONFIG_AUX_DIR([.])} line was removed from @file{hand/configure.ac}, that subpackage would share the auxiliary script of the @code{arm} package. This may look like a gain in size -(a few kilobytes), but it is actually a loss of modularity as the -@code{hand} subpackage is no longer self-contained (@samp{make dist} -in the subdirectory will not work anymore). +(a few kilobytes), but more importantly, it is a loss of modularity as +the @code{hand} subpackage is no longer self-contained (@samp{make +dist} in the subdirectory will not work anymore). Packages that do not use Automake need more work to be integrated this way. @xref{Third-Party Makefiles}. @@ -4930,7 +4933,7 @@ this purpose. @vindex maude_DEPENDENCIES @vindex EXTRA_maude_DEPENDENCIES It is also occasionally useful to have a program depend on some other -target that is not actually part of that program. This can be done +target that is not in fact part of that program. This can be done using either the @code{@var{prog}_DEPENDENCIES} or the @code{EXTRA_@var{prog}_DEPENDENCIES} variable. Each program depends on the contents both variables, but no further interpretation is done. @@ -5440,7 +5443,7 @@ into one big installed library. Libtool convenience libraries are declared by directory-less variables such as @code{noinst_LTLIBRARIES}, @code{check_LTLIBRARIES}, or even @code{EXTRA_LTLIBRARIES}. Unlike installed libtool libraries they do -not need an @option{-rpath} flag at link time (actually this is the only +not need an @option{-rpath} flag at link time (this is in fact the only difference). Convenience libraries listed in @code{noinst_LTLIBRARIES} are always @@ -5673,8 +5676,8 @@ libfoo_la_SOURCES = foo.c @dots{} @noindent (In this trivial case the issue could be avoided by linking @file{libfoo.la} with @file{prog} instead of listing @file{foo.c} in -@code{prog_SOURCES}. But let's assume we really want to keep -@file{prog} and @file{libfoo.la} separate.) +@code{prog_SOURCES}. But let's assume we want to keep @file{prog} and +@file{libfoo.la} separate.) Technically, it means that we should build @file{foo.$(OBJEXT)} for @file{prog}, and @file{foo.lo} for @file{libfoo.la}. The problem is @@ -5758,18 +5761,25 @@ be put into the current build directory. However, if the option @file{.o} file will be put into the subdirectory named after the source file. For instance, with @option{subdir-objects} enabled, @file{sub/dir/file.c} will be compiled to @file{sub/dir/file.o}. Some -people prefer this mode of operation. You can specify +projects prefer or require this mode of operation. You can specify @option{subdir-objects} in @code{AUTOMAKE_OPTIONS} (@pxref{Options}). @cindex Subdirectory, objects in @cindex Objects in subdirectory +@c https://bugs.gnu.org/20699 +When @option{subdir-objects} is specified, and source files which lie +outside the current directory tree are nevertheless specified, as in +@code{foo_SOURCES = ../lib/other.c}, Automake will still remove +@file{../lib/other.o}, in fact, @file{../lib/*.o} (e.g., at @code{make +clean}, even though it is arguably wrong for one subdirectory to +clean in a sibling. This may or may not be changed in the future. @item EXTRA_maude_SOURCES Automake needs to know the list of files you intend to compile @emph{statically}. For one thing, this is the only way Automake has of knowing what sort of language support a given @file{Makefile.in} -requires. @footnote{There are other, more obscure reasons for -this limitation as well.} This means that, for example, you can't put a +requires. (There are other, more obscure reasons for +this limitation as well.) This means that, for example, you can't put a configure substitution like @samp{@@my_sources@@} into a @samp{_SOURCES} variable. If you intend to conditionally compile source files and use @file{configure} to substitute the appropriate object names into, e.g., @@ -5825,7 +5835,11 @@ of any library built by your package. Doing so will ensure that @item maude_LDFLAGS This variable is used to pass extra flags to the link step of a program -or a shared library. It overrides the @code{AM_LDFLAGS} variable. +or a shared library. It overrides the @code{AM_LDFLAGS} variable, +even if it is defined only in a false branch of a conditional; in +other words, if @code{@var{prog}_LDFLAGS} is defined at all, +@code{AM_LDFLAGS} will not be used. +@c https://bugs.gnu.org/34925 @item maude_LIBTOOLFLAGS This variable is used to pass extra options to @command{libtool}. @@ -5837,7 +5851,7 @@ the compiler or linker flags). @xref{Libtool Flags}. @item maude_DEPENDENCIES @itemx EXTRA_maude_DEPENDENCIES It is also occasionally useful to have a target (program or library) -depend on some other file that is not actually part of that target. +depend on some other file that is not in fact part of that target. This can be done using the @code{_DEPENDENCIES} variable. Each target depends on the contents of such a variable, but no further interpretation is done. @@ -5889,6 +5903,9 @@ and used by Automake due to the use of per-target link flags such as @code{_CFLAGS}, @code{_LDFLAGS} or @code{_LIBTOOLFLAGS}, in cases where they apply. +If the variable @code{AM_V_*_LINK} exists, it is used to output a +status line in silent mode; otherwise, @code{AM_V_GEN} is used. + @item maude_CCASFLAGS @itemx maude_CFLAGS @itemx maude_CPPFLAGS @@ -6251,8 +6268,8 @@ not used, in preference to the per-executable (or per-library) @code{_CFLAGS}. @item COMPILE -This is the command used to actually compile a C source file. The -file name is appended to form the complete command line. +This is the command used to compile a C source file. The file name is +appended to form the complete command line. @item AM_LDFLAGS This is the variable the @file{Makefile.am} author can use to pass @@ -6260,12 +6277,13 @@ in additional linker flags. In some situations, this is not used, in preference to the per-executable (or per-library) @code{_LDFLAGS}. @item LINK -This is the command used to actually link a C program. It already -includes @samp{-o $@@} and the usual variable references (for instance, -@code{CFLAGS}); it takes as ``arguments'' the names of the object files -and libraries to link in. This variable is not used when the linker is -overridden with a per-target @code{_LINK} variable or per-target flags -cause Automake to define such a @code{_LINK} variable. +This is the command used to link a C program. It already includes +@samp{-o $@@} and the usual variable references (for instance, +@code{CFLAGS}); it takes as ``arguments'' the names of the object +files and libraries to link in. This variable is not used when the +linker is overridden with a per-target @code{_LINK} variable or +per-target flags cause Automake to define such a @code{_LINK} +variable. @end vtable @@ -6447,11 +6465,11 @@ Any flags to pass to the C++ compiler. The maintainer's variant of @code{CXXFLAGS}. @item CXXCOMPILE -The command used to actually compile a C++ source file. The file name -is appended to form the complete command line. +The command used to compile a C++ source file. The file name is +appended to form the complete command line. @item CXXLINK -The command used to actually link a C++ program. +The command used to link a C++ program. @end vtable @@ -6482,11 +6500,11 @@ Any flags to pass to the Objective C compiler. The maintainer's variant of @code{OBJCFLAGS}. @item OBJCCOMPILE -The command used to actually compile an Objective C source file. The -file name is appended to form the complete command line. +The command used to compile an Objective C source file. The file name +is appended to form the complete command line. @item OBJCLINK -The command used to actually link an Objective C program. +The command used to link an Objective C program. @end vtable @@ -6517,11 +6535,11 @@ Any flags to pass to the Objective C++ compiler. The maintainer's variant of @code{OBJCXXFLAGS}. @item OBJCXXCOMPILE -The command used to actually compile an Objective C++ source file. The -file name is appended to form the complete command line. +The command used to compile an Objective C++ source file. The file +name is appended to form the complete command line. @item OBJCXXLINK -The command used to actually link an Objective C++ program. +The command used to link an Objective C++ program. @end vtable @@ -6551,11 +6569,11 @@ Any flags to pass to the Unified Parallel C compiler. The maintainer's variant of @code{UPCFLAGS}. @item UPCCOMPILE -The command used to actually compile a Unified Parallel C source file. -The file name is appended to form the complete command line. +The command used to compile a Unified Parallel C source file. The +file name is appended to form the complete command line. @item UPCLINK -The command used to actually link a Unified Parallel C program. +The command used to link a Unified Parallel C program. @end vtable @@ -6623,13 +6641,11 @@ Any flags to pass to the Ratfor compiler. The maintainer's variant of @code{RFLAGS}. @item F77COMPILE -The command used to actually compile a Fortran 77 source file. The file -name is appended to form the complete command line. +The command used to compile a Fortran 77 source file. The file name +is appended to form the complete command line. @item FLINK -The command used to actually link a pure Fortran 77 program or shared -library. - +The command used to link a pure Fortran 77 program or shared library. @end vtable Automake can handle preprocessing Fortran 77 and Ratfor source files in @@ -6860,13 +6876,11 @@ Any flags to pass to the Fortran 9x compiler. The maintainer's variant of @code{FCFLAGS}. @item FCCOMPILE -The command used to actually compile a Fortran 9x source file. The file -name is appended to form the complete command line. +The command used to compile a Fortran 9x source file. The file name +is appended to form the complete command line. @item FCLINK -The command used to actually link a pure Fortran 9x program or shared -library. - +The command used to link a pure Fortran 9x program or shared library. @end vtable @menu @@ -6953,7 +6967,7 @@ This requires valac version 0.7.0 or later, and currently requires the user to use GNU @command{make}. @example -foo_SOURCES = foo.vala bar.vala zardoc.c +foo_SOURCES = foo.vala bar.vala zardoz.c @end example Any @file{.vala} file listed in a @code{_SOURCES} variable will be @@ -7130,9 +7144,9 @@ the @option{no-exeext} option, this use will give a diagnostic. @node Other Objects @chapter Other Derived Objects -Automake can handle derived objects that are not C programs. Sometimes -the support for actually building such objects must be explicitly -supplied, but Automake will still automatically handle installation and +Automake can handle derived objects that are not C programs. +Sometimes the support for building such objects must be explicitly +supplied, but Automake can still automatically handle installation and distribution. @menu @@ -7283,7 +7297,7 @@ will install the two files as @file{$(includedir)/foo.h} and Usually, only header files that accompany installed libraries need to be installed. Headers used by programs or convenience libraries are not installed. The @code{noinst_HEADERS} variable can be used for -such headers. However when the header actually belongs to a single +such headers. However, when the header belongs to a single convenience library or program, we recommend listing it in the program's or library's @code{_SOURCES} variable (@pxref{Program Sources}) instead of in @code{noinst_HEADERS}. This is clearer for @@ -7375,12 +7389,12 @@ So, to conclude our introductory example, we could use any other target (including @file{foo.o}) during @samp{make all} or @samp{make check}. -@code{BUILT_SOURCES} is actually a bit of a misnomer, as any file which -must be created early in the build process can be listed in this -variable. Moreover, all built sources do not necessarily have to be -listed in @code{BUILT_SOURCES}. For instance, a generated @file{.c} file -doesn't need to appear in @code{BUILT_SOURCES} (unless it is included by -another source), because it's a known dependency of the associated +@code{BUILT_SOURCES} is a bit of a misnomer, as any file which must be +created early in the build process can be listed in this variable. +Moreover, all built sources do not necessarily have to be listed in +@code{BUILT_SOURCES}. For instance, a generated @file{.c} file +doesn't need to appear in @code{BUILT_SOURCES} (unless it is included +by another source), because it's a known dependency of the associated object. To emphasize, @code{BUILT_SOURCES} is honored only by @samp{make all}, @@ -7521,11 +7535,10 @@ bindir.h: Makefile You don't have to list @emph{all} the dependencies of @file{foo.o} explicitly, only those that might need to be built. If a dependency already exists, it will not hinder the first compilation and will be -recorded by the normal dependency tracking code. (Note that after -this first compilation the dependency tracking code will also have -recorded the dependency between @file{foo.o} and -@file{bindir.h}, so our explicit dependency is really useful to -the first build only.) +recorded by the normal dependency tracking code. (After this first +compilation, the dependency tracking code will also have recorded the +dependency between @file{foo.o} and @file{bindir.h}, so our explicit +dependency is only useful to the first build.) Adding explicit dependencies like this can be a bit dangerous if you are not careful enough. This is due to the way Automake tries not to @@ -7644,7 +7657,7 @@ will be passed to the Emacs invocation. Byte-compiled Emacs Lisp files are not portable among all versions of Emacs, so it makes sense to turn this off if you expect sites to have more than one version of Emacs installed. Furthermore, many packages -don't actually benefit from byte-compilation. Still, we recommend +do not actually benefit from byte-compilation. Still, we recommend that you byte-compile your Emacs Lisp sources. It is probably better for sites with strange setups to cope for themselves than to make the installation less nice for everybody else. @@ -7783,31 +7796,34 @@ This variable is a shell expression that is used to set the Automake provides support for Python compilation with the @code{PYTHON} primary. A typical setup is to call -@code{AM_PATH_PYTHON} in @file{configure.ac} and use a line like the -following in @file{Makefile.am}: +@code{AM_PATH_PYTHON} in @file{configure.ac} and use a line like this +in @file{Makefile.am}: @example python_PYTHON = tree.py leave.py @end example -Any files listed in a @code{_PYTHON} variable will be byte-compiled -with @command{py-compile} at install time. @command{py-compile} -actually creates both standard (@file{.pyc}) and optimized -(@file{.pyo}) byte-compiled versions of the source files. Note that -because byte-compilation occurs at install time, any files listed in -@code{noinst_PYTHON} will not be compiled. Python source files are -included in the distribution by default; prepend @code{nodist_} (as in -@code{nodist_python_PYTHON}) to omit them. +Python source files are included in the distribution by default; +prepend @code{nodist_} (as in @code{nodist_python_PYTHON}) to omit +them. + +@cindex @file{.pyc}, @file{.pyo} files +At install time, any files listed in a @code{_PYTHON} variable will be +byte-compiled with @command{py-compile}. @command{py-compile} creates +both standard (@file{.pyc}) and optimized (@file{.pyo}) byte-compiled +versions of the source files. Because byte-compilation occurs at +install time, files listed in @code{noinst_PYTHON} will not be +compiled. -Automake ships with an Autoconf macro called @code{AM_PATH_PYTHON} -that will determine some Python-related directory variables (see -below). If you have called @code{AM_PATH_PYTHON} from -@file{configure.ac}, then you may use the variables +Automake ships with an Autoconf macro named @code{AM_PATH_PYTHON} that +determines some Python-related directory variables (see below). If +you have called @code{AM_PATH_PYTHON} from @file{configure.ac}, then +you may use the variables @c Keep in sync with primary-prefix-couples-documented-valid.sh -@code{python_PYTHON} or @code{pkgpython_PYTHON} to list Python source -files in your @file{Makefile.am}, depending on where you want your files -installed (see the definitions of @code{pythondir} and -@code{pkgpythondir} below). +@code{python_PYTHON} and @code{pkgpython_PYTHON} to list Python source +files in your @file{Makefile.am}, depending on whether you want your +files installed in @code{pythondir} or @code{pkgpythondir}, +respectively. @defmac AM_PATH_PYTHON (@ovar{version}, @ovar{action-if-found}, @ovar{action-if-not-found}) @@ -7821,15 +7837,15 @@ If an interpreter is found and satisfies @var{version}, then run. If @var{action-if-not-found} is not specified, as in the following -example, the default is to abort @command{configure}. +example, the default is to abort @command{configure}: @example -AM_PATH_PYTHON([2.2]) +AM_PATH_PYTHON([2.5]) @end example @noindent This is fine when Python is an absolute requirement for the package. -If Python >= 2.5 was only @emph{optional} to the package, +If Python @geq{} 2.5 was only @emph{optional} for the package, @code{AM_PATH_PYTHON} could be called as follows. @example @@ -7840,7 +7856,7 @@ If the @env{PYTHON} variable is set when @code{AM_PATH_PYTHON} is called, then that will be the only Python interpreter that is tried. @code{AM_PATH_PYTHON} creates the following output variables based on -the Python installation found during configuration. +the Python installation found during configuration: @end defmac @vtable @code @@ -7859,26 +7875,33 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :]) @end example @item PYTHON_VERSION +@vindex sys.version_info @r{Python variable} The Python version number, in the form @var{major}.@var{minor} -(e.g., @samp{2.5}). This is currently the value of +(e.g., @samp{2.5}). This is set to be the value of @samp{'%u.%u' % sys.version_info[:2]}. @item PYTHON_PREFIX -The string @samp{$@{prefix@}}. This term may be used in future work -that needs the contents of Python's @samp{sys.prefix}, but general -consensus is to always use the value from @command{configure}. - -@item PYTHON_EXEC_PREFIX -The string @samp{$@{exec_prefix@}}. This term may be used in future work -that needs the contents of Python's @samp{sys.exec_prefix}, but general -consensus is to always use the value from @command{configure}. +@itemx PYTHON_EXEC_PREFIX +@opindex --with-python_prefix +@opindex --with-python_exec_prefix +@vindex sys.prefix @r{Python variable} +@vindex sys.exec_prefix @r{Python variable} +The value of Python's @samp{sys.prefix} (resp.@: +@samp{sys.exec_prefix}) variable. Sometimes the same as the standard +@samp{$@{prefix@}} (@samp{$@{exec_prefix@}}), but differs on some +platforms such as Mac@tie{}OS@tie{}x (where Python is usually +installed as a Framework). Can be set explicitly with the +@option{--with-python_prefix} (@option{--with-python_exec_prefix}) +@file{configure} option. @item PYTHON_PLATFORM +@vindex sys.platform @r{Python variable} The canonical name used by Python to describe the operating system, as given by @samp{sys.platform}. This value is sometimes needed when building Python extensions. @item pythondir +@cindex @file{site-packages} Python directory The directory name for the @file{site-packages} subdirectory of the standard Python install tree. @@ -7904,9 +7927,9 @@ This is a convenience variable that is defined as @samp{$(pyexecdir)/$(PACKAGE)}. @end vtable -All of these directory variables have values that start with either -@samp{$@{prefix@}} or @samp{$@{exec_prefix@}} unexpanded. This works -fine in @file{Makefiles}, but it makes these variables hard to use in +All of these directory variables have values that can start with either +@samp{$@{prefix@}} or @samp{$@{exec_prefix@}}, unexpanded. This works +fine in @file{Makefile}s, but it makes these variables hard to use in @file{configure}. This is mandated by the GNU coding standards, so that the user can run @samp{make prefix=/foo install}. The Autoconf manual has a section with more details on this topic @@ -8021,10 +8044,11 @@ file for each Texinfo file. Automake will treat any include in a Texinfo file that matches @file{vers*.texi} just as an automatically generated version file. -Sometimes an info file actually depends on more than one @file{.texi} -file. For instance, in GNU Hello, @file{hello.texi} includes the file +Often an Info file depends on more than one @file{.texi} file. For +instance, in GNU Hello, @file{hello.texi} includes the file @file{fdl.texi}. You can tell Automake about these dependencies using -the @code{@var{texi}_TEXINFOS} variable. Here is how GNU Hello does it: +the @code{@var{texi}_TEXINFOS} variable. Here is how GNU Hello does +it: @vindex TEXINFOS @vindex _TEXINFOS @@ -8244,10 +8268,10 @@ notrans_dist_man3_MANS = bar.3 @cindex Installation support @cindex @samp{make install} support -Naturally, Automake handles the details of actually installing your -program once it has been built. All files named by the various -primaries are automatically installed in the appropriate places when the -user runs @samp{make install}. +Naturally, Automake handles the details of installing your program +once it has been built. All files named by the various primaries are +automatically installed in the appropriate places when the user runs +@samp{make install}. @menu * Basics of Installation:: What gets installed where @@ -8494,59 +8518,91 @@ We recommend that you follow this same set of heuristics in your @vindex VERSION @trindex dist The @code{dist} rule in the generated @file{Makefile.in} can be used -to generate a gzipped @code{tar} file and other flavors of archive for -distribution. The file is named based on the @code{PACKAGE} and +to generate a gzipped @code{tar} file and/or other flavors of archives +for distribution. The file is named based on the @code{PACKAGE} and @code{VERSION} variables automatically defined by either the @code{AC_INIT} invocation or by a @emph{deprecated} two-arguments -invocation of the @code{AM_INIT_AUTOMAKE} macro (see @ref{Public Macros} -for how these variables get their values, from either defaults or explicit -values---it's slightly trickier than one would expect). -More precisely the gzipped @code{tar} file is named +invocation of the @code{AM_INIT_AUTOMAKE} macro (see @ref{Public +Macros} for how these variables get their values, from either defaults +or explicit values---it's slightly trickier than one would expect). +More precisely, the gzipped @code{tar} file is named @samp{$@{PACKAGE@}-$@{VERSION@}.tar.gz}. -@vindex GZIP_ENV -You can use the @command{make} variable @code{GZIP_ENV} to control how gzip -is run. The default setting is @option{--best}. - @c See automake #9822. @vindex TAR You can set the environment variable @code{TAR} to override the tar -program used; it defaults to @code{tar}. +program used; it defaults to @code{tar}. @xref{The Types of +Distributions}, for how to generate other kinds of archives. + +For the most part, the files to distribute are automatically found by +Automake: + +@itemize @bullet +@item +All source files are automatically included in a distribution, as are +all @file{Makefile.am} and @file{Makefile.in} files. + +@acindex AC_CONFIG_FILES +@item +Files that are read by @command{configure} are automatically +distributed. These are the source files as specified in various +Autoconf macros such as @code{AC_CONFIG_FILES} and siblings. @cindex @code{m4_include}, distribution @cindex @code{include}, distribution @acindex m4_include @cmindex include -For the most part, the files to distribute are automatically found by -Automake: all source files are automatically included in a distribution, -as are all @file{Makefile.am} and @file{Makefile.in} files. Automake also -has a built-in list of commonly used files that are automatically -included if they are found in the current directory (either physically, -or as the target of a @file{Makefile.am} rule); this list is printed by -@samp{automake --help}. Note that some files in this list are actually -distributed only if other certain conditions hold (for example, +@item +Files included in a @file{Makefile.am} (using @code{include}) or in +@file{configure.ac} (using @code{m4_include}). + +@item +Automake has a built-in list of commonly used files automatically +included in the distribution if they are found in the current +directory (either physically, or as the target of a @file{Makefile.am} +rule). Some common examples: @file{ABOUT-GNU}, @file{COPYING}, +@file{TODO}. + +This list also includes helper scripts installed with @samp{automake +--add-missing}. Some common examples: @file{compile}, +@file{config.guess}, @file{config.rpath}, @file{config.sub}, +@file{texinfo.tex}. + +@item +Automake has another built-in list of files automatically distributed +if they are found either with the plain name, or with extension +@file{.md} (presumably MarkDown, though this not checked). They are +checked for in that order, so the plain name is preferred. These are: +@file{AUTHORS ChangeLog INSTALL NEWS README README-alpha THANKS}. + +@item +A final built-in list of files are those distributed only if other +certain conditions hold. For example, @c Keep in sync with autodist-config-headers.sh -the @file{config.h.top} and @file{config.h.bot} files are automatically -distributed only if, e.g., @samp{AC_CONFIG_HEADERS([config.h])} is used -in @file{configure.ac}). Also, files that are read by @command{configure} -(i.e.@: the source files corresponding to the files specified in various -Autoconf macros such as @code{AC_CONFIG_FILES} and siblings) are -automatically distributed. Files included in a @file{Makefile.am} (using -@code{include}) or in @file{configure.ac} (using @code{m4_include}), and -helper scripts installed with @samp{automake --add-missing} are also -distributed. +the files @file{config.h.top} and @file{config.h.bot} are +automatically distributed only if, e.g., +@samp{AC_CONFIG_HEADERS([config.h])} is used in @file{configure.ac}). +@file{README-alpha} is another such file, with @file{README-alpha.md} +distributed if that is what is available; @pxref{Strictness}, for its +conditions for distribution. + +@end itemize + +@noindent +These three lists of files are given in their entirety in the output +from @code{automake --help}. @vindex EXTRA_DIST -Still, sometimes there are files that must be distributed, but which -are not covered in the automatic rules. These files should be listed in -the @code{EXTRA_DIST} variable. You can mention files from -subdirectories in @code{EXTRA_DIST}. - -You can also mention a directory in @code{EXTRA_DIST}; in this case the -entire directory will be recursively copied into the distribution. -Please note that this will also copy @emph{everything} in the directory, -including, e.g., Subversion's @file{.svn} private directories or CVS/RCS -version control files; thus we recommend against using this feature +Despite all this automatic inclusion, it is still common to have files +to be distributed which are not found by the automatic rules. You +should listed these files in the @code{EXTRA_DIST} variable. You can +mention files in subdirectories in @code{EXTRA_DIST}. + +You can also mention a directory in @code{EXTRA_DIST}; in this case +the entire directory will be recursively copied into the distribution. +To emphasize, this copies @emph{everything} in the directory, +including temporary editor files, intermediate build files, version +control files, etc.; thus we recommend against using this feature as-is. However, you can use the @code{dist-hook} feature to ameliorate the problem; @pxref{The dist Hook}. @@ -8601,20 +8657,20 @@ a directory in @code{EXTRA_DIST}: EXTRA_DIST = doc dist-hook: chmod -R u+w $(distdir)/doc - rm -rf `find $(distdir)/doc -type d -name .svn` + rm -rf `find $(distdir)/doc -type d -name RCS` @end example @c The caveats described here should be documented in 'disthook.sh'. @noindent -Note that the @code{dist-hook} recipe shouldn't assume that the regular -files in the distribution directory are writable; this might not be the -case if one is packaging from a read-only source tree, or when a -@code{make distcheck} is being done. For similar reasons, the recipe -shouldn't assume that the subdirectories put into the distribution -directory as an effect of having them listed in @code{EXTRA_DIST} are -writable. So, if the @code{dist-hook} recipe wants to modify the -content of an existing file (or @code{EXTRA_DIST} subdirectory) in the -distribution directory, it should explicitly to make it writable first: +The @code{dist-hook} recipe should not assume that the regular files +in the distribution directory are writable; this might not be the case +if one is packaging from a read-only source tree, or when a @code{make +distcheck} is being done. Similarly, the recipe should not assume +that the subdirectories put into the distribution directory as a +result of being listed in @code{EXTRA_DIST} are writable. So, if the +@code{dist-hook} recipe wants to modify the content of an existing +file (or @code{EXTRA_DIST} subdirectory) in the distribution +directory, it should explicitly to make it writable first: @example EXTRA_DIST = README doc @@ -8634,16 +8690,17 @@ will copy files from the current directory before creating the tarball. If you are at the top-level directory, then @samp{distdir = $(PACKAGE)-$(VERSION)}. When used from subdirectory named @file{foo/}, then @samp{distdir = ../$(PACKAGE)-$(VERSION)/foo}. -@samp{$(distdir)} can be a relative or absolute path, do not assume -any form. +@samp{$(distdir)} can be either a relative or absolute path; do not +assume a particular form. @samp{$(top_distdir)} always points to the root directory of the -distributed tree. At the top-level it's equal to @samp{$(distdir)}. -In the @file{foo/} subdirectory -@samp{top_distdir = ../$(PACKAGE)-$(VERSION)}. -@samp{$(top_distdir)} too can be a relative or absolute path. +distributed tree. At the top level it's equal to @samp{$(distdir)}. +In the @file{foo/} subdirectory @samp{top_distdir = +../$(PACKAGE)-$(VERSION)}. @samp{$(top_distdir)} can also be either a +relative or absolute path. -Note that when packages are nested using @code{AC_CONFIG_SUBDIRS} +@acindex AC_CONFIG_SUBDIRS +When packages are nested using @code{AC_CONFIG_SUBDIRS} (@pxref{Subpackages}), then @samp{$(distdir)} and @samp{$(top_distdir)} are relative to the package where @samp{make dist} was run, not to any sub-packages involved. @@ -8833,70 +8890,89 @@ distributions in various formats. Their targets 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 +@cmindex gzip +@vindex GZIP_ENV +Generate a @samp{gzip} tar archive of the distribution. This is the +only format enabled by default. By default, this rule makes +@command{gzip} use a compression option of @option{--best}. To make +it use a different one, set the @env{GZIP_ENV} environment variable. +For example, @samp{make dist-gzip GZIP_ENV=-7}. -@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 +@cmindex bzip2 +@vindex BZIP2 +Generate a @samp{bzip2} tar archive of the distribution. bzip2 +archives are usually 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. @item @code{dist-lzip} -Generate an @samp{lzip} tar archive of the distribution. @command{lzip} -archives are frequently smaller than @command{bzip2}-compressed archives. @trindex dist-lzip +@cmindex lzip +@vindex LZIP_OPT +Generate an @samp{lzip} tar archive of the distribution. +@command{lzip} archives are usually smaller than +@command{bzip2}-compressed archives. By default, this rule makes +@samp{lzip} use a compression option of @option{-9}. To make it use a +different one, set the @env{LZIP_OPT} environment variable. -@vindex XZ_OPT @item @code{dist-xz} +@trindex dist-xz +@cmindex xz +@vindex XZ_OPT Generate an @samp{xz} tar archive of the distribution. @command{xz} -archives are frequently smaller than @command{bzip2}-compressed archives. +archives are usually 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 +default compression ratio, but with a progress indicator: @samp{make +dist-xz XZ_OPT=-ve}. +@trindex dist-zip +@cmindex zip @item @code{dist-zip} Generate a @samp{zip} archive of the distribution. -@trindex dist-zip -@item @code{dist-tarZ} -Generate a tar archive of the distribution, compressed with the -historical (and obsolescent) program @command{compress}. This -option is deprecated, and it and the corresponding functionality -will be removed altogether in Automake 2.0. -@trindex dist-tarZ +@item @code{dist-zstd} +@trindex dist-zstd +@cmindex zstd +@vindex ZSTD_OPT +@vindex ZSTD_CLEVEL +Generate a @code{zstd} tar archive of the distribution. By default, +this rule makes @command{zstd} use a compression option of +@option{-19}. To use a different setting, set the @env{ZSTD_OPT} +environment variable. For example, run this command to use the +default compression ratio, but with a progress indicator: @samp{make +dist-zstd ZSTD_OPT=-19v}. However, note that for compatibility with +@command{zstd} itself, you may instead set the @env{ZSTD_CLEVEL} +environment variable, in which case, any @env{ZSTD_OPT} setting is +ignored. @item @code{dist-shar} +@trindex dist-shar +@cmindex shar Generate a @samp{shar} archive of the distribution. This format archive is obsolescent, and use of this option is deprecated. It and the corresponding functionality will be removed altogether in Automake 2.0. -@trindex dist-shar -@vindex ZSTD_OPT -@vindex ZSTD_CLEVEL -@item @code{dist-zstd} -Generate a @samp{zstd} tar archive of the distribution. By default, this -rule makes @samp{zstd} use a compression option of @option{-19}. To -make it use a different one, set the @env{ZSTD_OPT} environment variable. -For example, run this command to use the default compression ratio, -but with a progress indicator: @samp{make dist-zstd ZSTD_OPT=-19v}. -However, note that for compatibility with zstd itself, you may instead set the @env{ZSTD_CLEVEL} environment variable, in which case, any @env{ZSTD_OPT} setting is ignored. -@trindex dist-zstd +@item @code{dist-tarZ} +@trindex dist-tarZ +@cmindex compress +Generate a tar archive of the distribution, compressed with the +historical (and obsolescent) program @command{compress}. This +option is deprecated, and it and the corresponding functionality +will be removed altogether in Automake 2.0. @end table +@trindex dist-all 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}. +the @code{dist-gzip} target is enabled by @code{dist}. @node Tests @@ -8961,13 +9037,13 @@ determine that such condition of behaviour does @emph{not} hold. @cindex test skip Sometimes, tests can rely on non-portable tools or prerequisites, or simply make no sense on a given system (for example, a test checking a -Windows-specific feature makes no sense on a GNU/Linux system). In this -case, accordingly to the definition above, the tests can neither be -considered passed nor failed; instead, they are @emph{skipped}- --i.e., -they are not run, or their result is anyway ignored for what concerns -the count of failures and successes. Skips are usually explicitly -reported though, so that the user will be aware that not all of the -testsuite has really run. +Windows-specific feature makes no sense on a GNU/Linux system). In +this case, accordingly to the definition above, the tests can neither +be considered passed nor failed; instead, they are @emph{skipped}, +that is, they are not run, or their result is in any case ignored for +what concerns the count of failures and successes. Skips are usually +explicitly reported though, so that the user will be aware that not +all of the testsuite has been run. @cindex xfail @cindex expected failure @@ -9232,9 +9308,9 @@ provides a more elegant way to achieve the same effect, with the further benefit of freeing the @code{TESTS_ENVIRONMENT} variable for the user (@pxref{Parallel Test Harness}). -Another, less serious limitation of the serial harness is that it doesn't -really distinguish between simple failures and hard errors; this is -due to historical reasons only, and might be fixed in future Automake +Another, less serious limitation of the serial harness is that it +doesn't distinguish between simple failures and hard errors; this is +for historical reasons, and might be fixed in future Automake versions. @node Parallel Test Harness @@ -9372,7 +9448,19 @@ command like this to run only a subset of the tests: env TESTS="foo.test bar.test" make -e check @end example -Note however that the command above will unconditionally overwrite the +@c https://bugs.gnu.org/42883 +If you're using a recursive make setup, you'll probably also need to +override @code{SUBDIRS}: + +@example +env TESTS="foo.test bar.test" make -e check SUBDIRS= +@end example + +Otherwise, the test harness will descend into all subdirectories, +where the tests presumably do not exist, and thus fail. (Patch to +provide better behavior would be welcome.) + +Another issue: the command 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 a long time to execute. Luckily, this problem can @@ -9553,8 +9641,8 @@ On the other hand, the exact semantics of how (and if) testsuite output colorization, @code{XFAIL_TESTS}, and hard errors are supported and handled is left to the individual test drivers. -@c TODO: We should really add a working example in the doc/ directory, -@c TODO: and reference if from here. +@c TODO: We should add a working example in the doc/ directory, +@c TODO: and reference it from here. @node Declaring Custom Test Drivers @subsection Declaring Custom Test Drivers @@ -9579,7 +9667,7 @@ are @emph{not} a substitute for the @code{LOG_COMPILER} variables: the two sets of variables can, and often do, usefully and legitimately coexist. -@c TODO: We should really be able to point to a clarifying example here! +@c TODO: We should point to a clarifying example here! The developer-reserved variable @code{AM_LOG_DRIVER_FLAGS} and the user-reserved variable @code{LOG_DRIVER_FLAGS} can be used to define @@ -9594,10 +9682,10 @@ invocations of @code{@var{ext}_LOG_DRIVER}. @node API for Custom Test Drivers @subsection API for Custom Test Drivers -Note that @emph{the APIs described here are still highly experimental}, -and will very likely undergo tightenings and likely also extensive changes -in the future, to accommodate for new features or to satisfy additional -portability requirements. +Note that @emph{the APIs described here are still highly +experimental}, and will very likely undergo tightening and possibly +extensive changes in the future, to accommodate for new features or to +satisfy additional portability requirements. The main characteristic of these APIs is that they are designed to share as much infrastructure, semantics, and implementation detail as possible @@ -10180,6 +10268,15 @@ the file automatically. An inconvenience is that @command{autoconf} will now be rerun each time the version number is bumped, when only @file{configure} had to be rerun in the previous setup. +@opindex --always-make @r{GNU Make option} +GNU Make, at least, has an option @option{--always-make} which tells +Make to consider that all targets are out of date. This interacts +badly with Automake-generated Makefiles, which implement their own +careful rules for when to regenerate Makefiles, as described above. +The result is an endless loop, or other poor behavior. The only thing +to do, as far as we know, is to refrain from using +@option{--always-make}. + @node Options @chapter Changing Automake's Behavior @@ -10360,6 +10457,21 @@ 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-built-sources} +@cindex Option, @option{no-dist-built-sources} +@opindex no-dist-built-sources +@cindex @command{help2man}, and @samp{dist} target +@vindex BUILT_SOURCES, and @samp{dist} target +Don't build @code{BUILT_SOURCES} as part of @code{dist}. This option +can be set if building the distribution only requires the source +files, and doesn't compile anything as a side-effect. The default is +for @samp{$(distdir)} to depend on @samp{$(BUILT_SOURCES)} because it +is common, at least among GNU packages, to want to build the program +to generate man pages with @code{help2man} (@pxref{Errors with +distclean}). Admittedly the default behavior should perhaps be to +omit the dependency, but to preserve compatibility, we don't want to +change it now. + @item @option{no-dist-gzip} @cindex Option, @option{no-dist-gzip} @opindex no-dist-gzip @@ -10471,7 +10583,7 @@ If this option is specified, then objects are placed into the subdirectory of the build directory corresponding to the subdirectory of the source file. For instance, if the source file is @file{subdir/file.cxx}, then the output file would be -@file{subdir/file.o}. +@file{subdir/file.o}. @xref{Program and Library Variables}. @anchor{tar-formats} @item @option{tar-v7} @@ -10585,10 +10697,10 @@ GNU Emacs under some circumstances. If any C, C++ or Fortran 77 source code or headers are present, then @code{tags} and @code{TAGS} rules will be generated for the directory. All files listed using the @code{_SOURCES}, @code{_HEADERS}, and -@code{_LISP} primaries will be used to generate tags. Note that -generated source files that are not distributed must be declared in -variables like @code{nodist_noinst_HEADERS} or -@code{nodist_@var{prog}_SOURCES} or they will be ignored. +@code{_LISP} primaries will be used to generate tags. Generated +source files that are not distributed must be declared in variables +like @code{nodist_noinst_HEADERS} or @code{nodist_@var{prog}_SOURCES} +or they will be ignored. A @code{tags} rule will be output at the topmost directory of a multi-directory package. When run from this topmost directory, @@ -10600,10 +10712,12 @@ The @code{tags} rule will also be generated if the variable directories that contain taggable source that @command{etags} does not understand. The user can use the @code{ETAGSFLAGS} to pass additional flags to @command{etags}; @code{AM_ETAGSFLAGS} is also -available for use in @file{Makefile.am}. +available for use in @file{Makefile.am}. The variable @code{ETAGS} +is the name of the program to invoke (by default @command{etags}). @vindex ETAGS_ARGS @vindex ETAGSFLAGS @vindex AM_ETAGSFLAGS +@vindex ETAGS Here is how Automake generates tags for its source, and for nodes in its Texinfo file: @@ -10623,6 +10737,9 @@ build @command{vi}-style @file{tags} files. The variable @code{CTAGS} is the name of the program to invoke (by default @command{ctags}); @code{CTAGSFLAGS} can be used by the user to pass additional flags, and @code{AM_CTAGSFLAGS} can be used by the @file{Makefile.am}. +@vindex CTAGS_ARGS +@vindex CTAGSFLAGS +@vindex CTAGS @trindex id Automake will also generate an @code{ID} rule that will run @@ -10640,6 +10757,9 @@ file names respectively, while @code{AM_CSCOPEFLAGS} can be used by the with non-GNU make implementations (especially with make implementations performing @ref{Automatic Rule Rewriting, , VPATH rewrites, autoconf, The Autoconf Manual}). +@vindex CSCOPE_ARGS +@vindex CSCOPEFLAGS +@vindex CSCOPE Finally, Automake also emits rules to support the @uref{https://www.gnu.org/software/global/, GNU Global Tags program}. @@ -10970,7 +11090,7 @@ verbose output from @command{make} ends up being mostly noise that hampers the easy detection of potentially important warning messages. @node Tricks For Silencing Make -@section Standard and generic ways to silence make +@section Standard and generic ways to silence Make Here we describe some common idioms/tricks to obtain a quieter make output, with their relative advantages and drawbacks. In the next @@ -11028,7 +11148,7 @@ automatically activated if the @option{-s} flag is used. @end itemize @node Automake Silent Rules -@section How Automake can help in silencing make +@section How Automake can help in silencing Make The tricks and idioms for silencing @command{make} described in the previous section can be useful from time to time, but we've seen that @@ -11068,7 +11188,7 @@ func.c:4:3: warning: ‘i’ used uninitialized in this function mv -f .deps/func.Tpo .deps/func.Po gcc -Wall -o foo main.o func.o -@i{Clean up, so that we we can rebuild everything from scratch.} +@i{Clean up, so that we can rebuild everything from scratch.} % @kbd{make clean} test -z "foo" || rm -f foo rm -f *.o @@ -11136,9 +11256,9 @@ enable them explicitly at either @command{configure} run time or at it provides the casual user with enough information to prepare a good bug report in case anything breaks. -Still, notwithstanding the rationales above, a developer who really -wants to make silent rules enabled by default in his own package can -do so by calling @code{AM_SILENT_RULES([yes])} in @file{configure.ac}. +Still, notwithstanding the rationales above, developers who wants to +make silent rules enabled by default in their own packages can do so +by calling @code{AM_SILENT_RULES([yes])} in @file{configure.ac}. @c Keep in sync with silent-configsite.sh Users who prefer to have silent rules enabled by default can edit their @@ -11146,7 +11266,7 @@ 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? +@c FIXME: is there 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. @@ -11530,7 +11650,7 @@ they support VPATH builds (@pxref{VPATH Builds}). Obviously if the subpackage does not support VPATH builds the whole package will not support VPATH builds. This in turns means that @samp{make distcheck} will not work, because it relies on VPATH builds. Some people can -live without this (actually, many Automake users have never heard of +live without this (indeed, many Automake users have never heard of @samp{make distcheck}). Other people may prefer to revamp the existing @file{Makefile}s to support VPATH@. Doing so does not necessarily require Automake; only Autoconf is needed (@pxref{Build @@ -11548,17 +11668,17 @@ 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. If GNU Make is assumed, 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 directory; the easiest way to do this is to write a @file{GNUmakefile.in} instead, and have it processed with -@code{AC_CONFIG_FILES} from the outer package. For example if we +@code{AC_CONFIG_FILES} from the outer package. For example, if we assume @file{Makefile} defines all targets except the documentation -targets, and that the @code{check} target is actually called -@code{test}, we could write @file{GNUmakefile} (or -@file{GNUmakefile.in}) like this: +targets, and that the real @code{check} target is named @code{test}, +we could write @file{GNUmakefile} (or @file{GNUmakefile.in}) like +this: @example # First, include the real Makefile @@ -11937,11 +12057,11 @@ But, after all, CVS's job is versioning, not distribution. Allowing developers to use different versions of their tools can also hide bugs during distributed development. Indeed, developers will be using (hence testing) their own generated files, instead of the -generated files that will be actually released. The developer who -prepares the tarball might be using a version of the tool that -produces bogus output (for instance a non-portable C file), something -other developers could have noticed if they weren't using their own -versions of this tool. +generated files that will be released. The developer who prepares the +tarball might be using a version of the tool that produces bogus +output (for instance a non-portable C file), something other +developers could have noticed if they weren't using their own versions +of this tool. @subheading Third-party Files @cindex CVS and third-party files @@ -11998,12 +12118,12 @@ the build continue is one of the arguments of the @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. +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. That is, 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} @@ -12080,9 +12200,9 @@ 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. +Finally, it's quite 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, @@ -12201,7 +12321,7 @@ package (@pxref{VPATH Builds}), and then call @samp{make distclean}. Files left in the build directory after @samp{make distclean} has run are listed after this error. -This diagnostic really covers two kinds of errors: +This diagnostic covers two kinds of errors: @itemize @bullet @item @@ -12389,17 +12509,17 @@ flags, not appended. @cindex @code{YFLAGS} and @code{AM_YFLAGS} This section attempts to answer all the above questions. We will -mostly discuss @code{CPPFLAGS} in our examples, but actually the -answer holds for all the compile flags used in Automake: -@code{CCASFLAGS}, @code{CFLAGS}, @code{CPPFLAGS}, @code{CXXFLAGS}, -@code{FCFLAGS}, @code{FFLAGS}, @code{GCJFLAGS}, @code{LDFLAGS}, -@code{LFLAGS}, @code{LIBTOOLFLAGS}, @code{OBJCFLAGS}, @code{OBJCXXFLAGS}, +mostly discuss @code{CPPFLAGS} in our examples, but the answer holds +for all the compile flags used in Automake: @code{CCASFLAGS}, +@code{CFLAGS}, @code{CPPFLAGS}, @code{CXXFLAGS}, @code{FCFLAGS}, +@code{FFLAGS}, @code{GCJFLAGS}, @code{LDFLAGS}, @code{LFLAGS}, +@code{LIBTOOLFLAGS}, @code{OBJCFLAGS}, @code{OBJCXXFLAGS}, @code{RFLAGS}, @code{UPCFLAGS}, and @code{YFLAGS}. @code{CPPFLAGS}, @code{AM_CPPFLAGS}, and @code{mumble_CPPFLAGS} are -three variables that can be used to pass flags to the C preprocessor -(actually these variables are also used for other languages like C++ -or preprocessed Fortran). @code{CPPFLAGS} is the user variable +three variables that can be used to pass flags to the C preprocessor ( +these variables are also used for other languages like C++ or +preprocessed Fortran). @code{CPPFLAGS} is the user variable (@pxref{User Variables}), @code{AM_CPPFLAGS} is the Automake variable, and @code{mumble_CPPFLAGS} is the variable specific to the @code{mumble} target (we call this a per-target variable, @@ -12446,8 +12566,8 @@ and this flag would be propagated to the compile rules of all It is also not uncommon to override a user variable at @command{make}-time. Many installers do this with @code{prefix}, but -this can be useful with compiler flags too. For instance, if, while -debugging a C++ project, you need to disable optimization in one +this can be useful with compiler flags too. For instance, while +debugging a C++ project, if you need to disable optimization in one specific object file, you can run something like @example @@ -12457,16 +12577,21 @@ make @end example The reason @samp{$(CPPFLAGS)} appears after @samp{$(AM_CPPFLAGS)} or -@samp{$(mumble_CPPFLAGS)} in the compile command is that users -should always have the last say. It probably makes more sense if you -think about it while looking at the @samp{CXXFLAGS=-O0} above, which -should supersede any other switch from @code{AM_CXXFLAGS} or -@code{mumble_CXXFLAGS} (and this of course replaces the previous value -of @code{CXXFLAGS}). +@samp{$(mumble_CPPFLAGS)} in the compile command is that users should +have the last say. In the example above, the desire is for the +@samp{CXXFLAGS=-O0} to supersede any other switch from +@code{AM_CXXFLAGS} or @code{mumble_CXXFLAGS}. + +@c https://bugs.gnu.org/35526 +It's true that not all options to all programs can be overridden. So +in general, users could conceivably want to place options at arbitrary +places in the command line, but Automake does not support this. It +would be difficult to make such generality comprehensible. Being able +to specify the final options commonly suffices. -You should never redefine a user variable such as @code{CPPFLAGS} in -@file{Makefile.am}. Use @samp{automake -Woverride} to diagnose such -mistakes. Even something like +Thus, you should never redefine a user variable such as +@code{CPPFLAGS} in @file{Makefile.am}. Use @samp{automake -Woverride} +to diagnose such mistakes. Even something like @example CPPFLAGS = -DDATADIR=\"$(datadir)\" @@CPPFLAGS@@ @@ -12490,9 +12615,9 @@ You should not add options to these user variables within to modify these variables to perform a test, but you should reset their values afterwards. In contrast, it is OK to modify the @samp{AM_} variables within @file{configure} if you @code{AC_SUBST} -them, but it is rather rare that you need to do this, unless you -really want to change the default definitions of the @samp{AM_} -variables in all @file{Makefile}s. +them, but it is rather rare that you need to do this, unless you want +to change the default definitions of the @samp{AM_} variables in all +@file{Makefile}s. What we recommend is that you define extra flags in separate variables. For instance, you may write an Autoconf macro that computes @@ -12531,7 +12656,7 @@ users. Finally, we have avoided naming the variable of the example @code{LIBFOO_LDFLAGS} (with an underscore) because that would cause -Automake to think that this is actually a per-target variable (like +Automake to think that this is a per-target variable (like @code{mumble_LDFLAGS}) for some non-declared @code{LIBFOO} target. @subheading Other Variables @@ -12539,8 +12664,8 @@ Automake to think that this is actually a per-target variable (like There are other variables in Automake that follow similar principles to allow user options. For instance, Texinfo rules (@pxref{Texinfo}) use @code{MAKEINFOFLAGS} and @code{AM_MAKEINFOFLAGS}. Similarly, -DejaGnu tests (@pxref{DejaGnu Tests}) use @code{RUNTESTDEFAULTFLAGS} and -@code{AM_RUNTESTDEFAULTFLAGS}. The tags and ctags rules +DejaGnu tests (@pxref{DejaGnu Tests}) use @code{RUNTESTFLAGS} and +@code{AM_RUNTESTFLAGS}. The tags and ctags rules (@pxref{Tags}) use @code{ETAGSFLAGS}, @code{AM_ETAGSFLAGS}, @code{CTAGSFLAGS}, and @code{AM_CTAGSFLAGS}. Java rules (@pxref{Java}) use @code{JAVACFLAGS} and @code{AM_JAVACFLAGS}. None @@ -12586,10 +12711,9 @@ cannot be built with both @samp{-DEXIT_CODE=0} @emph{and} build two different objects: @file{true-generic.o} and @file{false-generic.o}. -@command{automake} doesn't actually look whether source files are -shared to decide if it must rename objects. It will just rename all -objects of a target as soon as it sees per-target compilation flags -used. +Automake doesn't actually determine whether source files are shared to +decide if it must rename objects. It just renames all objects of a +target as soon as it sees that per-target compilation flags are used. It's OK to share object files when per-target compilation flags are not used. For instance, @file{true} and @file{false} will both use @@ -12700,9 +12824,9 @@ data.c data.h: data.foo @end example @noindent -What the above rule really says is that @file{data.c} and -@file{data.h} each depend on @file{data.foo}, and can each be built by -running @samp{foo data.foo}. In other words it is equivalent to: +What the above rule says is that @file{data.c} and @file{data.h} each +depend on @file{data.foo}, and can each be built by running @samp{foo +data.foo}. In other words it is equivalent to: @example # We do not want this. @@ -12843,10 +12967,10 @@ that @file{data.h} is created before @file{data.c}. Then we have a weird situation. The next time @command{make} is run, @file{data.h} will appear older than @file{data.c}, the second rule will be triggered, a shell will be started to execute the @samp{if@dots{}fi} -command, but actually it will just execute the @code{then} branch, -that is: nothing. In other words, because the witness we selected is -not the first file created by @command{foo}, @command{make} will start -a shell to do nothing each time it is run. +command, but it will just execute the @code{then} branch, that is: +nothing. In other words, because the witness we selected is not the +first file created by @command{foo}, @command{make} will start a shell +to do nothing each time it is run. A simple riposte is to fix the timestamps when this happens. @@ -13036,12 +13160,11 @@ directory in @file{configure}, but if I install files therein, These two setups share their symptoms: @samp{make distcheck} fails because they are installing files to hard-coded paths. In the latter -case the path is not really hard-coded in the package, but we can -consider it to be hard-coded in the system (or in whichever tool that -supplies the path). As long as the path does not use any of the -standard directory variables (@samp{$(prefix)}, @samp{$(bindir)}, -@samp{$(datadir)}, etc.), the effect will be the same: -user-installations are impossible. +case the path is not hard-coded in the package, but we can consider it +to be hard-coded in the system (or in whichever tool that supplies the +path). As long as the path does not use any of the standard directory +variables (@samp{$(prefix)}, @samp{$(bindir)}, @samp{$(datadir)}, +etc.), the effect will be the same: user-installations are impossible. As a (non-root) user who wants to install a package, you usually have no right to install anything in @file{/usr} or @file{/usr/local}. So you @@ -13087,8 +13210,8 @@ non-root users will not be able to install the package; hence distcheck fails. Let's do better. The @samp{sysconfig.get_python_lib()} function -actually accepts a third argument that will replace Python's -installation prefix. +accepts a third argument that will replace Python's installation +prefix. @example % @kbd{python -c 'from distutils import sysconfig; @@ -13135,14 +13258,14 @@ lispdir=`sed -n conftest.out` @end example -I.e., it just picks the first directory that looks like +That is, it just picks the first directory that looks like @file{*/lib/*emacs/site-lisp} or @file{*/share/*emacs/site-lisp} in the search path of emacs, and then substitutes @samp{$@{libdir@}} or @samp{$@{datadir@}} appropriately. The emacs case looks complicated because it processes a list and -expects two possible layouts; otherwise it's easy, and the benefits for -non-root users are really worth the extra @command{sed} invocation. +expects two possible layouts; otherwise it's easy, and the benefits +for non-root users are worth the extra @command{sed} invocation. @node Debugging Make Rules @@ -13162,29 +13285,33 @@ generated by @command{automake} effectively: If less verbose output has been enabled in the package with the use of silent rules (@pxref{Automake Silent Rules}), you can use @code{make V=1} to see the commands being executed. + @item @code{make -n} can help show what would be done without actually doing -it. Note however, that this will @emph{still execute} commands prefixed -with @samp{+}, and, when using GNU @command{make}, commands that contain +it. However, this @emph{still executes} 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}). -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 -@samp{distcheck} rules had a bug in this regard in that they created -directories even with @option{-n}, but this has been fixed in Automake -1.11.} Furthermore, note that GNU @command{make} will update -prerequisites for the @file{Makefile} file itself even with @option{-n} -(@pxref{Remaking Makefiles,,, make, The GNU Make Manual}). +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 @samp{distcheck} rules had +a bug in this regard in that they created directories even with +@option{-n}, but this has been fixed in Automake 1.11.} Furthermore, +note that GNU @command{make} will update prerequisites for the +@file{Makefile} file itself even with @option{-n} (@pxref{Remaking +Makefiles,,, make, The GNU Make Manual}). + @item @code{make SHELL="/bin/bash -vx"} can help debug complex rules. @xref{The Make Macro SHELL,,, autoconf, The Autoconf Manual}, for some portability quirks associated with this construct. + @item @code{echo 'print: ; @@echo "$(VAR)"' | make -f Makefile -f - print} can be handy to examine the expanded value of variables. You may need to use a target other than @samp{print} if that is already used or a file with that name exists. + @item @url{http://bashdb.sourceforge.net/@/remake/} provides a modified GNU @command{make} command called @command{remake} that copes with @@ -13197,38 +13324,37 @@ a debugger. @node Reporting Bugs @section Reporting Bugs -Most nontrivial software has bugs. Automake 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. +@cindex Bugs, reporting +@cindex Reporting bugs -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. +Most nontrivial software has bugs. Automake is no exception. We +cannot promise we can or will fix a bug, and we might not even agree +that it is a bug, but we want to hear about problems you +encounter. Often we agree they are bugs and want to fix them. -Before reporting a bug, it is a good idea to see if it is already known. +So, to make it possible for us to fix a bug, please report it. +If you can, though, it is helpful if you check if it is already known. You can look at the @uref{https://debbugs.gnu.org/, GNU Bug Tracker} and the @uref{https://lists.gnu.org/@/archive/@/html/@/bug-automake/, -bug-automake mailing list archives} for previous bug reports. We +bug-automake mailing list archives} for previous bug reports. (We previously used a Gnats database for bug tracking, but it is no longer -online. +online.) -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 -this, please familiarize yourself with -@uref{https://www.chiark.greenend.org.uk/@/~sgtatham/@/bugs.html, How to -Report Bugs Effectively} and +If the bug is not already known, it should be reported. To report +bugs in a way that is useful and efficient, please read +@uref{https://www.chiark.greenend.org.uk/@/~sgtatham/@/bugs.html, How +to Report Bugs Effectively} and @uref{http://catb.org/@/~esr/@/faqs/@/smart-questions.html, How to Ask -Questions the Smart Way}. This helps you and developers to save time, -which can then be spent on fixing more bugs and implementing more -features. +Questions the Smart Way}. Good bug reports save time for everyone. 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{https://debbugs.gnu.org/@/automake, bug tracker}. Be -sure to include the versions of Autoconf and Automake 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. +sure to include the versions of Autoconf and Automake that you use and +the kind of system you're on. 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. @c ========================================================== Appendices diff --git a/doc/fdl.texi b/doc/fdl.texi index 542edaa..82aa001 100644 --- a/doc/fdl.texi +++ b/doc/fdl.texi @@ -5,7 +5,7 @@ @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +Copyright @copyright{} 2000--2021 Free Software Foundation, Inc. @uref{https://fsf.org/} Everyone is permitted to copy and distribute verbatim copies diff --git a/doc/help2man b/doc/help2man index d20afdb..db8bedf 100755 --- a/doc/help2man +++ b/doc/help2man @@ -1,7 +1,7 @@ #!/usr/bin/perl -w # Generate a short man page from --help and --version output. -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 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 diff --git a/doc/local.mk b/doc/local.mk index 5ba0c00..7bd1f39 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -1,5 +1,5 @@ ## -*- makefile-automake -*- -## Copyright (C) 1995-2020 Free Software Foundation, Inc. +## Copyright (C) 1995-2021 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 diff --git a/doc/stamp-vti b/doc/stamp-vti index 342351f..583ef95 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 19 November 2020 -@set UPDATED-MONTH November 2020 -@set EDITION 1.16.3 -@set VERSION 1.16.3 +@set UPDATED 16 July 2021 +@set UPDATED-MONTH July 2021 +@set EDITION 1.16.4 +@set VERSION 1.16.4 diff --git a/doc/version.texi b/doc/version.texi index 342351f..583ef95 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 19 November 2020 -@set UPDATED-MONTH November 2020 -@set EDITION 1.16.3 -@set VERSION 1.16.3 +@set UPDATED 16 July 2021 +@set UPDATED-MONTH July 2021 +@set EDITION 1.16.4 +@set VERSION 1.16.4 diff --git a/gen-testsuite-part b/gen-testsuite-part index 2e3d95b..5c88103 100755 --- a/gen-testsuite-part +++ b/gen-testsuite-part @@ -3,7 +3,7 @@ # of the Automake testsuite. Also, automatically generate some more # tests from them (for particular cases/setups only). -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 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 diff --git a/lib/Automake/ChannelDefs.pm b/lib/Automake/ChannelDefs.pm index e9aaf2f..c53cfb0 100644 --- a/lib/Automake/ChannelDefs.pm +++ b/lib/Automake/ChannelDefs.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 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 diff --git a/lib/Automake/Channels.pm b/lib/Automake/Channels.pm index 02f03f8..5e1f30a 100644 --- a/lib/Automake/Channels.pm +++ b/lib/Automake/Channels.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 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 diff --git a/lib/Automake/Condition.pm b/lib/Automake/Condition.pm index 437a5c7..71e5c85 100644 --- a/lib/Automake/Condition.pm +++ b/lib/Automake/Condition.pm @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 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 diff --git a/lib/Automake/Config.in b/lib/Automake/Config.in index d44e0ab..d529f1b 100644 --- a/lib/Automake/Config.in +++ b/lib/Automake/Config.in @@ -1,5 +1,5 @@ # -*- Perl -*- -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 Free Software Foundation, Inc. # @configure_input@ # This program is free software; you can redistribute it and/or modify diff --git a/lib/Automake/Configure_ac.pm b/lib/Automake/Configure_ac.pm index bc501b1..0bbce03 100644 --- a/lib/Automake/Configure_ac.pm +++ b/lib/Automake/Configure_ac.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/DisjConditions.pm b/lib/Automake/DisjConditions.pm index 164e488..c06165d 100644 --- a/lib/Automake/DisjConditions.pm +++ b/lib/Automake/DisjConditions.pm @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 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 diff --git a/lib/Automake/FileUtils.pm b/lib/Automake/FileUtils.pm index 0285165..d66386a 100644 --- a/lib/Automake/FileUtils.pm +++ b/lib/Automake/FileUtils.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/General.pm b/lib/Automake/General.pm index 59efd21..93022b5 100644 --- a/lib/Automake/General.pm +++ b/lib/Automake/General.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 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 diff --git a/lib/Automake/Getopt.pm b/lib/Automake/Getopt.pm index d5910ab..f717dd4 100644 --- a/lib/Automake/Getopt.pm +++ b/lib/Automake/Getopt.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2020 Free Software Foundation, Inc. +# Copyright (C) 2012-2021 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 diff --git a/lib/Automake/Item.pm b/lib/Automake/Item.pm index aee23e7..f307f65 100644 --- a/lib/Automake/Item.pm +++ b/lib/Automake/Item.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/ItemDef.pm b/lib/Automake/ItemDef.pm index 995fb11..1d14feb 100644 --- a/lib/Automake/ItemDef.pm +++ b/lib/Automake/ItemDef.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/Language.pm b/lib/Automake/Language.pm index b85e0fa..f842583 100644 --- a/lib/Automake/Language.pm +++ b/lib/Automake/Language.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2020 Free Software Foundation, Inc. +# Copyright (C) 2013-2021 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 diff --git a/lib/Automake/Location.pm b/lib/Automake/Location.pm index 611cd02..3272418 100644 --- a/lib/Automake/Location.pm +++ b/lib/Automake/Location.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 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 diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm index b846fee..2281633 100644 --- a/lib/Automake/Options.pm +++ b/lib/Automake/Options.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 @@ -283,6 +283,7 @@ sub _is_valid_easy_option ($) no-define no-dependencies no-dist + no-dist-built-sources no-dist-gzip no-exeext no-installinfo diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm index 5336422..8220f04 100644 --- a/lib/Automake/Rule.pm +++ b/lib/Automake/Rule.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/RuleDef.pm b/lib/Automake/RuleDef.pm index 73929da..5432651 100644 --- a/lib/Automake/RuleDef.pm +++ b/lib/Automake/RuleDef.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/VarDef.pm b/lib/Automake/VarDef.pm index 3bde2e1..a566249 100644 --- a/lib/Automake/VarDef.pm +++ b/lib/Automake/VarDef.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm index 32db936..4227baa 100644 --- a/lib/Automake/Variable.pm +++ b/lib/Automake/Variable.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/Version.pm b/lib/Automake/Version.pm index 16cdfb6..4e6d050 100644 --- a/lib/Automake/Version.pm +++ b/lib/Automake/Version.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 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 diff --git a/lib/Automake/Wrap.pm b/lib/Automake/Wrap.pm index 639996d..7abd75c 100644 --- a/lib/Automake/Wrap.pm +++ b/lib/Automake/Wrap.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 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 diff --git a/lib/Automake/XFile.pm b/lib/Automake/XFile.pm index d0cf32c..1db768b 100644 --- a/lib/Automake/XFile.pm +++ b/lib/Automake/XFile.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 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 diff --git a/lib/Automake/local.mk b/lib/Automake/local.mk index a117c71..9a9bacd 100644 --- a/lib/Automake/local.mk +++ b/lib/Automake/local.mk @@ -1,5 +1,5 @@ ## -*- makefile-automake -*- -## Copyright (C) 1995-2020 Free Software Foundation, Inc. +## Copyright (C) 1995-2021 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 diff --git a/lib/INSTALL b/lib/INSTALL index 8865734..e82fd21 100644 --- a/lib/INSTALL +++ b/lib/INSTALL @@ -1,8 +1,8 @@ Installation Instructions ************************* - Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software -Foundation, Inc. + Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free +Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -225,7 +225,7 @@ order to use an ANSI C compiler: and if that doesn't work, install pre-built binaries of GCC for HP-UX. - HP-UX 'make' updates targets which have the same time stamps as their + HP-UX 'make' updates targets which have the same timestamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. diff --git a/lib/am/check.am b/lib/am/check.am index 4497087..3208d1e 100644 --- a/lib/am/check.am +++ b/lib/am/check.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 diff --git a/lib/am/check2.am b/lib/am/check2.am index d874b80..ca4f6de 100644 --- a/lib/am/check2.am +++ b/lib/am/check2.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2008-2020 Free Software Foundation, Inc. +## Copyright (C) 2008-2021 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 diff --git a/lib/am/clean-hdr.am b/lib/am/clean-hdr.am index 64c1fbc..622b25c 100644 --- a/lib/am/clean-hdr.am +++ b/lib/am/clean-hdr.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/clean.am b/lib/am/clean.am index b9793cf..1da4055 100644 --- a/lib/am/clean.am +++ b/lib/am/clean.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/compile.am b/lib/am/compile.am index 5fd17c9..7b96174 100644 --- a/lib/am/compile.am +++ b/lib/am/compile.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/configure.am b/lib/am/configure.am index f207c94..61d3778 100644 --- a/lib/am/configure.am +++ b/lib/am/configure.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 diff --git a/lib/am/data.am b/lib/am/data.am index 01f2ce8..4f4331e 100644 --- a/lib/am/data.am +++ b/lib/am/data.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.am index 6fa42c6..8b5c1af 100644 --- a/lib/am/dejagnu.am +++ b/lib/am/dejagnu.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/depend.am b/lib/am/depend.am index b28c27d..9278487 100644 --- a/lib/am/depend.am +++ b/lib/am/depend.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/depend2.am b/lib/am/depend2.am index 4204c44..0b88a48 100644 --- a/lib/am/depend2.am +++ b/lib/am/depend2.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/distdir.am b/lib/am/distdir.am index 774d08b..9bd3028 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 @@ -75,8 +75,13 @@ if %?SUBDIRS% AM_RECURSIVE_TARGETS += distdir distdir-am endif %?SUBDIRS% +if %?DIST_BUILT_SOURCES% +distdir: + $(MAKE) $(AM_MAKEFLAGS) distdir-am +else !%?DIST_BUILT_SOURCES% distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am +endif !%?DIST_BUILT_SOURCES% distdir-am: $(DISTFILES) ## diff --git a/lib/am/footer.am b/lib/am/footer.am index 5aa0423..2fcef98 100644 --- a/lib/am/footer.am +++ b/lib/am/footer.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am index 5209886..f4a0102 100644 --- a/lib/am/header-vars.am +++ b/lib/am/header-vars.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/header.am b/lib/am/header.am index 887612e..0bfbb56 100644 --- a/lib/am/header.am +++ b/lib/am/header.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/inst-vars.am b/lib/am/inst-vars.am index c0396ef..fe1708f 100644 --- a/lib/am/inst-vars.am +++ b/lib/am/inst-vars.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2004-2020 Free Software Foundation, Inc. +## Copyright (C) 2004-2021 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 diff --git a/lib/am/install.am b/lib/am/install.am index 8066def..7bbc102 100644 --- a/lib/am/install.am +++ b/lib/am/install.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 diff --git a/lib/am/java.am b/lib/am/java.am index 768ab5c..b95f65d 100644 --- a/lib/am/java.am +++ b/lib/am/java.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1998-2020 Free Software Foundation, Inc. +## Copyright (C) 1998-2021 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 diff --git a/lib/am/lang-compile.am b/lib/am/lang-compile.am index 7288267..346e841 100644 --- a/lib/am/lang-compile.am +++ b/lib/am/lang-compile.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 diff --git a/lib/am/lex.am b/lib/am/lex.am index c3604b1..cdcf563 100644 --- a/lib/am/lex.am +++ b/lib/am/lex.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2001-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2021 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 diff --git a/lib/am/library.am b/lib/am/library.am index f5efc99..10b5364 100644 --- a/lib/am/library.am +++ b/lib/am/library.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/libs.am b/lib/am/libs.am index 06a9042..3805c1d 100644 --- a/lib/am/libs.am +++ b/lib/am/libs.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/libtool.am b/lib/am/libtool.am index e9b1bd1..51a978a 100644 --- a/lib/am/libtool.am +++ b/lib/am/libtool.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/lisp.am b/lib/am/lisp.am index 705181c..6029ee3 100644 --- a/lib/am/lisp.am +++ b/lib/am/lisp.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1996-2020 Free Software Foundation, Inc. +## Copyright (C) 1996-2021 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 diff --git a/lib/am/local.mk b/lib/am/local.mk index 4070c36..8e554b8 100644 --- a/lib/am/local.mk +++ b/lib/am/local.mk @@ -1,5 +1,5 @@ ## -*- makefile-automake -*- -## Copyright (C) 1995-2020 Free Software Foundation, Inc. +## Copyright (C) 1995-2021 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 diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am index 5608940..a19473e 100644 --- a/lib/am/ltlib.am +++ b/lib/am/ltlib.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/ltlibrary.am b/lib/am/ltlibrary.am index 5e5f6ca..a89f5ff 100644 --- a/lib/am/ltlibrary.am +++ b/lib/am/ltlibrary.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/mans-vars.am b/lib/am/mans-vars.am index 6b5e0d2..6d3d3cf 100644 --- a/lib/am/mans-vars.am +++ b/lib/am/mans-vars.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/mans.am b/lib/am/mans.am index cd23278..a209720 100644 --- a/lib/am/mans.am +++ b/lib/am/mans.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1998-2020 Free Software Foundation, Inc. +## Copyright (C) 1998-2021 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 diff --git a/lib/am/program.am b/lib/am/program.am index 9a243b3..9d78546 100644 --- a/lib/am/program.am +++ b/lib/am/program.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/progs.am b/lib/am/progs.am index 79704c1..29ae651 100644 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/python.am b/lib/am/python.am index 6346a7e..a69dd81 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1999-2020 Free Software Foundation, Inc. +## Copyright (C) 1999-2021 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 diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am index 775ef52..0d9f4cd 100644 --- a/lib/am/remake-hdr.am +++ b/lib/am/remake-hdr.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/scripts.am b/lib/am/scripts.am index 794df03..845d349 100644 --- a/lib/am/scripts.am +++ b/lib/am/scripts.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/subdirs.am b/lib/am/subdirs.am index 55e7ef6..fe3f297 100644 --- a/lib/am/subdirs.am +++ b/lib/am/subdirs.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/tags.am b/lib/am/tags.am index a485ff8..b2fc6fe 100644 --- a/lib/am/tags.am +++ b/lib/am/tags.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 @@ -45,7 +45,6 @@ ID: $(am__tagged_files) ## TAGS. ## ## ------ ## -ETAGS = etags .PHONY: TAGS tags if %?SUBDIRS% AM_RECURSIVE_TARGETS += TAGS @@ -101,7 +100,6 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ## vi-style tags. ## ## --------------- ## -CTAGS = ctags .PHONY: CTAGS ctags if %?SUBDIRS% AM_RECURSIVE_TARGETS += CTAGS @@ -136,7 +134,6 @@ GTAGS: ## ------- ## if %?TOPDIR_P% -CSCOPE = cscope .PHONY: cscope clean-cscope AM_RECURSIVE_TARGETS += cscope cscope: cscope.files diff --git a/lib/am/texi-vers.am b/lib/am/texi-vers.am index 6803bd1..b2d3081 100644 --- a/lib/am/texi-vers.am +++ b/lib/am/texi-vers.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am index 0c5e539..fdccf66 100644 --- a/lib/am/texibuild.am +++ b/lib/am/texibuild.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index e9f7bb9..4cb8af7 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -1,6 +1,6 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994-2020 Free Software Foundation, Inc. +## Copyright (C) 1994-2021 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 diff --git a/lib/am/vala.am b/lib/am/vala.am index 81666a7..980ac1f 100644 --- a/lib/am/vala.am +++ b/lib/am/vala.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 2008-2020 Free Software Foundation, Inc. +## Copyright (C) 2008-2021 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 diff --git a/lib/am/yacc.am b/lib/am/yacc.am index 1d76cb6..8d83211 100644 --- a/lib/am/yacc.am +++ b/lib/am/yacc.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1998-2020 Free Software Foundation, Inc. +## Copyright (C) 1998-2021 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 diff --git a/lib/ar-lib b/lib/ar-lib index 1e9388e..c349042 100755 --- a/lib/ar-lib +++ b/lib/ar-lib @@ -4,7 +4,7 @@ me=ar-lib scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2020 Free Software Foundation, Inc. +# Copyright (C) 2010-2021 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify diff --git a/lib/compile b/lib/compile index 23fcba0..df363c8 100755 --- a/lib/compile +++ b/lib/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify diff --git a/lib/config.guess b/lib/config.guess index 0fc11ed..e81d3ae 100755 --- a/lib/config.guess +++ b/lib/config.guess @@ -1,8 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2020-11-07' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-06-03' # 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 @@ -27,12 +29,20 @@ timestamp='2020-11-07' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . -me=$(echo "$0" | sed -e 's,.*/,,') +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] @@ -50,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,6 +94,9 @@ if test $# != 0; then exit 1 fi +# Just in case it came from the environment. +GUESS= + # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -102,8 +115,8 @@ set_cc_for_build() { # prevent multiple calls if $tmp is already set test "$tmp" && return 0 : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 - { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } @@ -112,7 +125,7 @@ set_cc_for_build() { ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" + CC_FOR_BUILD=$driver break fi done @@ -131,16 +144,14 @@ if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi -UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown -UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown -UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown -UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "$UNAME_SYSTEM" in +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" @@ -149,22 +160,37 @@ Linux|GNU|GNU/*) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu #else #include + /* First heuristic to detect musl libc. */ #ifdef __DEFINED_va_list LIBC=musl - #else - LIBC=gnu #endif #endif EOF - eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -176,12 +202,11 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)) - case "$UNAME_MACHINE_ARCH" in + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; @@ -189,15 +214,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') - endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') - machine="${arch}${endian}"-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; @@ -218,10 +243,10 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in ;; esac # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -229,76 +254,82 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in + case $UNAME_VERSION in Debian*) release='-gnu' ;; *) - release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; *:OS108:*:*) - echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; *:Twizzler:*:*) - echo "$UNAME_MACHINE"-unknown-twizzler - exit ;; + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + GUESS=mips-dec-osf1 + ;; alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 case $UNAME_RELEASE in *4.0) - UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) - case "$ALPHA_CPU_TYPE" in + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") @@ -335,68 +366,69 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; + GUESS=m68k-unknown-sysv4 + ;; *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; + GUESS=$UNAME_MACHINE-unknown-morphos + ;; *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; + GUESS=i370-ibm-openedition + ;; *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; + GUESS=s390-ibm-zvmoe + ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + GUESS=powerpc-ibm-os400 + ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + GUESS=arm-unknown-riscos + ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; + GUESS=hppa1.1-hitachi-hiuxmpp + ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "$( (/bin/universe) 2>/dev/null)" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; + GUESS=pyramid-pyramid-svr4 + ;; DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; + GUESS=sparc-icl-nx6 + ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case $(/usr/bin/uname -p) in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) set_cc_for_build SUN_ARCH=i386 @@ -411,41 +443,44 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in SUN_ARCH=x86_64 fi fi - echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; sun4*:SunOS:*:*) - case "$(/usr/bin/arch -k)" in + case `/usr/bin/arch -k` in Series*|S4*) - UNAME_RELEASE=$(uname -v) + UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "$(/bin/arch)" in + case `/bin/arch` in sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" + GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" + GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac - exit ;; + ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -455,41 +490,41 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; + GUESS=mips-dec-mach_bsd4.3 + ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -514,78 +549,79 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && - SYSTEM_NAME=$("$dummy" "$dummyarg") && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; + GUESS=powerpc-motorola-powermax + ;; Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; + GUESS=powerpc-harris-powerunix + ;; m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; + GUESS=m88k-harris-cxux7 + ;; m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; + GUESS=m88k-motorola-sysv4 + ;; m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=$(/usr/bin/uname -p) + UNAME_PROCESSOR=`/usr/bin/uname -p` if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ test "$TARGET_BINARY_INTERFACE"x = x then - echo m88k-dg-dgux"$UNAME_RELEASE" + GUESS=m88k-dg-dgux$UNAME_RELEASE else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else - echo i586-dg-dgux"$UNAME_RELEASE" + GUESS=i586-dg-dgux$UNAME_RELEASE fi - exit ;; + ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; + GUESS=m88k-dolphin-sysv3 + ;; M88*:*:R3*:*) # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; + GUESS=m88k-tektronix-sysv3 + ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; + GUESS=m68k-tektronix-bsd + ;; *:IRIX*:*:*) - echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" - exit ;; + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; + GUESS=i386-ibm-aix + ;; ia64:AIX:*:*) if test -x /usr/bin/oslevel ; then - IBM_REV=$(/usr/bin/oslevel) + IBM_REV=`/usr/bin/oslevel` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build @@ -600,68 +636,68 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then - echo "$SYSTEM_NAME" + GUESS=$SYSTEM_NAME else - echo rs6000-ibm-aix3.2.5 + GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 + GUESS=rs6000-ibm-aix3.2.4 else - echo rs6000-ibm-aix3.2 + GUESS=rs6000-ibm-aix3.2 fi - exit ;; + ;; *:AIX:*:[4567]) - IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if test -x /usr/bin/lslpp ; then - IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + GUESS=romp-ibm-bsd4.4 + ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; + GUESS=rs6000-bull-bosx + ;; DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; + GUESS=m68k-bull-sysv3 + ;; 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; + GUESS=m68k-hp-bsd + ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; + GUESS=m68k-hp-bsd4.4 + ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') - case "$UNAME_MACHINE" in + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if test -x /usr/bin/getconf; then - sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) - sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) - case "$sc_cpu_version" in + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in + case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 @@ -703,7 +739,7 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac @@ -728,12 +764,12 @@ EOF HP_ARCH=hppa64 fi fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; ia64:HP-UX:*:*) - HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') - echo ia64-hp-hpux"$HPUX_REV" - exit ;; + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -761,38 +797,38 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + GUESS=hppa1.1-hp-bsd + ;; 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; + GUESS=hppa1.0-hp-bsd + ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + GUESS=hppa1.1-hp-osf + ;; hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; + GUESS=hppa1.0-hp-osf + ;; i*86:OSF1:*:*) if test -x /usr/sbin/sysversion ; then - echo "$UNAME_MACHINE"-unknown-osf1mk + GUESS=$UNAME_MACHINE-unknown-osf1mk else - echo "$UNAME_MACHINE"-unknown-osf1 + GUESS=$UNAME_MACHINE-unknown-osf1 fi - exit ;; + ;; parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; + GUESS=hppa1.1-hp-lites + ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; + GUESS=c1-convex-bsd + ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd @@ -800,17 +836,18 @@ EOF fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; + GUESS=c34-convex-bsd + ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; + GUESS=c38-convex-bsd + ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; + GUESS=c4-convex-bsd + ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ @@ -818,114 +855,126 @@ EOF -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) - FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') - FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') - FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; arm:FreeBSD:*:*) - UNAME_PROCESSOR=$(uname -p) + UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi - exit ;; + ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=$(/usr/bin/uname -p) - case "$UNAME_PROCESSOR" in + UNAME_PROCESSOR=`/usr/bin/uname -p` + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" - exit ;; + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; + GUESS=$UNAME_MACHINE-pc-cygwin + ;; *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + GUESS=$UNAME_MACHINE-pc-msys + ;; i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-pw32 + ;; *:Interix*:*) - case "$UNAME_MACHINE" in + case $UNAME_MACHINE in x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; + GUESS=i586-pc-interix$UNAME_RELEASE + ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; esac ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin - exit ;; + GUESS=x86_64-pc-cygwin + ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; *:GNU:*:*) # the GNU system - echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" - exit ;; + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" - exit ;; + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; alpha:Linux:*:*) - case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -936,60 +985,63 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 @@ -1034,65 +1086,66 @@ EOF #endif #endif EOF - eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; + GUESS=hppa64-unknown-linux-$LIBC + ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level - case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; esac - exit ;; + ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) set_cc_for_build LIBCABI=$LIBC @@ -1101,71 +1154,71 @@ EOF (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_X32 >/dev/null then - LIBCABI="$LIBC"x32 + LIBCABI=${LIBC}x32 fi fi - echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; + GUESS=i386-sequent-sysv4 + ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; + GUESS=$UNAME_MACHINE-unknown-stop + ;; i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; + GUESS=$UNAME_MACHINE-unknown-atheos + ;; i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; + GUESS=$UNAME_MACHINE-pc-syllable + ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; i*86:*:4.*:*) - UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi - exit ;; + ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. - case $(/bin/uname -X | grep "^Machine") in + case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" - exit ;; + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then - UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 @@ -1173,11 +1226,11 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv32 + GUESS=$UNAME_MACHINE-pc-sysv32 fi - exit ;; + ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1185,37 +1238,37 @@ EOF # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; + GUESS=i586-pc-msdosdjgpp + ;; Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; + GUESS=i386-pc-mach3 + ;; paragon:*:*:*) - echo i860-intel-osf1 - exit ;; + GUESS=i860-intel-osf1 + ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi - exit ;; + ;; mini*:CTIX:SYS*5:*) # "miniframe" - echo m68010-convergent-sysv - exit ;; + GUESS=m68010-convergent-sysv + ;; mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; + GUESS=m68k-convergent-sysv + ;; M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; + GUESS=m68k-diab-dnix + ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ - && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ @@ -1226,7 +1279,7 @@ EOF NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ - && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ @@ -1234,118 +1287,118 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; + GUESS=m68k-atari-sysv4 + ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=$( (uname -p) 2>/dev/null) - echo "$UNAME_MACHINE"-sni-sysv4 + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 else - echo ns32k-sni-sysv + GUESS=ns32k-sni-sysv fi - exit ;; + ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; + GUESS=hppa1.1-stratus-sysv4 + ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; + GUESS=i860-stratus-sysv4 + ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; + GUESS=$UNAME_MACHINE-stratus-vos + ;; *:VOS:*:*) # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; + GUESS=hppa1.1-stratus-vos + ;; mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; + GUESS=mips-sony-newsos6 + ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if test -d /usr/nec; then - echo mips-nec-sysv"$UNAME_RELEASE" + GUESS=mips-nec-sysv$UNAME_RELEASE else - echo mips-unknown-sysv"$UNAME_RELEASE" + GUESS=mips-unknown-sysv$UNAME_RELEASE fi - exit ;; + ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; + GUESS=powerpc-be-beos + ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; + GUESS=powerpc-apple-beos + ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; + GUESS=i586-pc-beos + ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; + GUESS=i586-pc-haiku + ;; x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=x86_64-unknown-haiku + ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; arm64:Darwin:*:*) - echo aarch64-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; *:Darwin:*:*) - UNAME_PROCESSOR=$(uname -p) + UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac @@ -1379,109 +1432,116 @@ EOF # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=$(uname -p) + UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; *:QNX:*:4*) - echo i386-pc-qnx - exit ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; + GUESS=mips-compaq-nonstopux + ;; BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; + GUESS=bs2000-siemens-sysv + ;; DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - # shellcheck disable=SC2154 - if test "$cputype" = 386; then + if test "${cputype-}" = 386; then UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; + GUESS=pdp10-unknown-tops10 + ;; *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; + GUESS=pdp10-unknown-tenex + ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; + GUESS=pdp10-dec-tops20 + ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; + GUESS=pdp10-xkl-tops20 + ;; *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; + GUESS=pdp10-unknown-tops20 + ;; *:ITS:*:*) - echo pdp10-unknown-its - exit ;; + GUESS=pdp10-unknown-its + ;; SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" - exit ;; + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; *:*VMS:*:*) - UNAME_MACHINE=$( (uname -p) 2>/dev/null) - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; + GUESS=i386-pc-xenix + ;; i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" - exit ;; + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; + GUESS=$UNAME_MACHINE-pc-rdos + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; + GUESS=$UNAME_MACHINE-unknown-esx + ;; amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" </dev/null); + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else @@ -1613,7 +1673,7 @@ main () } EOF -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. @@ -1621,7 +1681,7 @@ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null || echo unknown) -uname -r = $( (uname -r) 2>/dev/null || echo unknown) -uname -s = $( (uname -s) 2>/dev/null || echo unknown) -uname -v = $( (uname -v) 2>/dev/null || echo unknown) +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` -/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) -/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` -hostinfo = $( (hostinfo) 2>/dev/null) -/bin/universe = $( (/bin/universe) 2>/dev/null) -/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) -/bin/arch = $( (/bin/arch) 2>/dev/null) -/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) -/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" diff --git a/lib/config.sub b/lib/config.sub index c874b7a..d80c5d7 100755 --- a/lib/config.sub +++ b/lib/config.sub @@ -1,8 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2020-11-07' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-07-03' # 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 @@ -33,7 +35,7 @@ timestamp='2020-11-07' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -50,7 +52,14 @@ timestamp='2020-11-07' # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. -me=$(echo "$0" | sed -e 's,.*/,,') +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS @@ -67,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -769,22 +778,22 @@ case $basic_machine in vendor=hp ;; i*86v32) - cpu=$(echo "$1" | sed -e 's/86.*/86/') + cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv32 ;; i*86v4*) - cpu=$(echo "$1" | sed -e 's/86.*/86/') + cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv4 ;; i*86v) - cpu=$(echo "$1" | sed -e 's/86.*/86/') + cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv ;; i*86sol2) - cpu=$(echo "$1" | sed -e 's/86.*/86/') + cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=solaris2 ;; @@ -917,7 +926,7 @@ case $basic_machine in ;; leon-*|leon[3-9]-*) cpu=sparc - vendor=$(echo "$basic_machine" | sed 's/-.*//') + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; *-*) @@ -1084,7 +1093,7 @@ case $cpu-$vendor in cpu=mipsisa64sb1el ;; sh5e[lb]-*) - cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/') + cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` ;; spur-*) cpu=spur @@ -1102,7 +1111,7 @@ case $cpu-$vendor in cpu=x86_64 ;; xscale-* | xscalee[bl]-*) - cpu=$(echo "$cpu" | sed 's/^xscale/arm/') + cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; arm64-*) cpu=aarch64 @@ -1165,7 +1174,7 @@ case $cpu-$vendor in | alphapca5[67] | alpha64pca5[67] \ | am33_2.0 \ | amdgcn \ - | arc | arceb \ + | arc | arceb | arc32 | arc64 \ | arm | arm[lb]e | arme[lb] | armv* \ | avr | avr32 \ | asmjs \ @@ -1185,6 +1194,7 @@ case $cpu-$vendor in | k1om \ | le32 | le64 \ | lm32 \ + | loongarch32 | loongarch64 | loongarchx32 \ | m32c | m32r | m32rle \ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ @@ -1203,9 +1213,13 @@ case $cpu-$vendor in | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r3 | mipsisa32r3el \ + | mipsisa32r5 | mipsisa32r5el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r3 | mipsisa64r3el \ + | mipsisa64r5 | mipsisa64r5el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ @@ -1229,7 +1243,7 @@ case $cpu-$vendor in | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | pru \ | pyramid \ - | riscv | riscv32 | riscv64 \ + | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ | rl78 | romp | rs6000 | rx \ | s390 | s390x \ | score \ @@ -1241,6 +1255,7 @@ case $cpu-$vendor in | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ | spu \ | tahoe \ + | thumbv7* \ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ | tron \ | ubicom32 \ @@ -1286,15 +1301,15 @@ then case $basic_os in gnu/linux*) kernel=linux - os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|') + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` ;; os2-emx) kernel=os2 - os=$(echo $basic_os | sed -e 's|os2-emx|emx|') + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` ;; nto-qnx*) kernel=nto - os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|') + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` ;; *-*) # shellcheck disable=SC2162 @@ -1305,11 +1320,11 @@ EOF # Default OS when just kernel was specified nto*) kernel=nto - os=$(echo $basic_os | sed -e 's|nto|qnx|') + os=`echo "$basic_os" | sed -e 's|nto|qnx|'` ;; linux*) kernel=linux - os=$(echo $basic_os | sed -e 's|linux|gnu|') + os=`echo "$basic_os" | sed -e 's|linux|gnu|'` ;; *) kernel= @@ -1330,7 +1345,7 @@ case $os in os=cnk ;; solaris1 | solaris1.*) - os=$(echo $os | sed -e 's|solaris1|sunos4|') + os=`echo "$os" | sed -e 's|solaris1|sunos4|'` ;; solaris) os=solaris2 @@ -1359,7 +1374,7 @@ case $os in os=sco3.2v4 ;; sco3.2.[4-9]*) - os=$(echo $os | sed -e 's/sco3.2./sco3.2v/') + os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` ;; sco*v* | scout) # Don't match below @@ -1389,7 +1404,7 @@ case $os in os=lynxos ;; mac[0-9]*) - os=$(echo "$os" | sed -e 's|mac|macos|') + os=`echo "$os" | sed -e 's|mac|macos|'` ;; opened*) os=openedition @@ -1398,10 +1413,10 @@ case $os in os=os400 ;; sunos5*) - os=$(echo "$os" | sed -e 's|sunos5|solaris2|') + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; sunos6*) - os=$(echo "$os" | sed -e 's|sunos6|solaris3|') + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; wince*) os=wince @@ -1435,7 +1450,7 @@ case $os in ;; # Preserve the version number of sinix5. sinix5.*) - os=$(echo $os | sed -e 's|sinix|sysv|') + os=`echo "$os" | sed -e 's|sinix|sysv|'` ;; sinix*) os=sysv4 @@ -1681,11 +1696,14 @@ fi # Now, validate our (potentially fixed-up) OS. case $os in - # Sometimes we do "kernel-abi", so those need to count as OSes. + # Sometimes we do "kernel-libc", so those need to count as OSes. musl* | newlib* | uclibc*) ;; - # Likewise for "kernel-libc" - eabi | eabihf | gnueabi | gnueabihf) + # Likewise for "kernel-abi" + eabi* | gnueabi*) + ;; + # VxWorks passes extra cpu info in the 4th filed. + simlinux | simwindows | spe) ;; # Now accept the basic system types. # The portable systems comes first. @@ -1702,12 +1720,12 @@ case $os in | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | mirbsd* | netbsd* | dicos* | openedition* | ose* \ - | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ + | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ | udi* | lites* | ieee* | go32* | aux* | hcos* \ - | chorusrdb* | cegcc* | glidix* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ | midipix* | mingw32* | mingw64* | mint* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ @@ -1749,6 +1767,8 @@ case $kernel-$os in ;; kfreebsd*-gnu* | kopensolaris*-gnu*) ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; nto-qnx*) ;; os2-emx) diff --git a/lib/depcomp b/lib/depcomp index 6b39162..715e343 100755 --- a/lib/depcomp +++ b/lib/depcomp @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 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 diff --git a/lib/gendocs.sh b/lib/gendocs.sh index dec8eb9..1241ee3 100755 --- a/lib/gendocs.sh +++ b/lib/gendocs.sh @@ -2,9 +2,9 @@ # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage details. -scriptversion=2020-01-01.00 +scriptversion=2021-07-19.18 -# Copyright 2003-2020 Free Software Foundation, Inc. +# Copyright 2003-2021 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 @@ -58,7 +58,7 @@ EMAIL=webmasters@gnu.org # please override with --email commonarg= # passed to all makeinfo/texi2html invcations. dirargs= # passed to all tools (-I dir). dirs= # -I directories. -htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" +htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" default_htmlarg=true infoarg=--no-split generate_ascii=true @@ -73,7 +73,7 @@ texarg="-t @finalout" version="gendocs.sh $scriptversion -Copyright 2020 Free Software Foundation, Inc. +Copyright 2021 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING." @@ -202,7 +202,7 @@ base=$PACKAGE if $default_htmlarg && test -n "$use_texi2html"; then # The legacy texi2html doesn't support TOP_NODE_UP_URL - htmlarg="--css-ref=/software/gnulib/manual.css" + htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css" fi if test -n "$srcfile"; then diff --git a/lib/gendocs_template b/lib/gendocs_template index ee26d33..cd9ac38 100644 --- a/lib/gendocs_template +++ b/lib/gendocs_template @@ -2,7 +2,7 @@