automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lex, Yacc, and distcheck


From: Ralf Wildenhues
Subject: Re: Lex, Yacc, and distcheck
Date: Sat, 13 Mar 2010 11:00:48 +0100
User-agent: Mutt/1.5.20 (2009-10-28)

Hello Clifford,

* Clifford Yapp wrote on Wed, Mar 10, 2010 at 02:28:00AM CET:
> I have a problem with some Lex and Yacc files.  They require newer
> versions of flex/bison/m4 be present on the system to correctly
> generate code, and that's not something that can always be assumed.
> I've cooked up some configure logic to check the version of flex
> available in configure.ac.  What I'm trying to do is have the build
> run flex and bison if the versions available are high enough, and if
> that's not possible I'd like to fall back to building alternate static
> copies of the generated source code.  This functions in normal build
> situations, but a make distcheck on a machine where flex and yacc are
> not up to par still results in make attempting to process the .ll and
> .yy files, despite the conditional logic.
> 
> Is there a way at the Makefile.am level to prevent the distcheck
> target running flex and bison on these files?

Right after AM_PROG_LEX or AC_PROG_LEX in configure.ac, check for the
version requirements, and if they are not met, set LEX to
  $(top_srcdir)/$auxdir/missing --run flex

with $auxdir being the directory set with AC_CONFIG_AUX_DIR.  Hmm,
neither Autoconf nor Autoconf provide a public variable for this.
You might need $(abs_top_srcdir) if lex is used in weird ways.

Yacc/bison should work similarly.

Completely untested; please report back whether that worked as intended.
Thanks.  If it doesn't, a small example package to look at would be
good.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]