emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Latest EMACS on BZR trunk does not compile with MinGW


From: Eli Zaretskii
Subject: Re: Latest EMACS on BZR trunk does not compile with MinGW
Date: Thu, 05 Jun 2014 21:07:29 +0300

> From: Stefan Monnier <address@hidden>
> Cc: address@hidden,  address@hidden,  address@hidden,  address@hidden
> Date: Thu, 05 Jun 2014 12:50:29 -0400
> 
> >> case "$(uname -a)" in
> >> *MINGW* | *MinGW* ) ...
> >> esac
> >> wouldn't give the right answer.
> 
> > How is that different from what config.guess already does?
> 
> I'm not trying to replace config.guess nor am I trying to avoid
> duplicating it.
> I'm just trying to replace the
> 
>    if test "x$MSYSTEM" = "xMINGW32" -o "x$MSYSTEM" = "xMINGW64"
> 
> in configure.ac since it turns out that $MSYSTEM may not be set.

I'm all for better alternatives, if they exist.  I'm just not sure
that calling config.guess so early in the script is a good idea
(otherwise, why every configure script calls config.guess at that
place and no earlier?).  Some Autoconf expert should comment on that;
if they approve, we should do that, because config.guess is reliable.

> > is MinGW, but MSYSTEM is not set.  That might be a good enough
> 
> Is $MSYSTEM really necessary?  I only see it used in the above "test"
> and in nt/gmake.defs (which I'm not sure we use nowadays).

We need some sign that we are configuring the MinGW build of Emacs,
and we need it very early in the script.  That is all.  $MSYSTEM is
just a handle to do that.  (And yes, gmake.defs is no longer
important, and should disappear from the trunk soonish.)

> Of course if the /etc/profile thingy that sets MSYSTEM also sets lots of
> other important things, then we may as well rely on $MSYSTEM, indeed.

Yes, /etc/profile sets more than just MSYSTEM.  E.g., it sets PATH.

More importantly, the MSYS developers provide /etc/profile, and they
set up the shell window to invoke Bash with the --login switch.  So
the official way of starting the MSYS environment is to read
/etc/profile, and I therefore strongly advise all users to use that.
People who know what they are doing can change their setup, or invoke
Bash differently, but then they need to accept the risk that some
things might become broken or unreliable, because MSYS strikes a very
fragile balance between Posix and Windows worlds.

If there are more reliable ways of detecting MinGW by a simple test, I
think we should adopt it.  But I don't think we should complicate the
lives of users who faithfully follow instructions in order to placate
those who don't; that's just backwards in my book.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]