[PATCH] setup.exe build instructions outdated; build doesn't bootstrap cleanly

Jon TURNEY jon.turney@dronecode.org.uk
Thu Sep 13 11:09:00 GMT 2012

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

More information about the Cygwin-apps mailing list