Hi, not sure if that is intentional though, but gcc-4.8-20130113 snapshot does /not/ ship with gcc/gengtype-lex.c.
I've expected the FLEX=/path/to/flex environment variable to be enough, as it is not in PATH here on AIX. But alas, this creates an empty gcc/gengtype-lex.c, resulting in: ld: 0711-317 ERROR: Undefined symbol: lexer_line ld: 0711-317 ERROR: Undefined symbol: .yylex(char const**) ld: 0711-317 ERROR: Undefined symbol: .yybegin(char const*) ld: 0711-317 ERROR: Undefined symbol: lexer_toplevel_done ld: 0711-317 ERROR: Undefined symbol: .yyend() ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status gmake[3]: *** [build/gengtype] Error 1 Searching upwards in the build log (single job), there is: /path/to/flex -ogengtype-lex.c /path/to/src/gcc-4.8-20130113/gcc/gengtype-lex.l && { \ echo '#include "bconfig.h"' > gengtype-lex.c.tmp; \ cat gengtype-lex.c >> gengtype-lex.c.tmp; \ mv gengtype-lex.c.tmp gengtype-lex.c; \ } m4: illegal option -- P Usage: m4 [-els] [-B Number] [-D Name[=Value]]... [-H Number] [-I Directory] [-S Number] [-T Number] [-U Name]... [File...] gmake[3]: [gengtype-lex.c] Error 141 (ignored) Actually, flex does prefer the M4 environment variable over its builtin path to run m4 from. But configure does set M4=m4, found via PATH as /usr/bin/m4, which obviously is not GNU m4. In my opinion, it is more robust to unset M4 environment variable before running $(FLEX) than expecting users to also set M4 when gcc actually tells missing flex only. Thank you! /haubi/ 2013-01-18 Michael Haubenwallner <michael.haubenwall...@salomon.at> Flex gives M4 environment variable precedence over builtin path to m4. * gcc/Makefile.in: Unset M4 environment variable before running flex.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 55b4d2d..66b4e96 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3990,7 +3990,7 @@ $(genprog:%=build/gen%$(build_exeext)): build/gen%$(build_exeext): build/gen%.o # bconfig.h because AIX requires _LARGE_FILES to be defined before # any system header is included. gengtype-lex.c : gengtype-lex.l - -$(FLEX) $(FLEXFLAGS) -o$@ $< && { \ + -unset M4; $(FLEX) $(FLEXFLAGS) -o$@ $< && { \ echo '#include "bconfig.h"' > $@.tmp; \ cat $@ >> $@.tmp; \ mv $@.tmp $@; \