diff --git a/ChangeLog b/ChangeLog index 4a137d1ae..abd03bf0a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-12-13 Thomas Schwinge + + * Makefile.in (enable_grub_emu): New variable. + * configure.ac (--enable-grub-emu): New option. + Do the checks for (n)curses only if `--enable-grub-emu' is requested. + * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested. + * conf/i386-pc.rmk: Likewise. + * conf/powerpc-ieee1275.rmk: Likewise. + * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise. + 2006-12-12 Marco Gerards * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'. diff --git a/Makefile.in b/Makefile.in index e2ddbb2a1..35ba19159 100644 --- a/Makefile.in +++ b/Makefile.in @@ -73,6 +73,9 @@ LIBCURSES = @LIBCURSES@ LIBLZO = @LIBLZO@ YACC = @YACC@ +# Options. +enable_grub_emu = @enable_grub_emu@ + ### General variables. RMKFILES = $(addprefix conf/,common.rmk i386-pc.rmk powerpc-ieee1275.rmk \ diff --git a/conf/i386-efi.rmk b/conf/i386-efi.rmk index 61261bf13..d6b5d89cc 100644 --- a/conf/i386-efi.rmk +++ b/conf/i386-efi.rmk @@ -6,7 +6,10 @@ COMMON_LDFLAGS = -melf_i386 -nostdlib # Utilities. bin_UTILITIES = grub-mkimage -#sbin_UTILITIES = grub-setup grub-emu grub-mkdevicemap grub-probe +#sbin_UTILITIES = grub-setup grub-mkdevicemap grub-probe +#ifeq ($(enable_grub_emu), yes) +#sbin_UTILITIES += grub-emu +#endif # For grub-mkimage. grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \ diff --git a/conf/i386-pc.rmk b/conf/i386-pc.rmk index c8e894189..80255776d 100644 --- a/conf/i386-pc.rmk +++ b/conf/i386-pc.rmk @@ -51,7 +51,10 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genke # Utilities. bin_UTILITIES = grub-mkimage -sbin_UTILITIES = grub-setup grub-emu grub-mkdevicemap grub-probe +sbin_UTILITIES = grub-setup grub-mkdevicemap grub-probe +ifeq ($(enable_grub_emu), yes) +sbin_UTILITIES += grub-emu +endif # For grub-mkimage. grub_mkimage_SOURCES = util/i386/pc/grub-mkimage.c util/misc.c \ diff --git a/conf/powerpc-ieee1275.rmk b/conf/powerpc-ieee1275.rmk index 7973fbac4..937c74ebd 100644 --- a/conf/powerpc-ieee1275.rmk +++ b/conf/powerpc-ieee1275.rmk @@ -26,7 +26,9 @@ pkgdata_PROGRAMS = kernel.elf # Utilities. bin_UTILITIES = grub-mkimage -sbin_UTILITIES = grub-emu +ifeq ($(enable_grub_emu), yes) +sbin_UTILITIES = grub-emu +endif # For grub-mkimage. grub_mkimage_SOURCES = util/powerpc/ieee1275/grub-mkimage.c util/misc.c \ diff --git a/conf/sparc64-ieee1275.rmk b/conf/sparc64-ieee1275.rmk index 44ade359e..d5c820c8f 100644 --- a/conf/sparc64-ieee1275.rmk +++ b/conf/sparc64-ieee1275.rmk @@ -29,7 +29,10 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h genke pkgdata_PROGRAMS = kernel.elf # Utilities. -#bin_UTILITIES = grub-emu grub-mkimage +#bin_UTILITIES = grub-mkimage +#ifeq ($(enable_grub_emu), yes) +#bin_UTILITIES += grub-emu +#endif # For grub-mkimage. grub_mkimage_SOURCES = util/sparc64/ieee1275/grub-mkimage.c util/misc.c \ diff --git a/configure.ac b/configure.ac index 17484dd92..ba205b501 100644 --- a/configure.ac +++ b/configure.ac @@ -145,14 +145,6 @@ if test "$target_cpu"-"$platform" = i386-pc; then AC_CHECK_HEADERS(lzo/lzo1x.h lzo1x.h) fi -# Check for curses. -AC_CHECK_LIB(ncurses, wgetch, [LIBCURSES="-lncurses"], - [AC_CHECK_LIB(curses, wgetch, [LIBCURSES="-lcurses"])]) -AC_SUBST(LIBCURSES) - -# Check for headers. -AC_CHECK_HEADERS(ncurses/curses.h ncurses.h curses.h) - # Check for functions. AC_CHECK_FUNCS(posix_memalign memalign) @@ -265,13 +257,35 @@ CPPFLAGS="$tmp_CPPFLAGS" LDFLAGS="$tmp_LDFLAGS" LIBS="$tmp_LIBS" +# # Check for options. +# + +# Memory manager debugging. AC_ARG_ENABLE([mm-debug], AS_HELP_STRING([--enable-mm-debug], [include memory manager debugging]), [AC_DEFINE([MM_DEBUG], [1], [Define to 1 if you enable memory manager debugging.])]) +AC_ARG_ENABLE([grub-emu], + [AS_HELP_STRING([--enable-grub-emu], + [build and install the `grub-emu' debugging utility])]) +[if [ x"$enable_grub_emu" = xyes ]; then + # Check for curses libraries.] + AC_CHECK_LIB([ncurses], [wgetch], [LIBCURSES="-lncurses"], + [AC_CHECK_LIB([curses], [wgetch], [LIBCURSES="-lcurses"], + [AC_MSG_ERROR([(n)curses libraries are required to build `grub-emu'])])]) + AC_SUBST([LIBCURSES]) + + [# Check for headers.] + AC_CHECK_HEADERS([ncurses/curses.h], [], + [AC_CHECK_HEADERS([ncurses.h], [], + [AC_CHECK_HEADERS([curses.h], [], + [AC_MSG_ERROR([(n)curses header files are required to build `grub-emu'])])])]) +[fi] +AC_SUBST([enable_grub_emu]) + # Output files. AC_CONFIG_LINKS([include/grub/cpu:include/grub/$target_cpu include/grub/machine:include/grub/$target_cpu/$platform])