]> git.ipfire.org Git - thirdparty/autoconf.git/commit
Revert to 2.69-compatible behavior in AC_PROG_LEX (#110346)
authorZack Weinberg <zackw@panix.com>
Mon, 2 Nov 2020 21:56:32 +0000 (16:56 -0500)
committerZack Weinberg <zackw@panix.com>
Mon, 2 Nov 2020 21:56:32 +0000 (16:56 -0500)
commit46f384f850b455cdb366bafbcf4e992606b3f2c0
treedc26b73b3ca77b3954520c4b85778f7dd82d871e
parentf1047b2e9656ba1cb3b672df22b2178ad0b38738
Revert to 2.69-compatible behavior in AC_PROG_LEX (#110346)

Commit 29ede6b96feee29c0c477d1659081bbdb82cd8b3 caused AC_PROG_LEX to
stop looking for a library that provides yywrap.  This broke several
packages in a Debian archive rebuild.

Revert all the way to the 2.69 behavior, which was to set LEXLIB to
-ll or -lfl if that library defines yywrap, but allow AC_PROG_LEX to
succeed if neither -ll nor -lfl exists on the system, even if a lex
program that doesn't define yywrap would need it.
(This behavior was a bug, but people have come to depend on it.
See https://savannah.gnu.org/support/index.php?110269 and the
thread starting from
https://lists.gnu.org/r/autoconf-patches/2020-07/msg00013.html
for gory details.)

To provide a path away from bug-compatibility, AC_PROG_LEX now takes
one argument, documented as a whitespace-separated list of options.
Two options are defined: ‘yywrap’ means to look for yywrap and behave
as if lex is unavailable if it isn’t found; ‘noyywrap’ means to not
look for yywrap at all.  These are mutually exclusive.

Fixes bug #110346.

* lib/autoconf/programs.m4 (AC_PROG_LEX): Add an argument which
  can be either ‘yywrap’, meaning to look for yywrap in -ll, or
  ‘noyywrap’, meaning to not look for yywrap at all.  In the
  absence of either option, issue an obsoletion warning and
  revert to behavior bug-compatible with 2.69.

* tests/semantics.at: Add more tests of AC_PROG_LEX.
* tests/mktests.sh: Exclude AC_PROG_LEX from autogenerated tests.

* doc/autoconf.texi: Update documentation of AC_PROG_LEX.
* NEWS: Update notes on AC_PROG_LEX.
NEWS
doc/autoconf.texi
lib/autoconf/programs.m4
tests/mktests.sh
tests/semantics.at