fix removal of {cpu,machine} links on mingw/msys
authorAndrey Borzenkov <arvidjaar@gmail.com>
Sat, 18 Jan 2014 18:48:04 +0000 (22:48 +0400)
committerAndrey Borzenkov <arvidjaar@gmail.com>
Sat, 18 Jan 2014 18:48:04 +0000 (22:48 +0400)
At least on Windows 2003 using "ln -s dir1 dir2" in msys shell succeeds,
but results in what looks like hard link. Subsequent "rm -f dir2" (e.g.
during second config.status invocation) fails. Check that we also can
remove link to directory.

Make it more clear in message that we are checking "ln -s".

ChangeLog
acinclude.m4

index cff9386..c3bfa9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+
+       * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
+       symbolic link to directory. It fails in Msys shell on Windows 2003.
+
 2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * Makefile.am (default_payload.elf): Add modules
index 32d5477..b2bb88d 100644 (file)
@@ -418,15 +418,15 @@ else
 [fi]
 ])
 
-dnl Check if ln can handle directories properly (mingw).
+dnl Check if ln -s can handle directories properly (mingw).
 AC_DEFUN([grub_CHECK_LINK_DIR],[
-AC_MSG_CHECKING([whether ln can handle directories properly])
+AC_MSG_CHECKING([whether ln -s can handle directories properly])
 [mkdir testdir 2>/dev/null
 case $srcdir in
 [\\/$]* | ?:[\\/]* ) reldir=$srcdir/include/grub/util ;;
     *) reldir=../$srcdir/include/grub/util ;;
 esac
-if ln -s $reldir testdir/util 2>/dev/null ; then]
+if ln -s $reldir testdir/util 2>/dev/null && rm -f testdir/util 2>/dev/null ; then]
   AC_MSG_RESULT([yes])
   [link_dir=yes
 else