Re: [PATCH] Revert 'Fix logic error in _AC_PROG_LEX_YYTEXT_DECL (#109320)'

Zack Weinberg <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.patches
Message-ID <CAKCAbMgsUogYWYgHq3FKhGv3xG21HhCF7vBH7EY3JSGqeJ0+aA@mail.gmail.com>
On Thu, Jul 16, 2020 at 8:50 PM Paul Eggert <[email protected]> wrote:
> On 7/16/20 11:40 AM, Zack Weinberg wrote:
> > I believe that what's in trunk now should work fine for
> > cross-compilation of programs that don't require yywrap
>
> I thought so too, but after eyeballing the trunk a bit I noticed a shell
> portability bug in the recently-added AC_PROG_LEX code. I then found a couple
> more instances of the same bug elsewhere in Autoconf (in rarely-executed code, I
> think).
>
> The problem is that constructs like ${ac_lib:-none needed} don't conform to
> POSIX, as POSIX requires that the stuff after the :- be a single shell word.
> (The next time I meet Steve Bourne I want to give him an earfull....)

Aaaargh.  I thought I knew all these traps by now, but this one I'd
never encountered before.

> and would like to also install the attached patch to fix the code bugs. I have
> held off installing this latter patch, though, as I don't want to get in the way
> of whatever testing you're doing.

Go ahead and install, I can check out the older revision for testing.
(Still waiting for cross compilers to build. :-/ )

However:

+    for ac_cv_lib_lex in 'none needed' -lfl -ll 'not found'; do
+      case $ac_cv_lib_lex in
+    'none needed') ;;
+    'not found') break;;
+    *) LIBS="$ac_lib $ac_save_LIBS";;
+      esac

Shouldn't this be LIBS="$ac_cv_lib_lex $ac_save_LIBS" now?

zw
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.