Commit graph

157 commits

Author SHA1 Message Date
phcoder
e434359358 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
Parttool autoloading and improvements

	* Makefile.in (pkglib_DATA): add parttool.lst 
	(parttool.lst): new target
	* genmk.rb: generate parttool-*
	(CLEANFILES): add #{parttool}
	(PARTTOOLFILES): new variable
	* genparttoollist.sh: new file
	* parttool/pcpart.c (grub_pcpart_boot): more feedback 
	(grub_pcpart_type): likewise
	* commands/parttool.c (helpmsg): new variable
	(grub_cmd_parttool): output help if not enough arguments are supplied
	autoload modules
	(GRUB_MOD_INIT(parttool)): use helpmsg
2009-04-25 12:18:25 +00:00
bean
d05f0df3eb 2009-04-14 Bean <bean123ch@gmail.com>
* Makefile.in (pkglib_DATA): Add handler.lst.
	(handler.lst): New rule.

	* conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

	* genhandlerlist.sh: New file.

	* genmk.rb: Add rules to generate handler.lst.

	* include/grub/normal.h (grub_file_getline): New function definition.
	(read_handler_list): Likewise.
	(free_handler_list): Likewise.

	* include/grub/term.h (grub_term_register_input): Add name parameter
	for auto generation of handler.lst.
	(grub_term_register_output): Likewise.

	* normal/handler.c: New file.

	* normal/main.c (get_line): Renamed to grub_file_getline.
	(read_config_file): Use the newly renamed grub_file_getline.
	(read_command_list): Likewise.
	(read_fs_list): Likewise.
	(grub_normal_execute): Call read_handler_list to parse handler.lst.
	(GRUB_MOD_FINI): Call free_handler_list to free handler list.

	* term/efi/console.c (grub_console_init): Add name parameter for auto
	generation of handler.lst.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/console.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/usb_keyboard.c: Likewise.
2009-04-14 18:12:14 +00:00
proski
3fcc20834c 2009-04-01 Pavel Roskin <proski@gnu.org>
* Makefile.in: Remove all references to MODULE_LDFLAGS, it's
	unused now.
	* genmk.rb: Likewise.
	* configure.ac: Likewise.
