On Fri, May 26, 2017 at 12:11:04PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > AM_PROG_FLEX macro will set the LEX variable using the missing > script when the flex is not present. This will confuse the > configure.ac check, which expects the AC_PROG_FLEX behaviour, > and will so fail to detect the missing flex: > > AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc], > [enable_assembler=yes], > [enable_assembler=no]) > > This is because AM_PROG_LEX sets the LEX variable to > "${SHELL} /home/sc/intel-gpu-tools/build-aux/missing flex", > while AC_PROG_LEX would set it to ":". Good catch! > > If for some reason we really need to keep AM_PROG_LEX, > alternative fix could be something like this placed before > the above AS_IF check: > > AC_MSG_CHECKING([checking for working flex]) > if ! eval "$LEX --version >/dev/null 2>&1"; then > AC_MSG_RESULT([failed]) > LEX=: > else > AC_MSG_RESULT([pass]) > fi > > Note the evil eval needed to recursively expand variables. As far as I can tell, A*_PROG_LEX is only used to be able to select whether to build the assembler. In other words, we don't need to AM_PROG_LEX behaviour. There's still a bug left though: If flex is not found, but lex is, AC_PROG_LEX sets $LEX to 'lex', but assembler/Makefile.am hardcodes 'flex -i' anyway if the assembler is enabled. That still happens whether AM_ or AC_ is used so this patch is still an improvement. I would also like to note that the ratio of characters-in-commit-message to characters-changed-in-code is quite the winner. :P Reviewed-by: Petri Latvala <petri.latvala@xxxxxxxxx> > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > --- > configure.ac | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index 5342e33c8293..82857a8325b1 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -40,7 +40,7 @@ AM_INIT_AUTOMAKE([1.12 foreign subdir-objects dist-bzip2]) > AM_PATH_PYTHON([3],, [:]) > > AC_PROG_CC > -AM_PROG_LEX > +AC_PROG_LEX > AC_PROG_YACC > > # check for gtk-doc > -- > 2.9.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx