[2035] 2009-03-21 Bean <[email protected]>

Bean <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 2035
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2035
Author:   bean
Date:     2009-03-21 07:48:28 +0000 (Sat, 21 Mar 2009)
Log Message:
-----------
2009-03-21  Bean  <[email protected]>

	* util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
	instead of stat in mingw environment.

	* util/misc.c (grub_millisleep): Use Sleep in mingw environment.

	* aclocal.m4 (grub_CHECK_LINK_DIR): New function.

	* configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
	AC_CONFIG_LINKS.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/DISTLIST
    trunk/grub2/aclocal.m4
    trunk/grub2/conf/powerpc-ieee1275.mk
    trunk/grub2/configure
    trunk/grub2/configure.ac
    trunk/grub2/util/hostdisk.c
    trunk/grub2/util/misc.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/ChangeLog	2009-03-21 07:48:28 UTC (rev 2035)
@@ -1,5 +1,17 @@
 2009-03-21  Bean  <[email protected]>
 
+	* util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
+	instead of stat in mingw environment.
+
+	* util/misc.c (grub_millisleep): Use Sleep in mingw environment.
+
+	* aclocal.m4 (grub_CHECK_LINK_DIR): New function.
+
+	* configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
+	AC_CONFIG_LINKS.
+
+2009-03-21  Bean  <[email protected]>
+
 	* fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
 	out of range error.
 

Modified: trunk/grub2/DISTLIST
===================================================================
--- trunk/grub2/DISTLIST	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/DISTLIST	2009-03-21 07:48:28 UTC (rev 2035)
@@ -392,6 +392,7 @@
 loader/i386/multiboot.c
 loader/i386/multiboot_elfxx.c
 loader/i386/efi/linux.c
+loader/i386/efi/loadbios.c
 loader/i386/ieee1275/linux.c
 loader/i386/pc/chainloader.c
 loader/i386/pc/chainloader_normal.c

Modified: trunk/grub2/aclocal.m4
===================================================================
--- trunk/grub2/aclocal.m4	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/aclocal.m4	2009-03-21 07:48:28 UTC (rev 2035)
@@ -448,3 +448,21 @@
   AC_MSG_RESULT([no])
 [fi]
 ])
+
+dnl Check if ln can handle directories properly (mingw).
+AC_DEFUN(grub_CHECK_LINK_DIR,[
+AC_MSG_CHECKING([whether ln 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]
+  AC_MSG_RESULT([yes])
+  [link_dir=yes
+else
+  link_dir=no]
+  AC_MSG_RESULT([no])
+[fi
+rm -rf testdir]
+])

Modified: trunk/grub2/conf/powerpc-ieee1275.mk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.mk	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/conf/powerpc-ieee1275.mk	2009-03-21 07:48:28 UTC (rev 2035)
@@ -17,7 +17,7 @@
 kernel_elf_HEADERS = arg.h boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
 	env.h err.h file.h fs.h kernel.h misc.h mm.h net.h parser.h rescue.h \
 	symbol.h term.h time.h types.h powerpc/libgcc.h loader.h partition.h \
-	pc_partition.h ieee1275/ieee1275.h machine/kernel.h
+	pc_partition.h ieee1275/ieee1275.h machine/kernel.h handler.h
 
 symlist.c: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h gensymlist.sh
 	/bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)

Modified: trunk/grub2/configure
===================================================================
--- trunk/grub2/configure	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/configure	2009-03-21 07:48:28 UTC (rev 2035)
@@ -8859,8 +8859,35 @@
 
 
 # Output files.
-ac_config_links="$ac_config_links include/grub/cpu:include/grub/$target_cpu include/grub/machine:include/grub/$target_cpu/$platform"
 
+{ echo "$as_me:$LINENO: checking whether ln can handle directories properly" >&5
+echo $ECHO_N "checking whether ln can handle directories properly... $ECHO_C" >&6; }
+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
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+  link_dir=yes
+else
+  link_dir=no
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+rm -rf testdir
+
+if test x"$link_dir" = xyes ; then
+  ac_config_links="$ac_config_links include/grub/cpu:include/grub/$target_cpu include/grub/machine:include/grub/$target_cpu/$platform"
+
+else
+  mkdir -p include/grub 2>/dev/null
+  rm -rf include/grub/cpu
+  cp -rp $srcdir/include/grub/$target_cpu include/grub/cpu 2>/dev/null
+  rm -rf include/grub/machine
+  cp -rp $srcdir/include/grub/$target_cpu/$platform include/grub/machine 2>/dev/null
+fi
 ac_config_files="$ac_config_files Makefile gensymlist.sh genkernsyms.sh"
 
 ac_config_files="$ac_config_files stamp-h"

Modified: trunk/grub2/configure.ac
===================================================================
--- trunk/grub2/configure.ac	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/configure.ac	2009-03-21 07:48:28 UTC (rev 2035)
@@ -474,8 +474,17 @@
 AC_SUBST([freetype_libs])
 
 # Output files.
-AC_CONFIG_LINKS([include/grub/cpu:include/grub/$target_cpu
+grub_CHECK_LINK_DIR
+if test x"$link_dir" = xyes ; then
+  AC_CONFIG_LINKS([include/grub/cpu:include/grub/$target_cpu
 	include/grub/machine:include/grub/$target_cpu/$platform])
+else
+  mkdir -p include/grub 2>/dev/null
+  rm -rf include/grub/cpu
+  cp -rp $srcdir/include/grub/$target_cpu include/grub/cpu 2>/dev/null
+  rm -rf include/grub/machine
+  cp -rp $srcdir/include/grub/$target_cpu/$platform include/grub/machine 2>/dev/null
+fi
 AC_CONFIG_FILES([Makefile gensymlist.sh genkernsyms.sh])
 AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
 AC_OUTPUT

Modified: trunk/grub2/util/hostdisk.c
===================================================================
--- trunk/grub2/util/hostdisk.c	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/util/hostdisk.c	2009-03-21 07:48:28 UTC (rev 2035)
@@ -555,7 +555,12 @@
 	e++;
       *e = '\0';
 
+#ifdef __MINGW32__
+      (void) st;
+      if (grub_util_get_disk_size (p) == -1LL)
+#else
       if (stat (p, &st) == -1)
+#endif
 	{
 	  free (map[drive].drive);
 	  map[drive].drive = NULL;

Modified: trunk/grub2/util/misc.c
===================================================================
--- trunk/grub2/util/misc.c	2009-03-21 07:35:04 UTC (rev 2034)
+++ trunk/grub2/util/misc.c	2009-03-21 07:48:28 UTC (rev 2035)
@@ -43,6 +43,11 @@
 # include <malloc.h>
 #endif
 
+#ifdef __MINGW32__
+#include <windows.h>
+#include <winioctl.h>
+#endif
+
 char *progname = 0;
 int verbosity = 0;
 
@@ -311,9 +316,19 @@
   return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
 }
 
+#ifdef __MINGW32__
+
 void
 grub_millisleep (grub_uint32_t ms)
 {
+  Sleep (ms);
+}
+
+#else
+
+void
+grub_millisleep (grub_uint32_t ms)
+{
   struct timespec ts;
 
   ts.tv_sec = ms / 1000;
@@ -321,6 +336,8 @@
   nanosleep (&ts, NULL);
 }
 
+#endif
+
 void 
 grub_arch_sync_caches (void *address __attribute__ ((unused)),
 		       grub_size_t len __attribute__ ((unused)))
@@ -349,9 +366,6 @@
 
 #ifdef __MINGW32__
 
-#include <windows.h>
-#include <winioctl.h>
-
 void sync (void)
 {
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.