diff --git a/.bzrignore b/.bzrignore index 6b4b14592..8cdc9d12d 100644 --- a/.bzrignore +++ b/.bzrignore @@ -7,10 +7,12 @@ autom4te.cache build_env.mk .bzrignore config.cache +config.guess config.h config.h.in config.log config.status +config.sub configure conf/*.mk conf/gcry.rmk @@ -46,11 +48,13 @@ grub_setup_init.h *.img include/grub/cpu include/grub/machine +install-sh lib/libgcrypt-grub *.lst Makefile *.mod mod-*.c +missing *.pf2 po/*.mo po/grub.pot diff --git a/ChangeLog b/ChangeLog index decef53b0..c743b0a1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,327 @@ -2009-11-23 Robert Millan +2009-12-05 Vladimir Serbinenko - * po/id.po: New file. - * LINGUAS: Add `id'. + * configure.ac (TARGET_ASFLAGS): Add "-D". + +2009-12-05 Carles Pina i Estany + + * util/grub-install.in: Install gettext .mo files. + * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files. + +2009-12-05 Carles Pina i Estany + + * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with + grub_dprintf. + +2009-12-05 Robert Millan + + * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The + non-firmware-dependant one in realmode.S takes precedence. + +2009-12-04 Robert Millan + + * commands/halt.c: Replace misc arch-specific headers with + `'. + * commands/reboot.c: Likewise. + * commands/i386/pc/halt.c: Replace `' with + `'. + * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'. + (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ... + (kernel_img_SOURCES): ... to here. + + * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes. + * include/grub/i386/pc/init.h: Likewise. + * include/grub/powerpc/ieee1275/kernel.h: Likewise. + * include/grub/sparc64/ieee1275/kernel.h: Likewise. + + * include/grub/misc.h (grub_reboot, grub_halt): New prototypes. + + * include/grub/i386/halt.h: Remove. + * include/grub/i386/reboot.h: Likewise. + + * kern/i386/halt.c: Remove `'. + +2009-12-03 David S. Miller + + * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES, + grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c + * util/sparc64/ieee1275/grub-mkimage.c: Include and + "progname.h" + * util/sparc64/ieee1275/grub-ofpathname.c: Likewise. + * util/sparc64/ieee1275/grub-setup.c: Likewise. + (usage): Add missing comma in printf. + +2009-12-02 Robert Millan + + Use the same reboot approach on i386 coreboot and qemu as we do on + BIOS. + + * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'. + (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'. + * kern/i386/reboot.c: Remove. + * include/grub/i386/reboot.h (grub_reboot): Export function. + * kern/i386/pc/startup.S (grub_reboot): Move from here ... + * kern/i386/realmode.S (grub_reboot): ... to here. Jump to + 0xf000:0xfff0 instead of 0xffff:0x0000. + [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts. + * kern/i386/qemu/startup.S: Include `"../realmode.S"'. + +2009-11-30 Robert Millan + + Fix $srcdir != $objdir build. + + * Makefile.in (po/%.po): Rewrite as ... + ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this. + +2009-11-29 Samuel Thibault + + Fix GNU/Hurd grub-install crash. + * util/grub-probe.c (probe): Try to access `path' only when it is not + NULL. + +2009-11-28 Vladimir Serbinenko + + Correct module naming. + + * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ... + (GRUB_MOD_INIT(efi_uga)): ... to this + (GRUB_MOD_FINI(efi_fb)): Renamed from this ... + (GRUB_MOD_FINI(efi_uga)): ... to this + * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ... + (GRUB_MOD_INIT(efi_gop)): ... to this + (GRUB_MOD_FINI(efi_fb)): Renamed from this ... + (GRUB_MOD_FINI(efi_gop)): ... to this + +2009-11-28 Robert Millan + + * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as + translatable. + (usage): Translate `arg' strings using gettext(). + Thanks to Jordi Mallach for the suggestion. + +2009-11-28 Vladimir Serbinenko + + GOP support. Based on patch from Bean + (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html) + + * video/efi_gop.c: New file. + * include/grub/efi/graphics_output.h: Likewise. + * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'. + (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New + variables. + * conf/x86_64-efi.rmk: Likewise. + +2009-11-28 Vladimir Serbinenko + + Rename efi_fb to efi_uga. + + * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to + 'efi_uga.mod'. + (efi_fb_mod_SOURCES): Rename this ... + (efi_uga_mod_SOURCES): ... to this. + (efi_fb_mod_CFLAGS): Rename this ... + (efi_uga_mod_CFLAGS): ... to this. + (efi_fb_mod_LDFLAGS): Rename this ... + (efi_uga_mod_LDFLAGS): ... to this. + * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to + 'efi_uga.mod'. + (efi_fb_mod_SOURCES): Rename this ... + (efi_uga_mod_SOURCES): ... to this. + (efi_fb_mod_CFLAGS): Rename this ... + (efi_uga_mod_CFLAGS): ... to this. + (efi_fb_mod_LDFLAGS): Rename this ... + (efi_uga_mod_LDFLAGS): ... to this. + * video/efi_fb.c: Move this ... + * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'. + +2009-11-27 Robert Millan + + * po/README: New file. Explain our PO file workflow. + +2009-11-27 Robert Millan + + * po/ChangeLog: Remove. Move relevant entries back to ... + * ChangeLog: ... here. + * po/ca.po: Remove (now handled by TLP). + * po/id.po: Likewise. + * po/zh_CN.po: Likewise. + * Makefile.in (LINGUAS): Initialize in a way that supports + empty set. + +2009-11-27 Robert Millan + + * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of + reliing on po/LINGUAS. + ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ... + (po/%.po): ... this. + +2009-11-26 Felix Zielcke + + * util/i386/efi/grub-mkimage.c: Include "progname.h". + (main): Use `program_name' instead of nonexistent `progname'. + +2009-11-26 Felix Zielcke + + * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'. + * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise. + +2009-11-26 Robert Millan + + * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous + commit. + * conf/i386-efi.rmk: Likewise. + * conf/i386-ieee1275.rmk: Likewise. + * conf/powerpc-ieee1275.rmk: Likewise. + * conf/sparc64-ieee1275.rmk: Likewise. + * conf/x86_64-efi.rmk: Likewise. + +2009-11-26 Felix Zielcke + + * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'. + +2009-11-26 Felix Zielcke + + * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'. + +2009-11-26 Robert Millan + + * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'. + (grub_mkdevicemap_SOURCES): New variable. + (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES) + (grub_mkrelpath_SOURCES, grub_editenv_SOURCES) + (grub_pe2elf_SOURCES): Add `gnulib/progname.c'. + * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'. + (grub_mkdevicemap_SOURCES): Remove. + * conf/i386-efi.rmk: Likewise. + * conf/i386-ieee1275.rmk: Likewise. + * conf/i386-pc.rmk: Likewise. + * conf/powerpc-ieee1275.rmk: Likewise. + * conf/sparc64-ieee1275.rmk: Likewise. + * conf/x86_64-efi.rmk: Likewise. + * util/elf/grub-mkimage.c: Include `' and `"progname.h"'. + (usage): Fix strings to use `program_name'. + (main): Initialize gettext. + * util/grub-editenv.c: Likewise. + * util/grub-emu.c: Likewise. + * util/grub-fstest.c: Likewise. + * util/grub-mkdevicemap.c: Likewise. + * util/grub-mkfont.c: Likewise. + * util/grub-mkrelpath.c: Likewise. + * util/grub-pe2elf.c: Likewise. + * util/grub-probe.c: Likewise. + * util/sparc64/ieee1275/grub-mkimage.c: Likewise. + * util/sparc64/ieee1275/grub-ofpathname.c: Likewise. + * util/sparc64/ieee1275/grub-setup.c: Likewise. + + * util/misc.c: Include `"progname.h"'. + (progname): Remove variable. + (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'. + +2009-11-25 Felix Zielcke + + * util/grub.d/10_linux.in (linux_entry): Quote the arguments to + printf and print a newline after the menuentry header line. + * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise. + +2009-11-25 Felix Zielcke + + autoconf >= 2.60 support $(localedir). + + * INSTALL: Note that autoconf 2.60 is required. + * configure.ac (AC_PREREQ): Bump to 2.60. + * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@. + * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise. + +2009-11-25 Yves Blusseau + + * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when + aclocal is run. + +2009-11-25 Robert Millan + + * normal/main.c (grub_normal_read_line): Fix off-by-one + buffer overflow. + +2009-11-25 Robert Millan + + * normal/main.c (grub_normal_execute): Replace "parser.sh" with + "parser.grub" in grub_command_execute() call. + +2009-11-24 Carles Pina i Estany + + * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h. + * conf/i386-efi.rmk: Likewise. + * conf/i386-ieee1275.rmk: Likewise. + * conf/i386-pc.rmk: Likewise. + * conf/powerpc-ieee1275.rmk: Likewise. + * conf/sparc64-ieee1275.rmk: Likewise. + * conf/x86_64-efi.rmk: Likewise. + * gettext/gettex.c: Include . + * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from + here ... + * include/grub/i18n.h: ... to here + * include/grub/i18n.h: ... to here. + * kern/misc.c: Include + (grub_gettext_dummy): Move above user. + +2009-11-24 Felix Zielcke + + * util/Makefile.in (install-local): Convert a `for' into a normal + shell expansion. + +2009-11-24 Robert Millan + + * autogen.sh: Add automake call. + * config.guess: Remove. + * config.sub: Likewise. + * install-sh: Likewise. + +2009-11-24 Felix Zielcke + + * util/Makefile.in (install-local): Fix the use of $lang shell variable. + +2009-11-24 Felix Zielcke + + * util/Makefile.in (install-local): Convert a make `$(foreach)' + function to a normal shell `for'. + +2009-11-24 Felix Zielcke + + * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'. + +2009-11-24 Felix Zielcke + + * util/grub-mkrelpath.c: New file. + * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath. + (grub_mkrelpath_SOURCES): New variable. + * include/grub/util/misc.h: New function prototype. + * util/misc.c (make_system_path_relative_to_its_root): New function. + + * util/grub-mkconfig_lib.in (bindir): New variable. + (grub_mkrelpath): Likewise. + (make_system_path_relative_to_its_root): Use grub-mkrelpath. + + * util/probe.c (probe): Make the file path relative to its root. + Change a info message to use the GRUB path. Enable again the + check if we can read the file with GRUB facilities. + + * util/i386/pc/grub-setup.c (setup): Make core.img path relative + to its root. + +2009-11-24 Felix Zielcke + + * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu + platform. + +2009-11-24 Felix Zielcke + + * util/getroot.c (grub_util_get_dev_abstraction): Properly use + strncmp(). + +2009-11-24 Felix Zielcke + + * util/getroot.c (grub_util_is_dmraid): New function. + (grub_util_get_dev_abstraction): Treat dmraid and multipath + devices as normal ones, not as LVM. 2009-11-23 Carles Pina i Estany diff --git a/INSTALL b/INSTALL index e7f9e8936..cfade2026 100644 --- a/INSTALL +++ b/INSTALL @@ -22,7 +22,7 @@ need the following. * Ruby 1.6 or later * Python 2.5.2 or later -* Autoconf 2.59d or later +* Autoconf 2.60 or later * Automake 1.10.1 or later Configuring the GRUB diff --git a/Makefile.in b/Makefile.in index adab7ec0a..c8187796b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -45,7 +45,9 @@ XGETTEXT = @XGETTEXT@ MSGMERGE = @MSGMERGE@ MSGFMT = @MSGFMT@ -LINGUAS = $(shell tr '\n' ' ' < $(srcdir)/po/LINGUAS) +LINGUAS = $(shell for i in $(srcdir)/po/*.po ; do \ + if test -e $$i ; then echo $$i ; fi ; \ + done | sed -e "s,.*/po/\(.*\)\.po$$,\1,") PACKAGE = @PACKAGE@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -156,10 +158,9 @@ ifeq ($(platform), emu) include $(srcdir)/conf/any-emu.mk else include $(srcdir)/conf/$(target_cpu)-$(platform).mk -endif - # For external modules. -include $(wildcard $(GRUB_CONTRIB)/*/conf/common.mk) +endif ### General targets. @@ -311,13 +312,13 @@ install-local: all dest="`echo $$file | sed 's,.*/,,'`"; \ $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \ done - $(foreach lang, $(LINGUAS), \ - $(shell $(mkinstalldirs) $(DESTDIR)/$(datadir)/locale/$(lang)/LC_MESSAGES) \ - @list='po/$(lang).mo'; \ - for file in $$list; do \ + @langs='$(LINGUAS)'; \ + for lang in $$langs; do \ + $(SHELL) $(mkinstalldirs) $(DESTDIR)/$(datadir)/locale/$$lang/LC_MESSAGES; \ + file="po/$$lang.mo"; \ if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \ - $(INSTALL_DATA) $$dir$$file $(DESTDIR)/$(datadir)/locale/$(lang)/LC_MESSAGES/$(PACKAGE).mo; \ - done) + $(INSTALL_DATA) $$dir$$file $(DESTDIR)/$(datadir)/locale/$$lang/LC_MESSAGES/$(PACKAGE).mo; \ + done $(SHELL) $(mkinstalldirs) $(DESTDIR)$(infodir) @list='$(info_INFOS)'; \ for file in $$list; do \ diff --git a/autogen.sh b/autogen.sh index 5cbdbb489..eb251f9f0 100755 --- a/autogen.sh +++ b/autogen.sh @@ -6,6 +6,9 @@ aclocal autoconf autoheader +# FIXME: automake doesn't like that there's no Makefile.am +automake -a -c -f || true + echo timestamp > stamp-h.in python util/import_gcry.py lib/libgcrypt/ . diff --git a/commands/halt.c b/commands/halt.c index 9a42938b4..8fa8db5be 100644 --- a/commands/halt.c +++ b/commands/halt.c @@ -19,15 +19,7 @@ #include #include - -#if defined(GRUB_MACHINE_IEEE1275) -#include -#elif defined(GRUB_MACHINE_EFI) -#include -#else -/* Platforms shipping standalone halt, such as coreboot. */ -#include -#endif +#include static grub_err_t grub_cmd_halt (grub_command_t cmd __attribute__ ((unused)), diff --git a/commands/i386/pc/halt.c b/commands/i386/pc/halt.c index add8631a8..344dcecd8 100644 --- a/commands/i386/pc/halt.c +++ b/commands/i386/pc/halt.c @@ -18,7 +18,7 @@ */ #include -#include +#include #include static const struct grub_arg_option options[] = diff --git a/commands/reboot.c b/commands/reboot.c index 0b553b710..86c9e2dd9 100644 --- a/commands/reboot.c +++ b/commands/reboot.c @@ -19,18 +19,7 @@ #include #include - -#if defined(GRUB_MACHINE_IEEE1275) -#include -#elif defined(GRUB_MACHINE_EFI) -#include -#elif defined(GRUB_MACHINE_PCBIOS) -#include -#else -/* Platforms shipping standalone reboot, such as coreboot. */ -#include -#endif - +#include static grub_err_t grub_cmd_reboot (grub_command_t cmd __attribute__ ((unused)), diff --git a/conf/any-emu.rmk b/conf/any-emu.rmk index a7838f8f3..9038b07df 100644 --- a/conf/any-emu.rmk +++ b/conf/any-emu.rmk @@ -14,7 +14,7 @@ grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c \ commands/gptsync.c commands/probe.c commands/xnu_uuid.c \ commands/password.c commands/keystatus.c \ disk/host.c disk/loopback.c disk/scsi.c \ - fs/fshelp.c \ + fs/fshelp.c \ \ io/gzio.c \ kern/device.c kern/disk.c kern/dl.c kern/elf.c kern/env.c \ @@ -28,7 +28,7 @@ grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c \ normal/completion.c normal/main.c normal/color.c \ normal/menu.c normal/menu_entry.c normal/menu_viewer.c \ normal/menu_text.c \ - script/main.c script/execute.c script/function.c \ + script/main.c script/execute.c script/function.c \ script/lexer.c script/script.c grub_script.tab.c \ partmap/amiga.c partmap/apple.c partmap/msdos.c partmap/sun.c \ partmap/acorn.c partmap/gpt.c \ @@ -37,7 +37,7 @@ grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c \ fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c \ fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \ fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c fs/afs_be.c \ - fs/befs.c fs/befs_be.c fs/tar.c \ + fs/befs.c fs/befs_be.c fs/tar.c \ \ util/console.c util/hostfs.c util/grub-emu.c util/misc.c \ util/hostdisk.c util/getroot.c \ @@ -45,7 +45,7 @@ grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c \ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \ commands/parttool.c parttool/msdospart.c \ - grub_emu_init.c + grub_emu_init.c gnulib/progname.c ifeq ($(target_cpu), i386) grub_emu_SOURCES += commands/i386/cpuid.c @@ -79,7 +79,7 @@ DISTCLEANFILES += grub_emu_init.c # For grub-mkfont. ifeq ($(enable_grub_mkfont), yes) bin_UTILITIES += grub-mkfont -grub_mkfont_SOURCES = util/grub-mkfont.c util/misc.c +grub_mkfont_SOURCES = gnulib/progname.c util/grub-mkfont.c util/misc.c grub_mkfont_CFLAGS = $(freetype_cflags) grub_mkfont_LDFLAGS = $(freetype_libs) endif diff --git a/conf/common.rmk b/conf/common.rmk index 376700be2..395d6b17b 100644 --- a/conf/common.rmk +++ b/conf/common.rmk @@ -1,15 +1,21 @@ # -*- makefile -*- +sbin_UTILITIES += grub-mkdevicemap +grub_mkdevicemap_SOURCES = gnulib/progname.c util/grub-mkdevicemap.c \ + util/deviceiter.c \ + util/devicemap.c util/misc.c + # For grub-mkelfimage. bin_UTILITIES += grub-mkelfimage -grub_mkelfimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \ +grub_mkelfimage_SOURCES = gnulib/progname.c \ + util/elf/grub-mkimage.c util/misc.c \ util/resolve.c util/elf/grub-mkimage.c_DEPENDENCIES = Makefile # For grub-probe. sbin_UTILITIES += grub-probe util/grub-probe.c_DEPENDENCIES = grub_probe_init.h -grub_probe_SOURCES = util/grub-probe.c \ +grub_probe_SOURCES = gnulib/progname.c util/grub-probe.c \ util/hostdisk.c util/misc.c util/getroot.c \ kern/device.c kern/disk.c kern/err.c kern/misc.c \ kern/parser.c kern/partition.c kern/file.c \ @@ -44,7 +50,8 @@ grub_mkisofs_CFLAGS = -D_FILE_OFFSET_BITS=64 \ # For grub-fstest. util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h -grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c \ +grub_fstest_SOURCES = gnulib/progname.c util/grub-fstest.c util/hostfs.c \ + util/misc.c \ kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c \ disk/host.c disk/loopback.c kern/list.c kern/command.c \ lib/arg.c commands/extcmd.c normal/datetime.c normal/misc.c \ @@ -66,11 +73,15 @@ grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c \ # For grub-mkfont. ifeq ($(enable_grub_mkfont), yes) bin_UTILITIES += grub-mkfont -grub_mkfont_SOURCES = util/grub-mkfont.c util/misc.c +grub_mkfont_SOURCES = gnulib/progname.c util/grub-mkfont.c util/misc.c grub_mkfont_CFLAGS = $(freetype_cflags) grub_mkfont_LDFLAGS = $(freetype_libs) endif +# For grub-mkrelpath. +bin_UTILITIES += grub-mkrelpath +grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c + # For the parser. grub_script.tab.c grub_script.tab.h: script/parser.y $(YACC) -d -p grub_script_yy -b grub_script $(srcdir)/script/parser.y @@ -117,7 +128,7 @@ DISTCLEANFILES += grub_fstest_init.c # for grub-editenv bin_UTILITIES += grub-editenv -grub_editenv_SOURCES = util/grub-editenv.c lib/envblk.c util/misc.c kern/misc.c kern/err.c +grub_editenv_SOURCES = gnulib/progname.c util/grub-editenv.c lib/envblk.c util/misc.c kern/misc.c kern/err.c CLEANFILES += grub-editenv # Needed for genmk.rb to work @@ -125,7 +136,7 @@ ifeq (0,1) bin_UTILITIES += grub-macho2img grub-pe2elf endif -grub_pe2elf_SOURCES = util/grub-pe2elf.c util/misc.c +grub_pe2elf_SOURCES = gnulib/progname.c util/grub-pe2elf.c util/misc.c CLEANFILES += grub-pe2elf grub_macho2img_SOURCES = util/grub-macho2img.c diff --git a/conf/i386-coreboot.rmk b/conf/i386-coreboot.rmk index 5ab392a4d..e597328e7 100644 --- a/conf/i386-coreboot.rmk +++ b/conf/i386-coreboot.rmk @@ -18,6 +18,7 @@ kernel_img_SOURCES = kern/i386/coreboot/startup.S \ kern/i386/misc.S \ kern/i386/coreboot/init.c \ kern/i386/multiboot_mmap.c \ + kern/i386/halt.c \ kern/main.c kern/device.c \ kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \ kern/misc.c kern/mm.c kern/reader.c kern/term.c \ @@ -34,7 +35,7 @@ kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ machine/boot.h machine/console.h machine/init.h \ - machine/memory.h machine/loader.h list.h handler.h command.h + machine/memory.h machine/loader.h list.h handler.h command.h i18n.h kernel_img_CFLAGS = $(COMMON_CFLAGS) kernel_img_ASFLAGS = $(COMMON_ASFLAGS) kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-S,-Ttext,$(GRUB_KERNEL_MACHINE_LINK_ADDR),-Bstatic @@ -53,7 +54,7 @@ boot_img_FORMAT = binary bin_UTILITIES += grub-mkimage grub_mkimage_SOURCES = util/i386/pc/grub-mkimage.c util/misc.c \ - util/resolve.c + util/resolve.c gnulib/progname.c grub_mkimage_CFLAGS = -DGRUB_KERNEL_MACHINE_LINK_ADDR=$(GRUB_KERNEL_MACHINE_LINK_ADDR) pkglib_IMAGES += kernel.img @@ -61,6 +62,7 @@ kernel_img_SOURCES = kern/i386/qemu/startup.S \ kern/i386/misc.S \ kern/i386/coreboot/init.c \ kern/i386/qemu/mmap.c \ + kern/i386/halt.c \ kern/main.c kern/device.c \ kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \ kern/misc.c kern/mm.c kern/reader.c kern/term.c \ @@ -77,7 +79,7 @@ kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ machine/boot.h machine/console.h machine/init.h \ - machine/memory.h machine/loader.h list.h handler.h command.h + machine/memory.h machine/loader.h list.h handler.h command.h i18n.h kernel_img_CFLAGS = $(COMMON_CFLAGS) -DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR) kernel_img_ASFLAGS = $(COMMON_ASFLAGS) -DGRUB_KERNEL_MACHINE_LINK_ADDR=$(GRUB_KERNEL_MACHINE_LINK_ADDR) kernel_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)$(GRUB_KERNEL_MACHINE_LINK_ADDR) @@ -93,13 +95,6 @@ symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist. kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1) -# Utilities. -sbin_UTILITIES = grub-mkdevicemap - -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/devicemap.c util/misc.c - sbin_SCRIPTS += grub-install grub_install_SOURCES = util/grub-install.in @@ -131,12 +126,12 @@ linux_mod_CFLAGS = $(COMMON_CFLAGS) linux_mod_LDFLAGS = $(COMMON_LDFLAGS) # For reboot.mod. -reboot_mod_SOURCES = commands/reboot.c kern/i386/reboot.c +reboot_mod_SOURCES = commands/reboot.c reboot_mod_CFLAGS = $(COMMON_CFLAGS) reboot_mod_LDFLAGS = $(COMMON_LDFLAGS) # For halt.mod. -halt_mod_SOURCES = commands/halt.c kern/i386/halt.c +halt_mod_SOURCES = commands/halt.c halt_mod_CFLAGS = $(COMMON_CFLAGS) halt_mod_LDFLAGS = $(COMMON_LDFLAGS) diff --git a/conf/i386-efi.rmk b/conf/i386-efi.rmk index ac88ebd42..c135ded4e 100644 --- a/conf/i386-efi.rmk +++ b/conf/i386-efi.rmk @@ -9,11 +9,10 @@ script/lexer.c_DEPENDENCIES = grub_script.tab.h # Utilities. bin_UTILITIES = grub-mkimage -sbin_UTILITIES = grub-mkdevicemap # For grub-mkimage. -grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \ - util/resolve.c +grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \ + util/misc.c util/resolve.c util/i386/efi/grub-mkimage.c_DEPENDENCIES = Makefile # For grub-setup. @@ -24,10 +23,6 @@ util/i386/efi/grub-mkimage.c_DEPENDENCIES = Makefile # fs/ufs.c fs/ufs2.c fs/minix.c fs/hfs.c fs/jfs.c fs/hfsplus.c kern/file.c \ # kern/fs.c kern/env.c fs/fshelp.c -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/devicemap.c util/misc.c - # Scripts. sbin_SCRIPTS = grub-install @@ -56,7 +51,7 @@ kernel_mod_SOURCES = kern/i386/efi/startup.S kern/main.c kern/device.c \ kernel_mod_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ - efi/efi.h efi/time.h efi/disk.h i386/pit.h list.h handler.h command.h + efi/efi.h efi/time.h efi/disk.h i386/pit.h list.h handler.h command.h i18n.h kernel_mod_CFLAGS = $(COMMON_CFLAGS) kernel_mod_ASFLAGS = $(COMMON_ASFLAGS) kernel_mod_LDFLAGS = $(COMMON_LDFLAGS) @@ -148,10 +143,15 @@ fixvideo_mod_SOURCES = commands/efi/fixvideo.c fixvideo_mod_CFLAGS = $(COMMON_CFLAGS) fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS) -pkglib_MODULES += efi_fb.mod -efi_fb_mod_SOURCES = video/efi_fb.c -efi_fb_mod_CFLAGS = $(COMMON_CFLAGS) -efi_fb_mod_LDFLAGS = $(COMMON_LDFLAGS) +pkglib_MODULES += efi_uga.mod +efi_uga_mod_SOURCES = video/efi_uga.c +efi_uga_mod_CFLAGS = $(COMMON_CFLAGS) +efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS) + +pkglib_MODULES += efi_gop.mod +efi_gop_mod_SOURCES = video/efi_gop.c +efi_gop_mod_CFLAGS = $(COMMON_CFLAGS) +efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS) pkglib_MODULES += xnu.mod xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c\ diff --git a/conf/i386-ieee1275.rmk b/conf/i386-ieee1275.rmk index 2df3421f7..8d9577844 100644 --- a/conf/i386-ieee1275.rmk +++ b/conf/i386-ieee1275.rmk @@ -33,7 +33,7 @@ kernel_img_HEADERS = cache.h device.h disk.h dl.h elf.h elfload.h \ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ ieee1275/ieee1275.h machine/kernel.h machine/loader.h machine/memory.h \ - list.h handler.h command.h + list.h handler.h command.h i18n.h kernel_img_CFLAGS = $(COMMON_CFLAGS) kernel_img_ASFLAGS = $(COMMON_ASFLAGS) kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-S,-Ttext,0x10000,-Bstatic @@ -47,13 +47,6 @@ symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist. kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1) -# Utilities. -sbin_UTILITIES = grub-mkdevicemap - -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/devicemap.c util/misc.c - # Scripts. sbin_SCRIPTS = grub-install diff --git a/conf/i386-pc.rmk b/conf/i386-pc.rmk index b100d94e2..7e54b3b67 100644 --- a/conf/i386-pc.rmk +++ b/conf/i386-pc.rmk @@ -64,7 +64,7 @@ kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ machine/biosdisk.h machine/boot.h machine/console.h machine/init.h \ machine/memory.h machine/loader.h machine/vga.h machine/vbe.h \ - machine/kernel.h machine/pxe.h i386/pit.h list.h handler.h command.h + machine/kernel.h machine/pxe.h i386/pit.h list.h handler.h command.h i18n.h kernel_img_CFLAGS = $(COMMON_CFLAGS) $(TARGET_IMG_CFLAGS) kernel_img_ASFLAGS = $(COMMON_ASFLAGS) kernel_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)$(GRUB_KERNEL_MACHINE_LINK_ADDR) $(COMMON_CFLAGS) @@ -81,7 +81,7 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genke # Utilities. bin_UTILITIES = grub-mkimage -sbin_UTILITIES = grub-setup grub-mkdevicemap +sbin_UTILITIES = grub-setup # For grub-mkimage. grub_mkimage_SOURCES = gnulib/progname.c util/i386/pc/grub-mkimage.c util/misc.c \ @@ -109,10 +109,6 @@ grub_setup_SOURCES = gnulib/progname.c \ util/raid.c util/lvm.c \ grub_setup_init.c -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/devicemap.c util/misc.c - sbin_SCRIPTS += grub-install grub_install_SOURCES = util/grub-install.in diff --git a/conf/powerpc-ieee1275.rmk b/conf/powerpc-ieee1275.rmk index 0a87a6a5d..85b1fa211 100644 --- a/conf/powerpc-ieee1275.rmk +++ b/conf/powerpc-ieee1275.rmk @@ -17,7 +17,7 @@ kernel_img_HEADERS = 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 reader.h \ symbol.h term.h time.h types.h powerpc/libgcc.h loader.h partition.h \ msdos_partition.h ieee1275/ieee1275.h machine/kernel.h handler.h list.h \ - command.h + command.h i18n.h symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1) @@ -28,13 +28,6 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genke # Programs pkglib_PROGRAMS = kernel.img -# Utilities. -sbin_UTILITIES = grub-mkdevicemap - -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/devicemap.c util/misc.c - kernel_img_SOURCES = kern/powerpc/ieee1275/startup.S kern/ieee1275/cmain.c \ kern/ieee1275/ieee1275.c kern/main.c kern/device.c \ kern/disk.c kern/dl.c kern/err.c kern/file.c kern/fs.c \ diff --git a/conf/sparc64-ieee1275.rmk b/conf/sparc64-ieee1275.rmk index 3abddf511..d19e927a5 100644 --- a/conf/sparc64-ieee1275.rmk +++ b/conf/sparc64-ieee1275.rmk @@ -29,7 +29,7 @@ DEFSYMFILES += kernel_syms.lst kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ - list.h handler.h command.h \ + list.h handler.h command.h i18n.h \ sparc64/libgcc.h ieee1275/ieee1275.h machine/kernel.h \ sparc64/ieee1275/ieee1275.h kernel_img_SOURCES = kern/sparc64/ieee1275/crt0.S kern/ieee1275/cmain.c \ @@ -59,11 +59,11 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genke # Utilities. bin_UTILITIES = grub-mkimage -sbin_UTILITIES = grub-setup grub-mkdevicemap grub-ofpathname +sbin_UTILITIES = grub-setup grub-ofpathname # For grub-mkimage. grub_mkimage_SOURCES = util/sparc64/ieee1275/grub-mkimage.c util/misc.c \ - util/resolve.c + util/resolve.c gnulib/progname.c # For grub-setup. util/sparc64/ieee1275/grub-setup.c_DEPENDENCIES = grub_setup_init.h @@ -82,16 +82,12 @@ grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c util/hostdisk.c \ partmap/sun.c partmap/acorn.c \ \ disk/raid.c disk/mdraid_linux.c disk/lvm.c \ - util/raid.c util/lvm.c \ + util/raid.c util/lvm.c gnulib/progname.c \ grub_setup_init.c -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/ieee1275/ofpath.c util/ieee1275/devicemap.c util/misc.c - # For grub-ofpathname. grub_ofpathname_SOURCES = util/sparc64/ieee1275/grub-ofpathname.c \ - util/ieee1275/ofpath.c util/misc.c + util/ieee1275/ofpath.c util/misc.c gnulib/progname.c # Scripts. sbin_SCRIPTS = grub-install diff --git a/conf/x86_64-efi.rmk b/conf/x86_64-efi.rmk index 3d519e955..22ed2d639 100644 --- a/conf/x86_64-efi.rmk +++ b/conf/x86_64-efi.rmk @@ -9,11 +9,10 @@ script/lexer.c_DEPENDENCIES = grub_script.tab.h # Utilities. bin_UTILITIES = grub-mkimage -sbin_UTILITIES = grub-mkdevicemap # For grub-mkimage. -grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \ - util/resolve.c +grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \ + util/misc.c util/resolve.c # For grub-setup. #grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c \ @@ -23,10 +22,6 @@ grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \ # fs/ufs.c fs/ufs2.c fs/minix.c fs/hfs.c fs/jfs.c fs/hfsplus.c kern/file.c \ # kern/fs.c kern/env.c fs/fshelp.c -# For grub-mkdevicemap. -grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/deviceiter.c \ - util/devicemap.c util/misc.c - # Scripts. sbin_SCRIPTS = grub-install @@ -56,7 +51,7 @@ kernel_mod_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \ efi/efi.h efi/time.h efi/disk.h machine/loader.h i386/pit.h list.h \ - handler.h command.h + handler.h command.h i18n.h kernel_mod_CFLAGS = $(COMMON_CFLAGS) kernel_mod_ASFLAGS = $(COMMON_ASFLAGS) kernel_mod_LDFLAGS = $(COMMON_LDFLAGS) @@ -154,10 +149,15 @@ fixvideo_mod_SOURCES = commands/efi/fixvideo.c fixvideo_mod_CFLAGS = $(COMMON_CFLAGS) fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS) -pkglib_MODULES += efi_fb.mod -efi_fb_mod_SOURCES = video/efi_fb.c -efi_fb_mod_CFLAGS = $(COMMON_CFLAGS) -efi_fb_mod_LDFLAGS = $(COMMON_LDFLAGS) +pkglib_MODULES += efi_uga.mod +efi_uga_mod_SOURCES = video/efi_uga.c +efi_uga_mod_CFLAGS = $(COMMON_CFLAGS) +efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS) + +pkglib_MODULES += efi_gop.mod +efi_gop_mod_SOURCES = video/efi_gop.c +efi_gop_mod_CFLAGS = $(COMMON_CFLAGS) +efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS) pkglib_MODULES += xnu.mod xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c\ diff --git a/config.guess b/config.guess deleted file mode 100644 index e792aac60..000000000 --- a/config.guess +++ /dev/null @@ -1,1494 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. - -timestamp='2009-09-18' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd | genuineintel) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config.sub b/config.sub deleted file mode 100644 index 5ecc18b6a..000000000 --- a/config.sub +++ /dev/null @@ -1,1700 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. - -timestamp='2009-10-07' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze) - basic_machine=microblaze-xilinx - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/configure.ac b/configure.ac index 58b291d4f..b654adeed 100644 --- a/configure.ac +++ b/configure.ac @@ -33,8 +33,7 @@ dnl type. AC_INIT([GRUB],[1.97],[bug-grub@gnu.org]) AM_INIT_AUTOMAKE() -AM_GNU_GETTEXT() -AC_PREREQ(2.59d) +AC_PREREQ(2.60) AC_CONFIG_SRCDIR([include/grub/dl.h]) AC_CONFIG_HEADER([config.h]) @@ -123,6 +122,7 @@ case "$platform" in emu) machine_CFLAGS="-DGRUB_MACHINE_EMU=1" ;; esac CFLAGS="$CFLAGS $machine_CFLAGS" +TARGET_ASFLAGS="$TARGET_ASFLAGS $machine_CFLAGS" TARGET_CFLAGS="$TARGET_CFLAGS $machine_CFLAGS" AC_SUBST(host_cpu) @@ -173,6 +173,7 @@ AC_PROG_CC test "x$GCC" = xyes || AC_MSG_ERROR([GCC is required]) AC_GNU_SOURCE +AM_GNU_GETTEXT AC_SYS_LARGEFILE # Identify characteristics of the host architecture. diff --git a/gettext/gettext.c b/gettext/gettext.c index 5c1279dc3..b2c468a02 100644 --- a/gettext/gettext.c +++ b/gettext/gettext.c @@ -26,6 +26,7 @@ #include #include #include +#include /* .mo file information from: @@ -221,7 +222,7 @@ grub_gettext_init_ext (const char *lang) locale_dir = grub_env_get ("locale_dir"); if (locale_dir == NULL) { - grub_printf ("locale_dir variable is not set up."); + grub_dprintf ("gettext", "locale_dir variable is not set up."); return; } diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h index 916f9d662..43f152981 100644 --- a/include/grub/efi/efi.h +++ b/include/grub/efi/efi.h @@ -54,8 +54,6 @@ char *EXPORT_FUNC(grub_efi_get_filename) (grub_efi_device_path_t *dp); grub_efi_device_path_t * EXPORT_FUNC(grub_efi_get_device_path) (grub_efi_handle_t handle); int EXPORT_FUNC(grub_efi_exit_boot_services) (grub_efi_uintn_t map_key); -void EXPORT_FUNC (grub_reboot) (void); -void EXPORT_FUNC (grub_halt) (void); int EXPORT_FUNC (grub_efi_finish_boot_services) (void); void grub_efi_mm_init (void); diff --git a/include/grub/efi/graphics_output.h b/include/grub/efi/graphics_output.h new file mode 100644 index 000000000..a55869dc7 --- /dev/null +++ b/include/grub/efi/graphics_output.h @@ -0,0 +1,96 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_EFI_GOP_HEADER +#define GRUB_EFI_GOP_HEADER 1 + +/* Based on UEFI specification. */ + +#define GRUB_EFI_GOP_GUID \ + { 0x9042a9de, 0x23dc, 0x4a38, { 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a }} + +typedef enum + { + GRUB_EFI_GOT_RGBA8, + GRUB_EFI_GOT_BGRA8, + GRUB_EFI_GOT_BITMASK + } + grub_efi_gop_pixel_format_t; + +struct grub_efi_gop_pixel_bitmask +{ + grub_uint32_t r; + grub_uint32_t g; + grub_uint32_t b; + grub_uint32_t a; +}; + +struct grub_efi_gop_mode_info +{ + grub_efi_uint32_t version; + grub_efi_uint32_t width; + grub_efi_uint32_t height; + grub_efi_gop_pixel_format_t pixel_format; + struct grub_efi_gop_pixel_bitmask pixel_bitmask; + grub_efi_uint32_t pixels_per_scanline; +}; + +struct grub_efi_gop_mode +{ + grub_efi_uint32_t max_mode; + grub_efi_uint32_t mode; + struct grub_efi_gop_mode_info *info; + grub_efi_uintn_t info_size; + grub_efi_physical_address_t fb_base; + grub_efi_uintn_t fb_size; +}; + +/* Forward declaration. */ +struct grub_efi_gop; + +typedef grub_efi_status_t +(*grub_efi_gop_query_mode_t) (struct grub_efi_gop *this, + grub_efi_uint32_t mode_number, + grub_efi_uintn_t *size_of_info, + struct grub_efi_gop_mode_info **info); + +typedef grub_efi_status_t +(*grub_efi_gop_set_mode_t) (struct grub_efi_gop *this, + grub_efi_uint32_t mode_number); + +typedef grub_efi_status_t +(*grub_efi_gop_blt_t) (struct grub_efi_gop *this, + void *buffer, + grub_efi_uintn_t operation, + grub_efi_uintn_t sx, + grub_efi_uintn_t sy, + grub_efi_uintn_t dx, + grub_efi_uintn_t dy, + grub_efi_uintn_t width, + grub_efi_uintn_t height, + grub_efi_uintn_t delta); + +struct grub_efi_gop +{ + grub_efi_gop_query_mode_t query_mode; + grub_efi_gop_set_mode_t set_mode; + grub_efi_gop_blt_t blt; + struct grub_efi_gop_mode *mode; +}; + +#endif diff --git a/include/grub/i18n.h b/include/grub/i18n.h index e4e06e9cd..f6f468744 100644 --- a/include/grub/i18n.h +++ b/include/grub/i18n.h @@ -25,6 +25,10 @@ # define _(str) gettext(str) #else # define _(str) grub_gettext(str) + +const char *EXPORT_FUNC(grub_gettext_dummy) (const char *s); +extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s); + #endif #define N_(str) str diff --git a/include/grub/i386/halt.h b/include/grub/i386/halt.h deleted file mode 100644 index 1c403a7d5..000000000 --- a/include/grub/i386/halt.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * GRUB -- GRand Unified Bootloader - * Copyright (C) 2008 Free Software Foundation, Inc. - * - * GRUB is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * GRUB is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GRUB. If not, see . - */ - -extern void grub_halt (void); diff --git a/include/grub/i386/pc/init.h b/include/grub/i386/pc/init.h index 0029959ae..2be80e773 100644 --- a/include/grub/i386/pc/init.h +++ b/include/grub/i386/pc/init.h @@ -39,13 +39,6 @@ grub_uint32_t EXPORT_FUNC(grub_get_mmap_entry) (struct grub_machine_mmap_entry * /* Turn on/off Gate A20. */ void grub_gate_a20 (int on); -/* Reboot the machine. */ -void EXPORT_FUNC (grub_reboot) (void); - -/* Halt the system, using APM if possible. If NO_APM is true, don't - * use APM even if it is available. */ -void EXPORT_FUNC (grub_halt) (int no_apm); - void EXPORT_FUNC(grub_stop_floppy) (void); #endif /* ! GRUB_INIT_MACHINE_HEADER */ diff --git a/include/grub/i386/reboot.h b/include/grub/i386/reboot.h deleted file mode 100644 index 5bcbb5d64..000000000 --- a/include/grub/i386/reboot.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * GRUB -- GRand Unified Bootloader - * Copyright (C) 2008 Free Software Foundation, Inc. - * - * GRUB is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * GRUB is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GRUB. If not, see . - */ - -extern void grub_reboot (void); diff --git a/include/grub/misc.h b/include/grub/misc.h index 8ec8ad822..79dafa831 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -191,9 +191,6 @@ grub_ssize_t EXPORT_FUNC(grub_utf8_to_ucs4) (grub_uint32_t *dest, grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n, grub_uint32_t d, grub_uint32_t *r); -const char *EXPORT_FUNC(grub_gettext_dummy) (const char *s); -extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s); - #ifdef NEED_ENABLE_EXECUTE_STACK void EXPORT_FUNC(__enable_execute_stack) (void *addr); #endif @@ -225,4 +222,15 @@ grub_div_roundup (unsigned int x, unsigned int y) return (x + y - 1) / y; } +/* Reboot the machine. */ +void EXPORT_FUNC (grub_reboot) (void); + +#ifdef GRUB_MACHINE_PCBIOS +/* Halt the system, using APM if possible. If NO_APM is true, don't + * use APM even if it is available. */ +void EXPORT_FUNC (grub_halt) (int no_apm); +#else +void EXPORT_FUNC (grub_halt) (void); +#endif + #endif /* ! GRUB_MISC_HEADER */ diff --git a/include/grub/powerpc/ieee1275/kernel.h b/include/grub/powerpc/ieee1275/kernel.h index 917e1548f..a76c2a4df 100644 --- a/include/grub/powerpc/ieee1275/kernel.h +++ b/include/grub/powerpc/ieee1275/kernel.h @@ -23,9 +23,6 @@ #ifndef ASM_FILE -void EXPORT_FUNC (grub_reboot) (void); -void EXPORT_FUNC (grub_halt) (void); - /* The prefix which points to the directory where GRUB modules and its configuration file are located. */ extern char grub_prefix[]; diff --git a/include/grub/sparc64/ieee1275/kernel.h b/include/grub/sparc64/ieee1275/kernel.h index 03a631492..e63e1f616 100644 --- a/include/grub/sparc64/ieee1275/kernel.h +++ b/include/grub/sparc64/ieee1275/kernel.h @@ -54,9 +54,6 @@ extern grub_int32_t grub_total_module_size; configuration file are located. */ extern char grub_prefix[]; -void EXPORT_FUNC (grub_reboot) (void); -void EXPORT_FUNC (grub_halt) (void); - #endif /* ! ASM_FILE */ #endif /* ! GRUB_KERNEL_MACHINE_HEADER */ diff --git a/include/grub/util/misc.h b/include/grub/util/misc.h index 6a93ab044..d0184d416 100644 --- a/include/grub/util/misc.h +++ b/include/grub/util/misc.h @@ -1,6 +1,6 @@ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2002,2003,2005,2006,2007,2008 Free Software Foundation, Inc. + * Copyright (C) 2002,2003,2005,2006,2007,2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -76,4 +76,7 @@ grub_int64_t grub_util_get_disk_size (char *name); #endif + +char *make_system_path_relative_to_its_root (const char *path); + #endif /* ! GRUB_UTIL_MISC_HEADER */ diff --git a/install-sh b/install-sh deleted file mode 100644 index a5897de6e..000000000 --- a/install-sh +++ /dev/null @@ -1,519 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2006-12-25.00 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - -*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kern/i386/halt.c b/kern/i386/halt.c index 2f0043539..10805e42b 100644 --- a/kern/i386/halt.c +++ b/kern/i386/halt.c @@ -17,7 +17,6 @@ */ #include -#include #include #include diff --git a/kern/i386/pc/startup.S b/kern/i386/pc/startup.S index da3624c89..87365c0ed 100644 --- a/kern/i386/pc/startup.S +++ b/kern/i386/pc/startup.S @@ -484,21 +484,6 @@ FUNCTION(grub_exit) jmp cold_reboot .code32 -/* - * grub_reboot() - * - * Reboot the system. At the moment, rely on BIOS. - */ -FUNCTION(grub_reboot) - call prot_to_real - .code16 -cold_reboot: - /* cold boot */ - movw $0x0472, %di - movw %ax, (%di) - ljmp $0xFFFF, $0x0000 - .code32 - /* * grub_halt(int no_apm) * diff --git a/kern/i386/qemu/startup.S b/kern/i386/qemu/startup.S index 0be5ae84f..7d3cb1b5e 100644 --- a/kern/i386/qemu/startup.S +++ b/kern/i386/qemu/startup.S @@ -95,3 +95,5 @@ codestart: /* This should never happen. */ jmp EXT_C(grub_stop) + +#include "../realmode.S" diff --git a/kern/i386/realmode.S b/kern/i386/realmode.S index 11f4d5347..424dd0eca 100644 --- a/kern/i386/realmode.S +++ b/kern/i386/realmode.S @@ -215,10 +215,27 @@ realcseg: movw %ax, %gs movw %ax, %ss +#ifdef GRUB_MACHINE_PCBIOS /* restore interrupts */ sti +#endif /* return on new stack! */ DATA32 ret .code32 + +/* + * grub_reboot() + * + * Reboot the system. At the moment, rely on BIOS. + */ +FUNCTION(grub_reboot) + call prot_to_real + .code16 +cold_reboot: + /* set 0x472 to 0x0000 for cold boot (0x1234 for warm boot) */ + movw $0x0472, %di + movw %ax, (%di) + ljmp $0xf000, $0xfff0 + .code32 diff --git a/kern/i386/reboot.c b/kern/i386/reboot.c deleted file mode 100644 index 6d562f827..000000000 --- a/kern/i386/reboot.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * GRUB -- GRand Unified Bootloader - * Copyright (C) 2008 Free Software Foundation, Inc. - * - * GRUB is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * GRUB is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GRUB. If not, see . - */ - -#include -#include -#include -#include - -void -grub_reboot (void) -{ - /* Use the keyboard controller to reboot. That's what keyboards were - designed for, isn't it? */ - grub_outb (KEYBOARD_COMMAND_REBOOT, KEYBOARD_REG_STATUS); - - grub_printf ("GRUB doesn't know how to reboot this machine yet!\n"); -} diff --git a/kern/ieee1275/openfw.c b/kern/ieee1275/openfw.c index 20ef730e0..9a2b0c9aa 100644 --- a/kern/ieee1275/openfw.c +++ b/kern/ieee1275/openfw.c @@ -1,7 +1,7 @@ /* openfw.c -- Open firmware support functions. */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2003,2004,2005,2007,2008 Free Software Foundation, Inc. + * Copyright (C) 2003,2004,2005,2007,2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -399,11 +399,14 @@ grub_ieee1275_encode_devname (const char *path) return encoding; } +/* On i386, a firmware-independant grub_reboot() is provided by realmode.S. */ +#ifndef __i386__ void grub_reboot (void) { grub_ieee1275_interpret ("reset-all", 0); } +#endif void grub_halt (void) diff --git a/kern/misc.c b/kern/misc.c index 827f864c4..9f9a3ae65 100644 --- a/kern/misc.c +++ b/kern/misc.c @@ -23,6 +23,7 @@ #include #include #include +#include static int grub_iswordseparator (int c) @@ -30,6 +31,13 @@ grub_iswordseparator (int c) return (grub_isspace (c) || c == ',' || c == ';' || c == '|' || c == '&'); } +/* grub_gettext_dummy is not translating anything. */ +const char * +grub_gettext_dummy (const char *s) +{ + return s; +} + const char* (*grub_gettext) (const char *s) = grub_gettext_dummy; void * @@ -986,13 +994,6 @@ grub_utf8_to_ucs4 (grub_uint32_t *dest, grub_size_t destsize, return p - dest; } -/* grub_gettext_dummy is not translating anything. */ -const char * -grub_gettext_dummy (const char *s) -{ - return s; -} - /* Abort GRUB. This function does not return. */ void grub_abort (void) diff --git a/normal/main.c b/normal/main.c index 784c72449..dcc91c649 100644 --- a/normal/main.c +++ b/normal/main.c @@ -415,7 +415,7 @@ grub_normal_execute (const char *config, int nested, int batch) read_command_list (); read_fs_list (); read_handler_list (); - grub_command_execute ("parser.sh", 0, 0); + grub_command_execute ("parser.grub", 0, 0); reader_nested = nested; @@ -524,7 +524,7 @@ static grub_err_t grub_normal_read_line (char **line, int cont) { grub_parser_t parser = grub_parser_get_current (); - char prompt[sizeof("> ") - 1 + grub_strlen (parser->name)]; + char prompt[sizeof("> ") + grub_strlen (parser->name)]; grub_sprintf (prompt, "%s> ", parser->name); diff --git a/po/LINGUAS b/po/LINGUAS deleted file mode 100644 index 2f4478d98..000000000 --- a/po/LINGUAS +++ /dev/null @@ -1,2 +0,0 @@ -ca -id diff --git a/po/README b/po/README new file mode 100644 index 000000000..801599583 --- /dev/null +++ b/po/README @@ -0,0 +1,24 @@ + +If you checked out this source tree directly from GRUB Bazaar, you might +be wondering where are the POT and PO files. Here are some instructions +that will hopefully clarify the situation. + + - If you're a user or a distributor, simply fill the po directory by + importing translations from the Translation Project: + + rsync -Lrtvz translationproject.org::tp/latest/grub/ po + + GRUB's build system will automatically detect those and include them + in your install. + + - If you're a translator and want to add a new translation or improve an + existing one, get in touch with the Translation Project + (http://translationproject.org/). The GRUB project doesn't interact + with translators directly (but we dearly appreciate your work!). + + - If you're a developer adding/removing/modifiing translatable strings, + you can check that these turn into a sane POT file by using the + `po/grub.pot' make rule. + + - If you're the maintainer of GNU GRUB preparing a new release, don't + forget to include the latest PO files in your source tarball! diff --git a/po/ca.po b/po/ca.po deleted file mode 100644 index 58783edbd..000000000 --- a/po/ca.po +++ /dev/null @@ -1,1018 +0,0 @@ -# Copyright (C) 2009 Free Software Foundation, Inc -# This file is distributed under the same license as the GNU GRUB package. -# Robert Millan , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: GNU GRUB\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-22 11:45+0000\n" -"PO-Revision-Date: 2009-11-17 12:26+0100\n" -"Last-Translator: Robert Millan \n" -"Language-Team: None \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: util/i386/pc/grub-mkimage.c:65 -msgid "the core image is too small" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:77 -msgid "cannot compress the kernel image" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:138 -msgid "prefix is too long" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:206 -msgid "the core image is too big" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:211 -#, c-format -msgid "diskboot.img size must be %u bytes" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:284 -#, c-format -msgid "Core image is too big (%p > %p)\n" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:321 util/i386/pc/grub-setup.c:587 -#, c-format -msgid "Try ``%s --help'' for more information.\n" -msgstr "Proveu «%s --help» per a obtenir més informació.\n" - -#: util/i386/pc/grub-mkimage.c:323 -#, c-format -msgid "" -"Usage: grub-mkimage [OPTION]... [MODULES]\n" -"\n" -"Make a bootable image of GRUB.\n" -"\n" -" -d, --directory=DIR use images and modules under DIR [default=%s]\n" -" -p, --prefix=DIR set grub_prefix directory [default=%s]\n" -" -m, --memdisk=FILE embed FILE as a memdisk image\n" -" -c, --config=FILE embed FILE as boot config\n" -" -o, --output=FILE output a generated image to FILE [default=stdout]\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:429 -#, c-format -msgid "cannot open %s" -msgstr "" - -#: util/i386/pc/grub-setup.c:166 -msgid "The first sector of the core file is not sector-aligned" -msgstr "" - -#: util/i386/pc/grub-setup.c:180 -msgid "Non-sector-aligned data is found in the core file" -msgstr "" - -#: util/i386/pc/grub-setup.c:194 -msgid "The sectors of the core file are too fragmented" -msgstr "" - -#: util/i386/pc/grub-setup.c:205 -#, c-format -msgid "The size of `%s' is not %u" -msgstr "" - -#: util/i386/pc/grub-setup.c:222 -#, c-format -msgid "The size of `%s' is too small" -msgstr "" - -#: util/i386/pc/grub-setup.c:224 -#, c-format -msgid "The size of `%s' is too large" -msgstr "" - -#: util/i386/pc/grub-setup.c:261 -#, c-format -msgid "Unable to identify a filesystem in %s; safety check can't be performed" -msgstr "" - -#: util/i386/pc/grub-setup.c:265 -#, c-format -msgid "" -"%s appears to contain a %s filesystem which isn't known to reserve space for " -"DOS-style boot. Installing GRUB there could result in FILESYSTEM " -"DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe " -"disables this check, use at your own risk)" -msgstr "" - -#: util/i386/pc/grub-setup.c:314 -msgid "No DOS-style partitions found" -msgstr "" - -#: util/i386/pc/grub-setup.c:330 util/i386/pc/grub-setup.c:355 -msgid "" -"Attempting to install GRUB to a partitionless disk. This is a BAD idea." -msgstr "" - -#: util/i386/pc/grub-setup.c:336 -msgid "" -"Attempting to install GRUB to a partition instead of the MBR. This is a BAD " -"idea." -msgstr "" - -#: util/i386/pc/grub-setup.c:365 -msgid "" -"This msdos-style partition label has no post-MBR gap; embedding won't be " -"possible!" -msgstr "" - -#: util/i386/pc/grub-setup.c:367 -msgid "" -"This GPT partition label has no BIOS Boot Partition; embedding won't be " -"possible!" -msgstr "" - -#: util/i386/pc/grub-setup.c:374 -msgid "Your core.img is unusually large. It won't fit in the embedding area." -msgstr "" - -#: util/i386/pc/grub-setup.c:376 -msgid "Your embedding area is unusually small. core.img won't fit in it." -msgstr "" - -#: util/i386/pc/grub-setup.c:418 -msgid "" -"Embedding is not possible, but this is required when the root device is on a " -"RAID array or LVM volume." -msgstr "" - -#: util/i386/pc/grub-setup.c:421 -msgid "" -"Embedding is not possible. GRUB can only be installed in this setup by " -"using blocklists. However, blocklists are UNRELIABLE and its use is " -"discouraged." -msgstr "" - -#: util/i386/pc/grub-setup.c:425 -msgid "If you really want blocklists, use --force." -msgstr "" - -#: util/i386/pc/grub-setup.c:439 -#, c-format -msgid "attempting to read the core image `%s' from GRUB" -msgstr "" - -#: util/i386/pc/grub-setup.c:440 -#, c-format -msgid "attempting to read the core image `%s' from GRUB again" -msgstr "" - -#: util/i386/pc/grub-setup.c:498 -#, c-format -msgid "Cannot read `%s' correctly" -msgstr "" - -#: util/i386/pc/grub-setup.c:511 -msgid "No terminator in the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:522 -msgid "Failed to read the first sector of the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:528 -msgid "Failed to read the rest sectors of the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:547 -#, c-format -msgid "Cannot open `%s'" -msgstr "" - -#: util/i386/pc/grub-setup.c:589 -#, c-format -msgid "" -"Usage: grub-setup [OPTION]... DEVICE\n" -"\n" -"Set up images to boot from DEVICE.\n" -"DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=FILE use FILE as the boot image [default=%s]\n" -" -c, --core-image=FILE use FILE as the core image [default=%s]\n" -" -d, --directory=DIR use GRUB files in the directory DIR [default=%s]\n" -" -m, --device-map=FILE use FILE as the device map [default=%s]\n" -" -r, --root-device=DEV use DEV as the root device [default=guessed]\n" -" -f, --force install even if problems are detected\n" -" -s, --skip-fs-probe do not probe for filesystems in DEVICE\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:719 -#, c-format -msgid "No device is specified.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:725 -#, c-format -msgid "Unknown extra argument `%s'.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:742 -#, c-format -msgid "Invalid device `%s'.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:755 -#, c-format -msgid "Invalid root device `%s'" -msgstr "" - -#: util/i386/pc/grub-setup.c:768 -msgid "Cannot guess the root device. Specify the option ``--root-device''." -msgstr "" - -#: util/mkisofs/eltorito.c:96 -#, c-format -msgid "A boot catalog exists and appears corrupted.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:97 -#, c-format -msgid "Please check the following file: %s.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:98 -#, c-format -msgid "This file must be removed before a bootable CD can be done.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:110 -#, c-format -msgid "Error creating boot catalog (%s)" -msgstr "" - -#: util/mkisofs/eltorito.c:114 -#, c-format -msgid "Error writing to boot catalog (%s)" -msgstr "" - -#: util/mkisofs/eltorito.c:144 -#, c-format -msgid "Boot catalog cannot be found!\n" -msgstr "" - -#: util/mkisofs/eltorito.c:158 -#, c-format -msgid "Boot image cannot be found!\n" -msgstr "" - -#: util/mkisofs/eltorito.c:221 -#, c-format -msgid "" -"\n" -"Size of boot image is %d sectors" -msgstr "" - -#: util/mkisofs/eltorito.c:227 -#, c-format -msgid "No emulation\n" -msgstr "" - -#: util/mkisofs/eltorito.c:235 -#, c-format -msgid "Emulating a 1.44 meg floppy\n" -msgstr "" - -#: util/mkisofs/eltorito.c:240 -#, c-format -msgid "Emulating a 2.88 meg floppy\n" -msgstr "" - -#: util/mkisofs/eltorito.c:245 -#, c-format -msgid "Emulating a 1.2 meg floppy\n" -msgstr "" - -#: util/mkisofs/eltorito.c:249 -#, c-format -msgid "" -"\n" -"Error - boot image is not the an allowable size.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:269 -msgid "Error opening boot catalog for update" -msgstr "" - -#: util/mkisofs/eltorito.c:275 util/mkisofs/eltorito.c:277 -msgid "Error writing to boot catalog" -msgstr "" - -#: util/mkisofs/eltorito.c:291 -#, c-format -msgid "Error opening boot image file '%s' for update" -msgstr "" - -#: util/mkisofs/eltorito.c:299 -#, c-format -msgid "Odd alignment at non-end-of-file in boot image '%s'" -msgstr "" - -#: util/mkisofs/eltorito.c:311 -#, c-format -msgid "Boot image file '%s' changed unexpectedly" -msgstr "" - -#: util/mkisofs/eltorito.c:323 -#, c-format -msgid "Error writing to boot image (%s)" -msgstr "" - -#: util/mkisofs/joliet.c:359 util/mkisofs/write.c:981 -#, c-format -msgid "Unable to generate sane path tables - too many directories (%d)\n" -msgstr "" - -#: util/mkisofs/joliet.c:398 util/mkisofs/write.c:1017 -#, c-format -msgid "Entry %d not in path tables\n" -msgstr "" - -#: util/mkisofs/joliet.c:412 -#, c-format -msgid "Fatal goof - directory has amnesia\n" -msgstr "" - -#: util/mkisofs/joliet.c:478 -#, c-format -msgid "Joliet path table lengths do not match %d %d\n" -msgstr "" - -#: util/mkisofs/joliet.c:530 -#, c-format -msgid "Unable to locate relocated directory\n" -msgstr "" - -#: util/mkisofs/joliet.c:605 -#, c-format -msgid "Fatal goof - unable to find directory location\n" -msgstr "" - -#: util/mkisofs/joliet.c:654 -#, c-format -msgid "Unexpected joliet directory length %d %d %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:203 -msgid "Process all files (don't skip backup files)" -msgstr "" - -#: util/mkisofs/mkisofs.c:205 -msgid "Set Abstract filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:207 -msgid "Set Application ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:209 -msgid "Set Bibliographic filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:211 -msgid "Set Copyright filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:213 -msgid "Set El Torito boot image name" -msgstr "" - -#: util/mkisofs/mkisofs.c:215 -msgid "Set El Torito boot catalog name" -msgstr "" - -#: util/mkisofs/mkisofs.c:217 -msgid "Patch Boot Info Table in El Torito boot image" -msgstr "" - -#: util/mkisofs/mkisofs.c:219 -msgid "Dummy option for backward compatibility" -msgstr "" - -#: util/mkisofs/mkisofs.c:221 -msgid "Enable floppy drive emulation for El Torito" -msgstr "" - -#: util/mkisofs/mkisofs.c:223 -msgid "Magic parameters from cdrecord" -msgstr "" - -#: util/mkisofs/mkisofs.c:225 -msgid "Omit trailing periods from filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:227 -msgid "Disable deep directory relocation" -msgstr "" - -#: util/mkisofs/mkisofs.c:229 -msgid "Follow symbolic links" -msgstr "" - -#: util/mkisofs/mkisofs.c:231 util/mkisofs/mkisofs.c:233 -msgid "Print option help" -msgstr "" - -#: util/mkisofs/mkisofs.c:235 -msgid "Print version information and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:237 -msgid "Hide ISO9660/RR file" -msgstr "" - -#: util/mkisofs/mkisofs.c:239 -msgid "Hide Joliet file" -msgstr "" - -#: util/mkisofs/mkisofs.c:241 -msgid "No longer supported" -msgstr "" - -#: util/mkisofs/mkisofs.c:243 -msgid "Generate Joliet directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:245 -msgid "Allow full 32 character filenames for iso9660 names" -msgstr "" - -#: util/mkisofs/mkisofs.c:247 -msgid "Allow iso9660 filenames to start with '.'" -msgstr "" - -#: util/mkisofs/mkisofs.c:249 -msgid "Re-direct messages to LOG_FILE" -msgstr "" - -#: util/mkisofs/mkisofs.c:251 -msgid "Exclude file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:253 -msgid "Set path to previous session to merge" -msgstr "" - -#: util/mkisofs/mkisofs.c:255 -msgid "Omit version number from iso9660 filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:257 -msgid "Inhibit splitting symlink components" -msgstr "" - -#: util/mkisofs/mkisofs.c:259 -msgid "Inhibit splitting symlink fields" -msgstr "" - -#: util/mkisofs/mkisofs.c:261 -msgid "Set output file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:263 -msgid "Set Volume preparer" -msgstr "" - -#: util/mkisofs/mkisofs.c:265 -msgid "Print estimated filesystem size and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:267 -msgid "Set Volume publisher" -msgstr "" - -#: util/mkisofs/mkisofs.c:269 -msgid "Run quietly" -msgstr "" - -#: util/mkisofs/mkisofs.c:271 -msgid "Generate rationalized Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:273 -msgid "Generate Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:275 -msgid "Split output into files of approx. 1GB size" -msgstr "" - -#: util/mkisofs/mkisofs.c:277 -msgid "Set System ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:279 -msgid "" -"Generate translation tables for systems that don't understand long filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:281 -msgid "Verbose" -msgstr "" - -#: util/mkisofs/mkisofs.c:283 -msgid "Set Volume ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:285 -msgid "Set Volume set ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:287 -msgid "Set Volume set size" -msgstr "" - -#: util/mkisofs/mkisofs.c:289 -msgid "Set Volume set sequence number" -msgstr "" - -#: util/mkisofs/mkisofs.c:291 -msgid "Exclude file name (deprecated)" -msgstr "" - -#: util/mkisofs/mkisofs.c:297 -msgid "Override creation date" -msgstr "" - -#: util/mkisofs/mkisofs.c:299 -msgid "Override modification date" -msgstr "" - -#: util/mkisofs/mkisofs.c:301 -msgid "Override expiration date" -msgstr "" - -#: util/mkisofs/mkisofs.c:303 -msgid "Override effective date" -msgstr "" - -#: util/mkisofs/mkisofs.c:373 -#, c-format -msgid "Using \"%s\"\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:401 -#, c-format -msgid "%s:%d: name required\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:411 -#, c-format -msgid "%s:%d: equals sign required\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:445 -#, c-format -msgid "%s:%d: field name \"%s\" unknown\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:474 -#, c-format -msgid "Usage: %s [options] file...\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:476 -#, c-format -msgid "Options:\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:706 -#, c-format -msgid "-i option no longer supported.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:720 -#, c-format -msgid "Required boot image pathname missing\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:729 -#, c-format -msgid "Required boot catalog pathname missing\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:737 -#, c-format -msgid "Ignoring -no-emul-boot (no-emulation is the default behaviour)\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:746 -#, c-format -msgid "Abstract filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:754 -#, c-format -msgid "Application-id string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:762 -#, c-format -msgid "Bibliographic filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:770 -#, c-format -msgid "Copyright filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:805 -#, c-format -msgid "Preparer string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:816 -#, c-format -msgid "Publisher string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:837 -#, c-format -msgid "System ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:848 -#, c-format -msgid "Volume ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:856 -#, c-format -msgid "Volume set ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:867 -#, c-format -msgid "Volume set sequence number too big\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:909 util/mkisofs/mkisofs.c:919 -#: util/mkisofs/mkisofs.c:929 util/mkisofs/mkisofs.c:939 -#, c-format -msgid "date string must be 16 characters.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:958 -msgid "Warning: getrlimit" -msgstr "" - -#: util/mkisofs/mkisofs.c:962 -msgid "Warning: setrlimit" -msgstr "" - -#: util/mkisofs/mkisofs.c:978 -#, c-format -msgid "Multisession usage bug: Must specify -C if -M is used.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:984 -#, c-format -msgid "" -"Warning: -C specified without -M: old session data will not be merged.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1023 -#, c-format -msgid "can't open logfile: %s" -msgstr "" - -#: util/mkisofs/mkisofs.c:1027 -#, c-format -msgid "re-directing all messages to %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1032 -#, c-format -msgid "can't open logfile: %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1073 -#, c-format -msgid "Unable to open previous session image %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1184 -#, c-format -msgid "Invalid node - %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1246 -msgid "Joliet tree sort failed.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1261 -msgid "Unable to open /dev/null\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1265 -msgid "Unable to open disc image file\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1387 -#, c-format -msgid "Max brk space used %x\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1390 -#, c-format -msgid "%llu extents written (%llu MiB)\n" -msgstr "" - -#: util/mkisofs/multi.c:161 -msgid "Seek error on old image\n" -msgstr "" - -#: util/mkisofs/multi.c:179 util/mkisofs/multi.c:250 -#, c-format -msgid "**Bad RR version attribute" -msgstr "" - -#: util/mkisofs/multi.c:546 -#, c-format -msgid "" -"Warning: Neither Rock Ridge (-R) nor TRANS.TBL (-T) name translations were " -"found on previous session. ISO (8.3) file names have been used instead.\n" -msgstr "" - -#: util/mkisofs/multi.c:764 -#, c-format -msgid "Read error on old image %s\n" -msgstr "" - -#: util/mkisofs/multi.c:1084 -msgid "Special parameters for cdwrite not specified with -C\n" -msgstr "" - -#: util/mkisofs/multi.c:1091 -msgid "Malformed cdwrite parameters\n" -msgstr "" - -#: util/mkisofs/rock.c:309 -#, c-format -msgid "symbolic link ``%s'' to long for one SL System Use Field, splitting" -msgstr "" - -#: util/mkisofs/rock.c:517 -#, c-format -msgid "Unable to insert transparent compressed file - name conflict\n" -msgstr "" - -#: util/mkisofs/rock.c:591 -msgid "Extension record too long\n" -msgstr "" - -#: util/mkisofs/tree.c:226 util/mkisofs/write.c:565 util/mkisofs/write.c:1037 -msgid "Fatal goof\n" -msgstr "" - -#: util/mkisofs/tree.c:284 -#, c-format -msgid "Unable to generate unique name for file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:295 util/mkisofs/tree.c:317 -#, c-format -msgid "Using %s for %s%s%s (%s)\n" -msgstr "" - -#: util/mkisofs/tree.c:441 -#, c-format -msgid "Fatal error - RR overflow for file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:449 -#, c-format -msgid "Unable to sort directory %s\n" -msgstr "" - -#: util/mkisofs/tree.c:480 -#, c-format -msgid "Translation table size mismatch %d %d\n" -msgstr "" - -#: util/mkisofs/tree.c:746 -msgid "Unable to locate directory parent\n" -msgstr "" - -#: util/mkisofs/tree.c:796 -#, c-format -msgid "Scanning %s\n" -msgstr "" - -#: util/mkisofs/tree.c:811 -#, c-format -msgid "Unable to open directory %s\n" -msgstr "" - -#: util/mkisofs/tree.c:856 -#, c-format -msgid "Ignoring file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:863 -msgid "Overflow of stat buffer\n" -msgstr "" - -#: util/mkisofs/tree.c:876 -#, c-format -msgid "Excluded by match: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:891 -#, c-format -msgid "Excluded: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:961 -#, c-format -msgid "Non-existant or inaccessible: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:997 util/mkisofs/tree.c:1103 -#, c-format -msgid "Unable to stat file %s - ignoring and continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1003 -#, c-format -msgid "Symlink %s ignored - continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1028 -#, c-format -msgid "Already cached directory seen (%s)\n" -msgstr "" - -#: util/mkisofs/tree.c:1070 -#, c-format -msgid "File %s is not readable (%s) - ignoring\n" -msgstr "" - -#: util/mkisofs/tree.c:1083 -#, c-format -msgid "Directory loop - fatal goof (%s %lx %lu).\n" -msgstr "" - -#: util/mkisofs/tree.c:1093 -#, c-format -msgid "Unknown file type %s - ignoring and continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1179 -#, c-format -msgid "Hidden from ISO9660 tree: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:1191 -#, c-format -msgid "Hidden from Joliet tree: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:1600 -#, c-format -msgid "Directories too deep %s\n" -msgstr "" - -#: util/mkisofs/tree.c:1632 -msgid "Unable to delete non-empty directory\n" -msgstr "" - -#: util/mkisofs/tree.c:1655 -msgid "Unable to locate child directory in parent list\n" -msgstr "" - -#: util/mkisofs/tree.c:1772 -#, c-format -msgid "call to search_tree_file with an absolute path, stripping\n" -msgstr "" - -#: util/mkisofs/tree.c:1773 -#, c-format -msgid "initial path separator. Hope this was intended...\n" -msgstr "" - -#: util/mkisofs/write.c:158 -#, c-format -msgid "Cannot open '%s'" -msgstr "" - -#: util/mkisofs/write.c:166 -#, c-format -msgid "cannot fwrite %llu*%llu\n" -msgstr "" - -#: util/mkisofs/write.c:248 -#, c-format -msgid "cannot open %s\n" -msgstr "" - -#: util/mkisofs/write.c:257 -#, c-format -msgid "cannot read %llu bytes from %s" -msgstr "" - -#: util/mkisofs/write.c:275 -#, c-format -msgid "%6.2f%% done, estimate finish %s" -msgstr "" - -#: util/mkisofs/write.c:542 -#, c-format -msgid "Cache hit for %s%s%s\n" -msgstr "" - -#: util/mkisofs/write.c:896 -#, c-format -msgid "Unexpected directory length %d %d %s\n" -msgstr "" - -#: util/mkisofs/write.c:908 -#, c-format -msgid "Continuation entry record length mismatch (%d %d).\n" -msgstr "" - -#: util/mkisofs/write.c:1072 -#, c-format -msgid "Path table lengths do not match %d %d\n" -msgstr "" - -#: util/mkisofs/write.c:1118 util/mkisofs/write.c:1128 -#, c-format -msgid "Total extents scheduled to be written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1145 -#, c-format -msgid "Total extents actually written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1154 -#, c-format -msgid "" -"Number of extents written different than what was predicted. Please fix.\n" -msgstr "" - -#: util/mkisofs/write.c:1155 -#, c-format -msgid "Predicted = %d, written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1158 -#, c-format -msgid "Total translation table size: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1159 -#, c-format -msgid "Total rockridge attributes bytes: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1160 -#, c-format -msgid "Total directory bytes: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1161 -#, c-format -msgid "Path table size(bytes): %d\n" -msgstr "" - -#: normal/menu_text.c:97 -#, c-format -msgid "" -"\n" -" Use the %C and %C keys to select which entry is highlighted.\n" -msgstr "" -"\n" -" Utilitzeu les tecles %C i %C per a seleccionar l'entrada ressaltada.\n" - -#: util/grub.d/10_kfreebsd.in:40 -msgid "%s, with kFreeBSD %s" -msgstr "" - -#: util/grub.d/10_linux.in:57 -msgid "%s, with Linux %s (recovery mode)" -msgstr "" - -#: util/grub.d/10_linux.in:59 -msgid "%s, with Linux %s" -msgstr "" diff --git a/po/id.po b/po/id.po deleted file mode 100644 index c64b67f83..000000000 --- a/po/id.po +++ /dev/null @@ -1,1149 +0,0 @@ -# Pesan Bahasa Indonesia untuk grub. -# Copyright (C) 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the grub package. -# Arif E. Nugroho , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: grub 1.97+20091122\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-24 02:53+0100\n" -"PO-Revision-Date: 2009-11-22 20:00+0700\n" -"Last-Translator: Arif E. Nugroho \n" -"Language-Team: Indonesian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: util/i386/pc/grub-mkimage.c:65 -msgid "the core image is too small" -msgstr "image core terlalu kecil" - -#: util/i386/pc/grub-mkimage.c:77 -msgid "cannot compress the kernel image" -msgstr "tidak dapat mengkompress image kernel" - -#: util/i386/pc/grub-mkimage.c:138 -msgid "prefix is too long" -msgstr "awalan terlalu panjang" - -#: util/i386/pc/grub-mkimage.c:206 -msgid "the core image is too big" -msgstr "image core terlalu besar" - -#: util/i386/pc/grub-mkimage.c:211 -#, c-format -msgid "diskboot.img size must be %u bytes" -msgstr "besar diskboot.img seharusnya %u bytes" - -#: util/i386/pc/grub-mkimage.c:284 -#, c-format -msgid "Core image is too big (%p > %p)\n" -msgstr "Image core terlalu besar (%p >%p)\n" - -#: util/i386/pc/grub-mkimage.c:321 util/i386/pc/grub-setup.c:587 -#, c-format -msgid "Try ``%s --help'' for more information.\n" -msgstr "Coba ``%s --help'' untuk informasi lebih lanjut.\n" - -#: util/i386/pc/grub-mkimage.c:323 -#, c-format -msgid "" -"Usage: grub-mkimage [OPTION]... [MODULES]\n" -"\n" -"Make a bootable image of GRUB.\n" -"\n" -" -d, --directory=DIR use images and modules under DIR [default=%s]\n" -" -p, --prefix=DIR set grub_prefix directory [default=%s]\n" -" -m, --memdisk=FILE embed FILE as a memdisk image\n" -" -c, --config=FILE embed FILE as boot config\n" -" -o, --output=FILE output a generated image to FILE [default=stdout]\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" -"Penggunaan: grub-mkimage [PILIHAN]... [MODUL]\n" -"\n" -"Buat sebuah image GRUB yang dapat diboot.\n" -"\n" -" -d, --directory=DIR gunakan image dan modul dibawah DIR [baku=%s]\n" -" -p, --prefix=DIR set direktori grub_prefix [baku=%s]\n" -" -m, --memdisk=BERKAS tempatkan BERKAS sebagai sebuah image memdisk\n" -" -c, --config=BERKAS tempatkan BERKAS sebagai konfigurasi boot\n" -" -o, --output=BERKAS keluarkan sebuah image yang dihasilkan ke BERKAS " -"[baku=stdout]\n" -" -h, --help tampilkan pesan ini dan keluar\n" -" -V, --version tampilkan informasi versi dan keluar\n" -" -v, --verbose tampilkan informasi secara detail\n" -"\n" -"Laporkan bugs ke <%s>.\n" - -#: util/i386/pc/grub-mkimage.c:429 -#, c-format -msgid "cannot open %s" -msgstr "tidak dapat membuka %s" - -#: util/i386/pc/grub-setup.c:166 -msgid "The first sector of the core file is not sector-aligned" -msgstr "Sektor pertama dari berkas core tidak selaras secara sektor" - -#: util/i386/pc/grub-setup.c:180 -msgid "Non-sector-aligned data is found in the core file" -msgstr "Sektor-tidak-selaras data ditemukan dalam berkas core" - -#: util/i386/pc/grub-setup.c:194 -msgid "The sectors of the core file are too fragmented" -msgstr "Sektor dari berkas core terlalu terpotong potong" - -#: util/i386/pc/grub-setup.c:205 -#, c-format -msgid "The size of `%s' is not %u" -msgstr "Ukuran dari `%s' bukan %u" - -#: util/i386/pc/grub-setup.c:222 -#, c-format -msgid "The size of `%s' is too small" -msgstr "Ukuran dari `%s' terlalu kecil" - -#: util/i386/pc/grub-setup.c:224 -#, c-format -msgid "The size of `%s' is too large" -msgstr "Ukuran dari `%s' terlalu besar" - -#: util/i386/pc/grub-setup.c:261 -#, c-format -msgid "Unable to identify a filesystem in %s; safety check can't be performed" -msgstr "" -"Tidak dapat mengidentifikasikan sebuah sistem berkas dalam %s; pemeriksaan " -"keamanan tidak dapat dilakukan" - -#: util/i386/pc/grub-setup.c:265 -#, c-format -msgid "" -"%s appears to contain a %s filesystem which isn't known to reserve space for " -"DOS-style boot. Installing GRUB there could result in FILESYSTEM " -"DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe " -"disables this check, use at your own risk)" -msgstr "" -"%s sepertinya berisi sebuah sistem berkas %s yang tidak diketahui untuk " -"mereserve ruang untuk boot gaya-DOS. Memasang GRUB disana dapat berakibat " -"KERUSAKAN SISTEM BERKAS jika data berharga dipaksa tulis oleh grub-setup (--" -"skip-fs-probe menonaktifkan pemeriksaan ini, gunakan sesuai resiko anda)" - -#: util/i386/pc/grub-setup.c:314 -msgid "No DOS-style partitions found" -msgstr "Tidak ditemukan gaya partisi DOS" - -#: util/i386/pc/grub-setup.c:330 util/i386/pc/grub-setup.c:355 -msgid "" -"Attempting to install GRUB to a partitionless disk. This is a BAD idea." -msgstr "" -"Mencoba memasang GRUB ke sebuah disk yang tidak berpartisi. Ini mungkin " -"bukan ide baik." - -#: util/i386/pc/grub-setup.c:336 -msgid "" -"Attempting to install GRUB to a partition instead of the MBR. This is a BAD " -"idea." -msgstr "" -"Mencoba memasang GRUB ke sebuah partisi daripada MBR. Ini mungkin bukan ide " -"baik." - -#: util/i386/pc/grub-setup.c:365 -msgid "" -"This msdos-style partition label has no post-MBR gap; embedding won't be " -"possible!" -msgstr "" -"Label partisi gaya msdos ini tidak memiliki post-MBR gap; penempatan tidak " -"memungkinkan!" - -#: util/i386/pc/grub-setup.c:367 -msgid "" -"This GPT partition label has no BIOS Boot Partition; embedding won't be " -"possible!" -msgstr "" -"Label partisi GPT ini tidak memiliki partisi boot BIOS; penempatan tidak " -"memungkinkan!" - -#: util/i386/pc/grub-setup.c:374 -msgid "Your core.img is unusually large. It won't fit in the embedding area." -msgstr "" -"Besar core.img anda sangat besar. Ini tidak akan masuk dalam area penempatan." - -#: util/i386/pc/grub-setup.c:376 -msgid "Your embedding area is unusually small. core.img won't fit in it." -msgstr "Penempatan anda sangat kecil. core.img tidak akan masuk disana." - -#: util/i386/pc/grub-setup.c:418 -msgid "" -"Embedding is not possible, but this is required when the root device is on a " -"RAID array or LVM volume." -msgstr "" -"Penempatan tidak memungkinkan, tetapi ini dibutuhkan ketika perangkat root " -"berada di sebuah array RAID atau volume LVM." - -#: util/i386/pc/grub-setup.c:421 -msgid "" -"Embedding is not possible. GRUB can only be installed in this setup by " -"using blocklists. However, blocklists are UNRELIABLE and its use is " -"discouraged." -msgstr "" -"Penempatan tidak memungkinkan. GRUB hanya dapat dipasang di konfigurasi ini " -"dengan menggunakan blocklists. Akan tetapi, blocklists TIDAK DAPAT DIJAGAKAN " -"dan penggunaan ini tidak disarankan." - -#: util/i386/pc/grub-setup.c:425 -msgid "If you really want blocklists, use --force." -msgstr "Jika anda benar benar menginginkan blocklists, gunakan --force." - -#: util/i386/pc/grub-setup.c:439 -#, c-format -msgid "attempting to read the core image `%s' from GRUB" -msgstr "mencoba untuk membaca image core `%s' dari GRUB" - -#: util/i386/pc/grub-setup.c:440 -#, c-format -msgid "attempting to read the core image `%s' from GRUB again" -msgstr "mencoba untuk membaca image core `%s' dari GRUB lagi" - -#: util/i386/pc/grub-setup.c:498 -#, c-format -msgid "Cannot read `%s' correctly" -msgstr "Tidak dapat membaca `%s' secara benar" - -#: util/i386/pc/grub-setup.c:511 -msgid "No terminator in the core image" -msgstr "Tidak ada pengakhir dalam image core" - -#: util/i386/pc/grub-setup.c:522 -msgid "Failed to read the first sector of the core image" -msgstr "Gagal untuk membaca sektor pertama dari core image" - -#: util/i386/pc/grub-setup.c:528 -msgid "Failed to read the rest sectors of the core image" -msgstr "Gagal untuk membaca sektor selanjutnya dari image core" - -#: util/i386/pc/grub-setup.c:547 -#, c-format -msgid "Cannot open `%s'" -msgstr "Tidak dapat membuka `%s'" - -#: util/i386/pc/grub-setup.c:589 -#, c-format -msgid "" -"Usage: grub-setup [OPTION]... DEVICE\n" -"\n" -"Set up images to boot from DEVICE.\n" -"DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=FILE use FILE as the boot image [default=%s]\n" -" -c, --core-image=FILE use FILE as the core image [default=%s]\n" -" -d, --directory=DIR use GRUB files in the directory DIR [default=%s]\n" -" -m, --device-map=FILE use FILE as the device map [default=%s]\n" -" -r, --root-device=DEV use DEV as the root device [default=guessed]\n" -" -f, --force install even if problems are detected\n" -" -s, --skip-fs-probe do not probe for filesystems in DEVICE\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" -"Penggunaan: grub-setup [PILIHAN]... PERANGKAT\n" -"\n" -"Konfigurasi image untuk boot dari PERANGKAT.\n" -"PERANGKAT harus berupa sebuah perangkat GRUB (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=BERKAS gunakan BERKAS sebagai image boot [baku=%s]\n" -" -c, --core-image=BERKAS gunakan BERKAS sebagai image core [baku=%s]\n" -" -d, --directory=DIR gunakan berkas GRUB dalam direktori DIR [baku=%s]\n" -" -m, --device-map=BERKAS gunakan BERKAS sebagai peta perangkat [baku=%s]\n" -" -r, --root-device=DEV gunakan DEV sebagai perangkat root [baku=ditebak]\n" -" -f, --force pasang walaupun masalah terdeteksi\n" -" -s, --skip-fs-probe jangan periksa untuk sistem berkas dalam " -"PERANGKAT\n" -" -h, --help tampilkan pesan bantuan ini dan keluar\n" -" -V, --version tampilkan informasi versi dan keluar\n" -" -v, --verbose tampilkan informasi secara detail\n" -"\n" -"Laporkan bugs ke <%s>.\n" - -#: util/i386/pc/grub-setup.c:719 -#, c-format -msgid "No device is specified.\n" -msgstr "Perangkat tidak dispesifikasikan.\n" - -#: util/i386/pc/grub-setup.c:725 -#, c-format -msgid "Unknown extra argument `%s'.\n" -msgstr "Argumen ekstra `%s' tidak diketahui.\n" - -#: util/i386/pc/grub-setup.c:742 -#, c-format -msgid "Invalid device `%s'.\n" -msgstr "Perangkat `%s' tidak valid.\n" - -#: util/i386/pc/grub-setup.c:755 -#, c-format -msgid "Invalid root device `%s'" -msgstr "Perangkat root `%s' tidak valid" - -#: util/i386/pc/grub-setup.c:768 -msgid "Cannot guess the root device. Specify the option ``--root-device''." -msgstr "" -"Tidak dapat menebak perangkat root. Spesifikasikan pilihan ``--root-device''." - -#: util/mkisofs/eltorito.c:96 -#, c-format -msgid "A boot catalog exists and appears corrupted.\n" -msgstr "Sebuah katalog boot ada dan mungkin terkorupsi.\n" - -#: util/mkisofs/eltorito.c:97 -#, c-format -msgid "Please check the following file: %s.\n" -msgstr "Mohon periksa berkas berikut: %s.\n" - -#: util/mkisofs/eltorito.c:98 -#, c-format -msgid "This file must be removed before a bootable CD can be done.\n" -msgstr "" -"Berkas ini mungkin telah terhapus sebelum sebuah CD bootable dapat " -"dilakukan.\n" - -#: util/mkisofs/eltorito.c:110 -#, c-format -msgid "Error creating boot catalog (%s)" -msgstr "Error membuat katalog boot (%s)" - -#: util/mkisofs/eltorito.c:114 -#, c-format -msgid "Error writing to boot catalog (%s)" -msgstr "Error menulis katalog boot (%s)" - -#: util/mkisofs/eltorito.c:144 -#, c-format -msgid "Boot catalog cannot be found!\n" -msgstr "Katalog boot tidak dapat ditemukan!\n" - -#: util/mkisofs/eltorito.c:158 -#, c-format -msgid "Boot image cannot be found!\n" -msgstr "Image boot tidak dapat ditemukan!\n" - -#: util/mkisofs/eltorito.c:221 -#, c-format -msgid "" -"\n" -"Size of boot image is %d sectors" -msgstr "" -"\n" -"Ukuran dari boot image adalah %d sektor" - -#: util/mkisofs/eltorito.c:227 -#, c-format -msgid "No emulation\n" -msgstr "Tidak ada emulasi\n" - -#: util/mkisofs/eltorito.c:235 -#, c-format -msgid "Emulating a 1.44 meg floppy\n" -msgstr "Mengemulasikan sebuah 1.44 meg floppy\n" - -#: util/mkisofs/eltorito.c:240 -#, c-format -msgid "Emulating a 2.88 meg floppy\n" -msgstr "Mengemulasikan sebuah 2.88 meg floppy\n" - -#: util/mkisofs/eltorito.c:245 -#, c-format -msgid "Emulating a 1.2 meg floppy\n" -msgstr "Mengemulasikan sebuah 1.2 meg floppy\n" - -#: util/mkisofs/eltorito.c:249 -#, c-format -msgid "" -"\n" -"Error - boot image is not the an allowable size.\n" -msgstr "" -"\n" -"Error - image boot tidak berukuran yang diperbolehkan.\n" - -#: util/mkisofs/eltorito.c:269 -msgid "Error opening boot catalog for update" -msgstr "Error membuka katalog boot untuk diperbarui" - -#: util/mkisofs/eltorito.c:275 util/mkisofs/eltorito.c:277 -msgid "Error writing to boot catalog" -msgstr "Error menulis ke katalog boot" - -#: util/mkisofs/eltorito.c:291 -#, c-format -msgid "Error opening boot image file '%s' for update" -msgstr "Error membuka berkas boot image '%s' untuk diperbarui" - -#: util/mkisofs/eltorito.c:299 -#, c-format -msgid "Odd alignment at non-end-of-file in boot image '%s'" -msgstr "Penyesuaian janggal di akhir-dari-berkas dalam image boot '%s'" - -#: util/mkisofs/eltorito.c:311 -#, c-format -msgid "Boot image file '%s' changed unexpectedly" -msgstr "Berkas image boot '%s' berubah secara tidak terduga" - -#: util/mkisofs/eltorito.c:323 -#, c-format -msgid "Error writing to boot image (%s)" -msgstr "Error menulis ke boot image (%s)" - -#: util/mkisofs/joliet.c:359 util/mkisofs/write.c:981 -#, c-format -msgid "Unable to generate sane path tables - too many directories (%d)\n" -msgstr "" -"Tidak dapat menghasilkan tabel jalur yang masuk akal - terlalu banyak " -"direktori (%d)\n" - -#: util/mkisofs/joliet.c:398 util/mkisofs/write.c:1017 -#, c-format -msgid "Entry %d not in path tables\n" -msgstr "Masukan %d tidak dalam tabel jalur\n" - -#: util/mkisofs/joliet.c:412 -#, c-format -msgid "Fatal goof - directory has amnesia\n" -msgstr "Fatal goof - direktori memiliki amnesia\n" - -#: util/mkisofs/joliet.c:478 -#, c-format -msgid "Joliet path table lengths do not match %d %d\n" -msgstr "Panjang tabel jalur joliet tidak cocok %d %d\n" - -#: util/mkisofs/joliet.c:530 -#, c-format -msgid "Unable to locate relocated directory\n" -msgstr "Tidak dapat menempatkan direktori yang ditempatkan\n" - -#: util/mkisofs/joliet.c:605 -#, c-format -msgid "Fatal goof - unable to find directory location\n" -msgstr "Fatal goof - tidak dapat menemukan lokasi direktori\n" - -#: util/mkisofs/joliet.c:654 -#, c-format -msgid "Unexpected joliet directory length %d %d %s\n" -msgstr "Panjang direktori joliet tidak terduga %d %d %s\n" - -#: util/mkisofs/mkisofs.c:203 -msgid "Process all files (don't skip backup files)" -msgstr "" - -#: util/mkisofs/mkisofs.c:205 -#, fuzzy -msgid "Set Abstract filename" -msgstr "String nama berkas abstrak terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:207 -msgid "Set Application ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:209 -#, fuzzy -msgid "Set Bibliographic filename" -msgstr "String nama berkas bibliographic terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:211 -#, fuzzy -msgid "Set Copyright filename" -msgstr "String nama berkas Hak Cipta terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:213 -msgid "Set El Torito boot image name" -msgstr "" - -#: util/mkisofs/mkisofs.c:215 -#, fuzzy -msgid "Set El Torito boot catalog name" -msgstr "Error menulis ke katalog boot" - -#: util/mkisofs/mkisofs.c:217 -msgid "Patch Boot Info Table in El Torito boot image" -msgstr "" - -#: util/mkisofs/mkisofs.c:219 -msgid "Dummy option for backward compatibility" -msgstr "" - -#: util/mkisofs/mkisofs.c:221 -msgid "Enable floppy drive emulation for El Torito" -msgstr "" - -#: util/mkisofs/mkisofs.c:223 -msgid "Magic parameters from cdrecord" -msgstr "" - -#: util/mkisofs/mkisofs.c:225 -msgid "Omit trailing periods from filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:227 -#, fuzzy -msgid "Disable deep directory relocation" -msgstr "Fatal goof - tidak dapat menemukan lokasi direktori\n" - -#: util/mkisofs/mkisofs.c:229 -msgid "Follow symbolic links" -msgstr "" - -#: util/mkisofs/mkisofs.c:231 util/mkisofs/mkisofs.c:233 -msgid "Print option help" -msgstr "" - -#: util/mkisofs/mkisofs.c:235 -msgid "Print version information and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:237 -msgid "Hide ISO9660/RR file" -msgstr "" - -#: util/mkisofs/mkisofs.c:239 -msgid "Hide Joliet file" -msgstr "" - -#: util/mkisofs/mkisofs.c:241 -#, fuzzy -msgid "No longer supported" -msgstr "pilihan -i tidak lagi didukung.\n" - -#: util/mkisofs/mkisofs.c:243 -msgid "Generate Joliet directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:245 -msgid "Allow full 32 character filenames for iso9660 names" -msgstr "" - -#: util/mkisofs/mkisofs.c:247 -msgid "Allow iso9660 filenames to start with '.'" -msgstr "" - -#: util/mkisofs/mkisofs.c:249 -#, fuzzy -msgid "Re-direct messages to LOG_FILE" -msgstr "menredireksikan seluruh pesan ke %s\n" - -#: util/mkisofs/mkisofs.c:251 -msgid "Exclude file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:253 -#, fuzzy -msgid "Set path to previous session to merge" -msgstr "Tidak dapat membuka sesi image sebelumnya %s\n" - -#: util/mkisofs/mkisofs.c:255 -msgid "Omit version number from iso9660 filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:257 -msgid "Inhibit splitting symlink components" -msgstr "" - -#: util/mkisofs/mkisofs.c:259 -msgid "Inhibit splitting symlink fields" -msgstr "" - -#: util/mkisofs/mkisofs.c:261 -msgid "Set output file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:263 -msgid "Set Volume preparer" -msgstr "" - -#: util/mkisofs/mkisofs.c:265 -msgid "Print estimated filesystem size and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:267 -msgid "Set Volume publisher" -msgstr "" - -#: util/mkisofs/mkisofs.c:269 -msgid "Run quietly" -msgstr "" - -#: util/mkisofs/mkisofs.c:271 -msgid "Generate rationalized Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:273 -msgid "Generate Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:275 -msgid "Split output into files of approx. 1GB size" -msgstr "" - -#: util/mkisofs/mkisofs.c:277 -msgid "Set System ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:279 -msgid "" -"Generate translation tables for systems that don't understand long filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:281 -msgid "Verbose" -msgstr "" - -#: util/mkisofs/mkisofs.c:283 -msgid "Set Volume ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:285 -msgid "Set Volume set ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:287 -msgid "Set Volume set size" -msgstr "" - -#: util/mkisofs/mkisofs.c:289 -#, fuzzy -msgid "Set Volume set sequence number" -msgstr "Set urutan nomor volume terlalu besar\n" - -#: util/mkisofs/mkisofs.c:291 -msgid "Exclude file name (deprecated)" -msgstr "" - -#: util/mkisofs/mkisofs.c:297 -msgid "Override creation date" -msgstr "" - -#: util/mkisofs/mkisofs.c:299 -msgid "Override modification date" -msgstr "" - -#: util/mkisofs/mkisofs.c:301 -msgid "Override expiration date" -msgstr "" - -#: util/mkisofs/mkisofs.c:303 -msgid "Override effective date" -msgstr "" - -#: util/mkisofs/mkisofs.c:373 -#, c-format -msgid "Using \"%s\"\n" -msgstr "Menggunakan \"%s\"\n" - -#: util/mkisofs/mkisofs.c:401 -#, c-format -msgid "%s:%d: name required\n" -msgstr "%s:%d: nama dibutuhkan\n" - -#: util/mkisofs/mkisofs.c:411 -#, c-format -msgid "%s:%d: equals sign required\n" -msgstr "%s:%d: tanda sama dibutuhkan\n" - -#: util/mkisofs/mkisofs.c:445 -#, c-format -msgid "%s:%d: field name \"%s\" unknown\n" -msgstr "%s:%d: nama daerah \"%s\" tidak diketahui\n" - -#: util/mkisofs/mkisofs.c:474 -#, c-format -msgid "Usage: %s [options] file...\n" -msgstr "Penggunaan: %s [pilihan] berkas...\n" - -#: util/mkisofs/mkisofs.c:476 -#, c-format -msgid "Options:\n" -msgstr "Pilihan:\n" - -#: util/mkisofs/mkisofs.c:706 -#, c-format -msgid "-i option no longer supported.\n" -msgstr "pilihan -i tidak lagi didukung.\n" - -#: util/mkisofs/mkisofs.c:720 -#, c-format -msgid "Required boot image pathname missing\n" -msgstr "Nama jalur boot image yang dibutuhkan hilang\n" - -#: util/mkisofs/mkisofs.c:729 -#, c-format -msgid "Required boot catalog pathname missing\n" -msgstr "Nama jalur katalog boot yang dibutuhkan hilang\n" - -#: util/mkisofs/mkisofs.c:737 -#, c-format -msgid "Ignoring -no-emul-boot (no-emulation is the default behaviour)\n" -msgstr "Mengabaikan -no-emul-boot (no-emulation adalah perilaku baku)\n" - -#: util/mkisofs/mkisofs.c:746 -#, c-format -msgid "Abstract filename string too long\n" -msgstr "String nama berkas abstrak terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:754 -#, c-format -msgid "Application-id string too long\n" -msgstr "String ID-Aplikasi terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:762 -#, c-format -msgid "Bibliographic filename string too long\n" -msgstr "String nama berkas bibliographic terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:770 -#, c-format -msgid "Copyright filename string too long\n" -msgstr "String nama berkas Hak Cipta terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:805 -#, c-format -msgid "Preparer string too long\n" -msgstr "String penyiap terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:816 -#, c-format -msgid "Publisher string too long\n" -msgstr "String penerbit terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:837 -#, c-format -msgid "System ID string too long\n" -msgstr "String ID sistem terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:848 -#, c-format -msgid "Volume ID string too long\n" -msgstr "String ID volume terlalu penjang\n" - -#: util/mkisofs/mkisofs.c:856 -#, c-format -msgid "Volume set ID string too long\n" -msgstr "String ID set volume terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:867 -#, c-format -msgid "Volume set sequence number too big\n" -msgstr "Set urutan nomor volume terlalu besar\n" - -#: util/mkisofs/mkisofs.c:909 util/mkisofs/mkisofs.c:919 -#: util/mkisofs/mkisofs.c:929 util/mkisofs/mkisofs.c:939 -#, c-format -msgid "date string must be 16 characters.\n" -msgstr "string tanggal harus berupa 16 karakter.\n" - -#: util/mkisofs/mkisofs.c:958 -msgid "Warning: getrlimit" -msgstr "Peringatan: getrlimit" - -#: util/mkisofs/mkisofs.c:962 -msgid "Warning: setrlimit" -msgstr "Peringatan: setrlimit" - -#: util/mkisofs/mkisofs.c:978 -#, c-format -msgid "Multisession usage bug: Must specify -C if -M is used.\n" -msgstr "" -"Bug penggunaan multi sesi: Harus menspesifikasikan -C jika -M digunakan.\n" - -#: util/mkisofs/mkisofs.c:984 -#, c-format -msgid "" -"Warning: -C specified without -M: old session data will not be merged.\n" -msgstr "" -"Peringatan: -C dispesifikasikan tanpa -M: data sesi lama tidak akan " -"digabungkan.\n" - -#: util/mkisofs/mkisofs.c:1023 -#, c-format -msgid "can't open logfile: %s" -msgstr "tidak dapat membuka berkas log: %s" - -#: util/mkisofs/mkisofs.c:1027 -#, c-format -msgid "re-directing all messages to %s\n" -msgstr "menredireksikan seluruh pesan ke %s\n" - -#: util/mkisofs/mkisofs.c:1032 -#, c-format -msgid "can't open logfile: %s\n" -msgstr "tidak dapat membuka berkas log: %s\n" - -#: util/mkisofs/mkisofs.c:1073 -#, c-format -msgid "Unable to open previous session image %s\n" -msgstr "Tidak dapat membuka sesi image sebelumnya %s\n" - -#: util/mkisofs/mkisofs.c:1184 -#, c-format -msgid "Invalid node - %s\n" -msgstr "Node tidak valid -%s\n" - -#: util/mkisofs/mkisofs.c:1246 -msgid "Joliet tree sort failed.\n" -msgstr "Pengurutan pohon joliet gagal.\n" - -#: util/mkisofs/mkisofs.c:1261 -msgid "Unable to open /dev/null\n" -msgstr "Tidak dapat membuka /dev/null\n" - -#: util/mkisofs/mkisofs.c:1265 -msgid "Unable to open disc image file\n" -msgstr "Tidak dapat membuka berkas image disk\n" - -#: util/mkisofs/mkisofs.c:1387 -#, c-format -msgid "Max brk space used %x\n" -msgstr "Ruang maksimal brk yang digunakan %x\n" - -#: util/mkisofs/mkisofs.c:1390 -#, c-format -msgid "%llu extents written (%llu MiB)\n" -msgstr "%llu ekstensi ditulis (%llu MiB)\n" - -#: util/mkisofs/multi.c:161 -msgid "Seek error on old image\n" -msgstr "Error pencarian dalam image lama\n" - -#: util/mkisofs/multi.c:179 util/mkisofs/multi.c:250 -#, c-format -msgid "**Bad RR version attribute" -msgstr "**Atribut versi RR buruk" - -#: util/mkisofs/multi.c:546 -#, c-format -msgid "" -"Warning: Neither Rock Ridge (-R) nor TRANS.TBL (-T) name translations were " -"found on previous session. ISO (8.3) file names have been used instead.\n" -msgstr "" -"Peringatan: Bukan Rock Ridge (-R) ataupun TRANS.TBL (-T) nama terjemahan " -"ditemukan dalam sesi sebelumnya. ISO (8.3) nama berkas yang telah " -"digunakan.\n" - -#: util/mkisofs/multi.c:764 -#, c-format -msgid "Read error on old image %s\n" -msgstr "Error membaca dalam image lama %s\n" - -#: util/mkisofs/multi.c:1084 -msgid "Special parameters for cdwrite not specified with -C\n" -msgstr "Parameter spesial untuk cdwrite tidak dispesifikasikan dengan -C\n" - -#: util/mkisofs/multi.c:1091 -msgid "Malformed cdwrite parameters\n" -msgstr "Parameter cdwrite salah format\n" - -#: util/mkisofs/rock.c:309 -#, c-format -msgid "symbolic link ``%s'' to long for one SL System Use Field, splitting" -msgstr "" -"link simbolik ``%s'' terlalu panjang untuk satu SL Sistem Menggunakan " -"Field, dipisahkan" - -#: util/mkisofs/rock.c:517 -#, c-format -msgid "Unable to insert transparent compressed file - name conflict\n" -msgstr "" -"Tidak dapat memasukan berkas terkompress secara transparan - konflik nama\n" - -#: util/mkisofs/rock.c:591 -msgid "Extension record too long\n" -msgstr "Rekaman ekstensi terlalu panjang\n" - -#: util/mkisofs/tree.c:226 util/mkisofs/write.c:565 util/mkisofs/write.c:1037 -msgid "Fatal goof\n" -msgstr "Fatal goof\n" - -#: util/mkisofs/tree.c:284 -#, c-format -msgid "Unable to generate unique name for file %s\n" -msgstr "Tidak dapat menghasilkan nama unik untuk berkas %s\n" - -#: util/mkisofs/tree.c:295 util/mkisofs/tree.c:317 -#, c-format -msgid "Using %s for %s%s%s (%s)\n" -msgstr "Menggunakan %s untuk %s%s%s (%s)\n" - -#: util/mkisofs/tree.c:441 -#, c-format -msgid "Fatal error - RR overflow for file %s\n" -msgstr "Fatal error -RR overflow untuk berkas %s\n" - -#: util/mkisofs/tree.c:449 -#, c-format -msgid "Unable to sort directory %s\n" -msgstr "Tidak dapat mengurutkan direktori %s\n" - -#: util/mkisofs/tree.c:480 -#, c-format -msgid "Translation table size mismatch %d %d\n" -msgstr "Besar tabel terjemahan tidak cocok %d %d\n" - -#: util/mkisofs/tree.c:746 -msgid "Unable to locate directory parent\n" -msgstr "Tidak dapat menempatkan direktori atasnya\n" - -#: util/mkisofs/tree.c:796 -#, c-format -msgid "Scanning %s\n" -msgstr "Memindai %s\n" - -#: util/mkisofs/tree.c:811 -#, c-format -msgid "Unable to open directory %s\n" -msgstr "Tidak dapat membuka direktori %s\n" - -#: util/mkisofs/tree.c:856 -#, c-format -msgid "Ignoring file %s\n" -msgstr "Mengabaikan berkas %s\n" - -#: util/mkisofs/tree.c:863 -msgid "Overflow of stat buffer\n" -msgstr "Overflow dari penyangga statistik\n" - -#: util/mkisofs/tree.c:876 -#, c-format -msgid "Excluded by match: %s\n" -msgstr "Diabaikan oleh kecocokan: %s\n" - -#: util/mkisofs/tree.c:891 -#, c-format -msgid "Excluded: %s\n" -msgstr "Diabaikan: %s\n" - -#: util/mkisofs/tree.c:961 -#, c-format -msgid "Non-existant or inaccessible: %s\n" -msgstr "Tidak ada atau tidak dapat diakses: %s\n" - -#: util/mkisofs/tree.c:997 util/mkisofs/tree.c:1103 -#, c-format -msgid "Unable to stat file %s - ignoring and continuing.\n" -msgstr "" -"Tidak dapat memperoleh statistik berkas %s - mengabaikan dan melanjutkan.\n" - -#: util/mkisofs/tree.c:1003 -#, c-format -msgid "Symlink %s ignored - continuing.\n" -msgstr "Link simbolik %s diabaikan - melanjutkan.\n" - -#: util/mkisofs/tree.c:1028 -#, c-format -msgid "Already cached directory seen (%s)\n" -msgstr "Direktori yang telah dicache terlihat (%s)\n" - -#: util/mkisofs/tree.c:1070 -#, c-format -msgid "File %s is not readable (%s) - ignoring\n" -msgstr "Berkas %s tidak dapat dibaca (%s) - mengabaikan\n" - -#: util/mkisofs/tree.c:1083 -#, c-format -msgid "Directory loop - fatal goof (%s %lx %lu).\n" -msgstr "Loop direktori - fatal goof (%s %lx %lu).\n" - -#: util/mkisofs/tree.c:1093 -#, c-format -msgid "Unknown file type %s - ignoring and continuing.\n" -msgstr "Tipe berkas %s tidak diketahui - mengabaikan dan melanjutkan.\n" - -#: util/mkisofs/tree.c:1179 -#, c-format -msgid "Hidden from ISO9660 tree: %s\n" -msgstr "Tersembunyi dari pohon ISO9660: %s\n" - -#: util/mkisofs/tree.c:1191 -#, c-format -msgid "Hidden from Joliet tree: %s\n" -msgstr "Tersembunyi dari pohon joliet: %s\n" - -#: util/mkisofs/tree.c:1600 -#, c-format -msgid "Directories too deep %s\n" -msgstr "Direktori terlalu dalam %s\n" - -#: util/mkisofs/tree.c:1632 -msgid "Unable to delete non-empty directory\n" -msgstr "Tidak dapat menghapus direktori yang tidak kosong\n" - -#: util/mkisofs/tree.c:1655 -msgid "Unable to locate child directory in parent list\n" -msgstr "Tidak dapat menemukan direktori anak dalam daftar orang-tua\n" - -#: util/mkisofs/tree.c:1772 -#, c-format -msgid "call to search_tree_file with an absolute path, stripping\n" -msgstr "memanggil ke search_tree_file dengan sebuah jalur absolut, dipotong\n" - -#: util/mkisofs/tree.c:1773 -#, c-format -msgid "initial path separator. Hope this was intended...\n" -msgstr "jalur pemisah awal. Semoga ini yang diinginkan...\n" - -#: util/mkisofs/write.c:158 -#, c-format -msgid "Cannot open '%s'" -msgstr "Tidak dapat membuka '%s'" - -#: util/mkisofs/write.c:166 -#, c-format -msgid "cannot fwrite %llu*%llu\n" -msgstr "tidak dapat fwrite %llu*%llu\n" - -#: util/mkisofs/write.c:248 -#, c-format -msgid "cannot open %s\n" -msgstr "tidak dapat membuka %s\n" - -#: util/mkisofs/write.c:257 -#, c-format -msgid "cannot read %llu bytes from %s" -msgstr "tidak dapat membaca %llu bytes dari %s" - -#: util/mkisofs/write.c:275 -#, c-format -msgid "%6.2f%% done, estimate finish %s" -msgstr "%6.2f%% selesai, kira kira selesai %s" - -#: util/mkisofs/write.c:542 -#, c-format -msgid "Cache hit for %s%s%s\n" -msgstr "Cache kena untuk %s%s%s\n" - -#: util/mkisofs/write.c:896 -#, c-format -msgid "Unexpected directory length %d %d %s\n" -msgstr "Panjang direktori tidak terduga %d %d %s\n" - -#: util/mkisofs/write.c:908 -#, c-format -msgid "Continuation entry record length mismatch (%d %d).\n" -msgstr "Panjang masukan rekaman lanjutan tidak cocok (%d %d).\n" - -#: util/mkisofs/write.c:1072 -#, c-format -msgid "Path table lengths do not match %d %d\n" -msgstr "Panjang jalur tabel tidak cocok %d %d\n" - -#: util/mkisofs/write.c:1118 util/mkisofs/write.c:1128 -#, c-format -msgid "Total extents scheduled to be written = %llu\n" -msgstr "Total ekstensi telah terjadwal untuk ditulis = %llu\n" - -#: util/mkisofs/write.c:1145 -#, c-format -msgid "Total extents actually written = %llu\n" -msgstr "Total ekstensi yang sebenarnya tertulis = %llu\n" - -#: util/mkisofs/write.c:1154 -#, c-format -msgid "" -"Number of extents written different than what was predicted. Please fix.\n" -msgstr "" -"Jumlah dari ekstensi yang ditulis berbeda dari apa yang direncanakan. Mohon " -"betulkan.\n" - -#: util/mkisofs/write.c:1155 -#, c-format -msgid "Predicted = %d, written = %llu\n" -msgstr "Diperkirakan = %d, tertulis = %llu\n" - -#: util/mkisofs/write.c:1158 -#, c-format -msgid "Total translation table size: %d\n" -msgstr "Total besar tabel terjemahan: %d\n" - -#: util/mkisofs/write.c:1159 -#, c-format -msgid "Total rockridge attributes bytes: %d\n" -msgstr "Total atribut rockridge bytes: %d\n" - -#: util/mkisofs/write.c:1160 -#, c-format -msgid "Total directory bytes: %d\n" -msgstr "Total bytes direktori: %d\n" - -#: util/mkisofs/write.c:1161 -#, c-format -msgid "Path table size(bytes): %d\n" -msgstr "Ukuran tabel jalur(bytes): %d\n" - -#: normal/menu_text.c:97 -#, c-format -msgid "" -"\n" -" Use the %C and %C keys to select which entry is highlighted.\n" -msgstr "" - -#: util/grub.d/10_kfreebsd.in:40 -msgid "%s, with kFreeBSD %s" -msgstr "%s, dengan kFreeBSD %s" - -#: util/grub.d/10_linux.in:57 -msgid "%s, with Linux %s (recovery mode)" -msgstr "%s, dengan Linux %s (mode penyembuhan)" - -#: util/grub.d/10_linux.in:59 -msgid "%s, with Linux %s" -msgstr "%s, dengan Linux %s" - -#~ msgid "the size of memory disk is 0x%x" -#~ msgstr "besar dari disk memori 0x%0x" - -#~ msgid "the size of config file is 0x%x" -#~ msgstr "besar dari berkas konfig adalah 0x%x" - -#~ msgid "the total module size is 0x%x" -#~ msgstr "total besar modul adalah 0x%x" - -#~ msgid "the core size is 0x%x" -#~ msgstr "besar core adalah 0x%x" - -#~ msgid "the first sector is <%llu,%u,%u>" -#~ msgstr "sektor pertama adalah <%llu,%u,%u>" - -#~ msgid "saving <%llu,%u,%u> with the segment 0x%x" -#~ msgstr "menyimpan <%llu,%u,%u> dengan bagian 0x%x" - -#~ msgid "setting the root device to `%s'" -#~ msgstr "konfigurasi perangkat root ke `%s'" - -#~ msgid "dos partition is %d, bsd partition is %d" -#~ msgstr "partisi dos adalah %d, partisi bsd adalah %d" - -#~ msgid "the core image will be embedded at sector 0x%llx" -#~ msgstr "core image akan di ditempatkan di sektor 0x%llx" - -#~ msgid "" -#~ "succeeded in opening the core image but the size is different (%d != %d)" -#~ msgstr "sukses dalam membuka image core tetapi ukurannya berbeda (%d != %d)" - -#~ msgid "succeeded in opening the core image but cannot read %d bytes" -#~ msgstr "sukses dalam membuka image core tetapi tidak dapat membaca %d bytes" - -#~ msgid "succeeded in opening the core image but the data is different" -#~ msgstr "sukses dalam membuka image core tetapi data berbeda" - -#~ msgid "couldn't open the core image" -#~ msgstr "tidak dapat membuka image core" - -#~ msgid "error message = %s" -#~ msgstr "pesan error = %s" - -#~ msgid "opening the core image `%s'" -#~ msgstr "membuka image core `%s'" - -#~ msgid "guessing the root device failed, because of `%s'" -#~ msgstr "pendeteksian perangkat root gagal, karena `%s'" diff --git a/util/elf/grub-mkimage.c b/util/elf/grub-mkimage.c index 535427208..5750543ad 100644 --- a/util/elf/grub-mkimage.c +++ b/util/elf/grub-mkimage.c @@ -1,6 +1,6 @@ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2004,2005,2006,2007,2008 Free Software Foundation, Inc. + * Copyright (C) 2004,2005,2006,2007,2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,6 +31,9 @@ #include #include #include +#include + +#include "progname.h" #define GRUB_IEEE1275_NOTE_NAME "PowerPC" #define GRUB_IEEE1275_NOTE_TYPE 0x1275 @@ -325,10 +328,10 @@ static void usage (int status) { if (status) - fprintf (stderr, "Try ``grub-mkimage --help'' for more information.\n"); + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-mkimage -o FILE [OPTION]... [MODULES]\n\ +Usage: %s -o FILE [OPTION]... [MODULES]\n\ \n\ Make a bootable image of GRUB.\n\ \n\ @@ -342,7 +345,7 @@ Make a bootable image of GRUB.\n\ -v, --verbose print verbose messages\n\ \n\ Report bugs to <%s>.\n\ -", GRUB_LIBDIR, PACKAGE_BUGREPORT); +", program_name, GRUB_LIBDIR, PACKAGE_BUGREPORT); exit (status); } @@ -357,7 +360,10 @@ main (int argc, char *argv[]) char *memdisk = NULL; int chrp = 0; - progname = "grub-mkimage"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); while (1) { diff --git a/util/getroot.c b/util/getroot.c index 2915ab4f2..a3c03d0b0 100644 --- a/util/getroot.c +++ b/util/getroot.c @@ -460,13 +460,41 @@ grub_guess_root_device (const char *dir) return os_dev; } +int +grub_util_is_dmraid (const char *os_dev) +{ + if (! strncmp (os_dev, "/dev/mapper/nvidia_", 19)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/isw_", 16)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/hpt37x_", 19)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/hpt45x_", 19)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/via_", 16)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/lsi_", 16)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/pdc_", 16)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/jmicron_", 20)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/asr_", 16)) + return 1; + else if (! strncmp (os_dev, "/dev/mapper/sil_", 16)) + return 1; + + return 0; +} int grub_util_get_dev_abstraction (const char *os_dev UNUSED) { #ifdef __linux__ /* Check for LVM. */ - if (!strncmp (os_dev, "/dev/mapper/", 12)) + if (!strncmp (os_dev, "/dev/mapper/", 12) + && ! grub_util_is_dmraid (os_dev) + && strncmp (os_dev, "/dev/mapper/mpath", 17) != 0) return GRUB_DEV_ABSTRACTION_LVM; /* Check for RAID. */ diff --git a/util/grub-editenv.c b/util/grub-editenv.c index 5b688d9cb..842c5a103 100644 --- a/util/grub-editenv.c +++ b/util/grub-editenv.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -29,6 +30,8 @@ #include #include +#include "progname.h" + #define DEFAULT_ENVBLK_SIZE 1024 void @@ -252,7 +255,10 @@ main (int argc, char *argv[]) char *filename; char *command; - progname = "grub-editenv"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); /* Check for options. */ while (1) @@ -269,7 +275,7 @@ main (int argc, char *argv[]) break; case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; case 'v': diff --git a/util/grub-emu.c b/util/grub-emu.c index 97f18865b..e65c8585e 100644 --- a/util/grub-emu.c +++ b/util/grub-emu.c @@ -1,6 +1,6 @@ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc. + * Copyright (C) 2003,2004,2005,2006,2007,2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,19 +36,22 @@ #include #include #include +#include #include +#include "progname.h" + /* Used for going back to the main function. */ static jmp_buf main_env; /* Store the prefix specified by an argument. */ -static char *prefix = 0; +static char *prefix = NULL; grub_addr_t grub_arch_modules_addr (void) { - return 0; + return NULL; } grub_err_t @@ -155,7 +158,10 @@ main (int argc, char *argv[]) volatile int hold = 0; int opt; - progname = "grub-emu"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); while ((opt = getopt_long (argc, argv, "r:d:m:vH:hV", options, 0)) != -1) switch (opt) @@ -178,7 +184,7 @@ main (int argc, char *argv[]) case 'h': return usage (0); case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; default: return usage (1); @@ -193,7 +199,7 @@ main (int argc, char *argv[]) /* Wait until the ARGS.HOLD variable is cleared by an attached debugger. */ if (hold && verbosity > 0) printf ("Run \"gdb %s %d\", and set ARGS.HOLD to zero.\n", - progname, (int) getpid ()); + program_name, (int) getpid ()); while (hold) { if (hold > 0) diff --git a/util/grub-fstest.c b/util/grub-fstest.c index 1bb37066f..03184b632 100644 --- a/util/grub-fstest.c +++ b/util/grub-fstest.c @@ -1,7 +1,7 @@ /* grub-fstest.c - debug tool for filesystem driver */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2008 Free Software Foundation, Inc. + * Copyright (C) 2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -40,6 +41,8 @@ #include #include +#include "progname.h" + void grub_putchar (int c) { @@ -346,10 +349,10 @@ static void usage (int status) { if (status) - fprintf (stderr, "Try ``grub-fstest --help'' for more information.\n"); + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-fstest [OPTION]... IMAGE_PATH COMMANDS\n\ +Usage: %s [OPTION]... IMAGE_PATH COMMANDS\n\ \n\ Debug tool for filesystem driver.\n\ \nCommands:\n\ @@ -369,7 +372,7 @@ Debug tool for filesystem driver.\n\ -V, --version print version information and exit\n\ -v, --verbose print verbose messages\n\ \n\ -Report bugs to <%s>.\n", PACKAGE_BUGREPORT); +Report bugs to <%s>.\n", program_name, PACKAGE_BUGREPORT); exit (status); } @@ -377,10 +380,13 @@ Report bugs to <%s>.\n", PACKAGE_BUGREPORT); int main (int argc, char *argv[]) { - char *debug_str = 0, *root = 0, *default_root, *alloc_root; + char *debug_str = NULL, *root = NULL, *default_root, *alloc_root; int i, cmd, num_opts, image_index, num_disks = 1; - progname = "grub-fstest"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); /* Find the first non option entry. */ for (num_opts = 1; num_opts < argc; num_opts++) @@ -442,7 +448,7 @@ main (int argc, char *argv[]) break; case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; case 'v': diff --git a/util/grub-install.in b/util/grub-install.in index 356e161e7..4df620812 100644 --- a/util/grub-install.in +++ b/util/grub-install.in @@ -247,6 +247,14 @@ if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then done fi +# Copy gettext files +mkdir -p ${grubdir}/locale/ +for file in ${grubdir}/locale/*.mo ${pkglibdir}/locale/*.mo; do + if test -f "$file"; then + cp -f "$file" ${grubdir}/locale/ + fi +done + # Write device to a variable so we don't have to traverse /dev every time. grub_device=`$grub_probe --target=device ${grubdir}` diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in index bb30cc475..5b5dfd42a 100644 --- a/util/grub-mkconfig_lib.in +++ b/util/grub-mkconfig_lib.in @@ -20,10 +20,12 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ datarootdir=@datarootdir@ datadir=@datadir@ +bindir=@bindir@ sbindir=@sbindir@ pkgdatadir=${datadir}/`echo @PACKAGE_TARNAME@ | sed "${transform}"` grub_probe=${sbindir}/`echo grub-probe | sed ${transform}` +grub_mkrelpath=${bindir}/`echo grub-mkrelpath | sed ${transform}` grub_warn () { @@ -32,49 +34,7 @@ grub_warn () make_system_path_relative_to_its_root () { - path=$1 - # abort if file doesn't exist - if test -e $path ; then : ;else - return 1 - fi - - # canonicalize - if path=`readlink -f $path` ; then : ; else - return 1 - fi - - # if not a directory, climb up to the directory containing it - if test -d $path ; then - dir=$path - else - dir=`echo $path | sed -e "s,/[^/]*$,,g"` - fi - - num=`stat -c %d $dir` - - # this loop sets $dir to the root directory of the filesystem we're inspecting - while : ; do - parent=`readlink -f $dir/..` - if [ "x`stat -c %d $parent`" = "x$num" ] ; then : ; else - # $parent is another filesystem; we found it. - break - fi - if [ "x$dir" = "x/" ] ; then - # / is our root. - break - fi - dir=$parent - done - - # This function never prints trailing slashes (so that its output can be - # appended a slash unconditionally). Each slash in $dir is considered a - # preceding slash, and therefore the root directory is an empty string. - if [ "$dir" = "/" ] ; then - dir="" - fi - - # XXX: This fails if $dir contains ','. - path=`echo "$path" | sed -e "s,^$dir,,g"` || return 1 + path="`${grub_mkrelpath} $1`" case "`uname 2>/dev/null`" in CYGWIN*) diff --git a/util/grub-mkdevicemap.c b/util/grub-mkdevicemap.c index ec43b34b4..2b69f905e 100644 --- a/util/grub-mkdevicemap.c +++ b/util/grub-mkdevicemap.c @@ -1,7 +1,7 @@ /* grub-mkdevicemap.c - make a device map file automatically */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2007,2008 Free Software Foundation, Inc. + * Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2007,2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,10 +31,13 @@ #include #include +#include #define _GNU_SOURCE 1 #include +#include "progname.h" + static void make_device_map (const char *device_map, int floppy_disks) { @@ -81,10 +84,10 @@ usage (int status) { if (status) fprintf (stderr, - "Try ``grub-mkdevicemap --help'' for more information.\n"); + "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-mkdevicemap [OPTION]...\n\ +Usage: %s [OPTION]...\n\ \n\ Generate a device map file automatically.\n\ \n\ @@ -96,7 +99,7 @@ Generate a device map file automatically.\n\ -v, --verbose print verbose messages\n\ \n\ Report bugs to <%s>.\n\ -", +", program_name, DEFAULT_DEVICE_MAP, PACKAGE_BUGREPORT); exit (status); @@ -108,7 +111,10 @@ main (int argc, char *argv[]) char *dev_map = 0; int floppy_disks = 1; - progname = "grub-mkdevicemap"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); /* Check for options. */ while (1) @@ -140,7 +146,7 @@ main (int argc, char *argv[]) break; case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; case 'v': diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c index cfd6f9df3..40d145fd3 100644 --- a/util/grub-mkfont.c +++ b/util/grub-mkfont.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -29,6 +30,8 @@ #include FT_FREETYPE_H #include +#include "progname.h" + #define GRUB_FONT_DEFAULT_SIZE 16 #define GRUB_FONT_RANGE_BLOCK 1024 @@ -90,10 +93,10 @@ static void usage (int status) { if (status) - fprintf (stderr, "Try ``grub-mkfont --help'' for more information.\n"); + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-mkfont [OPTIONS] FONT_FILES\n\ +Usage: %s [OPTIONS] FONT_FILES\n\ \nOptions:\n\ -o, --output=FILE_NAME set output file name\n\ -i, --index=N set face index\n\ @@ -109,7 +112,7 @@ Usage: grub-mkfont [OPTIONS] FONT_FILES\n\ -V, --version print version information and exit\n\ -v, --verbose print verbose messages\n\ \n\ -Report bugs to <%s>.\n", PACKAGE_BUGREPORT); +Report bugs to <%s>.\n", program_name, PACKAGE_BUGREPORT); exit (status); } @@ -472,7 +475,10 @@ main (int argc, char *argv[]) memset (&font_info, 0, sizeof (font_info)); - progname = "grub-mkfont"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); /* Check for options. */ while (1) @@ -560,7 +566,7 @@ main (int argc, char *argv[]) break; case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; case 'v': diff --git a/util/grub-mkrelpath.c b/util/grub-mkrelpath.c new file mode 100644 index 000000000..a20109628 --- /dev/null +++ b/util/grub-mkrelpath.c @@ -0,0 +1,105 @@ +/* grub-mkrelpath.c - make a system path relative to its root */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include + +#include "progname.h" + +static struct option options[] = + { + {"help", no_argument, 0, 'h'}, + {"version", no_argument, 0, 'V'}, + }; + +static void +usage (int status) +{ + if (status) + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); + else + printf ("\ +Usage: %s [OPTIONS] PATH\n\ +\n\ +Make a system path relative to it's root.\n\ +\n\ +Options:\n\ + -h, --help display this message and exit\n\ + -V, --version print version information and exit\n\ +\n\ +Report bugs to <%s>.\n", program_name, PACKAGE_BUGREPORT); + + exit (status); +} + +int +main (int argc, char *argv[]) +{ + char *argument, *relpath; + + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + + /* Check for options. */ + while (1) + { + int c = getopt_long (argc, argv, "hV", options, 0); + + if (c == -1) + break; + else + switch (c) + { + case 'h': + usage (0); + break; + + case 'V': + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); + return 0; + + default: + usage (1); + break; + } + } + + if (optind >= argc) + { + fprintf (stderr, "No path is specified.\n"); + usage (1); + } + + if (optind + 1 != argc) + { + fprintf (stderr, "Unknown extra argument `%s'.\n", argv[optind + 1]); + usage (1); + } + + argument = argv[optind]; + + relpath = make_system_path_relative_to_its_root (argument); + printf ("%s\n", relpath); + free (relpath); + + return 0; +} diff --git a/util/grub-mkrescue.in b/util/grub-mkrescue.in index 51639ccb1..8e4a77f58 100644 --- a/util/grub-mkrescue.in +++ b/util/grub-mkrescue.in @@ -100,6 +100,13 @@ process_input_dir () cp -f "$file" ${iso9660_dir}/boot/grub/${target_cpu}-${platform}/ fi done + + mkdir -p ${iso9660_dir}/boot/grub/locale + for file in ${input_dir}/po/*.mo; do + if test -f "$file"; then + cp -f "$file" ${iso9660_dir}/boot/grub/locale/ + fi + done } if [ "${override_dir}" = "" ] ; then diff --git a/util/grub-pe2elf.c b/util/grub-pe2elf.c index 2b2a43ab7..fb370d9ec 100644 --- a/util/grub-pe2elf.c +++ b/util/grub-pe2elf.c @@ -1,7 +1,7 @@ /* grub-pe2elf.c - tool to convert pe image to elf. */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2008 Free Software Foundation, Inc. + * Copyright (C) 2008,2009 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -40,10 +40,10 @@ static void usage (int status) { if (status) - fprintf (stderr, "Try ``grub-pe2elf --help'' for more information.\n"); + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-pe2elf [OPTIONS] input [output]\n\ +Usage: %s [OPTIONS] input [output]\n\ \n\ Tool to convert pe image to elf.\n\ \nOptions:\n\ @@ -51,7 +51,7 @@ Tool to convert pe image to elf.\n\ -V, --version print version information and exit\n\ -v, --verbose print verbose messages\n\ \n\ -Report bugs to <%s>.\n", PACKAGE_BUGREPORT); +Report bugs to <%s>.\n", program_name, PACKAGE_BUGREPORT); exit (status); } @@ -467,7 +467,7 @@ main (int argc, char *argv[]) char *image; FILE* fp; - progname = "grub-pe2elf"; + set_program_name (argv[0]); /* Check for options. */ while (1) @@ -484,7 +484,7 @@ main (int argc, char *argv[]) break; case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; case 'v': diff --git a/util/grub-probe.c b/util/grub-probe.c index 4e3f96451..2b9784123 100644 --- a/util/grub-probe.c +++ b/util/grub-probe.c @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -43,6 +44,8 @@ #define _GNU_SOURCE 1 #include +#include "progname.h" + enum { PRINT_FS, PRINT_FS_UUID, @@ -235,33 +238,37 @@ probe (const char *path, char *device_name) if (print == PRINT_FS) { - /* FIXME: `path' can't be used to read a file via GRUB facilities, - because it's not relative to its root. */ -#if 0 - struct stat st; + if (path) + { + struct stat st; - stat (path, &st); + stat (path, &st); - if (S_ISREG (st.st_mode)) - { - /* Regular file. Verify that we can read it properly. */ + if (S_ISREG (st.st_mode)) + { + /* Regular file. Verify that we can read it properly. */ - grub_file_t file; - grub_util_info ("reading %s via OS facilities", path); - filebuf_via_sys = grub_util_read_image (path); + grub_file_t file; + char *rel_path; + grub_util_info ("reading %s via OS facilities", path); + filebuf_via_sys = grub_util_read_image (path); - grub_util_info ("reading %s via GRUB facilities", path); - asprintf (&grub_path, "(%s)%s", drive_name, path); - file = grub_file_open (grub_path); - filebuf_via_grub = xmalloc (file->size); - grub_file_read (file, filebuf_via_grub, file->size); + rel_path = make_system_path_relative_to_its_root (path); + asprintf (&grub_path, "(%s)%s", drive_name, rel_path); + free (rel_path); + grub_util_info ("reading %s via GRUB facilities", grub_path); + file = grub_file_open (grub_path); + if (! file) + grub_util_error ("can not open %s via GRUB facilities", grub_path); + filebuf_via_grub = xmalloc (file->size); + grub_file_read (file, filebuf_via_grub, file->size); - grub_util_info ("comparing"); + grub_util_info ("comparing"); - if (memcmp (filebuf_via_grub, filebuf_via_sys, file->size)) - grub_util_error ("files differ"); + if (memcmp (filebuf_via_grub, filebuf_via_sys, file->size)) + grub_util_error ("files differ"); + } } -#endif printf ("%s\n", fs->name); } @@ -302,10 +309,10 @@ usage (int status) { if (status) fprintf (stderr, - "Try ``grub-probe --help'' for more information.\n"); + "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-probe [OPTION]... [PATH|DEVICE]\n\ +Usage: %s [OPTION]... [PATH|DEVICE]\n\ \n\ Probe device information for a given path (or device, if the -d option is given).\n\ \n\ @@ -318,7 +325,7 @@ Probe device information for a given path (or device, if the -d option is given) -v, --verbose print verbose messages\n\ \n\ Report bugs to <%s>.\n\ -", +", program_name, DEFAULT_DEVICE_MAP, PACKAGE_BUGREPORT); exit (status); @@ -330,7 +337,10 @@ main (int argc, char *argv[]) char *dev_map = 0; char *argument; - progname = "grub-probe"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); /* Check for options. */ while (1) @@ -375,7 +385,7 @@ main (int argc, char *argv[]) break; case 'V': - printf ("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION); + printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); return 0; case 'v': diff --git a/util/grub.d/10_kfreebsd.in b/util/grub.d/10_kfreebsd.in index c6712e32f..1329bba1f 100644 --- a/util/grub.d/10_kfreebsd.in +++ b/util/grub.d/10_kfreebsd.in @@ -24,7 +24,7 @@ libdir=@libdir@ . ${bindir}/gettext.sh export TEXTDOMAIN=@PACKAGE@ -export TEXTDOMAINDIR=@LOCALEDIR@ +export TEXTDOMAINDIR=@localedir@ case "${GRUB_DISTRIBUTOR}" in Debian) OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD" ;; @@ -38,7 +38,7 @@ kfreebsd_entry () recovery="$3" # not used yet args="$4" # not used yet title="$(gettext "%s, with kFreeBSD %s")" - printf "menuentry \"${title}\" {" ${os} ${version} + printf "menuentry \"${title}\" {\n" "${os}" "${version}" if [ -z "${prepare_boot_cache}" ]; then prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")" fi diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in index 8803055cf..5fea5338e 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in @@ -24,7 +24,7 @@ libdir=@libdir@ . ${bindir}/gettext.sh export TEXTDOMAIN=@PACKAGE@ -export TEXTDOMAINDIR=@LOCALEDIR@ +export TEXTDOMAINDIR=@localedir@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then OS=GNU/Linux @@ -58,7 +58,7 @@ linux_entry () else title="$(gettext "%s, with Linux %s")" fi - printf "menuentry \"${title}\" {" ${os} ${version} + printf "menuentry \"${title}\" {\n" "${os}" "${version}" if [ -z "${prepare_boot_cache}" ]; then prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")" fi diff --git a/util/i386/efi/grub-mkimage.c b/util/i386/efi/grub-mkimage.c index 29a823e58..401c5006c 100644 --- a/util/i386/efi/grub-mkimage.c +++ b/util/i386/efi/grub-mkimage.c @@ -30,6 +30,7 @@ #include #include #include +#include "progname.h" #if GRUB_TARGET_WORDSIZE == 32 # define grub_le_to_cpu(val) grub_le_to_cpu32(val) @@ -1056,7 +1057,7 @@ main (int argc, char *argv[]) char *dir = NULL; char *prefix = NULL; - progname = "grub-mkimage"; + program_name = "grub-mkimage"; while (1) { diff --git a/util/i386/pc/grub-setup.c b/util/i386/pc/grub-setup.c index f20db1e9a..1c7e8452f 100644 --- a/util/i386/pc/grub-setup.c +++ b/util/i386/pc/grub-setup.c @@ -90,7 +90,7 @@ setup (const char *dir, const char *boot_file, const char *core_file, const char *root, const char *dest, int must_embed, int force, int fs_probe) { - char *boot_path, *core_path, *core_path_dev; + char *boot_path, *core_path, *core_path_dev, *core_path_dev_full; char *boot_img, *core_img; size_t boot_size, core_size; grub_uint16_t core_sectors; @@ -426,7 +426,9 @@ unable_to_embed: /* Make sure that GRUB reads the identical image as the OS. */ tmp_img = xmalloc (core_size); - core_path_dev = grub_util_get_path (dir, core_file); + core_path_dev_full = grub_util_get_path (dir, core_file); + core_path_dev = make_system_path_relative_to_its_root (core_path_dev_full); + free (core_path_dev_full); /* It is a Good Thing to sync two times. */ sync (); diff --git a/util/misc.c b/util/misc.c index 799ffbf85..626851306 100644 --- a/util/misc.c +++ b/util/misc.c @@ -18,10 +18,12 @@ #include +#include #include #include #include #include +#include #include #include #include @@ -37,6 +39,8 @@ #include #include +#include "progname.h" + /* Include malloc.h, only if memalign is available. It is known that memalign is declared in malloc.h in all systems, if present. */ #ifdef HAVE_MEMALIGN @@ -48,7 +52,6 @@ #include #endif -char *progname = 0; int verbosity = 0; void @@ -56,7 +59,7 @@ grub_util_warn (const char *fmt, ...) { va_list ap; - fprintf (stderr, "%s: warn: ", progname); + fprintf (stderr, "%s: warn: ", program_name); va_start (ap, fmt); vfprintf (stderr, fmt, ap); va_end (ap); @@ -71,7 +74,7 @@ grub_util_info (const char *fmt, ...) { va_list ap; - fprintf (stderr, "%s: info: ", progname); + fprintf (stderr, "%s: info: ", program_name); va_start (ap, fmt); vfprintf (stderr, fmt, ap); va_end (ap); @@ -85,7 +88,7 @@ grub_util_error (const char *fmt, ...) { va_list ap; - fprintf (stderr, "%s: error: ", progname); + fprintf (stderr, "%s: error: ", program_name); va_start (ap, fmt); vfprintf (stderr, fmt, ap); va_end (ap); @@ -447,3 +450,82 @@ fail: } #endif /* __MINGW32__ */ + +/* This function never prints trailing slashes (so that its output + can be appended a slash unconditionally). */ +char * +make_system_path_relative_to_its_root (const char *path) +{ + struct stat st; + char *p, *buf, *buf2, *buf3; + uintptr_t offset = 0; + dev_t num; + size_t len; + + /* canonicalize. */ + p = realpath (path, NULL); + + if (p == NULL) + { + if (errno != EINVAL) + grub_util_error ("failed to get realpath of %s", path); + else + grub_util_error ("realpath not supporting (path, NULL)"); + } + len = strlen (p) + 1; + buf = strdup (p); + free (p); + + if (stat (buf, &st) < 0) + grub_util_error ("can not stat %s: %s", buf, strerror (errno)); + + buf2 = strdup (buf); + num = st.st_dev; + + /* This loop sets offset to the number of chars of the root + directory we're inspecting. */ + while (1) + { + p = strrchr (buf, '/'); + if (p == NULL) + /* This should never happen. */ + grub_util_error ("FIXME: no / in buf. (make_system_path_relative_to_its_root)"); + if (p != buf) + *p = 0; + else + *++p = 0; + + if (stat (buf, &st) < 0) + grub_util_error ("can not stat %s: %s", buf, strerror (errno)); + + /* buf is another filesystem; we found it. */ + if (st.st_dev != num) + break; + + offset = p - buf; + /* offset == 1 means root directory. */ + if (offset == 1) + { + free (buf); + len = strlen (buf2); + while (buf2[len - 1] == '/' && len > 1) + { + buf2[len - 1] = '\0'; + len--; + } + return buf2; + } + } + free (buf); + buf3 = strdup (buf2 + offset); + free (buf2); + + len = strlen (buf3); + while (buf3[len - 1] == '/' && len > 1) + { + buf3[len - 1] = '\0'; + len--; + } + + return buf3; +} diff --git a/util/mkisofs/mkisofs.c b/util/mkisofs/mkisofs.c index 4b43ba63b..803317ba0 100644 --- a/util/mkisofs/mkisofs.c +++ b/util/mkisofs/mkisofs.c @@ -202,17 +202,17 @@ static const struct ld_option ld_options[] = { {"all-files", no_argument, NULL, 'a'}, 'a', NULL, N_("Process all files (don't skip backup files)"), ONE_DASH }, { {"abstract", required_argument, NULL, OPTION_ABSTRACT}, - '\0', "FILE", N_("Set Abstract filename"), ONE_DASH }, + '\0', N_("FILE"), N_("Set Abstract filename"), ONE_DASH }, { {"appid", required_argument, NULL, 'A'}, - 'A', "ID", N_("Set Application ID"), ONE_DASH }, + 'A', N_("ID"), N_("Set Application ID"), ONE_DASH }, { {"biblio", required_argument, NULL, OPTION_BIBLIO}, - '\0', "FILE", N_("Set Bibliographic filename"), ONE_DASH }, + '\0', N_("FILE"), N_("Set Bibliographic filename"), ONE_DASH }, { {"copyright", required_argument, NULL, OPTION_COPYRIGHT}, - '\0', "FILE", N_("Set Copyright filename"), ONE_DASH }, + '\0', N_("FILE"), N_("Set Copyright filename"), ONE_DASH }, { {"eltorito-boot", required_argument, NULL, 'b'}, - 'b', "FILE", N_("Set El Torito boot image name"), ONE_DASH }, + 'b', N_("FILE"), N_("Set El Torito boot image name"), ONE_DASH }, { {"eltorito-catalog", required_argument, NULL, 'c'}, - 'c', "FILE", N_("Set El Torito boot catalog name"), ONE_DASH }, + 'c', N_("FILE"), N_("Set El Torito boot catalog name"), ONE_DASH }, { {"boot-info-table", no_argument, NULL, OPTION_BOOT_INFO_TABLE }, '\0', NULL, N_("Patch Boot Info Table in El Torito boot image"), ONE_DASH }, { {"no-emul-boot", no_argument, NULL, OPTION_NO_EMUL_BOOT }, @@ -220,7 +220,7 @@ static const struct ld_option ld_options[] = { {"eltorito-emul-floppy", no_argument, NULL, OPTION_ELTORITO_EMUL_FLOPPY }, '\0', NULL, N_("Enable floppy drive emulation for El Torito"), TWO_DASHES }, { {"cdwrite-params", required_argument, NULL, 'C'}, - 'C', "PARAMS", N_("Magic parameters from cdrecord"), ONE_DASH }, + 'C', N_("PARAMS"), N_("Magic parameters from cdrecord"), ONE_DASH }, { {"omit-period", no_argument, NULL, 'd'}, 'd', NULL, N_("Omit trailing periods from filenames"), ONE_DASH }, { {"disable-deep-relocation", no_argument, NULL, 'D'}, @@ -234,11 +234,11 @@ static const struct ld_option ld_options[] = { {"version", no_argument, NULL, OPTION_VERSION}, '\0', NULL, N_("Print version information and exit"), TWO_DASHES }, { {"hide", required_argument, NULL, OPTION_I_HIDE}, - '\0', "GLOBFILE", N_("Hide ISO9660/RR file"), ONE_DASH }, + '\0', N_("GLOBFILE"), N_("Hide ISO9660/RR file"), ONE_DASH }, { {"hide-joliet", required_argument, NULL, OPTION_J_HIDE}, - '\0', "GLOBFILE", N_("Hide Joliet file"), ONE_DASH }, + '\0', N_("GLOBFILE"), N_("Hide Joliet file"), ONE_DASH }, { {NULL, required_argument, NULL, 'i'}, - 'i', "ADD_FILES", N_("No longer supported"), TWO_DASHES }, + 'i', N_("ADD_FILES"), N_("No longer supported"), TWO_DASHES }, { {"joliet", no_argument, NULL, 'J'}, 'J', NULL, N_("Generate Joliet directory information"), ONE_DASH }, { {"full-iso9660-filenames", no_argument, NULL, 'l'}, @@ -246,11 +246,11 @@ static const struct ld_option ld_options[] = { {"allow-leading-dots", no_argument, NULL, 'L'}, 'L', NULL, N_("Allow iso9660 filenames to start with '.'"), ONE_DASH }, { {"log-file", required_argument, NULL, OPTION_LOG_FILE}, - '\0', "LOG_FILE", N_("Re-direct messages to LOG_FILE"), ONE_DASH }, + '\0', N_("LOG_FILE"), N_("Re-direct messages to LOG_FILE"), ONE_DASH }, { {"exclude", required_argument, NULL, 'm'}, - 'm', "GLOBFILE", N_("Exclude file name"), ONE_DASH }, + 'm', N_("GLOBFILE"), N_("Exclude file name"), ONE_DASH }, { {"prev-session", required_argument, NULL, 'M'}, - 'M', "FILE", N_("Set path to previous session to merge"), ONE_DASH }, + 'M', N_("FILE"), N_("Set path to previous session to merge"), ONE_DASH }, { {"omit-version-number", no_argument, NULL, 'N'}, 'N', NULL, N_("Omit version number from iso9660 filename"), ONE_DASH }, { {"no-split-symlink-components", no_argument, NULL, 0}, @@ -258,13 +258,13 @@ static const struct ld_option ld_options[] = { {"no-split-symlink-fields", no_argument, NULL, 0}, 0, NULL, N_("Inhibit splitting symlink fields"), ONE_DASH }, { {"output", required_argument, NULL, 'o'}, - 'o', "FILE", N_("Set output file name"), ONE_DASH }, + 'o', N_("FILE"), N_("Set output file name"), ONE_DASH }, { {"preparer", required_argument, NULL, 'p'}, - 'p', "PREP", N_("Set Volume preparer"), ONE_DASH }, + 'p', N_("PREP"), N_("Set Volume preparer"), ONE_DASH }, { {"print-size", no_argument, NULL, OPTION_PRINT_SIZE}, '\0', NULL, N_("Print estimated filesystem size and exit"), ONE_DASH }, { {"publisher", required_argument, NULL, 'P'}, - 'P', "PUB", N_("Set Volume publisher"), ONE_DASH }, + 'P', N_("PUB"), N_("Set Volume publisher"), ONE_DASH }, { {"quiet", no_argument, NULL, OPTION_QUIET}, '\0', NULL, N_("Run quietly"), ONE_DASH }, { {"rational-rock", no_argument, NULL, 'r'}, @@ -274,21 +274,21 @@ static const struct ld_option ld_options[] = { {"split-output", no_argument, NULL, OPTION_SPLIT_OUTPUT}, '\0', NULL, N_("Split output into files of approx. 1GB size"), ONE_DASH }, { {"sysid", required_argument, NULL, OPTION_SYSID}, - '\0', "ID", N_("Set System ID"), ONE_DASH }, + '\0', N_("ID"), N_("Set System ID"), ONE_DASH }, { {"translation-table", no_argument, NULL, 'T'}, 'T', NULL, N_("Generate translation tables for systems that don't understand long filenames"), ONE_DASH }, { {"verbose", no_argument, NULL, 'v'}, 'v', NULL, N_("Verbose"), ONE_DASH }, { {"volid", required_argument, NULL, 'V'}, - 'V', "ID", N_("Set Volume ID"), ONE_DASH }, + 'V', N_("ID"), N_("Set Volume ID"), ONE_DASH }, { {"volset", required_argument, NULL, OPTION_VOLSET}, - '\0', "ID", N_("Set Volume set ID"), ONE_DASH }, + '\0', N_("ID"), N_("Set Volume set ID"), ONE_DASH }, { {"volset-size", required_argument, NULL, OPTION_VOLSET_SIZE}, '\0', "#", N_("Set Volume set size"), ONE_DASH }, { {"volset-seqno", required_argument, NULL, OPTION_VOLSET_SEQ_NUM}, '\0', "#", N_("Set Volume set sequence number"), ONE_DASH }, { {"old-exclude", required_argument, NULL, 'x'}, - 'x', "FILE", N_("Exclude file name (deprecated)"), ONE_DASH }, + 'x', N_("FILE"), N_("Exclude file name (deprecated)"), ONE_DASH }, #ifdef ERIC_neverdef { {"transparent-compression", no_argument, NULL, 'z'}, 'z', NULL, "Enable transparent compression of files", ONE_DASH }, @@ -481,6 +481,7 @@ void usage(){ int comma; int len; unsigned int j; + char *arg; printf (" "); @@ -502,8 +503,9 @@ void usage(){ putchar (' '); ++len; } - printf ("%s", ld_options[j].arg); - len += strlen (ld_options[j].arg); + arg = gettext (ld_options[j].arg); + printf ("%s", arg); + len += strlen (arg); } comma = TRUE; } @@ -527,8 +529,9 @@ void usage(){ + strlen (ld_options[j].opt.name)); if (ld_options[j].arg != NULL) { - printf (" %s", ld_options[j].arg); - len += 1 + strlen (ld_options[j].arg); + arg = gettext (ld_options[j].arg); + printf (" %s", arg); + len += 1 + strlen (arg); } comma = TRUE; } diff --git a/util/sparc64/ieee1275/grub-mkimage.c b/util/sparc64/ieee1275/grub-mkimage.c index 0a611da8f..d756586af 100644 --- a/util/sparc64/ieee1275/grub-mkimage.c +++ b/util/sparc64/ieee1275/grub-mkimage.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,8 @@ #define _GNU_SOURCE 1 #include +#include "progname.h" + static void compress_kernel (char *kernel_img, size_t kernel_size, char **core_img, size_t *core_size) @@ -188,10 +191,10 @@ static void usage (int status) { if (status) - fprintf (stderr, "Try ``grub-mkimage --help'' for more information.\n"); + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-mkimage [OPTION]... [MODULES]\n\ +Usage: %s [OPTION]... [MODULES]\n\ \n\ Make a bootable image of GRUB.\n\ \n\ @@ -204,7 +207,7 @@ Make a bootable image of GRUB.\n\ -v, --verbose print verbose messages\n\ \n\ Report bugs to <%s>.\n\ -", GRUB_LIBDIR, DEFAULT_DIRECTORY, PACKAGE_BUGREPORT); +", program_name, GRUB_LIBDIR, DEFAULT_DIRECTORY, PACKAGE_BUGREPORT); exit (status); } @@ -218,7 +221,11 @@ main (int argc, char *argv[]) char *memdisk = NULL; FILE *fp = stdout; - progname = "grub-mkimage"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + while (1) { int c = getopt_long (argc, argv, "d:p:m:o:hVv", options, 0); diff --git a/util/sparc64/ieee1275/grub-ofpathname.c b/util/sparc64/ieee1275/grub-ofpathname.c index 358608b02..166ce4cbe 100644 --- a/util/sparc64/ieee1275/grub-ofpathname.c +++ b/util/sparc64/ieee1275/grub-ofpathname.c @@ -20,15 +20,22 @@ #include #include +#include + +#include "progname.h" + int main(int argc, char **argv) { char *of_path; - progname = "grub-ofpathname"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); if (argc != 2) { - printf("Usage: grub-ofpathname DEVICE\n"); + printf("Usage: %s DEVICE\n", program_name); return 1; } diff --git a/util/sparc64/ieee1275/grub-setup.c b/util/sparc64/ieee1275/grub-setup.c index 7008147bf..ade1bd595 100644 --- a/util/sparc64/ieee1275/grub-setup.c +++ b/util/sparc64/ieee1275/grub-setup.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,8 @@ #define _GNU_SOURCE 1 #include +#include "progname.h" + /* This program fills in various fields inside of the 'boot' and 'core' * image files. * @@ -401,10 +404,10 @@ static void usage (int status) { if (status) - fprintf (stderr, "Try ``grub-setup --help'' for more information.\n"); + fprintf (stderr, "Try ``%s --help'' for more information.\n", program_name); else printf ("\ -Usage: grub-setup [OPTION]... DEVICE\n\ +Usage: %s [OPTION]... DEVICE\n\ \n\ Set up images to boot from DEVICE.\n\ DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n\ @@ -419,7 +422,7 @@ DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n\ -v, --verbose print verbose messages\n\ \n\ Report bugs to <%s>.\n\ -", +", program_name, DEFAULT_BOOT_FILE, DEFAULT_CORE_FILE, DEFAULT_DIRECTORY, DEFAULT_DEVICE_MAP, PACKAGE_BUGREPORT); @@ -616,7 +619,10 @@ main (int argc, char *argv[]) { struct grub_setup_info ginfo; - progname = "grub-setup"; + set_program_name (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); init_info (&ginfo); if (!parse_options (&ginfo, argc, argv)) diff --git a/video/efi_gop.c b/video/efi_gop.c new file mode 100644 index 000000000..e2eb2f7ae --- /dev/null +++ b/video/efi_gop.c @@ -0,0 +1,398 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2005,2006,2007,2008,2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#define grub_video_render_target grub_video_fbrender_target + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GOP_GUID; +static struct grub_efi_gop *gop; +static unsigned old_mode; +static int restore_needed; + +static struct +{ + struct grub_video_mode_info mode_info; + struct grub_video_render_target *render_target; + grub_uint8_t *ptr; +} framebuffer; + + +static int +check_protocol (void) +{ + gop = grub_efi_locate_protocol (&graphics_output_guid, 0); + if (gop) + return 1; + + return 0; +} + +static grub_err_t +grub_video_gop_init (void) +{ + grub_memset (&framebuffer, 0, sizeof(framebuffer)); + return grub_video_fb_init (); +} + +static grub_err_t +grub_video_gop_fini (void) +{ + if (restore_needed) + { + efi_call_2 (gop->set_mode, gop, old_mode); + restore_needed = 0; + } + return grub_video_fb_fini (); +} + +static int +grub_video_gop_get_bpp (struct grub_efi_gop_mode_info *in) +{ + grub_uint32_t total_mask; + int i; + switch (in->pixel_format) + { + case GRUB_EFI_GOT_BGRA8: + case GRUB_EFI_GOT_RGBA8: + return 32; + + case GRUB_EFI_GOT_BITMASK: + /* Check overlaps. */ + if ((in->pixel_bitmask.r & in->pixel_bitmask.g) + || (in->pixel_bitmask.r & in->pixel_bitmask.b) + || (in->pixel_bitmask.g & in->pixel_bitmask.b) + || (in->pixel_bitmask.r & in->pixel_bitmask.a) + || (in->pixel_bitmask.g & in->pixel_bitmask.a) + || (in->pixel_bitmask.b & in->pixel_bitmask.a)) + return 0; + + total_mask = in->pixel_bitmask.r | in->pixel_bitmask.g + | in->pixel_bitmask.b | in->pixel_bitmask.a; + + for (i = 31; i >= 0; i--) + if (total_mask & (1 << i)) + return i + 1; + + /* Fall through. */ + default: + return 0; + } +} + +static void +grub_video_gop_get_bitmask (grub_uint32_t mask, unsigned int *mask_size, + unsigned int *field_pos) +{ + int i; + int last_p; + for (i = 31; i >= 0; i--) + if (mask & (1 << i)) + break; + if (i == -1) + { + *mask_size = *field_pos = 0; + return; + } + last_p = i; + for (; i >= 0; i--) + if (!(mask & (1 << i))) + break; + *field_pos = i + 1; + *mask_size = last_p - *field_pos; +} + +static grub_err_t +grub_video_gop_fill_mode_info (struct grub_efi_gop_mode_info *in, + struct grub_video_mode_info *out) +{ + out->number_of_colors = 256; + out->width = in->width; + out->height = in->height; + out->mode_type = GRUB_VIDEO_MODE_TYPE_RGB; + out->bpp = grub_video_gop_get_bpp (in); + out->bytes_per_pixel = out->bpp >> 3; + if (!out->bpp) + return grub_error (GRUB_ERR_IO, "Unsupported video mode"); + out->pitch = in->pixels_per_scanline * out->bytes_per_pixel; + + switch (in->pixel_format) + { + case GRUB_EFI_GOT_RGBA8: + out->red_mask_size = 8; + out->red_field_pos = 0; + out->green_mask_size = 8; + out->green_field_pos = 8; + out->blue_mask_size = 8; + out->blue_field_pos = 16; + out->reserved_mask_size = 8; + out->reserved_field_pos = 24; + break; + + case GRUB_EFI_GOT_BGRA8: + out->red_mask_size = 8; + out->red_field_pos = 16; + out->green_mask_size = 8; + out->green_field_pos = 8; + out->blue_mask_size = 8; + out->blue_field_pos = 0; + out->reserved_mask_size = 8; + out->reserved_field_pos = 24; + break; + + case GRUB_EFI_GOT_BITMASK: + grub_video_gop_get_bitmask (in->pixel_bitmask.r, &out->red_mask_size, + &out->red_field_pos); + grub_video_gop_get_bitmask (in->pixel_bitmask.g, &out->green_mask_size, + &out->green_field_pos); + grub_video_gop_get_bitmask (in->pixel_bitmask.b, &out->blue_mask_size, + &out->blue_field_pos); + grub_video_gop_get_bitmask (in->pixel_bitmask.a, &out->reserved_mask_size, + &out->reserved_field_pos); + break; + + default: + return grub_error (GRUB_ERR_IO, "Unsupported video mode"); + } + + out->blit_format = grub_video_get_blit_format (out); + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_video_gop_setup (unsigned int width, unsigned int height, + unsigned int mode_type) +{ + unsigned int depth; + struct grub_efi_gop_mode_info *info = NULL; + unsigned best_mode = 0; + grub_err_t err; + unsigned bpp; + int found = 0; + unsigned long long best_volume = 0; + + depth = (mode_type & GRUB_VIDEO_MODE_TYPE_DEPTH_MASK) + >> GRUB_VIDEO_MODE_TYPE_DEPTH_POS; + + /* Keep current mode if possible. */ + if (gop->mode->info) + { + bpp = grub_video_gop_get_bpp (gop->mode->info); + if (bpp && ((width == gop->mode->info->width + && height == gop->mode->info->height) + || (width == 0 && height == 0)) + && (depth == bpp || depth == 0)) + { + grub_dprintf ("video", "GOP: keeping mode %d\n", gop->mode->mode); + best_mode = gop->mode->mode; + found = 1; + } + } + + if (!found) + { + unsigned mode; + grub_dprintf ("video", "GOP: %d modes detected\n", gop->mode->max_mode); + for (mode = 0; mode < gop->mode->max_mode; mode++) + { + grub_efi_uintn_t size; + grub_efi_status_t status; + + status = efi_call_4 (gop->query_mode, gop, mode, &size, &info); + if (status) + { + info = 0; + break; + } + + grub_dprintf ("video", "GOP: mode %d: %dx%d\n", mode, info->width, + info->height); + + bpp = grub_video_gop_get_bpp (info); + if (!bpp) + { + grub_dprintf ("video", "GOP: mode %d: incompatible pixel mode\n", + mode); + continue; + } + + grub_dprintf ("video", "GOP: mode %d: depth %d\n", mode, bpp); + + if (!(((info->width == width && info->height == height) + || (width == 0 && height == 0)) + && (bpp == depth || depth == 0))) + { + grub_dprintf ("video", "GOP: mode %d: rejected\n", mode); + continue; + } + + if (best_volume < ((unsigned long long) info->width) + * ((unsigned long long) info->height) + * ((unsigned long long) bpp)) + { + best_volume = ((unsigned long long) info->width) + * ((unsigned long long) info->height) + * ((unsigned long long) bpp); + best_mode = mode; + } + found = 1; + } + } + + if (!found) + { + grub_dprintf ("video", "GOP: no mode found\n"); + return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found."); + } + + if (best_mode != gop->mode->mode) + { + if (!restore_needed) + { + old_mode = gop->mode->mode; + restore_needed = 1; + } + efi_call_2 (gop->set_mode, gop, best_mode); + } + + info = gop->mode->info; + + err = grub_video_gop_fill_mode_info (info, &framebuffer.mode_info); + if (err) + { + grub_dprintf ("video", "GOP: couldn't fill mode info\n"); + return err; + } + + framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base; + + grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n", + framebuffer.ptr, framebuffer.mode_info.width, + framebuffer.mode_info.height, framebuffer.mode_info.bpp); + + err = grub_video_fb_create_render_target_from_pointer + (&framebuffer.render_target, &framebuffer.mode_info, framebuffer.ptr); + + if (err) + { + grub_dprintf ("video", "GOP: Couldn't create FB target\n"); + return err; + } + + err = grub_video_fb_set_active_render_target (framebuffer.render_target); + + if (err) + { + grub_dprintf ("video", "GOP: Couldn't set FB target\n"); + return err; + } + + err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS, + grub_video_fbstd_colors); + + if (err) + grub_dprintf ("video", "GOP: Couldn't set palette\n"); + else + grub_dprintf ("video", "GOP: Success\n"); + + return err; +} + +static grub_err_t +grub_video_gop_swap_buffers (void) +{ + /* TODO: Implement buffer swapping. */ + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_video_gop_set_active_render_target (struct grub_video_render_target *target) +{ + if (target == GRUB_VIDEO_RENDER_TARGET_DISPLAY) + target = framebuffer.render_target; + + return grub_video_fb_set_active_render_target (target); +} + +static grub_err_t +grub_video_gop_get_info_and_fini (struct grub_video_mode_info *mode_info, + void **framebuf) +{ + grub_memcpy (mode_info, &(framebuffer.mode_info), sizeof (*mode_info)); + *framebuf = (char *) framebuffer.ptr; + + grub_video_fb_fini (); + + return GRUB_ERR_NONE; +} + +static struct grub_video_adapter grub_video_gop_adapter = + { + .name = "EFI GOP driver", + + .init = grub_video_gop_init, + .fini = grub_video_gop_fini, + .setup = grub_video_gop_setup, + .get_info = grub_video_fb_get_info, + .get_info_and_fini = grub_video_gop_get_info_and_fini, + .set_palette = grub_video_fb_set_palette, + .get_palette = grub_video_fb_get_palette, + .set_viewport = grub_video_fb_set_viewport, + .get_viewport = grub_video_fb_get_viewport, + .map_color = grub_video_fb_map_color, + .map_rgb = grub_video_fb_map_rgb, + .map_rgba = grub_video_fb_map_rgba, + .unmap_color = grub_video_fb_unmap_color, + .fill_rect = grub_video_fb_fill_rect, + .blit_bitmap = grub_video_fb_blit_bitmap, + .blit_render_target = grub_video_fb_blit_render_target, + .scroll = grub_video_fb_scroll, + .swap_buffers = grub_video_gop_swap_buffers, + .create_render_target = grub_video_fb_create_render_target, + .delete_render_target = grub_video_fb_delete_render_target, + .set_active_render_target = grub_video_gop_set_active_render_target, + .get_active_render_target = grub_video_fb_get_active_render_target, + + .next = 0 + }; + +GRUB_MOD_INIT(efi_gop) +{ + if (check_protocol ()) + grub_video_register (&grub_video_gop_adapter); +} + +GRUB_MOD_FINI(efi_gop) +{ + if (restore_needed) + { + efi_call_2 (gop->set_mode, gop, old_mode); + restore_needed = 0; + } + if (gop) + grub_video_unregister (&grub_video_gop_adapter); +} diff --git a/video/efi_fb.c b/video/efi_uga.c similarity index 90% rename from video/efi_fb.c rename to video/efi_uga.c index 2faff12f9..31062c5f5 100644 --- a/video/efi_fb.c +++ b/video/efi_uga.c @@ -183,20 +183,20 @@ check_protocol (void) } static grub_err_t -grub_video_efi_init (void) +grub_video_uga_init (void) { grub_memset (&framebuffer, 0, sizeof(framebuffer)); return grub_video_fb_init (); } static grub_err_t -grub_video_efi_fini (void) +grub_video_uga_fini (void) { return grub_video_fb_fini (); } static grub_err_t -grub_video_efi_setup (unsigned int width, unsigned int height, +grub_video_uga_setup (unsigned int width, unsigned int height, unsigned int mode_type) { unsigned int depth; @@ -269,14 +269,14 @@ grub_video_efi_setup (unsigned int width, unsigned int height, } static grub_err_t -grub_video_efi_swap_buffers (void) +grub_video_uga_swap_buffers (void) { /* TODO: Implement buffer swapping. */ return GRUB_ERR_NONE; } static grub_err_t -grub_video_efi_set_active_render_target (struct grub_video_render_target *target) +grub_video_uga_set_active_render_target (struct grub_video_render_target *target) { if (target == GRUB_VIDEO_RENDER_TARGET_DISPLAY) target = framebuffer.render_target; @@ -285,7 +285,7 @@ grub_video_efi_set_active_render_target (struct grub_video_render_target *target } static grub_err_t -grub_video_efi_get_info_and_fini (struct grub_video_mode_info *mode_info, +grub_video_uga_get_info_and_fini (struct grub_video_mode_info *mode_info, void **framebuf) { grub_memcpy (mode_info, &(framebuffer.mode_info), sizeof (*mode_info)); @@ -296,15 +296,15 @@ grub_video_efi_get_info_and_fini (struct grub_video_mode_info *mode_info, return GRUB_ERR_NONE; } -static struct grub_video_adapter grub_video_efi_adapter = +static struct grub_video_adapter grub_video_uga_adapter = { - .name = "EFI frame buffer driver", + .name = "EFI UGA driver", - .init = grub_video_efi_init, - .fini = grub_video_efi_fini, - .setup = grub_video_efi_setup, + .init = grub_video_uga_init, + .fini = grub_video_uga_fini, + .setup = grub_video_uga_setup, .get_info = grub_video_fb_get_info, - .get_info_and_fini = grub_video_efi_get_info_and_fini, + .get_info_and_fini = grub_video_uga_get_info_and_fini, .set_palette = grub_video_fb_set_palette, .get_palette = grub_video_fb_get_palette, .set_viewport = grub_video_fb_set_viewport, @@ -317,21 +317,21 @@ static struct grub_video_adapter grub_video_efi_adapter = .blit_bitmap = grub_video_fb_blit_bitmap, .blit_render_target = grub_video_fb_blit_render_target, .scroll = grub_video_fb_scroll, - .swap_buffers = grub_video_efi_swap_buffers, + .swap_buffers = grub_video_uga_swap_buffers, .create_render_target = grub_video_fb_create_render_target, .delete_render_target = grub_video_fb_delete_render_target, - .set_active_render_target = grub_video_efi_set_active_render_target, + .set_active_render_target = grub_video_uga_set_active_render_target, .get_active_render_target = grub_video_fb_get_active_render_target, }; -GRUB_MOD_INIT(efi_fb) +GRUB_MOD_INIT(efi_uga) { if (check_protocol ()) - grub_video_register (&grub_video_efi_adapter); + grub_video_register (&grub_video_uga_adapter); } -GRUB_MOD_FINI(efi_fb) +GRUB_MOD_FINI(efi_uga) { if (uga) - grub_video_unregister (&grub_video_efi_adapter); + grub_video_unregister (&grub_video_uga_adapter); }