git: buildworld - Attempt to fix m4 bootstrapping issue (2)
dillon at crater.dragonflybsd.org
Wed Jan 23 18:37:41 PST 2013
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Jan 23 18:35:10 2013 -0800
buildworld - Attempt to fix m4 bootstrapping issue (2)
* m4 depends on flex which exec's (depends on) m4.
* Change m4 to not depend on flex and reorder the [b]yacc build to run
before m4. M4's lex file is now manually generated and made part of
the source archive, and the Makefile simply compiles the .c version
instead of trying to run flex.
Any future update to m4 will require it's lex file to be manually
lex'd. Too bad, that's the way it goes. M4 is a piece of crap and
flex is an even bigger piece of crap for needing to exec M4. I'm not
going to play with this stuff more than I need to to make things compile.
* Remove conditionals from m4 .y and .l files. They were wrong because
they weren't necessarily reflective of which lexer was being run,
and now they aren't needed at all.
Summary of changes:
Makefile.inc1 | 8 +-
usr.bin/m4/Makefile | 21 +-
.../ktrfmt.yy.c => usr.bin/m4/manual_tokenizer.c | 914 ++++++++++-----------
usr.bin/m4/parser.y | 3 -
usr.bin/m4/tokenizer.l | 3 -
5 files changed, 459 insertions(+), 490 deletions(-)
copy lib/libevtr/ktrfmt.yy.c => usr.bin/m4/manual_tokenizer.c (66%)
DragonFly BSD source repository
More information about the Commits