From: Mighty Jo <mig...@gm...> - 2015-11-17 04:16:45
|
First up: that rc1 version number, lol. The FLEX_BETA test in flex.skl near line 90 does not like that. I noticed because I've been working on bootstrapping. Will noticed a quirk in my recent pull requests in which it was necessary to bootstrap flex by compiling scan.l with the installed f/lex first, then again with the flex built by the first stage. I'm summarizing some of that conversation here. Best practices for testing the build process including starting from a source tree prepared by $ git clean -xdf which removes everything that isn't known to version control. Then run $ ./autogen.sh && ./configure && make && make check && make distcheck If all that works you're in pretty good shape. (If your shell complains that configure doesn't exist, change the '&&' after autogen.sh to a semicolon or run the commands separately.) Bootstrapping is needed whenever scan.l changes. It's also needed when the skeleton changes, since that's involved in compiling scan.l. I haven't worked out whether that means a second bootstrap stage is needed but I don't think it is since flex.skl is independent of scan.l. I've been playing with techniques for performing a bootstrap via automake and I'm getting close. -local extensions and suffix rule games get you most of the way. I got sidetracked trying to understand how the VERSION variable in src/Makefile.am gets set. It from AC_INIT, semi-obviously, but the autoconf manual says the variable is called PACKAGE_VERSION. Turns out it also sets the VERSION variable to the same value but doesn't mention this in its manual. That's all the brain dump I have for tonight. -Joe |