nmh-workers
[Top] [All Lists]

Re: new release?

2022-04-20 13:43:47
But here's the thing:  when configure doesn't find lex or flex, it
sets the value of the program to ":".  wth?   Wouldn't "false" be
a far more effective substitute?  If there's a way to tell configure
to change that behavior, we should consider it.

This behavior is part of autoconf.  From the documentation for AC_PROG_LEX:

   If flex is found, set output variable LEX to ‘flex’ and LEXLIB
   to -lfl, if that library is in a standard place. Otherwise set LEX
   to ‘lex’ and LEXLIB to -ll, if found. If neither variant is
   available, set LEX to ‘:’; for packages that ship the generated
   file.yy.c alongside the source file.l, this default allows users
   without a lexer generator to still build the package even if the
   timestamp for file.l is inadvertently changed.

We're in this situation; we ship the flex output in distribution tar
files (Automake does that for us).  Where this fails is when you build
directly from a repo checkout, as the generates flex/bison output isn't
there.

Fixing this for the general case would be a bit of a pain; I'm not
sure there's a wonderful answer.  We could do something like outputting
a warning in configure if LEX equals ':' warning that you will need that
tool if you are building from a repository checkout, but that presumes
that people would actually read such a message :-)

--Ken


<Prev in Thread] Current Thread [Next in Thread>