2009-04-01 16:17:20 +00:00
robertmh
9304eef146 2009-03-04 Robert Millan <rmh@aybabtu.com>
Filter /etc/grub.d/10_* so that only add-ons for native kernels are
        installed.

        * Makefile.in (host_kernel): New variable.
        * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
        scripts instead of just the windows one.
        * configure.ac: Initialize and AC_SUBST `host_kernel'.
2009-03-04 22:00:41 +00:00
robertmh
56978920b1 2009-02-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (host_os, host_cpu): New variables.
        (target_os): Remove.  Update all users.
2009-02-08 19:59:32 +00:00
robertmh
d64399b562 2009-02-08 Marco Gerards <marco@gnu.org>
* Makefile.in (enable_grub_emu_usb): New variable.
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
        (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
        `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
        (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
        (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
        `usbtest.mod' and `usbms.mod'.
        (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
        (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
        (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
        (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
        (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
        variables.

        * disk/usbms.c: New file.

        * include/grub/usb.h: Likewise.

        * include/grub/usbtrans.h: Likewise.

        * include/grub/usbdesc.h: Likewise.

        * bus/usb/usbtrans.c: Likewise.

        * bus/usb/ohci.c: Likewise.

        * bus/usb/uhci.c: Likewise.

        * bus/usb/usbhub.c: Likewise.

        * bus/usb/usb.c: Likewise.

        * commands/usbtest.c: Likewise.

        * util/usb.c: Likewise.

        * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.

        * configure.ac: Test for libusb presence.

        * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
2009-02-08 17:58:32 +00:00
fzielcke
4fa809981f 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
* Makefile.in: Change font compilation to use new grub-mkfont instead
	of java version.

	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
2009-01-17 09:38:38 +00:00
bean
e52db1f722 2009-01-13 Bean <bean123ch@gmail.com>
* Makefile.in: (enable_grub_mkfont): New variable.
	(freetype_cflags): Likewise.
	(freetype_libs): Likewise.

	* common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
	(grub_mkfont_SOURCES): New variable.
	(grub_mkfont_CFLAGS): Likewise.
	(grub_mkfont_LDFLAGS): Likewise.

	* configure.ac (--enable-grub-mkfont): New option. Check for freetype2
	library if `--enable-grub-mkfont' is requested.
	(enable_grub_mkfont): New variable.
	(freetype_cflags): Likewise.
	(freetype_libs): Likewise.

	* util/grub-mkfont.c: New file.
2009-01-13 16:34:26 +00:00
robertmh
f36cc10867 2009-01-10 Robert Millan <rmh@aybabtu.com>
Update a few copyright years which we forgot to do in 2008 (only for
            files whose changes made in 2008 were copyright-significant)

            * Makefile.in: Add 2008 to Copyright line.
            * disk/ieee1275/ofdisk.c: Likewise.
            * disk/efi/efidisk.c: Likewise.
            * kern/dl.c: Likewise.
            * kern/sparc64/ieee1275/init.c: Likewise.
            * kern/mm.c: Likewise.
            * kern/efi/mm.c: Likewise.
            * boot/i386/pc/boot.S: Likewise.
            * genfslist.sh: Likewise.
            * fs/iso9660.c: Likewise.
            * fs/hfs.c: Likewise.
            * fs/jfs.c: Likewise.
            * fs/minix.c: Likewise.
            * fs/ufs.c: Likewise.
            * gensymlist.sh.in: Likewise.
            * genkernsyms.sh.in: Likewise.
            * include/grub/misc.h: Likewise.
            * include/grub/types.h: Likewise.
            * include/grub/symbol.h: Likewise.
            * include/grub/elf.h: Likewise.
            * include/grub/kernel.h: Likewise.
            * include/grub/disk.h: Likewise.
            * include/grub/dl.h: Likewise.
            * include/grub/i386/linux.h: Likewise.
            * include/grub/i386/pc/biosdisk.h: Likewise.
            * include/grub/efi/api.h: Likewise.
            * include/grub/efi/pe32.h: Likewise.
            * include/grub/util/misc.h: Likewise.
            * normal/execute.c: Likewise.
            * normal/arg.c: Likewise.
            * normal/completion.c: Likewise.
            * normal/lexer.c: Likewise.
            * normal/parser.y: Likewise.
            * normal/misc.c: Likewise.
            * commands/i386/pc/vbeinfo.c: Likewise.
            * commands/hexdump.c: Likewise.
            * commands/terminal.c: Likewise.
            * commands/ls.c: Likewise.
            * commands/help.c: Likewise.
            * partmap/pc.c: Likewise.
            * loader/efi/chainloader.c: Likewise.
            * loader/multiboot_loader.c: Likewise.
            * loader/i386/pc/multiboot2.c: Likewise.
            * term/efi/console.c: Likewise.
            * term/i386/pc/serial.c: Likewise.
            * util/lvm.c: Likewise.
            * util/console.c: Likewise.
            * util/i386/efi/grub-mkimage.c: Likewise.
            * util/raid.c: Likewise.
2009-01-10 13:07:44 +00:00
chaac
1e901a7573 2009-01-02 Colin D Bennett <colin@gibibit.com>
New font engine.
	
	Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
	build system and fixed gfxterm.c to work with different	sized fonts.

	* configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
	
	* configure: Re-generated.
	
	* DISTLIST: Removed font/manager.c.
	Added font/font.c.
	Added font/font_cmd.c.
	
	* Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF.  Added Font tool
	compilation.
	
	* include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype.  Changed users.
	
	* kern/misc.c (grub_utf8_to_ucs4): Changed prototype. 

	* kern/term.c: Changed users of grub_utf8_to_ucs4.
	
	* normal/menu.c: Likewise.
		
	* conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
	(font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
	
	* include/grub/font.h: Replaced with new file.
	
	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
	(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
	(GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
	(GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
	(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
	(grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha, 
	fg_red, fg_green, fg_blue, fg_alpha.
	(grub_video_adapter): Removed blit_glyph.
	(grub_video_blit_glyph): Removed.	
	
	* font/manager.c: Removed file.
	
	* font/font.c: New file. 
	
	* font/font_cmd.c: Likewise.
	
	* video/video.c (grub_video_blit_glyph): Removed.
	
	* video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
	(grub_video_vbe_map_rgba): Likewise.
	(grub_video_vbe_unmap_color_int): Likewise.
	(grub_video_vbe_blit_glyph): Removed.
	(grub_video_vbe_adapter): Removed blit_glyph.
	
	* video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
	(get_pixel): Likewise.
	(set_pixel): Likewise. 
	
	* commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
	
	* term/gfxterm.c: Adapted to new font engine.
	
	* term/i386/pc/vesafb.c: Marked as deprecated.  Made it compile.
	
	* term/i386/pc/vga.c: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.

	* util/grub.d/00_header.in: Changed to use new loadfont command.
	
	* util/grub-mkconfig_lib.in: Changed font extension.
2009-01-02 15:26:06 +00:00
robertmh
2a9c59400b (DISTCLEANFILES): Add `build_env.mk'. 2008-11-08 15:21:57 +00:00
robertmh
ac293d504e 2008-11-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (include_DATA): Fix srcdir=. assumption.
2008-11-08 12:53:22 +00:00
robertmh
37c86336bf 2008-11-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
        (PKGDATA): Add $(pkgdata_SRCDIR).
        (pkglib_BUILDDIR): New variable.
        (pkgdata_SRCDIR): New variable.
        (build_env.mk): New target.
        (include_DATA): New variable.
        (install-local): Install $(include_DATA) files in $(includedir).
2008-11-08 11:29:53 +00:00
robertmh
926b98230e 2008-11-01 Robert Millan <rmh@aybabtu.com>
* Makefile.in (CPPFLAGS): Fix builddir=. assumption.
        (TARGET_CPPFLAGS): Likewise.
        * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
2008-11-01 17:44:47 +00:00
fzielcke
18ade780ed 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
* util/update-grub_lib.in: Copy to ...
	* util/grub-mkconfig_lib.in: ... this.  Update all users.
	* util/update-grub_lib.in: Make it a stub to `grub-mkconfigig_lib.in'.
	* util/update-grub.in: Rename to ...
	* util/grub-mkconfig.in: ... this.  Update all users.  Remove `-y'
	option. Add `--output' option to allow users to specify the generated
	configuration file.  Default to stdout.
	(update_grub_dir): Rename to ...
	(grub_mkconfig_dir): ... this.
	(grub_cfg): Default to an empty string.
	* conf/common.rmk (update-grub): Rename to ...
	(grub-mkconfig): ... this.
	(update-grub_lib): Copy to ...
	(grub-mkconfig_lib): ... this.
	(update-grub_SCRIPTS): Copy to ...
	(grub-mkconfig_SCRIPTS): ... this. Update all users.
	(update-grub_DATA): Rename to ...
	(grub-mkconfig_DATA): ... this.
2008-09-29 14:57:05 +00:00
fzielcke
040030b3f2 008-09-09 Felix Zielcke <fzielcke@z-51.de>
* Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
        Sort the list.
2008-09-09 13:58:21 +00:00
chrfranke
2d05bc6a3e 2008-08-09 Christian Franke <franke@computer.org>
* Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
	* conf/common.rmk: Install `grub-pe2elf' only if requested.
	Install `grub.d/10_windows' only on Cygwin.
	* configure.ac: Add subst of `target_os'.
	Check `target_os' also before setting TARGET_OBJ2ELF.
	Add `--enable-grub-pe2elf'.
2008-08-09 12:30:26 +00:00
bean
2a8a80e4f4 2008-07-24 Bean <bean123ch@gmail.com>
* common.rmk (bin_UTILITIES): Add grub-pe2elf.
	(grub_pe2elf_SOURCES): New macro.
	(CLEANFILES): Add grub-pe2elf.

	* include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
	(GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
	(GRUB_PE32_SCN_ALIGN_MASK): Likewise.
	(GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
	(GRUB_PE32_SYM_CLASS_STATIC): Likewise.
	(GRUB_PE32_SYM_CLASS_FILE): Likewise.
	(GRUB_PE32_DT_FUNCTION): Likewise.
	(GRUB_PE32_REL_I386_DIR32): Likewise.
	(GRUB_PE32_REL_I386_REL32): Likewise.
	(grub_pe32_symbol): New structure.
	(grub_pe32_reloc): Likewise.

	* util/grub-pe2elf.c: New file.

	* configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
	start symbol in non pc platform.

	* genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.

	The following patches are from Christian Franke.

	* include/grub/dl.h: Remove .previous, gas supports this only
	for ELF format.

	* include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
	Remove .type, gas supports this only for ELF format.

	* kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
	nullbytes in symbol table. This fixes an infinite loop if table is
	zero filled.

	* Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
	TARGET_IMG_LDFLAGS and EXEEXT.

	* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
	TARGET_IMG_LDFLAGS_AC.
	(grub_CHECK_STACK_ARG_PROBE): New function.

	* conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.

	* conf/i386-pc-cygwin-ld-img.sc: New linker script.

	* configure.ac: Add check for linker script "conf/${target}-img-ld.c"
	to set TARGET_IMG_LD* accordingly.
	Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
	Add call to grub_CHECK_STACK_ARG_PROBE.
	Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.

	* genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.

	* genmk.rb: Add EXEEXT to CLEANFILES.
2008-07-24 14:56:30 +00:00
robertmh
12ccdb75a9 2008-07-23 Robert Millan <rmh@aybabtu.com>
* Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
        define the codes for arrows and lines used for the menu).
        (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
        as well.

        * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
        fonts, because the latter are too slow.
2008-07-22 22:23:45 +00:00
robertmh
546f966aa5 2008-07-17 Robert Millan <rmh@aybabtu.com>
Partial LinuxBIOS -> Coreboot rename.

        * conf/i386-linuxbios.rmk: Renamed to ...
        * conf/i386-coreboot.rmk: ... this.
        * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
        * configure.ac: Accept coreboot as input platform (but maintain
        compatibility with linuxbios).
        * include/grub/i386/linuxbios: Renamed to ...
        * include/grub/i386/coreboot: ... this.
2008-07-17 15:05:12 +00:00
bean
aa24b516a2 2008-07-13 Bean <bean123ch@gmail.com>
* Makefile.in (enable_lzo): New rule.

	* conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.

	* configure.ac (ENABLE_LZO): New option --enable-lzo.

	* boot/i386/pc/lnxboot.S: #include <config.h>.

	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
	its value accordding to the compression algorithm used, lzo or lzma.

	* util/i386/pc/grub-mkimage.c (compress_kernel): Use different
	compression algorithm according to configure macro.

	* kern/i386/pc/startup.S (codestart): Likewise.

	* kern/i386/pc/lzma_decode.S: New file.

	* include/grub/lib/LzFind.h: Likewise.

	* include/grub/lib/LzHash.h: Likewise.

	* include/grub/lib/LzmaDec.h: Likewise.

	* include/grub/lib/LzmaEnc.h: Likewise.

	* include/grub/lib/LzmaTypes.h: Likewise.

	* lib/LzFind.c: Likewise.

	* lib/LzmaDec.c: Likewise.

	* lib/LzmaEnc.c: Likewise.
2008-07-13 01:55:15 +00:00
proski
cb71ba20e9 2008-07-02 Pavel Roskin <proski@gnu.org>
* Makefile.in (MODULE_LDFLAGS): New variable.
	* aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro.  Check if
	the linker accepts --build-id=none.
	* configure.ac: Call grub_PROG_LD_BUILD_ID_NONE.  Substitute
	MODULE_LDFLAGS.
	* genmk.rb: Use MODULE_LDFLAGS when linking modules.
2008-07-02 19:03:23 +00:00
bean
25f16ec1f6 2008-04-25 Bean <bean123ch@gmail.com>
* Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
	i386-linuxbios.

	* commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
	change the buffer size to 4096 for cdrom device.

	* conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
	and nand.mod.
	(_linux_mod_SOURCES): New variable.
	(_linux_mod_CFLAGS): Likewise.
	(_linux_mod_LDFLAGS): Likewise.
	(linux_mod_SOURCES): Likewise.
	(linux_mod_CFLAGS): Likewise.
	(linux_mod_LDFLAGS): Likewise.
	(nand_mod_SOURCES): Likewise.
	(nand_mod_CFLAGS): Likewise.
	(nand_mod_LDFLAGS): Likewise.

	* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
	GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
	type property. (nand device in olpc don't have this property)

	* include/grub/disk.h (grub_disk_dev_id): New macro
	GRUB_DISK_DEVICE_NAND_ID.

	* include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
	function prototype.
	(grub_rescue_cmd_initrd): Likewise.

	* include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
	(linux_kernel_params): Add new member ofw_signature, ofw_num_items,
	ofw_cif_handler and ofw_idt, adjust padding number.

	* include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
	GRUB_MACHINE_IEEE1275 is defined.

	* include/grub/ieee1275/ieee1275.h (grub_available_iterate):
	Use NESTED_FUNC_ATTR attribute on the hook parameter.

	* kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
	on nested function heap_init.
	(grub_upper_mem): New variable for i386-ieee1275.
	(grub_get_extended_memory): New function for i386-ieee1275.
	(grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.

	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
	NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
	property.

	* loader/i386/ieee1275/linux.c: New file.

	* loader/i386/ieee1275/linux_normal.c: New file.

	* disk/ieee1275/nand.c: New file.
2008-04-25 19:41:51 +00:00
robertmh
58cd3d85e0 2008-04-13 Robert Millan <rmh@aybabtu.com>
* gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
        * genmk.rb (partmap): New variable.
        (CLEANFILES, PARTMAPFILES): Add #{partmap}.
        (#{partmap}): New target rule.
        * genpartmaplist.sh: New file.
        * Makefile.in (pkglib_DATA): Add partmap.lst.
        (partmap.lst): New target rule.
        * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
        modules (including all partition maps), instead of preloading them.
2008-04-13 10:55:19 +00:00
robertmh
68807e5f37 2008-02-09 Robert Millan <rmh@aybabtu.com>
* configure.ac: Probe for `help2man'.
        * Makefile.in (builddir): New variable.
        (HELP2MAN): Likewise.  Set to `true' when @HELP2MAN@ doesn't provide it,
        or otherwise add a few flags/options to it.
        (install-local): For every executable utility or script that is
        installed, invoke $(HELP2MAN) to install a manpage based on --help
        output.

        * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
        that it doesn't prevent --help from working in build tree.

        * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
        with `bug-grub@gnu.org'.
        * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
        * util/update-grub.in (usage): New function.
        Implement proper argument check, with support for --help and --version
        (as well as existing -y).
2008-02-09 12:31:11 +00:00
bean
99fadbaafd 2008-02-04 Bean <bean123ch@gmail.com>
* Makefile.in (enable_grub_fstest): New variable.

	* conf/common.rmk (grub_fstest_init.lst): New rule.
	(grub_fstest_init.h): Likewise.
	(grub_fstest_init.c): Likewise.
	(util/grub-fstest.c_DEPENDENCIES): New variable.
	(grub_fstest_SOURCES): Likewise.

	* configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.

	* util/grub-fstest.c: New file.
2008-02-04 08:45:07 +00:00
robertmh
7076340d08 2008-01-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
        `$(update-grub_DATA)'.
        (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
        targets.
2008-01-08 10:00:42 +00:00
robertmh
4931827fe4 2007-12-25 Robert Millan <rmh@aybabtu.com>
* configure.ac: Search for possible unifont.hex locations, and
	define UNIFONT_HEX if found.

	* Makefile.in (UNIFONT_HEX): Define variable.
	(DATA): Rename to ...
	(PKGLIB): ... this.  Update all users.
	(PKGDATA): New variable.
	(pkgdata_IMAGES): Rename to ...
	(pkglib_IMAGES): ... this. Update all users.
	(pkgdata_MODULES): Rename to ...
	(pkglib_MODULES): ... this. Update all users.
	(pkgdata_PROGRAMS): Rename to ...
	(pkglib_PROGRAMS): ... this. Update all users.
	(pkgdata_DATA): Rename to ...
	(pkglib_DATA): ... this. Update all users.
	(CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
	(unicode.pff, ascii.pff): New rules.
	(all-local): Add `$(PKGDATA)' dependency.
	(install-local): Process `$(PKGDATA)'.

	* util/update-grub_lib.in (font_path): Search for *.pff files in
	a few more locations, including `${pkgdata}'.
2007-12-25 09:09:43 +00:00
robertmh
7ee367e49b 2007-06-11 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-mkrescue.in: New file.
	* conf/i386-pc.rmk: Add its build declarations.  Put it in bin_SCRIPTS.
	* Makefile.in: Handle bin_SCRIPTS.
2007-06-11 06:26:18 +00:00
robertmh
42c71976c6 2007-05-20 Robert Millan <rmh@aybabtu.com>
* util/update-grub_lib.in: New file.
	* DISTLIST: Add update-grub_lib.in.
	* conf/common.rmk: Generate update-grub_lib and install it in
	$(lib_DATA).
	* Makefile.in: Add install routine for $(lib_DATA).

	* util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
	function provided by update-grub_lib to support arbitrary paths of
	unifont.pff.
	* util/update-grub.in: Use convert_system_path_to_grub_path() to
	initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
2007-05-20 09:10:06 +00:00
jeroen
3f6a10ef11 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
* Makefile.in: Add the datarootdir autoconf variable.
2007-05-09 21:24:33 +00:00
robertmh
da65cb3645 2007-05-07 Robert Millan <rmh@aybabtu.com>
* Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
	source directory differs from build directory.
2007-05-07 09:25:23 +00:00
robertmh
ebd97f6e46 2007-05-04 Robert Millan <rmh@aybabtu.com>
* DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
	util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
	* Makefile.in: Build update-grub_SCRIPTS.  Install update-grub_SCRIPTS
	and update-grub_DATA.
	* conf/common.rmk: Build and install update-grub components.
	* conf/common.mk: Regenerate.
	* util/update-grub.in: New.  Core of update-grub.
	* util/grub.d/00_header.in: New.  Generates grub.cfg header.
	* util/grub.d/10_hurd.in: New.  Generates boot entries for the Hurd.
	* util/grub.d/10_linux.in: New.  Generates boot entries for Linux.
	* util/grub.d/README: New.  Document grub.d directory layout.
2007-05-04 07:11:44 +00:00
jerone
1d543c3ec0 Add the ability to transform Grub program names. For example, a user can easily launch
./configure --program-transform-name="s/grub/grub2/"

And the installed files (in this case for i386-pc) will be:

/usr/lib/grub2/i386-pc/*
/usr/local/sbin/grub2-emu
/usr/local/sbin/grub2-install
...etc

Also grub2-install place boot files in "/boot/grub2"

This allows easy integration into distributions as it allows grub2 to
sit side by side with a grub legacy install without.
2007-04-10 21:38:26 +00:00
tschwinge
4fe9862ebb 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
* Makefile.in (enable_grub_emu): New variable.
	* configure.ac (--enable-grub-emu): New option.
	Do the checks for (n)curses only if `--enable-grub-emu' is requested.
	* conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
2006-12-13 22:30:19 +00:00
okuji
b977bf01b3 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
* util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
        (target_cpu): New variable.
        (pkglibdir): Use target_cpu instead of host_cpu.

        * util/i386/pc/grub-install.in (host_cpu): Removed.
        (target_cpu): New variable.
        (pkglibdir): Use target_cpu instead of host_cpu.

        * util/genmoddep.c: Removed.

        * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
        instead of GRUB_HOST_SIZEOF_VOID_P.
        * kern/dl.c: Likewise.

        * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
        ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
        * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
        to ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
        * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
        to ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.

        * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
        GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
        [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
        instead of GRUB_HOST_SIZEOF_LONG.
        [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
        GRUB_HOST_WORDS_BIGENDIAN to define or undefine
        GRUB_CPU_WORDS_BIGENDIAN.
        Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
        define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
        grub_host_ssize_t.

        * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
        (genmoddep_SOURCES): Likewise.
        * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
        (genmoddep_SOURCES): Likewise.
        * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
        (genmoddep_SOURCES): Likewise.
        * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
        Likewise.
        (genmoddep_SOURCES): Likewise.

        * genmoddep.awk: New file.

        * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
        TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
        CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
        (PModule::rule): Likewise.
        (Program::rule): Likewise.
        (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
        BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
        respectively.

        * configure.ac: Rewritten intensively to use host and target
        instead of build and host, respectively.

        * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
        (host_cpu): Removed.
        (target_cpu): New variable.
        (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
        (BUILD_CC): Removed.
        (BUILD_CFLAGS): Likewise.
        (BUILD_CPPFLAGS): Likewise.
        (TARGET_CC): New variable.
        (TARGET_CFLAGS): Likewise.
        (TARGET_CPPFLAGS): Likewise.
        (TARGET_LDFLAGS): Likewise.
        (AWK): Likewise.
        (include): Use target_cpu instead of host_cpu.
        (moddep.lst:): Use genmoddep.awk instead of genmoddep.

        * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
2006-05-28 23:01:43 +00:00
okuji
05568c2e85 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
Add --with-platform to configure. Use pkglibdir instead of
        pkgdatadir. This is reported by Roger Leigh.

        * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
        (host_vendor): Likewise.
        (host_os): Likewise.
        (pkgdatadir): Likewise.
        (platform): New variable.
        (pkglibdir): Likewise.
        Use PKGLIBDIR instead of PKGDATADIR.

        * util/i386/pc/grub-install.in (datadir): Removed.
        (host_vendor): Likewise.
        (host_os): Likewise.
        (pkgdatadir): Likewise.
        (platform): New variable.
        (pkglibdir): Likewise.
        Use PKGLIBDIR instead of PKGDATADIR.

        * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
        instead of GRUB_DATADIR.
        (main): Likewise.
        * util/i386/pc/grub-mkimage.c (usage): Likewise.
        (main): Likewise.
        * util/i386/efi/grub-mkimage.c (usage): Likewise.
        (main): Likewise.

        * configure.ac (--with-platform): New option.
        Use PLATFORM instead of HOST_VENDOR to specify a platform.

        * Makefile.in: Include a makefile based on PLATFORM instead of
        HOST_VENDOR.
        (pkgdatadir): Not appended by the machine type.
        (pkglibdir): Appended by the machine type.
        (host_vendor): Removed.
        (platform): New variable.
        (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
        (install-local): Use PKGLIBDIR instead of PKGDATADIR.
        (uninstall): Likewise.
2006-05-08 19:29:10 +00:00
okuji
7b455f4dd3 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
* util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
        explicitly to suppress gcc's warnings.
        * fs/fat.c (grub_fat_find_dir): Likewise.
        (grub_fat_label): Likewise.
        * fs/xfs.c (grub_xfs_read_inode): Likewise.
        (grub_xfs_mount): Likewise.
        (grub_xfs_label): Likewise.
        * fs/affs.c (grub_affs_mount): Likewise.
        (grub_affs_label): Likewise.
        (grub_affs_iterate_dir): Likewise.
        * fs/sfs.c (grub_sfs_mount): Likewise.
        (grub_sfs_iterate_dir): Likewise.
        * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
        * fs/hfs.c (grub_hfs_mount): Likewise.
        (grub_hfs_cmp_catkeys): Likewise.
        (grub_hfs_find_dir): Likewise.
        (grub_hfs_dir): Likewise.
        (grub_hfs_label): Likewise.
        * fs/jfs.c (grub_jfs_mount): Likewise.
        (grub_jfs_opendir): Likewise.
        (grub_jfs_getent): Likewise.
        (grub_jfs_lookup_symlink): Likewise.
        (grub_jfs_label): Likewise.
        * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
        (grub_hfsplus_iterate_dir): Likewise.
        (grub_hfsplus_btree_iterate_node): Made static.

        * util/grub-emu.c (prefix): New variable.
        (grub_machine_set_prefix): New function.
        (main): Do not set the environment variable "prefix" here. Only
        set PREFIX, which is used later by grub_machine_set_prefix.

        * include/grub/video.h: Do not include grub/symbol.h.
        (grub_video_register): Not exported. This symbol is not defined in
        the kernel.
        (grub_video_unregister): Likewise.
        (grub_video_iterate): Likewise.
        (grub_video_setup): Likewise.
        (grub_video_restore): Likewise.
        (grub_video_get_info): Likewise.
        (grub_video_get_blit_format): Likewise.
        (grub_video_set_palette): Likewise.
        (grub_video_get_palette): Likewise.
        (grub_video_set_viewport): Likewise.
        (grub_video_get_viewport): Likewise.
        (grub_video_map_color): Likewise.
        (grub_video_map_rgb): Likewise.
        (grub_video_map_rgba): Likewise.
        (grub_video_fill_rect): Likewise.
        (grub_video_blit_glyph): Likewise.
        (grub_video_blit_bitmap): Likewise.
        (grub_video_blit_render_target): Likewise.
        (grub_video_scroll): Likewise.
        (grub_video_swap_buffers): Likewise.
        (grub_video_create_render_target): Likewise.
        (grub_video_delete_render_target): Likewise.
        (grub_video_set_active_render_target): Likewise.

        * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
        Undefined.
        [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.

        * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
        config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
        config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
        gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
        gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
        genkernsyms.sh.

        * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
        genkernsyms.sh.
        (gensymlist.sh): New target.
        (genkernsyms.sh): Likewise.

        * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
        genkernsyms.sh.in and gensymlist.sh.in.

        * genkernsyms.sh: Removed.
        * gensymlist.sh: Likewise.

        * genkernsyms.sh.in: New file.
        * gensymlist.sh.in: Likewise.
2006-04-26 21:58:36 +00:00
hollisb
ff04ec24e9 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
* Makefile.in (LDFLAGS): Add variable.
	(LD): Remove variable.
	* configure.ac: Add -m32 to LDFLAGS.
	* genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
	* conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
	(grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
	(_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
	suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
	variables.
	* conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
	* conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
	* conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
2006-04-21 00:47:11 +00:00
okuji
837091258d 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
* DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
        include/grub/efi/api.h, include/grub/efi/console_control.h,
        include/grub/efi/efi.h, include/grub/efi/pe32.h,
        include/grub/i386/efi/time.h, kern/efi/efi.c,
        kern/i386/efi/init.c, kern/i386/efi/startup.S,
        and util/i386/efi/grub-mkimage.c.

        * Makefile.in (RMKFILES): Added i386-efi.rmk.

        * genmk.rb (PModule#rule): Do not export symbols if
        #{prefix}_EXPORTS is set to "no".

        * conf/i386-efi.mk: New file.
        * conf/i386-efi.rmk: Likewise.
        * include/grub/efi/api.h: Likewise.
        * include/grub/efi/console_control.h: Likewise.
        * include/grub/efi/efi.h: Likewise.
        * include/grub/efi/pe32.h: Likewise.
        * include/grub/i386/efi/time.h: Likewise.
        * kern/efi/efi.c: Likewise.
        * kern/i386/efi/init.c: Likewise.
        * kern/i386/efi/startup.S: Likewise.
        * util/i386/efi/grub-mkimage.c: Likewise.
2006-04-18 06:18:15 +00:00
marco_g
144f1f986f 2006-01-03 Marco Gerards <marco@gnu.org>
* INSTALL: GNU Bison is required.
	* configure.ac: Rewritten the test to detect Bison.
	* Makefile.in (YACC): New variable.  Reported by Xun Sun
	<xun.sun.cn@gmail.com>.
2006-01-03 17:58:02 +00:00
marco_g
233b16284c 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
* genmk.rb: Fixed list rules moved to Makefile.in.  Recognise
	appending to variables with "+=".
	(PModule): Use full pathname to generate *.lst filenames.

	* Makefile.in: Fixed list rules moved from genmk.rb.
	(.DELETE_ON_ERROR): New special target.
	(RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.

	* conf/i386-pc.rmk: Include conf/common.mk.
	(pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
	minux.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
	hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
	help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
	sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
	configfile.mod, search.mod, gzio.mod and test.mod.
	(symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
	(grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
	(fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
	(fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
	(ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
	(ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
	(minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
	(hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
	(jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
	(iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
	(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
	(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
	(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
	(hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
	(boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
	(terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
	(ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
	(cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
	(help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
	(font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
	(terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
	(amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
	(apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
	here...
	* conf/common.rmk: ... to here.  New file.

	* conf/common.mk: New file.
2005-11-18 14:56:55 +00:00
hollisb
4b60267db7 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
* Makefile.in (install-local): Use $(DATA).
	(uninstall): Likewise.
	* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
	(sbin_UTILITIES): ... to here.
	(sbin_SCRIPTS): New variable.
	(grub_install_SOURCES): New variable.
	* util/powerpc/ieee1275/grub-install.in: New file.
	* util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
	variable.
	(add_segments): Call `grub_util_get_path'.
2005-11-03 05:05:05 +00:00
okuji
4ac9bd0438 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
* Makefile.in (LIBLZO): New variable.

        * configure.ac: Check for LZO version 2.

        * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
        lzo/lzo1x.h instead of lzo1x.h.

        * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
        of -llzo.

        * util/i386/pc/grub-setup.c (main): Do not free PREFIX
        twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.

        * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
        copying the data from PARTITION to P.
2005-08-08 23:15:21 +00:00
okuji
f4917dfdd6 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
* kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
        negative, unload the module.

        * util/i386/pc/grub-setup.c (setup): The name of the PC partition
        map is "pc_partition_map" but not "pc".
        (usage): Fix the description. The options are --boot-image and
        --core-image but not --boot-file or --core-file.
        (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
        based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
        DEFAULT_DIRECTORY.

        * util/i386/pc/grub-install.in: Do not specify --boot-file or
        --core-file. Specify INSTALL_DEVICE as an argument.

        * util/console.c: Include config.h.
        [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
        [HAVE_NCURSES_H]: Include ncurses.h.
        [HAVE_CURSES_H]: Include curses.h.
        [!A_NORMAL] (A_NORMAL): Defined as zero.
        [!A_STANDOUT] (A_STANDOUT): Likewise.

        * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
        -lncurses.
        * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.

        * configure.ac: Check for curses libraries and headers.

        * Makefile.in (LIBCURSES): New variable.

        * genmk.rb (Script::rule): Set the executable bits.

        * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
        name of the PC partition map is "pc_partition_map" but not "pc".
2005-08-07 17:12:52 +00:00
okuji
075a165076 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
* DISTLIST: Added util/i386/pc/grub-install.in.

	* util/i386/pc/grub-install.in: New file.

	* conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
	(grub_install_SOURCES): Likewise.

	* genmk.rb: Added support for scripts.
	(Script): New class.
	(scripts): New variable.

	* Makefile.in (install-local): Install sbin_SCRIPTS by
	INSTALL_SCRIPT.
	(uninstall): Remove sbin_SCRIPTS.

	* util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
	device, try to get a GRUB device by
	grub_util_biosdisk_get_grub_dev.
	Free DEST_DEV.

	* util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
	description for --device-map.
2005-07-24 18:16:26 +00:00
okuji
0058f7712f 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
* DISTLIST: New file.
  * gendistlist.sh: Likewise.

  * Makefile.in (COMMON_DISTFILES): Removed.
  (BOOT_DISTFILES): Likewise.
  (CONF_DISTFILES): Likewise.
  (DISK_DISTFILES): Likewise.
  (FS_DISTFILES): Likewise.
  (INCLUDE_DISTFILES): Likewise.
  (KERN_DISTFILES): Likewise.
  (LOADER_DISTFILES): Likewise.
  (TERM_DISTFILES): Likewise.
  (UTIL_DISTFILES): Likewise.
  (DISTFILES): Likewise.
  (uninstall): Uninstall files in $(pkgdata_DATA).
  (DISTLIST): New target.
  (distdir): Use the contents of the file DISTLIST to get a list of
  distributed files.
2005-03-19 17:49:19 +00:00
okuji
7b1f4b5715 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
* gencmdlist.sh: New file.

  * genmk.rb (PModule::rule): Generate a rule for a command list.
  Clean command.lst.
  Generate command.lst from $(COMMANDFILES).

  * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
  (DATA): Added $(pkgdata_DATA).
  (install-local): Install files in $(pkgdata_DATA).
2005-03-02 21:52:38 +00:00
okuji
93f3a1d868 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
* commands/default.h: New file.
  * commands/timeout.h: Likewise.
  * normal/context.c: Likewise.

  * util/misc.c: Do not include sys/times.h.
  Include sys/time.h and grub/machine/time.h.
  (grub_get_rtc): Rewritten with gettimeofday.

  * util/grub-emu.c (main): Call grub_default_init and
  grub_timeout_init before grub_normal_init, and call
  grub_timeout_fini and grub_default_fini after grub_main.

  * util/console.c (grub_ncurses_checkkey): Return the read
  character or -1.

  * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
  timeouts.

  * normal/main.c (read_config_file): Push MENU. If this fails,
  print an error and wait for a user input.
  Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
  If a menu is empty or an error occurs, pop MENU.
  (grub_normal_execute): Pop and free MENU after grub_menu_run
  returns.

  * kern/loader.c (grub_loader_boot): Call grub_machine_fini.

  * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
  include time.h.
  [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
  without GRUB_UTIL.
  * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
  time.h.
  [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
  without GRUB_UTIL.

  * include/grub/normal.h (struct grub_menu_list): New struct.
  (grub_menu_list_t): New type.
  (struct grub_context): New struct.
  (grub_context_t): New type.
  (grub_register_command): Got rid of EXPORT_FUNC.
  (grub_unregister_command): Likewise.
  (grub_context_get): New prototype.
  (grub_context_get_current_menu): Likewise.
  (grub_context_push_menu): Likewise.
  (grub_context_pop_menu): Likewise.
  [GRUB_UTIL] (grub_default_init): Likewise.
  [GRUB_UTIL] (grub_default_fini): Likewise.
  [GRUB_UTIL] (grub_timeout_init): Likewise.
  [GRUB_UTIL] (grub_timeout_fini): Likewise.

  * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
  commands/timeout.c and normal/context.c.
  (pkgdata_MODULES): Added default.mod and timeout.mod.
  (normal_mod_SOURCES): Added normal/context.c.
  (default_mod_SOURCES): New variable.
  (default_mod_CFLAGS): Likewise.
  (timeout_mod_SOURCES): Likewise.
  (timeout_mod_CFLAGS): Likewise.
  * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
  conf/i386-pc.rmk.
  (pkgdata_MODULES): Added default.mod and timeout.mod.
  (normal_mod_SOURCES): Added normal/context.c.
  (default_mod_SOURCES): New variable.
  (default_mod_CFLAGS): Likewise.
  (timeout_mod_SOURCES): Likewise.
  (timeout_mod_CFLAGS): Likewise.

  * Makefile.in (all-local): Added $(MKFILES).
2005-02-27 21:19:06 +00:00
marco_g
924b6140a1 2004-12-27 Marco Gerards <metgerards@student.han.nl>
* genmk.rb: Handle the `Program' class in the main loop.  Written
	by Johan Rydberg <jrydberg@gnu.org>.
	(Program): New class.
	(programs): New variable.
	* boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
	instead of "grub/machine/ieee1275.h".  Include <grub/kernel.h>
	instead of "grub/kernel.h".  Include <grub/machine/init.h>.
	(help_arch): Function removed.
	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
	`powerpc/libgcc.h' and `loader.h'.
	(pkgdata_PROGRAMS): New variable.
	(sbin_UTILITIES): Variable removed.
	(grub_emu_SOURCES): Added kern/powerpc/cache.S.
	(grubof_SOURCES): Variable re-defined so it only includes the
	core functionality.
	(grubof_CFLAGS): Remove `-DGRUBOF'.
	(pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
	(fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
	(ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
	(minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
	(hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
	(iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
	(_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
	(normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
	(hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
	(boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
	(ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
	(cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
	(font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
	(apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
	(pc_mod_CFLAGS): New variables.
	* disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
	(grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
	* include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
	* include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
	Moved from here...
	* include/grub/i386/pc/init.h (grub_os_area_addr)
	(rub_os_area_size): ... to here.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_entry_fn): Export symbol.
	* include/grub/powerpc/ieee1275/init.h: New file.
	* include/grub/powerpc/libgcc.h: Likewise.
	* include/grub/cache.h: Likewise.
	* kern/powerpc/cache.S: Likewise.  Written by Hollis Blanchard
	<hollis@penguinppc.org>.
	* kern/dl.c: Include <grub/cache.h>.
	(grub_dl_flush_cache): New function.
	(grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
	for this module.
	* kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
	(grub_console_init): Removed prototypes.
	(grub_machine_init): Don't initialize the modules anymore.
	* kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
	static.
	* include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
	Macro undef removed.
	(GRUB_HOST_WORDS_BIGENDIAN): New macro.
	* kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
	relocation `R_PPC_REL32'.  Return an error when the relocation is
	unknown.
	* Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
	* kern/i386/pc/init.c (grub_arch_sync_caches): New function.
	* util/misc.c (grub_arch_sync_caches): Likewise.
2004-12-27 13:46:20 +00:00
marco_g
0ef123f617 2004-08-02 Peter Bruin <pjbruin@dds.nl>
* loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
	grub_load_linux instead of grub_rescue_cmd_linux as second
	argument of grub_rescue_register_command.

	* Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
2004-08-02 10:28:11 +00:00
okuji
4b13b216f4 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
	and grub_, respectively. Because the conversion is trivial and
	mechanical, I omit the details here. Please refer to the CVS
	if you need more information.
2004-04-04 13:46:03 +00:00
jeroen
8c8cc20511 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
* Makefile.in: Update copyright.
	* genmodsrc.sh: Likewise.
	* gensymlist.sh: Likewise.
	* term/i386/pc/vga.c: Indent correctly.

	* util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
	bugreporting address.
	* util/i386/pc/pupa-setup.c (usage): Likewise,
	(main): Call pupa_ext2_init and pupa_ext2_fini.

	* fs/fat.c (log2): Renamed to ...
	(fat_log2): ... this.
	All callers changed.
	* kern/misc.c (memcpy): Alias to pupa_memmove.
	* loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
	lvalue cast.
	* util/console.c (pupa_ncurses_fini): Return 0.

	* util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
	Move fail label here.
	[__GNU__]: Don't warn when using stat.
	(open_device)[!__linux__]: Check if FD < 0 instead of !FD.
	(pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
	long int. Use strtol instead of strtoul.
2004-03-14 17:48:25 +00:00
okuji
1cc73a62da 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
* include/i386/pc/util/biosdisk.h: New file.
	* util/i386/pc/biosdisk.c: Likewise.
	* util/i386/pc/pupa-setup.c: Likewise.

	* Makefile.in (INCLUDE_DISTFILES): Added
	include/pupa/i386/pc/util/biosdisk.h.
	(UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
	directory util/i386/pc.
	(install-local): Added a rule for sbin_UTILITIES.
	(uninstall): Likewise.

	* util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.

	* util/misc.c (xrealloc): New function.
	(pupa_malloc): Likewise.
	(pupa_free): Likewise.
	(pupa_realloc): Likewise.
	(pupa_stop): Likewise.
	(pupa_putchar): Likewise.

	* kern/disk.c (pupa_disk_read): Prevent L from underflowing.

	* include/pupa/util/misc.h (xrealloc): Declared.

	* include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
	macro.
	(PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
	(PUPA_BOOT_MACHINE_BPB_END): ... this.

	* include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
	[PUPA_UTIL] (pupa_fat_fini): Likewise.

	* fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
	way should be implemented.
	[PUPA_UTIL] (pupa_fat_fini): Likewise.

	* disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
	the size of NAME for safety.
	(pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
	0x88.

	* conf/i386-pc.rmk (sbin_UTILITIES): New variable.
	(pupa_setup_SOURCES): Likewise.

	* genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
2003-01-02 20:12:33 +00:00
okuji
9962ed9907 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
* configure.ac: Check ld.
	Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
	respectively, before checking endianness and sizes.

	* Makefile.in (LD): New variable.
2002-12-27 14:14:06 +00:00
okuji
abdfc3c54e 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
* Makefile.in (BUILD_CC): CC -> BUILD_CC.
2002-12-27 08:57:45 +00:00
okuji
6a161fa938 Initial revision 2002-12-27 08:53:07 +00:00