From 162dce46626312298e1294198669c170c4175021 Mon Sep 17 00:00:00 2001 From: wenyuzifang Date: Thu, 18 Sep 2025 11:57:02 +0800 Subject: [PATCH] Update code from upstream --- ...t-noinst_PYTHON-preceding-foo_PYTHON.patch | 58 + ...ck-for-PEP-3147-induced-by-Python-3..patch | 32 + ...st-avoid-apostrophe-in-test-document.patch | 51 + ...efaults-error-in-link_cond-due-to-ma.patch | 31 + ...sure-make_ok-fails-when-run_make-fai.patch | 34 + automake.spec | 31 +- fort2.patch | 16 + ...ry-to-prevent-flex-to-include-unistd.patch | 1184 +++++++++++++++++ ...implicit-function-declaration-errors.patch | 265 ++++ ...licit-function-declaration-in-ax-dep.patch | 58 + 10 files changed, 1758 insertions(+), 2 deletions(-) create mode 100644 0001-python-support-noinst_PYTHON-preceding-foo_PYTHON.patch create mode 100644 0001-test-another-check-for-PEP-3147-induced-by-Python-3..patch create mode 100644 0001-test-avoid-apostrophe-in-test-document.patch create mode 100644 0001-tests-Fix-type-defaults-error-in-link_cond-due-to-ma.patch create mode 100644 0001-tests-depcomp-ensure-make_ok-fails-when-run_make-fai.patch create mode 100644 fort2.patch create mode 100644 v2-0001-tests-Don-t-try-to-prevent-flex-to-include-unistd.patch create mode 100644 v2-0002-tests-Fix-implicit-function-declaration-errors.patch create mode 100644 v3-0003-tests-Fix-implicit-function-declaration-in-ax-dep.patch diff --git a/0001-python-support-noinst_PYTHON-preceding-foo_PYTHON.patch b/0001-python-support-noinst_PYTHON-preceding-foo_PYTHON.patch new file mode 100644 index 0000000..5d60b9a --- /dev/null +++ b/0001-python-support-noinst_PYTHON-preceding-foo_PYTHON.patch @@ -0,0 +1,58 @@ +From ab347652df9ff8f65ba1be6aaa357cf3c2b16dca Mon Sep 17 00:00:00 2001 +From: Bogdan +Date: Wed, 5 Jul 2023 08:59:29 -0700 +Subject: [PATCH] python: support noinst_PYTHON preceding foo_PYTHON. + +This change fixes https://bugs.gnu.org/24507. + +* lib/am/python.am (am__pep3147_tweak): remove conditional +on %?INSTALL%. +* t/python-pr10995.sh: test with make uninstall. +--- + lib/am/python.am | 4 ++-- + t/python-pr10995.sh | 6 ++++++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/lib/am/python.am b/lib/am/python.am +index 98f95af1b..19f268efc 100644 +--- a/lib/am/python.am ++++ b/lib/am/python.am +@@ -94,11 +94,11 @@ endif %?INSTALL% + ## Uninstalling. ## + ## -------------- ## + +-if %?INSTALL% +- + ?FIRST?am__pep3147_tweak = \ + ?FIRST? sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.pyc __pycache__/&.*.pyo|' + ++if %?INSTALL% ++ + .PHONY uninstall-am: uninstall-%DIR%PYTHON + uninstall-%DIR%PYTHON: + @$(NORMAL_UNINSTALL) +diff --git a/t/python-pr10995.sh b/t/python-pr10995.sh +index 324be916e..abeb8a124 100644 +--- a/t/python-pr10995.sh ++++ b/t/python-pr10995.sh +@@ -17,6 +17,9 @@ + # Test automake bug#10995: am__py_compile doesn't get correctly defined + # when there a 'noinst_PYTHON' declaration precedes a 'foo_PYTHON' + # declaration. ++# Test also automake bug#24507: am__pep3147_tweak doesn't get correctly ++# defined when there a 'noinst_PYTHON' declaration precedes a 'foo_PYTHON' ++# declaration and 'make uninstall' fails functionally (just shows errors). + + required=python + . test-init.sh +@@ -53,4 +56,7 @@ py_installed --not inst/py/no.pyc + + $MAKE disttest + ++LC_ALL=C run_make -M uninstall ++grep 'command substitution' output && exit 1 ++ + : +-- +2.47.0 + diff --git a/0001-test-another-check-for-PEP-3147-induced-by-Python-3..patch b/0001-test-another-check-for-PEP-3147-induced-by-Python-3..patch new file mode 100644 index 0000000..a83b1f6 --- /dev/null +++ b/0001-test-another-check-for-PEP-3147-induced-by-Python-3..patch @@ -0,0 +1,32 @@ +From f5b7751be8fb0fb9238f1d6acd5d6b592ad942cc Mon Sep 17 00:00:00 2001 +From: Bogdan +Date: Sun, 28 Jan 2024 18:12:50 -0800 +Subject: [PATCH] test: another check for PEP-3147 induced by Python 3.12.1. + +Fix for more of https://bugs.gnu.org/68119. + +* t/ax/am-test-lib.sh (python_has_pep3147) : +check sys.implementation.cache_tag as well as the (old) +imp.get_tag. For Python 3.12.1. +--- + t/ax/am-test-lib.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh +index 547b82bd4..72f409784 100644 +--- a/t/ax/am-test-lib.sh ++++ b/t/ax/am-test-lib.sh +@@ -634,6 +634,10 @@ python_has_pep3147 () + am_pep3147_tag=$($PYTHON -c 'import imp; print(imp.get_tag())') \ + || am_pep3147_tag=none + fi ++ if test "$am_pep3147_tag" = "none"; then ++ am_pep3147_tag=$($PYTHON -c 'import sys; print(sys.implementation.cache_tag)') \ ++ || am_pep3147_tag=none ++ fi + test $am_pep3147_tag != none + } + am_pep3147_tag= +-- +2.47.0 + diff --git a/0001-test-avoid-apostrophe-in-test-document.patch b/0001-test-avoid-apostrophe-in-test-document.patch new file mode 100644 index 0000000..1e4a0ab --- /dev/null +++ b/0001-test-avoid-apostrophe-in-test-document.patch @@ -0,0 +1,51 @@ +From ed1368e8803e8934a8bbab52a38753484dba2a37 Mon Sep 17 00:00:00 2001 +From: Karl Berry +Date: Mon, 12 Dec 2022 14:50:33 -0800 +Subject: [PATCH] test: avoid apostrophe in test document. + +From automake patch https://bugs.gnu.org/59989 +(though a different solution), suggestion by Frederic Berat. + +* t/txinfo-include.sh: avoid apostrophes in test document, +since Texinfo 7.0 turns them into UTF-8 by default. +--- + t/txinfo-include.sh | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/t/txinfo-include.sh b/t/txinfo-include.sh +index 8a15f01b0..10fff0753 100644 +--- a/t/txinfo-include.sh ++++ b/t/txinfo-include.sh +@@ -28,6 +28,9 @@ main_TEXINFOS = one.texi two.texi three.texi + sub_more_TEXINFOS = sub/desc.texi sub/hist.texi + END + ++# We avoid apostrophes in the test document since Texinfo ++# turns them into UTF-8, which is not easy to grep. ++# + cat > main.texi << 'END' + \input texinfo + @setfilename main.info +@@ -61,8 +64,8 @@ END + + cat > three.texi << 'END' + @node three +-@chapter Chapter two +-GNU's Not Unix. ++@chapter Chapter three ++Quux quux quux. + END + + mkdir sub +@@ -106,7 +109,7 @@ check_info_contents () + srcdir=${1-.} + $FGREP "Foo bar, baz." $srcdir/main.info + $FGREP "Blah Blah Blah." $srcdir/main.info +- $FGREP "GNU's Not Unix." $srcdir/main.info ++ $FGREP "Quux quux quux." $srcdir/main.info + $FGREP 'It does something, really.' $srcdir/sub/more.info + $FGREP 'It was written somehow.' $srcdir/sub/more.info + } +-- +2.39.0 + diff --git a/0001-tests-Fix-type-defaults-error-in-link_cond-due-to-ma.patch b/0001-tests-Fix-type-defaults-error-in-link_cond-due-to-ma.patch new file mode 100644 index 0000000..e08b977 --- /dev/null +++ b/0001-tests-Fix-type-defaults-error-in-link_cond-due-to-ma.patch @@ -0,0 +1,31 @@ +From 2a9908da9dbc075ee6c4e853cf3be0365b15f202 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= +Date: Mon, 12 Dec 2022 08:05:53 +0100 +Subject: [PATCH] tests: Fix 'type defaults' error in link_cond due to main not + being properly declared + +This is related to an effort to prepare Automake for future GCC/Clang +versions which set c99 as default standard to be used. +Not properly declaring main as "int main(...)" is rejected since c99. + +* t/link_cond.sh: Add (void) to main definition. +--- + t/link_cond.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/link_cond.sh b/t/link_cond.sh +index 45d0d7f40..889623131 100644 +--- a/t/link_cond.sh ++++ b/t/link_cond.sh +@@ -52,7 +52,7 @@ $AUTOCONF + rm -f *.c++ + cat > less.c <<'END' + /* Valid C but deliberately invalid C++ */ +-main () ++int main (void) + { + int new = 0; + return new; +-- +2.39.1 + diff --git a/0001-tests-depcomp-ensure-make_ok-fails-when-run_make-fai.patch b/0001-tests-depcomp-ensure-make_ok-fails-when-run_make-fai.patch new file mode 100644 index 0000000..5ffb9c6 --- /dev/null +++ b/0001-tests-depcomp-ensure-make_ok-fails-when-run_make-fai.patch @@ -0,0 +1,34 @@ +From 6d6fc91c472fd84bd71a1b012fa9ab77bd94efea Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= +Date: Mon, 12 Dec 2022 07:32:13 +0100 +Subject: [PATCH] tests: depcomp: ensure make_ok() fails when run_make fails + +While running automake tests with -std-gnu=c99, the compiler report +errors which lead to make to fail. Yet, these failures are ignored +during the tests, which considers them to be successful as stderror is +check for one specific pattern. + +If make fails, investigation should be made to discover why, whatever +the reason for the failure is. + +* t/ax/depcomp.sh: Make make_ok fail when make fails. +--- + t/ax/depcomp.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/ax/depcomp.sh b/t/ax/depcomp.sh +index 3c4db10e3..7a3ac63a7 100644 +--- a/t/ax/depcomp.sh ++++ b/t/ax/depcomp.sh +@@ -160,7 +160,7 @@ case $depcomp_with_libtool in + echo lib_LTLIBRARIES = libfoo.la >> Makefile.am + make_ok () + { +- run_make -M -- ${1+"$@"} ++ run_make -M -- ${1+"$@"} || return 1 + $FGREP 'unknown directive' output && return 1 + rm -f output + # Checks for stray files possibly left around by less common +-- +2.39.1 + diff --git a/automake.spec b/automake.spec index fdcd88a..8d950b1 100644 --- a/automake.spec +++ b/automake.spec @@ -1,4 +1,4 @@ -%define anolis_release 4 +%define anolis_release 5 # perform 'make check' by default %bcond_without check @@ -11,9 +11,18 @@ Summary: A program which creates Makefiles from template files. # docs ~> GFDL, sources ~> GPLv2+, mkinstalldirs ~> PD and install-sh ~> MIT License: GPLv2+ and GFDL and Public Domain and MIT URL: http://www.gnu.org/software/automake/ -Source0: ftp://ftp.gnu.org/gnu/automake/automake-%{version}.tar.xz +Source0: ftp://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.xz Patch0001: 0001-Add-sw_64-arch-support.patch +Patch2: v2-0001-tests-Don-t-try-to-prevent-flex-to-include-unistd.patch +Patch3: 0001-tests-Fix-type-defaults-error-in-link_cond-due-to-ma.patch +Patch4: v3-0003-tests-Fix-implicit-function-declaration-in-ax-dep.patch +Patch5: 0001-tests-depcomp-ensure-make_ok-fails-when-run_make-fai.patch +Patch6: 0001-python-support-noinst_PYTHON-preceding-foo_PYTHON.patch +Patch7: v2-0002-tests-Fix-implicit-function-declaration-errors.patch +Patch8: 0001-test-another-check-for-PEP-3147-induced-by-Python-3..patch +Patch9: fort2.patch +Patch10: 0001-test-avoid-apostrophe-in-test-document.patch BuildRequires: autoconf BuildRequires: coreutils @@ -40,6 +49,14 @@ BuildRequires: libtool BuildRequires: ncompress BuildRequires: sharutils BuildRequires: vala +BuildRequires: autoconf >= 2.65 +BuildRequires: gcc-objc +BuildRequires: gcc-objc++ +BuildRequires: imake +BuildRequires: lzip +BuildRequires: perl-interpreter +BuildRequires: texinfo-tex +BuildRequires: texlive-dvips %endif Requires: autoconf >= 2.65 @@ -109,6 +126,16 @@ make install DESTDIR=%{buildroot} %doc AUTHORS README THANKS NEWS README.aclocal README.multilib %changelog +* Thu Sep 18 2025 wenyuzifang - 1.16.5-5 +- Fix compilation errors under C99+ by removing reliance on obsolete Flex workarounds +- Ensure compliance with C99+ standards to prevent future compilation failures in test suites +- Fix test failure under C99 by restoring required header for dependency tracking tests +- Ensure test failures are caught immediately when make fails to prevent false positives +- Fix uninstall errors caused by noinst_PYTHON preceding foo_PYTHON declarations +- Ensure compliance with C99 standards to prevent compilation errors in modern GCC/Clang environments +- Fix Python 3.12.1 compatibility by ensuring correct PEP 3147 tag detection in Automake tests +- Fix test accuracy by ensuring only correct Fortran files trigger specific compiler flags +- Avoid test failures by preventing UTF-8 apostrophe issues in Texinfo 7.0+ environments * Fri Mar 7 2025 zhuyunfei - 1.16.5-4 - Add sw_64 arch support diff --git a/fort2.patch b/fort2.patch new file mode 100644 index 0000000..2f7404b --- /dev/null +++ b/fort2.patch @@ -0,0 +1,16 @@ +diff -r -U5 automake-1.16.5.old/t/fort2.sh automake-1.16.5/t/fort2.sh +--- automake-1.16.5.old/t/fort2.sh 2022-05-16 15:12:39.683825720 +0200 ++++ automake-1.16.5/t/fort2.sh 2022-05-16 15:12:53.495805448 +0200 +@@ -80,11 +80,11 @@ + grep ' fake-fc .* --@08 .* greets\.f08 ' out + grep ' fake-fc .* --@08 .* sub/bonjour\.f08 ' out + grep ' fake-fc .* --gby .* --@95 .*[` ]bye\.f95 ' out + grep ' fake-fc .* --gby .* --@90 .*[` ]sub/baz\.f90 ' out + +-test $(grep -c '.*--gby.*\.f' out) -eq 2 ++test $(grep -cE '.*--gby.*bye\.f95|--gby.*baz\.f90' out) -eq 2 + + $EGREP 'fake-fc.*--@(95|03|08).*\.f90' out && exit 1 + $EGREP 'fake-fc.*--@(90|03|08).*\.f95' out && exit 1 + $EGREP 'fake-fc.*--@(90|95|08).*\.f03' out && exit 1 + $EGREP 'fake-fc.*--@(95|95|03).*\.f08' out && exit 1 diff --git a/v2-0001-tests-Don-t-try-to-prevent-flex-to-include-unistd.patch b/v2-0001-tests-Don-t-try-to-prevent-flex-to-include-unistd.patch new file mode 100644 index 0000000..368b88d --- /dev/null +++ b/v2-0001-tests-Don-t-try-to-prevent-flex-to-include-unistd.patch @@ -0,0 +1,1184 @@ +From d67b6386552672527cb6048cc5f0c08cac9423a5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= +Date: Thu, 8 Dec 2022 10:12:56 +0100 +Subject: [PATCH v2] tests: Don't try to prevent flex to include unistd.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +In-Reply-To: <20221212070752.1635797-1-fberat@redhat.com> + +Hello, + +Changes since v1: + - The "--never-interactive" option is added to AM_LFLAGS whenever a + yacc or lex test needs to execute make. + +Since there is quite a lot of files being modified, please review carefully. +Hopefully, I didn't forget anything, nor edited files that were not needed, +multiple sets of eyes may be useful here. + +-- 8< -- + +This patch is related to an effort to prepare Automake for future +GCC/Clang versions which set c99 as default standard to be used. + +Future version of flex make the "NO_UNISTD" flag a no-op, and include +unistd.h by default. + +In current version of flex, not having this header leads to implicit +function declarations that are not compatible with c99 standard. + +On top of that, while flex dedicated test were having this macro set, +the yacc ones didn't have it despise their use of Flex. + +For consistency, all the YACC/Flex related tests now have the +"--never-interactive" option set in AM_LFLAGS. + +Modified files: + * t/cond35.sh + * t/lex-clean-cxx.sh + * t/lex-clean.sh + * t/lex-depend-cxx.sh + * t/lex-depend.sh + * t/lex-header.sh + * t/lex-lib-external.sh + * t/lex-lib.sh + * t/lex-libobj.sh + * t/lex-line.sh + * t/lex-multiple.sh + * t/lex-nodist.sh + * t/lex-noyywrap.sh + * t/lex-pr204.sh + * t/lex-subobj-nodep.sh + * t/lex3.sh + * t/lex5.sh + * t/lexvpath.sh + * t/silent-lex.sh + * t/silent-many-languages.sh + * t/silent-yacc-headers.sh + * t/silent-yacc.sh + * t/subpkg-yacc.sh + * t/suffix10.tap + * t/yacc-auxdir.sh + * t/yacc-basic.sh + * t/yacc-bison-skeleton-cxx.sh + * t/yacc-bison-skeleton.sh + * t/yacc-clean-cxx.sh + * t/yacc-clean.sh + * t/yacc-cxx-grepping.sh + * t/yacc-cxx.sh + * t/yacc-d-basic.sh + * t/yacc-d-cxx.sh + * t/yacc-d-vpath.sh + * t/yacc-deleted-headers.sh + * t/yacc-depend.sh + * t/yacc-depend2.sh + * t/yacc-dist-nobuild-subdir.sh + * t/yacc-dist-nobuild.sh + * t/yacc-dry.sh + * t/yacc-grepping.sh + * t/yacc-grepping2.sh + * t/yacc-headers-and-dist-pr47.sh + * t/yacc-line.sh + * t/yacc-misc.sh + * t/yacc-mix-c-cxx.sh + * t/yacc-nodist.sh + * t/yacc-pr204.sh + * t/yacc-subdir.sh + * t/yacc-vpath.sh + * t/yacc-weirdnames.sh + * t/yflags-cmdline-override.sh + * t/yflags-cxx.sh + * t/yflags-d-false-positives.sh + * t/yflags-force-conditional.sh + * t/yflags-force-override.sh + * t/yflags-var-expand.sh + * t/yflags.sh +--- + t/cond35.sh | 4 +--- + t/lex-clean-cxx.sh | 4 ++-- + t/lex-clean.sh | 5 ++--- + t/lex-depend-cxx.sh | 4 ++-- + t/lex-depend.sh | 5 ++--- + t/lex-header.sh | 6 ++---- + t/lex-lib-external.sh | 5 ++--- + t/lex-lib.sh | 5 ++--- + t/lex-libobj.sh | 5 ++--- + t/lex-line.sh | 7 ++++--- + t/lex-multiple.sh | 7 +++---- + t/lex-nodist.sh | 5 ++--- + t/lex-noyywrap.sh | 5 ++--- + t/lex-pr204.sh | 5 ++--- + t/lex-subobj-nodep.sh | 5 ++--- + t/lex3.sh | 5 ++--- + t/lex5.sh | 4 +--- + t/lexvpath.sh | 11 ++--------- + t/silent-lex.sh | 7 ++++--- + t/silent-many-languages.sh | 1 + + t/silent-yacc-headers.sh | 1 + + t/silent-yacc.sh | 4 ++++ + t/subpkg-yacc.sh | 2 ++ + t/suffix10.tap | 2 ++ + t/yacc-auxdir.sh | 4 ++++ + 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 | 4 ++++ + 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-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 ++ + 59 files changed, 125 insertions(+), 63 deletions(-) + +diff --git a/t/cond35.sh b/t/cond35.sh +index dc3b8aae9..8b044644e 100644 +--- a/t/cond35.sh ++++ b/t/cond35.sh +@@ -30,6 +30,7 @@ EOF + + cat > Makefile.am <<'EOF' + AM_YFLAGS = -d ++AM_LFLAGS = --never-interactive + + BUILT_SOURCES = tparse.h + +@@ -58,9 +59,6 @@ $FGREP 'tparse.h' Makefile.in # For debugging. + test $($FGREP -c 'tparse.h:' Makefile.in) -eq 1 + + cat > tscan.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + %% +diff --git a/t/lex-clean-cxx.sh b/t/lex-clean-cxx.sh +index 3632d5c87..9f628accd 100644 +--- a/t/lex-clean-cxx.sh ++++ b/t/lex-clean-cxx.sh +@@ -29,6 +29,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar baz qux + + foo_SOURCES = mainfoo.cc parsefoo.lxx +@@ -55,8 +57,6 @@ cat > parsefoo.lxx << 'END' + %{ + #define YY_DECL int yylex (void) + extern "C" YY_DECL; +-#define YY_NO_UNISTD_H 1 +-int isatty (int fd) { return 0; } + %} + %% + "GOOD" return EOF; +diff --git a/t/lex-clean.sh b/t/lex-clean.sh +index 1ee7d8f5b..4668e97c7 100644 +--- a/t/lex-clean.sh ++++ b/t/lex-clean.sh +@@ -29,6 +29,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar baz qux + + foo_SOURCES = main.c lexer.l +@@ -52,9 +54,6 @@ LDADD = $(LEXLIB) + END + + cat > lexer.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "GOOD" return EOF; + . +diff --git a/t/lex-depend-cxx.sh b/t/lex-depend-cxx.sh +index 60615a54e..51bd67b7b 100644 +--- a/t/lex-depend-cxx.sh ++++ b/t/lex-depend-cxx.sh +@@ -27,6 +27,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + noinst_PROGRAMS = joe moe + joe_SOURCES = joe.ll + moe_SOURCES = moe.l++ +@@ -48,8 +50,6 @@ cat > joe.ll << 'END' + %{ + #define YY_DECL int yylex (void) + extern "C" YY_DECL; +-#define YY_NO_UNISTD_H 1 +-int isatty (int fd) { return 0; } + %} + %% + "foo" return EOF; +diff --git a/t/lex-depend.sh b/t/lex-depend.sh +index 16f937ef1..68cc5ee7b 100644 +--- a/t/lex-depend.sh ++++ b/t/lex-depend.sh +@@ -27,6 +27,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = zoo + zoo_SOURCES = joe.l + LDADD = $(LEXLIB) +@@ -42,9 +44,6 @@ test-obj-updated: joe.$(OBJEXT) + END + + cat > joe.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "foo" return EOF; + . +diff --git a/t/lex-header.sh b/t/lex-header.sh +index 22567642e..48b42457a 100644 +--- a/t/lex-header.sh ++++ b/t/lex-header.sh +@@ -33,6 +33,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = lexer.l main.c mylex.h + foo_LFLAGS = --header-file=mylex.h +@@ -45,9 +47,6 @@ END + + cat > lexer.l << 'END' + %option noyywrap +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "GOOD" return EOF; + . +@@ -55,7 +54,6 @@ cat > lexer.l << 'END' + END + + cat > main.c <<'END' +-#define YY_NO_UNISTD_H 1 + #include "mylex.h" + int main (void) + { +diff --git a/t/lex-lib-external.sh b/t/lex-lib-external.sh +index 85403612f..25ad2a39b 100644 +--- a/t/lex-lib-external.sh ++++ b/t/lex-lib-external.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = lexer + lexer_SOURCES = foo.l + lexer_LDADD = $(LEXLIB) +@@ -42,9 +44,6 @@ have-lexlib: + END + + cat > foo.l <<'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "GOOD" return EOF; + . +diff --git a/t/lex-lib.sh b/t/lex-lib.sh +index f0a0d37f6..7734fd228 100644 +--- a/t/lex-lib.sh ++++ b/t/lex-lib.sh +@@ -31,6 +31,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = lexer + lexer_SOURCES = foo.l + lexer_LDADD = $(LEXLIB) +@@ -47,9 +49,6 @@ int yywrap (void) + END + + cat > foo.l <<'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/lex-libobj.sh b/t/lex-libobj.sh +index b26381fcf..6e36a98ed 100644 +--- a/t/lex-libobj.sh ++++ b/t/lex-libobj.sh +@@ -32,6 +32,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + noinst_PROGRAMS = foo + foo_SOURCES = foo.l + foo_LDADD = $(LEXLIB) $(LIBOBJS) +@@ -45,9 +47,6 @@ int yywrap (void) + END + + cat > foo.l <<'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/lex-line.sh b/t/lex-line.sh +index 340800ef2..5f9145847 100644 +--- a/t/lex-line.sh ++++ b/t/lex-line.sh +@@ -32,6 +32,8 @@ END + mkdir dir sub sub/dir + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + SUBDIRS = sub + bin_PROGRAMS = foo bar + LDADD = $(LEXLIB) +@@ -44,6 +46,8 @@ bar-quux.@OBJEXT@: bar-quux.c + END + + cat > sub/Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + AUTOMAKE_OPTIONS = subdir-objects + noinst_PROGRAMS = foo bar + ## We already used $(LEXLIB) above, so try @LEXLIB@ now. +@@ -57,9 +61,6 @@ dir/quux.@OBJEXT@: dir/quux.c + END + + cat > zardoz.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/lex-multiple.sh b/t/lex-multiple.sh +index 9565bd6b8..6486a012f 100644 +--- a/t/lex-multiple.sh ++++ b/t/lex-multiple.sh +@@ -31,7 +31,9 @@ AC_PROG_RANLIB + AC_OUTPUT + END + +-cat > Makefile.am << 'END' ++cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = zardoz + + zardoz_SOURCES = main.c +@@ -72,9 +74,6 @@ int main (int argc, char *argv[]) + END + + cat > 0.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "VANILLA" { printf (":%s:\n", yytext); return 121; } + . { printf (":%s:\n", yytext); return 1; } +diff --git a/t/lex-nodist.sh b/t/lex-nodist.sh +index 73e23a13e..d499aea7f 100644 +--- a/t/lex-nodist.sh ++++ b/t/lex-nodist.sh +@@ -31,6 +31,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + .PHONY: test-build test-dist + test-build: all + ls -l +@@ -45,9 +47,6 @@ check-local: test-build test-dist + lexer.l: + rm -f $@ $@-t + :; { : \ +- && echo '%{' \ +- && echo '#define YY_NO_UNISTD_H 1' \ +- && echo '%}' \ + && echo '%%' \ + && echo '"GOOD" return EOF;' \ + && echo '.'; \ +diff --git a/t/lex-noyywrap.sh b/t/lex-noyywrap.sh +index 1c61a1ab3..5ec68b9ba 100644 +--- a/t/lex-noyywrap.sh ++++ b/t/lex-noyywrap.sh +@@ -26,6 +26,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = foo.l + +@@ -37,9 +39,6 @@ END + + cat > foo.l << 'END' + %option noyywrap +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "GOOD" return EOF; + . +diff --git a/t/lex-pr204.sh b/t/lex-pr204.sh +index ebfaafef5..cbad1c266 100644 +--- a/t/lex-pr204.sh ++++ b/t/lex-pr204.sh +@@ -35,6 +35,8 @@ EOF + # The LEXER2 intermediate variable is there to make sure Automake + # matches 'nodist_' against the right variable name... + cat > Makefile.am << 'EOF' ++AM_LFLAGS = --never-interactive ++ + EXTRA_PROGRAMS = foo + LEXER2 = lexer2.l + nodist_foo_SOURCES = lexer.l $(LEXER2) +@@ -49,9 +51,6 @@ distdirtest: distdir + EOF + + cat > lexer.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "GOOD" return EOF; + . +diff --git a/t/lex-subobj-nodep.sh b/t/lex-subobj-nodep.sh +index f8bb87a9c..8ef4d68b1 100644 +--- a/t/lex-subobj-nodep.sh ++++ b/t/lex-subobj-nodep.sh +@@ -28,6 +28,8 @@ END + + cat >Makefile.am <<\END + AUTOMAKE_OPTIONS = subdir-objects ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = p1 p2 + p1_SOURCES = sub1/s1.l + p2_SOURCES = sub2/s2.l +@@ -37,9 +39,6 @@ END + mkdir sub1 sub2 + + cat >sub1/s1.l <<\END +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/lex3.sh b/t/lex3.sh +index 41b87dc06..4a20f85da 100644 +--- a/t/lex3.sh ++++ b/t/lex3.sh +@@ -28,14 +28,13 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + noinst_PROGRAMS = foo + foo_SOURCES = foo.l + END + + cat > foo.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "GOOD" return EOF; + . +diff --git a/t/lex5.sh b/t/lex5.sh +index 3d84d9b41..687903e65 100644 +--- a/t/lex5.sh ++++ b/t/lex5.sh +@@ -28,6 +28,7 @@ END + cat > Makefile.am << 'END' + AUTOMAKE_OPTIONS = subdir-objects + LDADD = @LEXLIB@ ++AM_LFLAGS = --never-interactive + + bin_PROGRAMS = foo/foo + foo_foo_SOURCES = foo/foo.l +@@ -36,9 +37,6 @@ END + mkdir foo + + cat > foo/foo.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/lexvpath.sh b/t/lexvpath.sh +index 5185a1f71..d064fd2bd 100644 +--- a/t/lexvpath.sh ++++ b/t/lexvpath.sh +@@ -37,6 +37,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = lexer.l foo.c + LDADD = $(LEXLIB) +@@ -44,9 +46,6 @@ END + + # Original lexer, with a "foobar" comment + cat > lexer.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +@@ -89,9 +88,6 @@ $sleep + + # New lexer, with 'fubar' comment. + cat > ../lexer.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +@@ -112,9 +108,6 @@ $sleep + + # New lexer, with 'maude' comment. + cat > ../lexer.l << 'END' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/silent-lex.sh b/t/silent-lex.sh +index cfe1a9b5d..e424afc38 100644 +--- a/t/silent-lex.sh ++++ b/t/silent-lex.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + EOF + + cat > Makefile.am <<'EOF' ++AM_LFLAGS = --never-interactive ++ + # Need generic and non-generic rules. + bin_PROGRAMS = foo1 foo2 + foo1_SOURCES = foo.l +@@ -40,6 +42,8 @@ EOF + + cat > sub/Makefile.am <<'EOF' + AUTOMAKE_OPTIONS = subdir-objects ++AM_LFLAGS = --never-interactive ++ + # Need generic and non-generic rules. + bin_PROGRAMS = bar1 bar2 + bar1_SOURCES = bar.l +@@ -50,9 +54,6 @@ LDADD = $(LEXLIB) + EOF + + cat > foo.l <<'EOF' +-%{ +-#define YY_NO_UNISTD_H 1 +-%} + %% + "END" return EOF; + . +diff --git a/t/silent-many-languages.sh b/t/silent-many-languages.sh +index 4edb46884..85773d339 100644 +--- a/t/silent-many-languages.sh ++++ b/t/silent-many-languages.sh +@@ -151,6 +151,7 @@ ba2_YFLAGS = -v + ba2_LFLAGS = -n + ba2_LDADD = $(LEXLIB) + AM_YFLAGS = -d ++AM_LFLAGS = --never-interactive + BUILT_SOURCES = baz6.h + EOF + +diff --git a/t/silent-yacc-headers.sh b/t/silent-yacc-headers.sh +index 98ae45b8a..f64342c82 100644 +--- a/t/silent-yacc-headers.sh ++++ b/t/silent-yacc-headers.sh +@@ -31,6 +31,7 @@ EOF + cat > Makefile.am <<'EOF' + # Need generic and non-generic rules. + AM_YFLAGS = -d ++AM_LFLAGS = --never-interactive + bin_PROGRAMS = foo bar + foo_SOURCES = parse.y + bar_SOURCES = $(foo_SOURCES) +diff --git a/t/silent-yacc.sh b/t/silent-yacc.sh +index 9645aff83..d89ff49a7 100644 +--- a/t/silent-yacc.sh ++++ b/t/silent-yacc.sh +@@ -29,6 +29,8 @@ AC_OUTPUT + EOF + + cat > Makefile.am <<'EOF' ++AM_LFLAGS = --never-interactive ++ + # Need generic and non-generic rules. + bin_PROGRAMS = foo1 foo2 + foo1_SOURCES = foo.y +@@ -40,6 +42,8 @@ EOF + + cat > sub/Makefile.am <<'EOF' + AUTOMAKE_OPTIONS = subdir-objects ++AM_LFLAGS = --never-interactive ++ + # Need generic and non-generic rules. + bin_PROGRAMS = bar1 bar2 + bar1_SOURCES = bar.y +diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh +index edd14532b..782ee0957 100644 +--- a/t/subpkg-yacc.sh ++++ b/t/subpkg-yacc.sh +@@ -61,6 +61,8 @@ AC_OUTPUT + EOF + + cat >lib/Makefile.am <<'EOF' ++AM_LFLAGS = --never-interactive ++ + noinst_LIBRARIES = liblib.a + liblib_a_SOURCES = src/x.c foo.y + EXTRA_liblib_a_SOURCES = bar.y +diff --git a/t/suffix10.tap b/t/suffix10.tap +index 3869d07fd..8d3dc1756 100644 +--- a/t/suffix10.tap ++++ b/t/suffix10.tap +@@ -31,6 +31,8 @@ AC_OUTPUT + EOF + + cat >Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + lib_LTLIBRARIES = libfoo.la + libfoo_la_SOURCES = foo.x_ + .x_.y: +diff --git a/t/yacc-auxdir.sh b/t/yacc-auxdir.sh +index be8ac4fd4..f6ff7de48 100644 +--- a/t/yacc-auxdir.sh ++++ b/t/yacc-auxdir.sh +@@ -35,12 +35,16 @@ cat > Makefile.am << 'END' + SUBDIRS = sub + bin_PROGRAMS = foo + AM_YFLAGS = -d ++AM_LFLAGS = --never-interactive ++ + foo_SOURCES = foo.y + END + + cat > sub/Makefile.am << 'END' + bin_PROGRAMS = bar + AM_YFLAGS = -d ++AM_LFLAGS = --never-interactive ++ + bar_SOURCES = bar.y main.c + END + +diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh +index b7a35bd39..51ee5f6a3 100644 +--- a/t/yacc-basic.sh ++++ b/t/yacc-basic.sh +@@ -27,6 +27,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar + foo_SOURCES = parse.y foo.c + bar_SOURCES = $(foo_SOURCES) +diff --git a/t/yacc-bison-skeleton-cxx.sh b/t/yacc-bison-skeleton-cxx.sh +index bded1a34f..da76238fa 100644 +--- a/t/yacc-bison-skeleton-cxx.sh ++++ b/t/yacc-bison-skeleton-cxx.sh +@@ -27,6 +27,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = zardoz + zardoz_SOURCES = zardoz.yy foo.cc + +diff --git a/t/yacc-bison-skeleton.sh b/t/yacc-bison-skeleton.sh +index b77b29f1e..11b64b831 100644 +--- a/t/yacc-bison-skeleton.sh ++++ b/t/yacc-bison-skeleton.sh +@@ -31,6 +31,8 @@ cat > Makefile.am << 'END' + bin_PROGRAMS = zardoz + zardoz_SOURCES = zardoz.y foo.c + AM_YFLAGS = -d --skeleton glr.c ++AM_LFLAGS = --never-interactive ++ + BUILT_SOURCES = zardoz.h + END + +diff --git a/t/yacc-clean-cxx.sh b/t/yacc-clean-cxx.sh +index d12e02308..71eb4f315 100644 +--- a/t/yacc-clean-cxx.sh ++++ b/t/yacc-clean-cxx.sh +@@ -39,6 +39,8 @@ END + mkdir sub1 sub2 + + cat > sub1/Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar baz qux + + foo_SOURCES = mainfoo.cc parsefoo.yxx +diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh +index 0baf0afd8..d0f793843 100644 +--- a/t/yacc-clean.sh ++++ b/t/yacc-clean.sh +@@ -38,6 +38,8 @@ END + mkdir sub1 sub2 + + cat > sub1/Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar baz qux + + foo_SOURCES = main.c parse.y +diff --git a/t/yacc-cxx-grepping.sh b/t/yacc-cxx-grepping.sh +index 7b3a6bc5e..e094d5f16 100644 +--- a/t/yacc-cxx-grepping.sh ++++ b/t/yacc-cxx-grepping.sh +@@ -27,6 +27,8 @@ AC_PROG_YACC + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar baz qux + foo_SOURCES = foo.y++ + bar_SOURCES = bar.ypp +diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh +index 1bf75a975..52fca8c01 100644 +--- a/t/yacc-cxx.sh ++++ b/t/yacc-cxx.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo1 foo2 foo3 foo4 + foo1_SOURCES = parse1.yy foo.cc + foo2_SOURCES = parse2.y++ bar.c++ +diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh +index fe80a0888..166111fdb 100644 +--- a/t/yacc-d-basic.sh ++++ b/t/yacc-d-basic.sh +@@ -35,6 +35,8 @@ END + mkdir foo bar baz + + cat > foo/Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = zardoz + zardoz_SOURCES = parse.y main.c + .PHONY: echo-distcom +diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh +index 56f43c940..5f9a09a46 100644 +--- a/t/yacc-d-cxx.sh ++++ b/t/yacc-d-cxx.sh +@@ -67,6 +67,8 @@ mkdir foo bar baz qux baz/sub + + # These makefiles will be extended later. + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + .PHONY: echo-distcom + echo-distcom: + @echo ' ' $(DIST_COMMON) ' ' +diff --git a/t/yacc-d-vpath.sh b/t/yacc-d-vpath.sh +index dced4818f..3dcf17ade 100644 +--- a/t/yacc-d-vpath.sh ++++ b/t/yacc-d-vpath.sh +@@ -32,6 +32,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = parse.y foo.c + AM_YFLAGS = -d +diff --git a/t/yacc-deleted-headers.sh b/t/yacc-deleted-headers.sh +index c3fdbeee4..8c27dcefb 100644 +--- a/t/yacc-deleted-headers.sh ++++ b/t/yacc-deleted-headers.sh +@@ -26,6 +26,8 @@ AC_OUTPUT + END + + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = p1 p2 p3 p4 + # The order in which files are listed in the p*_SOURCES variables + # below is significant, since it causes make failures whenever +diff --git a/t/yacc-depend.sh b/t/yacc-depend.sh +index cf544359f..d1e09bc39 100644 +--- a/t/yacc-depend.sh ++++ b/t/yacc-depend.sh +@@ -29,6 +29,8 @@ END + cat > Makefile.am << 'END' + bin_PROGRAMS = foo + AM_YFLAGS = -d ++AM_LFLAGS = --never-interactive ++ + foo_SOURCES = foo.y main.c + BUILT_SOURCES = foo.h + END +diff --git a/t/yacc-depend2.sh b/t/yacc-depend2.sh +index a61e4957d..a52d4489f 100644 +--- a/t/yacc-depend2.sh ++++ b/t/yacc-depend2.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + AM_YFLAGS = -d + foo_SOURCES = foo.y main.c +diff --git a/t/yacc-dist-nobuild-subdir.sh b/t/yacc-dist-nobuild-subdir.sh +index d1788811f..56320fe48 100644 +--- a/t/yacc-dist-nobuild-subdir.sh ++++ b/t/yacc-dist-nobuild-subdir.sh +@@ -49,6 +49,8 @@ END + + cat > Makefile.am <<'END' + AUTOMAKE_OPTIONS = subdir-objects ++AM_LFLAGS = --never-interactive ++ + noinst_PROGRAMS = foo bar + foo_SOURCES = sub/parse.y + bar_SOURCES = $(foo_SOURCES) +diff --git a/t/yacc-dist-nobuild.sh b/t/yacc-dist-nobuild.sh +index a30fefec2..71be0d52c 100644 +--- a/t/yacc-dist-nobuild.sh ++++ b/t/yacc-dist-nobuild.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foobar zardoz + foobar_SOURCES = parse.y main.c + zardoz_SOURCES = $(foobar_SOURCES) +diff --git a/t/yacc-dry.sh b/t/yacc-dry.sh +index 9b08d3863..6500ba811 100644 +--- a/t/yacc-dry.sh ++++ b/t/yacc-dry.sh +@@ -26,6 +26,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + AM_YFLAGS = -d + bin_PROGRAMS = foo + foo_SOURCES = foo.c parse.y +diff --git a/t/yacc-grepping.sh b/t/yacc-grepping.sh +index b0cf91353..67381ba89 100644 +--- a/t/yacc-grepping.sh ++++ b/t/yacc-grepping.sh +@@ -35,6 +35,8 @@ END + $ACLOCAL + + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = zardoz + zardoz_SOURCES = zardoz.y + END +diff --git a/t/yacc-grepping2.sh b/t/yacc-grepping2.sh +index 159dd3e15..4af321fbe 100644 +--- a/t/yacc-grepping2.sh ++++ b/t/yacc-grepping2.sh +@@ -25,6 +25,8 @@ AC_PROG_YACC + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = maude + maude_SOURCES = sub/maude.y + END +diff --git a/t/yacc-headers-and-dist-pr47.sh b/t/yacc-headers-and-dist-pr47.sh +index 57c8251ad..74ec525f9 100644 +--- a/t/yacc-headers-and-dist-pr47.sh ++++ b/t/yacc-headers-and-dist-pr47.sh +@@ -30,6 +30,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = foo.y + AM_YFLAGS = -d +diff --git a/t/yacc-line.sh b/t/yacc-line.sh +index e7a4d6244..2319c9791 100644 +--- a/t/yacc-line.sh ++++ b/t/yacc-line.sh +@@ -32,6 +32,8 @@ END + mkdir dir sub sub/dir + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + SUBDIRS = sub + bin_PROGRAMS = foo bar + AM_YFLAGS = -d +@@ -45,6 +47,8 @@ END + + cat > sub/Makefile.am << 'END' + AUTOMAKE_OPTIONS = subdir-objects ++AM_LFLAGS = --never-interactive ++ + noinst_PROGRAMS = foo bar + foo_YFLAGS = -d + foo_SOURCES = zardoz.y +diff --git a/t/yacc-misc.sh b/t/yacc-misc.sh +index 2bfb0c55e..fcc19aa49 100644 +--- a/t/yacc-misc.sh ++++ b/t/yacc-misc.sh +@@ -26,6 +26,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar + foo_SOURCES = parse.y foo.c + bar_SOURCES = bar.y foo.c +diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh +index a73935c39..bb58bb6fa 100644 +--- a/t/yacc-mix-c-cxx.sh ++++ b/t/yacc-mix-c-cxx.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = c1 c2 cxx1 cxx2 cxx3 + AM_YFLAGS = -d + +diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh +index dbb86bdb2..8e5338e94 100644 +--- a/t/yacc-nodist.sh ++++ b/t/yacc-nodist.sh +@@ -31,6 +31,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + SUBDIRS = sub1 sub2 + .PHONY: test-build test-dist + test-build: all +diff --git a/t/yacc-pr204.sh b/t/yacc-pr204.sh +index 91882e4d7..89acb1ee0 100644 +--- a/t/yacc-pr204.sh ++++ b/t/yacc-pr204.sh +@@ -34,6 +34,8 @@ EOF + # sure Automake match 'nodist_' against the right + # variable name... + cat > Makefile.am << 'EOF' ++AM_LFLAGS = --never-interactive ++ + AM_YFLAGS = -d + EXTRA_PROGRAMS = foo + PARSE2 = parse2.y +diff --git a/t/yacc-subdir.sh b/t/yacc-subdir.sh +index df31a3c51..d6c3f0cc8 100644 +--- a/t/yacc-subdir.sh ++++ b/t/yacc-subdir.sh +@@ -28,6 +28,8 @@ END + + cat > Makefile.am << 'END' + AUTOMAKE_OPTIONS = subdir-objects ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo/foo + foo_foo_SOURCES = foo/parse.y + AM_YFLAGS = -d +diff --git a/t/yacc-vpath.sh b/t/yacc-vpath.sh +index 52d2c45bd..42044ecf2 100644 +--- a/t/yacc-vpath.sh ++++ b/t/yacc-vpath.sh +@@ -32,6 +32,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = parse.y foo.c + END +diff --git a/t/yacc-weirdnames.sh b/t/yacc-weirdnames.sh +index 60f199d2d..8397bc636 100644 +--- a/t/yacc-weirdnames.sh ++++ b/t/yacc-weirdnames.sh +@@ -27,6 +27,8 @@ AC_OUTPUT + END + + cat > Makefile.am << 'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar foo2 bar2 + + foo_SOURCES = parse.y.y +diff --git a/t/yflags-cmdline-override.sh b/t/yflags-cmdline-override.sh +index 37304645c..73982753a 100644 +--- a/t/yflags-cmdline-override.sh ++++ b/t/yflags-cmdline-override.sh +@@ -27,6 +27,8 @@ AC_OUTPUT + END + + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = foo.y + # A minor automake wart: automake doesn't generate code to clean +diff --git a/t/yflags-cxx.sh b/t/yflags-cxx.sh +index 9bd28b8ce..2596a95e3 100644 +--- a/t/yflags-cxx.sh ++++ b/t/yflags-cxx.sh +@@ -39,6 +39,8 @@ END + + cat > Makefile.am <<'END' + AUTOMAKE_OPTIONS = no-dependencies ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar + foo_SOURCES = main.cc foo.yy + bar_SOURCES = main.cc bar.y++ +diff --git a/t/yflags-d-false-positives.sh b/t/yflags-d-false-positives.sh +index 21efb2345..666dbe938 100644 +--- a/t/yflags-d-false-positives.sh ++++ b/t/yflags-d-false-positives.sh +@@ -26,6 +26,8 @@ END + $ACLOCAL + + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = zardoz foobar + zardoz_SOURCES = zardoz.y + foobar_SOURCES = foobar.y +diff --git a/t/yflags-force-conditional.sh b/t/yflags-force-conditional.sh +index 3f9a13293..976b6f782 100644 +--- a/t/yflags-force-conditional.sh ++++ b/t/yflags-force-conditional.sh +@@ -38,6 +38,8 @@ YACC=fake-yacc; export YACC + + cat > Makefile.am <<'END' + AUTOMAKE_OPTIONS = no-dependencies ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar + foo_SOURCES = foo.y main.c + bar_SOURCES = $(foo_SOURCES) +diff --git a/t/yflags-force-override.sh b/t/yflags-force-override.sh +index b1c36ef0f..7c865935b 100644 +--- a/t/yflags-force-override.sh ++++ b/t/yflags-force-override.sh +@@ -28,6 +28,8 @@ AC_OUTPUT + END + + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo + foo_SOURCES = foo.y + # Don't do this in a real-life Makefile.am! +diff --git a/t/yflags-var-expand.sh b/t/yflags-var-expand.sh +index 0e06e0d9c..bf34922a6 100644 +--- a/t/yflags-var-expand.sh ++++ b/t/yflags-var-expand.sh +@@ -29,6 +29,8 @@ END + $ACLOCAL + + cat > Makefile.am <<'END' ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar + foo_SOURCES = foo.y + bar_SOURCES = bar.y +diff --git a/t/yflags.sh b/t/yflags.sh +index 1f73776f8..2359a76b7 100644 +--- a/t/yflags.sh ++++ b/t/yflags.sh +@@ -39,6 +39,8 @@ END + + cat > Makefile.am <<'END' + AUTOMAKE_OPTIONS = no-dependencies ++AM_LFLAGS = --never-interactive ++ + bin_PROGRAMS = foo bar + foo_SOURCES = main.c foo.y + bar_SOURCES = main.c bar.y +-- +2.39.0 + diff --git a/v2-0002-tests-Fix-implicit-function-declaration-errors.patch b/v2-0002-tests-Fix-implicit-function-declaration-errors.patch new file mode 100644 index 0000000..b882e03 --- /dev/null +++ b/v2-0002-tests-Fix-implicit-function-declaration-errors.patch @@ -0,0 +1,265 @@ +From 38f4f6dcdb907e0006a8e83246e010d5d5cad98d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= +Date: Thu, 8 Dec 2022 10:09:14 +0100 +Subject: [PATCH v2 2/3] tests: Fix implicit function declaration errors +In-Reply-To: <20221212070554.1635775-3-fberat@redhat.com> + +Changes from v1: + Modifications to "t/ax/depcomp.sh" have been moved to a dedicated patch + +-- 8< -- + +This is related to an effort to prepare Automake for future GCC/Clang +versions which set c99 as default standard to be used. + +Function should be properly declared prior to use in order to be +compatible with c99 standard. +This is valid for both local functions and standard functions (as +printf). + +Modified files: + + * t/c-demo.sh + * t/cond35.sh + * t/dist-vs-built-sources.sh + * t/lex-clean.sh + * t/lex-multiple.sh + * t/lex-nodist.sh + * t/ltcond2.sh + * t/ltconv.sh + * t/subobj-clean-lt-pr10697.sh + * t/subobj-clean-pr10697.sh + * t/tags-pr12372.sh + * t/yacc-basic.sh + * t/yacc-clean.sh + * t/yacc-nodist.sh +--- + t/c-demo.sh | 1 + + t/cond35.sh | 2 ++ + t/dist-vs-built-sources.sh | 1 + + t/lex-clean.sh | 1 + + t/lex-multiple.sh | 4 ++++ + t/lex-nodist.sh | 2 ++ + t/ltcond2.sh | 2 ++ + t/ltconv.sh | 6 ++++++ + t/subobj-clean-lt-pr10697.sh | 10 +++++++++- + t/subobj-clean-pr10697.sh | 10 +++++++++- + t/tags-pr12372.sh | 3 ++- + t/yacc-basic.sh | 1 + + t/yacc-clean.sh | 4 ++++ + t/yacc-nodist.sh | 2 ++ + 14 files changed, 46 insertions(+), 3 deletions(-) + +diff --git a/t/c-demo.sh b/t/c-demo.sh +index 7e0e8d64f..d25bf214b 100644 +--- a/t/c-demo.sh ++++ b/t/c-demo.sh +@@ -113,6 +113,7 @@ test -f build-aux/compile # We have per-target flags on C sources. + ./configure --enable-dependency-tracking + + cat > src/main.c << 'END' ++#include + #include "foo.h" + #include "bar.h" + int main (void) +diff --git a/t/cond35.sh b/t/cond35.sh +index 215a22548..bad133970 100644 +--- a/t/cond35.sh ++++ b/t/cond35.sh +@@ -73,6 +73,8 @@ END + + cat > tparse.y << 'END' + %{ ++extern int yylex(void); ++ + void yyerror (const char *s) {} + %} + %token EOF +diff --git a/t/dist-vs-built-sources.sh b/t/dist-vs-built-sources.sh +index d038e66dd..db2776f9a 100644 +--- a/t/dist-vs-built-sources.sh ++++ b/t/dist-vs-built-sources.sh +@@ -41,6 +41,7 @@ foo_SOURCES = foo.c + END + + cat > foo.c << 'END' ++#include + #include "h.h" + int main (void) { printf ("%s\n", F); return 0; } + END +diff --git a/t/lex-clean.sh b/t/lex-clean.sh +index 5aa199338..e53da8fd2 100644 +--- a/t/lex-clean.sh ++++ b/t/lex-clean.sh +@@ -61,6 +61,7 @@ cat > lexer.l << 'END' + END + + cat > main.c << 'END' ++extern int yylex (void); + int main (void) + { + return yylex (); +diff --git a/t/lex-multiple.sh b/t/lex-multiple.sh +index 2655b633e..bf119ec84 100644 +--- a/t/lex-multiple.sh ++++ b/t/lex-multiple.sh +@@ -56,6 +56,10 @@ cat > main.c << 'END' + #include + #include + ++extern int yylex (void); ++extern int foolex (void); ++extern int bar_lex (void); ++ + int main (int argc, char *argv[]) + { + if (argc != 2) +diff --git a/t/lex-nodist.sh b/t/lex-nodist.sh +index 599539405..187dd5437 100644 +--- a/t/lex-nodist.sh ++++ b/t/lex-nodist.sh +@@ -62,6 +62,8 @@ CLEANFILES = $(nodist_prog_SOURCES) + END + + cat > main.c << 'END' ++extern int yylex (void); ++ + int main () + { + return yylex (); +diff --git a/t/ltcond2.sh b/t/ltcond2.sh +index 29244c9b3..7e7bcadc4 100644 +--- a/t/ltcond2.sh ++++ b/t/ltcond2.sh +@@ -73,6 +73,8 @@ void print (void) + END + + cat > main.c <<'END' ++extern void print(void); ++ + int main (void) + { + print(); +diff --git a/t/ltconv.sh b/t/ltconv.sh +index 2c4cc47a1..ec79ef80e 100644 +--- a/t/ltconv.sh ++++ b/t/ltconv.sh +@@ -91,6 +91,12 @@ echo 'int sub22 () { return 22; }' > sub2/sub22/sub22.c + + cat >test.c <<'EOF' + #include ++ ++extern int sub1 (void); ++extern int sub2 (void); ++extern int sub21 (void); ++extern int sub22 (void); ++ + int main () + { + if (1 != sub1 ()) +diff --git a/t/subobj-clean-lt-pr10697.sh b/t/subobj-clean-lt-pr10697.sh +index bb656c43f..53fc02f09 100644 +--- a/t/subobj-clean-lt-pr10697.sh ++++ b/t/subobj-clean-lt-pr10697.sh +@@ -83,7 +83,15 @@ libfoo_la_SOURCES = \ + END + + mkdir sub1 sub2 +-echo 'int libmain (void)' > main.c ++ ++echo "/* Subobj clean: libtool case*/" > main.c ++for i in 1 2; do ++ for j in a b c d e f; do ++ echo "extern void $j$i (void);" >> main.c ++ done ++done ++ ++echo 'int libmain (void)' >> main.c + echo '{' >> main.c + for i in 1 2; do + for j in a b c d e f; do +diff --git a/t/subobj-clean-pr10697.sh b/t/subobj-clean-pr10697.sh +index f77de8c92..a7f97f6d1 100644 +--- a/t/subobj-clean-pr10697.sh ++++ b/t/subobj-clean-pr10697.sh +@@ -81,7 +81,15 @@ foo_SOURCES = \ + END + + mkdir sub1 sub2 +-echo 'int main (void)' > main.c ++ ++echo "/* Subobj clean: generic case*/" > main.c ++for i in 1 2; do ++ for j in a b c d e f; do ++ echo "extern void $j$i (void);" >> main.c ++ done ++done ++ ++echo 'int main (void)' >> main.c + echo '{' >> main.c + for i in 1 2; do + for j in a b c d e f; do +diff --git a/t/tags-pr12372.sh b/t/tags-pr12372.sh +index b9c022f70..1a9e1e026 100644 +--- a/t/tags-pr12372.sh ++++ b/t/tags-pr12372.sh +@@ -53,7 +53,8 @@ noinst_PROGRAMS = zap + zap_SOURCES = zardoz.pc + END + +-echo 'int main(void) [ return bar(1); ]' > foo-main.pc ++echo 'extern int bar(int);' > foo-main.pc ++echo 'int main(void) [ return bar(1); ]' >> foo-main.pc + echo 'int bar(int x) { return !x; }' > barbar.c + echo 'int m@in(void) { return 0; }' > sub/zardoz.pc + +diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh +index 5b258a30c..8cc0d06a2 100644 +--- a/t/yacc-basic.sh ++++ b/t/yacc-basic.sh +@@ -49,6 +49,7 @@ a : 'a' { exit(0); }; + END + + cat > foo.c << 'END' ++extern int yyparse(void); + int main () { yyparse (); return 1; } + END + +diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh +index 373774b6a..fef079cf3 100644 +--- a/t/yacc-clean.sh ++++ b/t/yacc-clean.sh +@@ -65,6 +65,8 @@ END + + cat > sub1/parse.y << 'END' + %{ ++#include ++ + int yylex () { return (getchar ()); } + void yyerror (const char *s) {} + %} +@@ -74,6 +76,8 @@ END + cp sub1/parse.y sub2/parse.y + + cat > sub1/main.c << 'END' ++extern int yyparse(void); ++ + int main () + { + return yyparse (); +diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh +index d350a80f9..4a8ebe9ca 100644 +--- a/t/yacc-nodist.sh ++++ b/t/yacc-nodist.sh +@@ -78,6 +78,8 @@ BUILT_SOURCES = parse.h + END + + cat > sub1/main.c << 'END' ++extern int yyparse(void); ++ + int main () + { + return yyparse (); +-- +2.38.1 + diff --git a/v3-0003-tests-Fix-implicit-function-declaration-in-ax-dep.patch b/v3-0003-tests-Fix-implicit-function-declaration-in-ax-dep.patch new file mode 100644 index 0000000..4ff1f4e --- /dev/null +++ b/v3-0003-tests-Fix-implicit-function-declaration-in-ax-dep.patch @@ -0,0 +1,58 @@ +From 5e74354030fe88e038a6fc1b3f4c2321df150352 Mon Sep 17 00:00:00 2001 +From: Frederic Berat +Date: Fri, 16 Dec 2022 06:42:45 +0100 +Subject: [PATCH v3] tests: Fix implicit function declaration in ax/depcomp.sh +In-Reply-To: <20230113064804.580F5340B54@smtp.gentoo.org> + +Change since v2: + - Replace the mv operation by a cp operation to ensure that subfoo.h is + considered being modified. + +-- 8< -- + +In depcomp.sh, the following occurs: + +1. Files are created so that headers and units are available in + subdirectories +2. Multiple "make" are executed, while modifying the content of the + headers, some should fail, others should succeed. +3. At the end, the "sub/subfoo.h" header gets removed. +4. make is executed again, which is expected to succeed. + +Yet, with c99, this can't work as the subfoo.h header contains +declaration that are used by foo.c. +Thus, we need to get them back, either by inserting the declaration in +foo.c (or any other header/unit), or by restoring subfoo.h to its +original state. + +The later solution seems the easiest path, being less intrusive in +depcomp.sh. +--- + t/ax/depcomp.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/t/ax/depcomp.sh b/t/ax/depcomp.sh +index 7a3ac63a7..c92f7c8df 100644 +--- a/t/ax/depcomp.sh ++++ b/t/ax/depcomp.sh +@@ -243,6 +243,7 @@ cat > sub/subfoo.h <<'END' + #include + extern int subfoo (void); + END ++cp sub/subfoo.h sub/subfoo.save + + cat > src/baz.c <<'END' + #include "baz.h" +@@ -399,8 +400,7 @@ do_test () + && rewrite "$srcdir"/sub/subfoo.h echo 'choke me' \ + && not $MAKE \ + && delete "$srcdir"/sub/subfoo.h \ +- && edit "$srcdir"/sub/subfoo.c -e 1d \ +- && edit "$srcdir"/foo.h -e 2d \ ++ && cp "$srcdir"/sub/subfoo.save "$srcdir"/sub/subfoo.h \ + && make_ok \ + || r='not ok' + result_ "$r" "$pfx dependency tracking works" +-- +2.39.0 + -- Gitee