This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [PATCH] setup.exe build instructions outdated; build doesn't bootstrap cleanly
- From: Jon TURNEY <jon dot turney at dronecode dot org dot uk>
- To: Warren Young <warren-qKybWrIjVgNBDgjK7y7TUQ at public dot gmane dot org>
- Cc: cygwin-apps at cygwin dot com
- Date: Thu, 13 Sep 2012 12:09:08 +0100
- Subject: Re: [PATCH] setup.exe build instructions outdated; build doesn't bootstrap cleanly
- References: <505143BE.2040107@etr-usa.com>
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