cygwin emu build fixes

This commit is contained in:
BVK Chaitanya 2010-05-06 08:45:39 +05:30
parent 81827e248c
commit da6e6f17f3
6 changed files with 32 additions and 36 deletions

View file

@ -105,14 +105,14 @@ grub_usb_root_hub (grub_usb_controller_t controller __attribute__((unused)))
grub_usb_err_t grub_usb_err_t
grub_usb_control_msg (grub_usb_device_t dev, grub_uint8_t reqtype, grub_usb_control_msg (grub_usb_device_t dev, grub_uint8_t reqtype,
grub_uint8_t request, grub_uint16_t value, grub_uint8_t request, grub_uint16_t value,
grub_uint16_t index, grub_size_t size, char *data) grub_uint16_t idx, grub_size_t size, char *data)
{ {
usb_dev_handle *devh; usb_dev_handle *devh;
struct usb_device *d = dev->data; struct usb_device *d = dev->data;
devh = usb_open (d); devh = usb_open (d);
if (usb_control_msg (devh, reqtype, request, if (usb_control_msg (devh, reqtype, request,
value, index, data, size, 20) < 0) value, idx, data, size, 20) < 0)
{ {
usb_close (devh); usb_close (devh);
return GRUB_USB_ERR_STALL; return GRUB_USB_ERR_STALL;

View file

@ -16,7 +16,7 @@ kernel_img_SOURCES = kern/device.c kern/disk.c kern/dl.c kern/env.c \
\ \
gnulib/progname.c disk/host.c gnulib/progname.c disk/host.c
kernel_img_HEADERS += datetime.h emu/misc.h kernel_img_HEADERS += datetime.h emu/misc.h
kernel_img_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-undef -I$(srcdir)/gnulib kernel_img_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-char-subscripts -Wno-unused -Wno-deprecated-declarations -Wno-undef -I$(srcdir)/gnulib
kernel_img_LDFLAGS = $(COMMON_LDFLAGS) kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
TARGET_NO_STRIP = yes TARGET_NO_STRIP = yes

View file

@ -4,6 +4,13 @@
#include <grub/symbol.h> #include <grub/symbol.h>
#include <grub/types.h> #include <grub/types.h>
#ifdef __CYGWIN__
# include <sys/fcntl.h>
# include <sys/cygwin.h>
# include <limits.h>
# define DEV_CYGDRIVE_MAJOR 98
#endif
#ifdef __NetBSD__ #ifdef __NetBSD__
/* NetBSD uses /boot for its boot block. */ /* NetBSD uses /boot for its boot block. */
# define DEFAULT_DIRECTORY "/grub" # define DEFAULT_DIRECTORY "/grub"

View file

@ -19,6 +19,8 @@
#include <config.h> #include <config.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include <dirent.h> #include <dirent.h>
@ -27,13 +29,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
#ifdef __CYGWIN__
# include <sys/fcntl.h>
# include <sys/cygwin.h>
# include <limits.h>
# define DEV_CYGDRIVE_MAJOR 98
#endif
#ifdef __GNU__ #ifdef __GNU__
#include <hurd.h> #include <hurd.h>
#include <hurd/lookup.h> #include <hurd/lookup.h>

View file

@ -176,6 +176,26 @@ grub_get_rtc (void)
* GRUB_TICKS_PER_SECOND / 1000000)); * GRUB_TICKS_PER_SECOND / 1000000));
} }
#ifdef __CYGWIN__
/* Convert POSIX path to Win32 path,
remove drive letter, replace backslashes. */
static char *
get_win32_path (const char *path)
{
char winpath[PATH_MAX];
if (cygwin_conv_path (CCP_POSIX_TO_WIN_A, path, winpath, sizeof(winpath)))
grub_util_error ("cygwin_conv_path() failed");
int len = strlen (winpath);
int offs = (len > 2 && winpath[1] == ':' ? 2 : 0);
int i;
for (i = offs; i < len; i++)
if (winpath[i] == '\\')
winpath[i] = '/';
return xstrdup (winpath + offs);
}
#endif
/* This function never prints trailing slashes (so that its output /* This function never prints trailing slashes (so that its output
can be appended a slash unconditionally). */ can be appended a slash unconditionally). */

View file

@ -53,11 +53,6 @@
# include <malloc.h> # include <malloc.h>
#endif #endif
#ifdef __CYGWIN__
# include <sys/cygwin.h>
# define DEV_CYGDRIVE_MAJOR 98
#endif
#ifdef __MINGW32__ #ifdef __MINGW32__
#include <windows.h> #include <windows.h>
#include <winioctl.h> #include <winioctl.h>
@ -304,27 +299,6 @@ canonicalize_file_name (const char *path)
return ret; return ret;
} }
#ifdef __CYGWIN__
/* Convert POSIX path to Win32 path,
remove drive letter, replace backslashes. */
static char *
get_win32_path (const char *path)
{
char winpath[PATH_MAX];
if (cygwin_conv_path (CCP_POSIX_TO_WIN_A, path, winpath, sizeof(winpath)))
grub_util_error ("cygwin_conv_path() failed");
int len = strlen (winpath);
int offs = (len > 2 && winpath[1] == ':' ? 2 : 0);
int i;
for (i = offs; i < len; i++)
if (winpath[i] == '\\')
winpath[i] = '/';
return xstrdup (winpath + offs);
}
#endif
#ifdef GRUB_UTIL #ifdef GRUB_UTIL
void void
grub_util_init_nls (void) grub_util_init_nls (void)