])
+dnl If flex/lex are not found, the top level configure sets LEX to
+dnl "/path_to/missing flex". When AC_PROG_LEX tries to find the flex
+dnl output file, it calls $LEX to do so, but the current lightweight
+dnl "missing" won't create a file. This results in an error.
+dnl Avoid calling the bulk of AC_PROG_LEX when $LEX is "missing".
+AC_DEFUN_ONCE([AC_PROG_LEX],
+[AC_CHECK_PROGS(LEX, flex lex, :)
+case "$LEX" in
+ :|*"missing "*) ;;
+ *) _AC_PROG_LEX_YYTEXT_DECL ;;
+esac])
+
])