diff --git a/ChangeLog b/ChangeLog index 75c8c329d..e72eb72f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-04-22 Jeroen Dekkers + + * Makefile.am (AUTOMAKE_OPTIONS): Add "gnu". + * configure.ac: Update to work with automake 1.8, quote all + AC_DEFUN's correctly and provide descriptions for AC_DEFINE's. + * acinclude.m4: Likewise. + * acconfig.h: Removed. + + * stage1/Makefile.am (.exec): Use suffix rules instead of pattern + rules. + * stage2/Makefile.am (.exec): Likewise. + 2004-04-18 Yoshinori K. Okuji * docs/grub.texi (Making a GRUB bootable CD-ROM): New section. diff --git a/Makefile.am b/Makefile.am index 272331d8f..63a9a4f60 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ # Do not change this order if you don't know what you are doing. -AUTOMAKE_OPTIONS = 1.7 +AUTOMAKE_OPTIONS = 1.7 gnu SUBDIRS = netboot stage2 stage1 lib grub util docs EXTRA_DIST = BUGS MAINTENANCE diff --git a/acconfig.h b/acconfig.h deleted file mode 100644 index 3d48878cc..000000000 --- a/acconfig.h +++ /dev/null @@ -1,35 +0,0 @@ -/* This file is still needed because the defines below are - AC_DEFINEd in more than one place. */ - -/* Defined if you have a curses library (ncurses preferred). */ -#undef HAVE_LIBCURSES - -/* Defined if start is defined. */ -#undef HAVE_START_SYMBOL - -/* Defined if _start is defined. */ -#undef HAVE_USCORE_START_SYMBOL - -/* Defined if __bss_start is defined. */ -#undef HAVE_USCORE_USCORE_BSS_START_SYMBOL - -/* Defined if edata is defined. */ -#undef HAVE_EDATA_SYMBOL - -/* Defined if _edata is defined. */ -#undef HAVE_USCORE_EDATA_SYMBOL - -/* Defined if end is defined. */ -#undef HAVE_END_SYMBOL - -/* Defined if _end is defined. */ -#undef HAVE_USCORE_END_SYMBOL - -/* Defined if an absolute indirect call/jump must NOT be prefixed with `*'. */ -#undef ABSOLUTE_WITHOUT_ASTERISK - -/* Defined if the user specifies --enable-preset-menu=FILE. */ -#undef PRESET_MENU_STRING - -/* Defined if the user specified --enable-auto-linux-mem-opt. */ -#undef AUTO_LINUX_MEM_OPT diff --git a/acinclude.m4 b/acinclude.m4 index 87312f925..368839cdf 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -2,7 +2,7 @@ dnl grub_ASM_USCORE checks if C symbols get an underscore after dnl compiling to assembler. dnl Written by Pavel Roskin. Based on grub_ASM_EXT_C written by dnl Erich Boleyn and modified by OKUJI Yoshinori -AC_DEFUN(grub_ASM_USCORE, +AC_DEFUN([grub_ASM_USCORE], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if C symbols get an underscore after compilation]) AC_CACHE_VAL(grub_cv_asm_uscore, @@ -40,7 +40,7 @@ AC_MSG_RESULT([$grub_cv_asm_uscore]) dnl Some versions of `objcopy -O binary' vary their output depending dnl on the link address. -AC_DEFUN(grub_PROG_OBJCOPY_ABSOLUTE, +AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE], [AC_MSG_CHECKING([whether ${OBJCOPY} works for absolute addresses]) AC_CACHE_VAL(grub_cv_prog_objcopy_absolute, [cat > conftest.c <<\EOF @@ -88,7 +88,7 @@ dnl dnl We only support the newer versions, because the old versions cause dnl major pain, by requiring manual assembly to get 16-bit instructions into dnl stage1/stage1.S. -AC_DEFUN(grub_ASM_ADDR32, +AC_DEFUN([grub_ASM_ADDR32], [AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([grub_ASM_PREFIX_REQUIREMENT]) AC_MSG_CHECKING([for .code16 addr32 assembler support]) @@ -118,7 +118,7 @@ dnl dnl Later versions of GAS requires that addr32 and data32 prefixes dnl appear in the same lines as the instructions they modify, while dnl earlier versions requires that they appear in separate lines. -AC_DEFUN(grub_ASM_PREFIX_REQUIREMENT, +AC_DEFUN([grub_ASM_PREFIX_REQUIREMENT], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING(dnl [whether addr32 must be in the same line as the instruction]) @@ -154,7 +154,7 @@ AC_MSG_RESULT([$grub_cv_asm_prefix_requirement])]) dnl dnl Older versions of GAS require that absolute indirect calls/jumps are dnl not prefixed with `*', while later versions warn if not prefixed. -AC_DEFUN(grub_ASM_ABSOLUTE_WITHOUT_ASTERISK, +AC_DEFUN([grub_ASM_ABSOLUTE_WITHOUT_ASTERISK], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING(dnl [whether an absolute indirect call/jump must not be prefixed with an asterisk]) @@ -175,7 +175,7 @@ fi rm -f conftest*]) if test "x$grub_cv_asm_absolute_without_asterisk" = xyes; then - AC_DEFINE([ABSOLUTE_WITHOUT_ASTERISK]) + AC_DEFINE(ABSOLUTE_WITHOUT_ASTERISK, 1, [Define if an absolute indirect call/jump must NOT be prefixed with `*']) fi AC_MSG_RESULT([$grub_cv_asm_absolute_without_asterisk])]) @@ -184,7 +184,7 @@ dnl dnl grub_CHECK_START_SYMBOL checks if start is automatically defined by dnl the compiler. dnl Written by OKUJI Yoshinori -AC_DEFUN(grub_CHECK_START_SYMBOL, +AC_DEFUN([grub_CHECK_START_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if start is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_start_symbol, @@ -193,7 +193,7 @@ AC_CACHE_VAL(grub_cv_check_start_symbol, grub_cv_check_start_symbol=no)]) if test "x$grub_cv_check_start_symbol" = xyes; then - AC_DEFINE([HAVE_START_SYMBOL]) + AC_DEFINE(HAVE_START_SYMBOL, 1, [Define if start is defined]) fi AC_MSG_RESULT([$grub_cv_check_start_symbol]) @@ -203,7 +203,7 @@ dnl dnl grub_CHECK_USCORE_START_SYMBOL checks if _start is automatically dnl defined by the compiler. dnl Written by OKUJI Yoshinori -AC_DEFUN(grub_CHECK_USCORE_START_SYMBOL, +AC_DEFUN([grub_CHECK_USCORE_START_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if _start is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_uscore_start_symbol, @@ -212,7 +212,7 @@ AC_CACHE_VAL(grub_cv_check_uscore_start_symbol, grub_cv_check_uscore_start_symbol=no)]) if test "x$grub_cv_check_uscore_start_symbol" = xyes; then - AC_DEFINE([HAVE_USCORE_START_SYMBOL]) + AC_DEFINE(HAVE_USCORE_START_SYMBOL, 1, [Define if _start is defined]) fi AC_MSG_RESULT([$grub_cv_check_uscore_start_symbol]) @@ -222,7 +222,7 @@ dnl dnl grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL checks if __bss_start is dnl automatically defined by the compiler. dnl Written by Michael Hohmoth. -AC_DEFUN(grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL, +AC_DEFUN([grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if __bss_start is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_uscore_uscore_bss_start_symbol, @@ -231,7 +231,7 @@ AC_CACHE_VAL(grub_cv_check_uscore_uscore_bss_start_symbol, grub_cv_check_uscore_uscore_bss_start_symbol=no)]) if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then - AC_DEFINE([HAVE_USCORE_USCORE_BSS_START_SYMBOL]) + AC_DEFINE(HAVE_USCORE_USCORE_BSS_START_SYMBOL, 1, [Define if __bss_start is defined]) fi AC_MSG_RESULT([$grub_cv_check_uscore_uscore_bss_start_symbol]) @@ -241,7 +241,7 @@ dnl dnl grub_CHECK_EDATA_SYMBOL checks if edata is automatically defined by the dnl compiler. dnl Written by Michael Hohmuth. -AC_DEFUN(grub_CHECK_EDATA_SYMBOL, +AC_DEFUN([grub_CHECK_EDATA_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if edata is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_edata_symbol, @@ -250,7 +250,7 @@ AC_CACHE_VAL(grub_cv_check_edata_symbol, grub_cv_check_edata_symbol=no)]) if test "x$grub_cv_check_edata_symbol" = xyes; then - AC_DEFINE([HAVE_EDATA_SYMBOL]) + AC_DEFINE(HAVE_EDATA_SYMBOL, 1, [Define if edata is defined]) fi AC_MSG_RESULT([$grub_cv_check_edata_symbol]) @@ -260,7 +260,7 @@ dnl dnl grub_CHECK_USCORE_EDATA_SYMBOL checks if _edata is automatically dnl defined by the compiler. dnl Written by Michael Hohmuth. -AC_DEFUN(grub_CHECK_USCORE_EDATA_SYMBOL, +AC_DEFUN([grub_CHECK_USCORE_EDATA_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if _edata is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_uscore_edata_symbol, @@ -269,7 +269,7 @@ AC_CACHE_VAL(grub_cv_check_uscore_edata_symbol, grub_cv_check_uscore_edata_symbol=no)]) if test "x$grub_cv_check_uscore_edata_symbol" = xyes; then - AC_DEFINE([HAVE_USCORE_EDATA_SYMBOL]) + AC_DEFINE(HAVE_USCORE_EDATA_SYMBOL, 1, [Define if _edata is defined]) fi AC_MSG_RESULT([$grub_cv_check_uscore_edata_symbol]) @@ -279,7 +279,7 @@ dnl dnl grub_CHECK_END_SYMBOL checks if end is automatically defined by the dnl compiler. dnl Written by OKUJI Yoshinori -AC_DEFUN(grub_CHECK_END_SYMBOL, +AC_DEFUN([grub_CHECK_END_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if end is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_end_symbol, @@ -288,7 +288,7 @@ AC_CACHE_VAL(grub_cv_check_end_symbol, grub_cv_check_end_symbol=no)]) if test "x$grub_cv_check_end_symbol" = xyes; then - AC_DEFINE([HAVE_END_SYMBOL]) + AC_DEFINE(HAVE_END_SYMBOL, 1, [Define if end is defined]) fi AC_MSG_RESULT([$grub_cv_check_end_symbol]) @@ -298,7 +298,7 @@ dnl dnl grub_CHECK_USCORE_END_SYMBOL checks if _end is automatically defined dnl by the compiler. dnl Written by OKUJI Yoshinori -AC_DEFUN(grub_CHECK_USCORE_END_SYMBOL, +AC_DEFUN([grub_CHECK_USCORE_END_SYMBOL], [AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([if _end is defined by the compiler]) AC_CACHE_VAL(grub_cv_check_uscore_end_symbol, @@ -307,18 +307,18 @@ AC_CACHE_VAL(grub_cv_check_uscore_end_symbol, grub_cv_check_uscore_end_symbol=no)]) if test "x$grub_cv_check_uscore_end_symbol" = xyes; then - AC_DEFINE([HAVE_USCORE_END_SYMBOL]) + AC_DEFINE(HAVE_USCORE_END_SYMBOL, 1, [Define if end is defined]) fi AC_MSG_RESULT([$grub_cv_check_uscore_end_symbol]) ]) -dnl grub_DEFINE_FILE(MACRO_NAME, FILE_NAME) +dnl grub_DEFINE_FILE(MACRO_NAME, FILE_NAME, DESCRIPTION) dnl grub_DEFINE_FILE defines a macro as the contents of a file safely. dnl Replace some escape sequences, because autoconf doesn't handle them dnl gracefully. dnl Written by OKUJI Yoshinori. -AC_DEFUN(grub_DEFINE_FILE, +AC_DEFUN([grub_DEFINE_FILE], [AC_REQUIRE([AC_PROG_CC]) # Because early versions of GNU sed 3.x are too buggy, use a C program # instead of shell commands. *sigh* @@ -361,6 +361,6 @@ else AC_MSG_ERROR([${CC-cc} failed to produce an executable file]) fi -AC_DEFINE_UNQUOTED([$1], "$grub_tmp_value") +AC_DEFINE_UNQUOTED([$1], "$grub_tmp_value", [$3]) rm -f conftest* ]) diff --git a/configure.ac b/configure.ac index 14e75b1c0..5b57c010b 100644 --- a/configure.ac +++ b/configure.ac @@ -208,9 +208,9 @@ AC_CHECK_LIB(util, opendisk, [GRUB_LIBS="$GRUB_LIBS -lutil" # Unless the user specify --without-curses, check for curses. if test "x$with_curses" != "xno"; then AC_CHECK_LIB(ncurses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lncurses" - AC_DEFINE(HAVE_LIBCURSES)], + AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])], [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lcurses" - AC_DEFINE(HAVE_LIBCURSES)])]) + AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])])]) fi AC_SUBST(GRUB_LIBS) @@ -620,7 +620,8 @@ if test "x$enable_preset_menu" = x; then : else if test -r $enable_preset_menu; then - grub_DEFINE_FILE(PRESET_MENU_STRING, [$enable_preset_menu]) + grub_DEFINE_FILE(PRESET_MENU_STRING, [$enable_preset_menu], + [Define if there is user specified preset menu string]) else AC_MSG_ERROR([Cannot read the preset menu file $enable_preset_menu]) fi @@ -639,7 +640,7 @@ AC_ARG_ENABLE(auto-linux-mem-opt, if test "x$enable_auto_linux_mem_opt" = xno; then : else - AC_DEFINE(AUTO_LINUX_MEM_OPT) + AC_DEFINE(AUTO_LINUX_MEM_OPT, 1, [Define if you don't want to pass the mem= option to Linux]) fi dnl Now substitute the variables. diff --git a/stage1/Makefile.am b/stage1/Makefile.am index 609fb098a..b8b76685e 100644 --- a/stage1/Makefile.am +++ b/stage1/Makefile.am @@ -10,5 +10,6 @@ LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 noinst_PROGRAMS = stage1.exec stage1_exec_SOURCES = stage1.S stage1.h -%: %.exec +SUFFIXES = .exec +.exec: $(OBJCOPY) -O binary $< $@ diff --git a/stage2/Makefile.am b/stage2/Makefile.am index cf4dc01f2..1eac697d7 100644 --- a/stage2/Makefile.am +++ b/stage2/Makefile.am @@ -255,5 +255,6 @@ pxegrub: pxeloader diskless cat $^ > $@ # General rule for making a raw binary. -%: %.exec +SUFFIXES = .exec +.exec: $(OBJCOPY) -O binary $< $@