Subject: Re: bug#14503: 24.3.50; MSYS out-of-tree build fails

From: Eli Zaretskii <[email-masked]>
Date: Wed, 29 May 2013 20:12:03 +0300

> Date: Wed, 29 May 2013 14:49:49 +0100
> From: Richard Copley <[email-masked]>
> 
> Building Emacs on Windows according to nt/INSTALL.MSYS,
> outside the source tree as recommended, "make -k bootstrap"
> fails while processing {build_dir}/lib/Makefile, with the errors:
> 
> make[2]: Entering directory `/c/emacs/build/lib'
> make[2]: *** No rule to make target `alloca.in.h', needed by `alloca.h'.
> make[2]: *** No rule to make target `errno.in.h', needed by `errno.h'.
> make[2]: *** No rule to make target `execinfo.in.h', needed by `execinfo.h'.
> make[2]: *** No rule to make target `getopt.in.h', needed by `getopt.h'.

Looks like "make bootstrap" is currently broken on Windows when you do
that outside of the source tree.  The problem is tricky, I will fix it
when I have time.  (Btw, the problem I saw does not manifest itself by
the above error messages, it fails in a different way.)

Anyway, you don't need "make bootstrap" on the first build with the
MSYS method.  In fact, you shouldn't need "make bootstrap" at all,
unless there are deep changes in Lisp that break a normal "make"
build.  And, contrary to what you say, there's no recommendation to
bootstrap in INSTALL.MSYS, it says to use just "make".

I just tried a build with "make" outside of the source tree, and I
didn't have the above problems.  (There's a VPATH line in lib/Makefile
that points to the source directory and allows Make to find the
prerequisites.)