* gnulib/progname.h: Likewise.
* conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
* util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
(usage): Replace `progname' with `program_name'.
(main): Use set_program_name() for program name initialization.
* aclocal.m4: Move from here ...
* acinclude.m4: ... to here.
* autogen.sh: Add call to `aclocal'.
* configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
Fix build for systems without error().
* gnulib/error.c: New file (imported from Gnulib).
* gnulib/error.h: Likewise.
* conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
* util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
(this variable is now used by error()).
* include/grub/multiboot.h (struct grub_multiboot_header): Move
from here ...
* include/multiboot.h (struct multiboot_header): ... to here. Update
all users.
* include/grub/multiboot.h (struct grub_multiboot_info): Move
from here ...
* include/multiboot.h (struct multiboot_info): ... to here. Update
all users.
* include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
from here ...
* include/multiboot.h (struct multiboot_mmap_entry): ... to here.
Update all users.
* include/grub/multiboot.h (struct grub_mod_list): Move
from here ...
* include/multiboot.h (struct multiboot_mod_list): ... to here.
Update all users.
* include/multiboot2.h (multiboot_word): Rename from this ...
(multiboot2_word): ... to this. Update all users.
(multiboot_header): Rename from this ...
(multiboot2_header): ... to this. Update all users.
(multiboot_tag_header): Rename from this ...
(multiboot2_tag_header): ... to this. Update all users.
(multiboot_tag_start): Rename from this ...
(multiboot2_tag_start): ... to this. Update all users.
(multiboot_tag_name): Rename from this ...
(multiboot2_tag_name): ... to this. Update all users.
(multiboot_tag_module): Rename from this ...
(multiboot2_tag_module): ... to this. Update all users.
(multiboot_tag_memory): Rename from this ...
(multiboot2_tag_memory): ... to this. Update all users.
(multiboot_tag_unused): Rename from this ...
(multiboot2_tag_unused): ... to this. Update all users.
(multiboot_tag_end): Rename from this ...
(multiboot2_tag_end): ... to this. Update all users.
Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
this platform we should support Multiboot1 first.
* conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
(multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
(multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
* util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
of write calls (converting them to fwrite() if they aren't already).
(get_torito_desc): Likewise.
* util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
Support for El Torito without floppy emulation.
* util/mkisofs/eltorito.c: Include `<errno.h>'.
(init_boot_catalog): Improve error handling.
(get_torito_desc): Don't use floppy emulation unless requested by
user. Patch boot information table when requested via
`-boot-info-table'.
* util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
* util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
(use_boot_info_table): New variables.
(OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
(OPTION_ELTORITO_EMUL_FLOPPY): New macros.
(ld_options): Handle `-boot-info-table', `-no-emul-boot' and
`--eltorito-emul-floppy'.
(main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
and `OPTION_ELTORITO_EMUL_FLOPPY'.
* util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
(use_boot_info_table, get_731): New prototypes.
* util/mkisofs/write.c (get_731): New function.
Large file support for grub-mkisofs.
* conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
* util/mkisofs/mkisofs.c (next_extent, last_extent)
(session_start): Upgrade type to `uint64_t'. Update all users.
* util/mkisofs/mkisofs.h: Include `<stdint.h>'.
(struct directory_entry): Upgrade type of `starting_block' and
`size' to `uint64_t'. Update all users.
(struct deferred): Remove unused structure.
(xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
Update all users.
* util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
file is larger than `UINT32_MAX'.
* util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
`size' to `uint64_t'. Update all users. Fix handling of fwrite()
return value.
(struct deferred_write): Upgrade type of `extent' and `size' to
`uint64_t'. Update all users.
(last_extent_written): Upgrade type to `uint64_t'. Update all
users.
(write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
Update all users. Upgrade type of `remain' to `int64_t' and
`use' to `size_t'. Use error() to handle fread() errors.
(write_files): Rely on write_one_file() rather than calling
xfwrite() directly.