[lttng-dev] [LTTng-tools PATCH] Test for presence of bison and flex when building from git
mathieu.desnoyers at efficios.com
Wed Jul 17 14:16:11 EDT 2013
* Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
> On 2013-07-17 14:00, Mathieu Desnoyers wrote:
> > * Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
> >> * Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
> > [...]
> >> This test (and the other for filter-lexer.c) is incorrect for VPATH
> >> builds.
> >> If someone grabs the tarball generated by make dist, extracts it in a
> >> "source" directory, and calls configure from a different build
> >> directory, this check behaves as if it was a git tree (missing .h/.c
> >> files).
> > How about this instead ?
> I'm not sure if $topdir or $srcdir would be the right one to use, but
> yes the idea would work.
$srcdir will specifically test to see if those .c/.h files are in the
source tree (not caring about the build tree), and I think this is
correct: we indeed want to check if the files are present in the source
If they happen to be present in the build tree, but not in the source
tree, we might want to update them at some point, because we clearly
know we're working on a non-distribution-tree (git tree), so in that
case we want to ensure bison/flex are there.
Does it make sense ?
> > ---
> > diff --git a/configure.ac b/configure.ac
> > index 9d93791..33c54fc 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -287,7 +287,19 @@ LT_INIT
> > AC_PROG_YACC
> > AC_PROG_LEX
> > -AC_DEFUN([AC_PROG_BISON], [AC_CHECK_PROGS(BISON, bison, bison)])
> > +if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-parser.h"; then
> > + if test x"$YACC" != "xbison -y"; then
> > + AC_MSG_ERROR([[bison not found and is required when building from git.
> > + Please install bison]])
> > + fi
> > +fi
> > +
> > +if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-lexer.c"; then
> > + if test x"$LEX" != "xflex"; then
> > + AC_MSG_ERROR([[flex not found and is required when building from git.
> > + Please install flex]])
> > + fi
> > +fi
> > CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing"
More information about the lttng-dev