emacs-devel
[Top][All Lists]
Advanced

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

Re: MS-Windows build using Posix configury


From: Eli Zaretskii
Subject: Re: MS-Windows build using Posix configury
Date: Wed, 17 Apr 2013 19:48:39 +0300

> From: Glenn Morris <address@hidden>
> Cc: address@hidden
> Date: Wed, 17 Apr 2013 02:25:41 -0400
> 
> Eli Zaretskii wrote:
> 
> > On Windows, the configure script sets LN_S to "cp -p" already.  I see
> > no reason to override that, because this is OK elsewhere in the build.
> 
> Why doesn't configure set LN_S to ln, if ln is usable?
> If ln isn't usable, why do you use it unconditionally?

'ln' does work on Windows, but evidently not good enough for
Autoconf.  From the configure script:

  rm -f conf$$ conf$$.exe conf$$.file
  if test -d conf$$.dir; then
    rm -f conf$$.dir/conf$$.file
  else
    rm -f conf$$.dir
    mkdir conf$$.dir 2>/dev/null
  fi
  if (echo >conf$$.file) 2>/dev/null; then
    if ln -s conf$$.file conf$$ 2>/dev/null; then
      as_ln_s='ln -s'
      # ... but there are two gotchas:
 >>>> # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. <<<<<<<<<<<<
      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
      # In both cases, we have to default to `cp -p'.
      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
        as_ln_s='cp -p'
    elif ln conf$$.file conf$$ 2>/dev/null; then
      as_ln_s=ln
    else
      as_ln_s='cp -p'
    fi
  else
    as_ln_s='cp -p'

And indeed, the Windows documentation clearly says that hard links to
directories are not supported.

I could, of course, force LN_S to be 'ln' for the Windows build, but
then what if one day we will need to make a hard link to a directory?

OTOH, Paul suggested to use 'ln' on all platforms when installing
Emacs (which is the only place where this issue arises), in which case
this is a moot point.

On the third hand, there's talk about not creating any links as part
of "make install" (see
http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00450.html).
So I'm not sure this is worth any effort.



reply via email to

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