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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 02 Jun 2013 22:28:07 +0300

> Date: Sun, 2 Jun 2013 19:48:32 +0100
> From: Richard Copley <[email-masked]>
> 
> > > >  If so, does "make autoloads" in the Lisp
> > > > directory solve the problem?
> > > >
> > >
> > > Possibly, I will check. But make should still make, right?
> >
> > The "all" target doesn't seem to invoke anything that recreates those
> > files.
> 
> 
> They do get created by "make all" when run inside the tree.

I think the problem is here:

  EMACSLOADPATH=g:/emacs/trunk/lisp LC_ALL=C /g/emacs/build/src/emacs -batch --no-site-file --no-site-lisp -l autoload \
     --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
     --eval "(setq generated-autoload-file (unmsys--file-name \"g:/emacs/trunk/lisp/calendar/cal-loaddefs.el\"))" \
                                                               ^^^^

How come you get here "d:/foo/bar" style of file names, and not MSYS's
usual "/d/foo/bar"?  Did you per chance invoke the configure script as
"g:/emacs/trunk/nt/msysconfig ..."?  If so, try "/g/emacs/..."
instead.

I think what happens in the above command is that MSYS converts

  g:/emacs/trunk/lisp/calendar/cal-loaddefs.el

into

  g;\emacs\trunk\lisp\calendar\cal-loaddefs.el

(note the semi-colon and the backslashes), because it thinks this is a
colon-separated path.  That's why Emacs complains about invalid escape
sequences.  Can you add a 'message' to unmsys--file-name to see what
kind of argument it is called with?