buildworld - Attempt to fix m4 bootstrapping issue (2)
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 24 Jan 2013 02:35:10 +0000 (18:35 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 24 Jan 2013 02:35:10 +0000 (18:35 -0800)
commitf3dd7aaa1d932bfe070ada30a2bcacd0d60f3680
treee5ae18218c085fea7452b0c46e425bf0e654aa68
parent0465e1d385953232678697cd5c17964cf45eaf49
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.
Makefile.inc1
usr.bin/m4/Makefile
usr.bin/m4/manual_tokenizer.c [new file with mode: 0644]
usr.bin/m4/parser.y
usr.bin/m4/tokenizer.l