Merge emu-mod into emu-modload
This commit is contained in:
commit
b77ab1aaa9
8 changed files with 82 additions and 9 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/multiboot2.h: Remove leftover file.
|
||||
* include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
|
||||
* include/grub/partition.h [GRUB_UTIL]: Likewise.
|
||||
|
||||
2010-02-07 Yves Blusseau <blusseau@zetam.org>
|
||||
|
||||
* gnulib/getdelim.c: add missing header (type ssize_t must be defined).
|
||||
|
||||
2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Fix warnings in grub-emu when compiling with maximum warning options.
|
||||
|
|
57
ChangeLog.emu-mod
Normal file
57
ChangeLog.emu-mod
Normal file
|
@ -0,0 +1,57 @@
|
|||
2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Compile parts of grub-emu as modules.
|
||||
|
||||
* Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
|
||||
(pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
|
||||
partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
|
||||
(all-local): Add $(GRUB_EMU).
|
||||
(install-local): Install $(GRUB_EMU).
|
||||
(uninstall): Uninstall $(GRUB_EMU).
|
||||
* commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
|
||||
* kern/dl.c: Likewise.
|
||||
* commands/sleep.c: Not include machine/time.h.
|
||||
* conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
|
||||
(COMMON_CFLAGS): Likewise.
|
||||
(sbin_UTILITIES): Remove grub-emu.
|
||||
(grub_emu_SOURCES): Removed.
|
||||
(kernel_img_RELOCATABLE): New variable.
|
||||
(pkglib_PROGRAMS): Add kernel.img.
|
||||
(kernel_img_SOURCES): New variable
|
||||
(kernel_img_CFLAGS): Likewise.
|
||||
(kernel_img_LDFLAGS): Likewise.
|
||||
(TARGET_NO_STRIP): Likewise.
|
||||
(TARGET_NO_DYNAMIC_MODULES): Likewise.
|
||||
(pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
|
||||
halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
|
||||
(grub-emu): New target.
|
||||
(GRUB_EMU): New variable.
|
||||
* configure.ac: Whitelist -emu as possible x86_64 architecture.
|
||||
* efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
|
||||
* loader/xnu.c: Likewise.
|
||||
* include/grub/pci.h: Likewise.
|
||||
* genemuinit.sh: New file.
|
||||
* genemuinitheader.sh: Likewise.
|
||||
* genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
|
||||
Support TARGET_NO_DYNAMIC_MODULES.
|
||||
* include/grub/dl.h (GRUB_NO_MODULES): New variable.
|
||||
* commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
|
||||
* disk/loopback.c: Likewise.
|
||||
* font/font_cmd.c: Likewise.
|
||||
* partmap/acorn.c: Likewise.
|
||||
* partmap/amiga.c: Likewise.
|
||||
* partmap/apple.c: Likewise.
|
||||
* partmap/gpt.c: Likewise.
|
||||
* partmap/msdos.c: Likewise.
|
||||
* partmap/sun.c: Likewise.
|
||||
* parttool/msdospart.c: Likewise.
|
||||
* term/gfxterm.c: Likewise.
|
||||
* video/bitmap.c: Likewise.
|
||||
* video/readers/jpeg.c: Likewise.
|
||||
* video/readers/png.c: Likewise.
|
||||
* video/readers/tga.c: Likewise.
|
||||
* video/video.c: Likewise.
|
||||
* util/grub-emu.c (read_command_list): Removed.
|
||||
(main): Don't call util_init_nls.
|
||||
* util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
|
||||
(grub_util_init_nls) [!GRUB_UTIL]: Likewise.
|
|
@ -90,8 +90,10 @@ TARGET_ASFLAGS = @TARGET_ASFLAGS@
|
|||
TARGET_MODULE_FORMAT = @TARGET_MODULE_FORMAT@
|
||||
TARGET_APPLE_CC = @TARGET_APPLE_CC@
|
||||
OBJCONV = @OBJCONV@
|
||||
TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(srcdir)/include -I$(builddir) -I$(builddir)/include \
|
||||
-Wall -W
|
||||
TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(srcdir)/include -I$(builddir) -I$(builddir)/include -Wall -W
|
||||
ifneq ($(platform), emu)
|
||||
TARGET_CPPFLAGS += -nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)
|
||||
endif
|
||||
TARGET_LDFLAGS = @TARGET_LDFLAGS@
|
||||
TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
|
||||
TARGET_IMG_LDFLAGS = @TARGET_IMG_LDFLAGS@
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
# -*- makefile -*-
|
||||
|
||||
COMMON_LDFLAGS += -nostdlib
|
||||
COMMON_CFLAGS +=
|
||||
COMMON_CFLAGS += -nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include) -fno-builtin
|
||||
|
||||
# Used by various components. These rules need to precede them.
|
||||
script/lexer.c_DEPENDENCIES = grub_script.tab.h
|
||||
|
||||
#sbin_UTILITIES += grub-emu
|
||||
kernel_img_RELOCATABLE = yes
|
||||
pkglib_PROGRAMS = kernel.img
|
||||
kernel_img_SOURCES = kern/device.c kern/disk.c kern/dl.c kern/env.c \
|
||||
|
@ -37,7 +36,6 @@ endif
|
|||
endif
|
||||
else
|
||||
kernel_img_SOURCES += grub_emu_init.c
|
||||
grub_emu_init.c_DEPENDENCIES = grub_emu_init.h
|
||||
endif
|
||||
|
||||
# For boot.mod.
|
||||
|
@ -79,7 +77,7 @@ endif
|
|||
ifeq ($(enable_grub_emu_sdl), yes)
|
||||
pkglib_MODULES += sdl.mod
|
||||
sdl_mod_SOURCES = util/sdl.c
|
||||
sdl_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
sdl_mod_CFLAGS =
|
||||
sdl_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
grub_emu_LDFLAGS += $(LIBSDL)
|
||||
kernel_img_HEADERS += sdl.h
|
||||
|
@ -106,7 +104,7 @@ grub_emu_init.h: genemuinitheader.sh $(pkglib_MODULES)
|
|||
rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinitheader.sh $(NM) > $@
|
||||
DISTCLEANFILES += grub_emu_init.h
|
||||
|
||||
grub_emu_init.c: genemuinit.sh $(pkglib_MODULES)
|
||||
grub_emu_init.c: genemuinit.sh $(pkglib_MODULES) grub_emu_init.h
|
||||
rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinit.sh $(NM) > $@
|
||||
DISTCLEANFILES += grub_emu_init.c
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifndef SSIZE_MAX
|
||||
# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
|
||||
|
|
|
@ -150,6 +150,10 @@ void grub_hostfs_init (void);
|
|||
void grub_hostfs_fini (void);
|
||||
void grub_host_init (void);
|
||||
void grub_host_fini (void);
|
||||
#if GRUB_NO_MODULES
|
||||
void grub_init_all (void);
|
||||
void grub_fini_all (void);
|
||||
#endif
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
|
|
|
@ -198,7 +198,7 @@ grub_util_biosdisk_open (const char *name, grub_disk_t disk)
|
|||
|
||||
fd = open (map[drive].device, O_RDONLY);
|
||||
if (fd == -1)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "cannot open `%s' while attempting to get disk size", map[drive].device);
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "cannot open `%s' while attempting to get disk size", map[drive].device);
|
||||
|
||||
# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__APPLE__)
|
||||
if (fstat (fd, &st) < 0 || ! S_ISCHR (st.st_mode))
|
||||
|
@ -244,7 +244,7 @@ grub_util_biosdisk_open (const char *name, grub_disk_t disk)
|
|||
# warning "No special routine to get the size of a block device is implemented for your OS. This is not possibly fatal."
|
||||
#endif
|
||||
if (stat (map[drive].device, &st) < 0)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "cannot stat `%s'", map[drive].device);
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "cannot stat `%s'", map[drive].device);
|
||||
|
||||
disk->total_sectors = st.st_size >> GRUB_DISK_SECTOR_BITS;
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#endif
|
||||
|
||||
#include <grub/kernel.h>
|
||||
#include <grub/dl.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/cache.h>
|
||||
#include <grub/util/misc.h>
|
||||
|
|
Loading…
Reference in a new issue