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
