On 13/09/2012 03:23, Warren Young wrote: > 5. Several build system files refer to iniparse.h, but on my system, > iniparse.yy yields iniparse.hh, not .h. In a fresh CVS checkout, this causes: > > $ ./bootstrap.sh > ...noise noise noise... > $ make > GEN setup_version.c > make: *** No rule to make target `iniparse.h', needed by `all'. Stop. > > I was able to fix it with: > > $ ln -s iniparse.hh iniparse.h > $ make iniparse.hh > $ make > > If you skip the second step, make(1) yells again, because iniparse.hh hasn't > been created yet. You have to force it to create it out of order, since the > Makefile dependencies are satisfied by the newly-created iniparse.h symlink. > > Having done those two things, you don't need to repeat the hack, even after > "make distclean", since that doesn't remove either iniparse.hh or iniparse.h. > But, I think the correct fix is to just change all the iniparse.h references > to iniparse.hh. > > That makes me wonder how anyone else has been getting setup.exe to build OOTB > for the past five years? (cvs log -r1.1 iniparse.yy) > > Do the current setup.exe maintainers have such hack symlinks on their systems > already, and haven't needed to do any fresh checkouts in all that time? Or is > this a recent Bison change?
Having run across this issue on another project, I think this is due to a recent, and rather annoying change in automake. automake 1.12 has this behaviour, automake 1.11 and previous made iniparse.h See the note on a "Slightly backward-incompatible change" in the section "Changes to Yacc and Lex support" in [1] [1] http://lists.gnu.org/archive/html/automake/2012-04/msg00060.html
