aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:04:24 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:04:24 -0800
commit1650e5296608be8925d9831310c9ad3595fd6869 (patch)
treef46d6b23eaeeaf5a28396d258ee29eb4c1580749 /configure.ac
downloadgrub-1650e5296608be8925d9831310c9ad3595fd6869.tar.gz
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac670
1 files changed, 670 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..bb9e1d9
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,670 @@
+dnl Configure script for GRUB.
+dnl Copyright 1999,2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc.
+
+dnl Permission to use, copy, modify and distribute this software and its
+dnl documentation is hereby granted, provided that both the copyright
+dnl notice and this permission notice appear in all copies of the
+dnl software, derivative works or modified versions, and any portions
+dnl thereof, and that both notices appear in supporting documentation.
+dnl
+dnl THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS
+dnl "AS IS" CONDITION. THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY
+dnl LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE
+dnl USE OF THIS SOFTWARE.
+
+AC_PREREQ(2.57)
+AC_INIT([GRUB], [0.97], [bug-grub@gnu.org])
+AC_CONFIG_SRCDIR([stage2/stage2.c])
+AC_CONFIG_HEADER([config.h])
+AM_INIT_AUTOMAKE
+
+AC_CANONICAL_HOST
+
+case "$host_cpu" in
+i[[3456]]86) host_cpu=i386 ;;
+x86_64) host_cpu=x86_64 ;;
+*) AC_MSG_ERROR([unsupported CPU type]) ;;
+esac
+
+AC_SUBST(host_cpu)
+AC_SUBST(host_vendor)
+
+#
+# Options
+#
+
+AM_MAINTAINER_MODE
+if test "x$enable_maintainer_mode" = xyes; then
+ AC_PATH_PROG(PERL,perl)
+ if test -z "$PERL"; then
+ AC_MSG_ERROR([perl not found])
+ fi
+fi
+
+# This should be checked before AC_PROG_CC
+if test "x$CFLAGS" = x; then
+ default_CFLAGS=yes
+fi
+
+if test "x$host_cpu" = xx86_64; then
+ CFLAGS="-m32 $CFLAGS"
+fi
+
+#
+# Programs
+#
+
+AC_CHECK_TOOL(CC, gcc)
+AC_PROG_CC
+# We need this for older versions of Autoconf.
+_AM_DEPENDENCIES(CC)
+
+dnl Because recent automake complains about AS, set it here.
+CCAS="$CC"
+AC_SUBST(CCAS)
+
+AC_ARG_WITH(binutils,
+ [ --with-binutils=DIR search the directory DIR to find binutils])
+
+if test "x$with_binutils" != x; then
+dnl AC_PATH_TOOL is not seen in autoconf 2.13, so use AC_PATH_PROG
+dnl instead for now. It is preferable when you cross-compile GRUB.
+dnl AC_PATH_TOOL(RANLIB, ranlib, :, "$with_binutils:$PATH")
+ AC_PATH_PROG(RANLIB, ranlib, :, "$with_binutils:$PATH")
+else
+ AC_PROG_RANLIB
+fi
+
+# optimization flags
+if test "x$ac_cv_prog_gcc" = xyes; then
+ if test "x$default_CFLAGS" = xyes; then
+ # Autoconf may set CFLAGS to -O2 and/or -g. So eliminate them.
+ CFLAGS="`echo $CFLAGS | sed -e 's/-g//g' -e 's/-O[[0-9]]//g'` -g"
+ # If the user specify the directory for binutils, add the option `-B'.
+ if test "x$with_binutils" != x; then
+ CFLAGS="-B$with_binutils/ $CFLAGS"
+ fi
+ STAGE1_CFLAGS="-O2"
+ GRUB_CFLAGS="-O2"
+ AC_CACHE_CHECK([whether optimization for size works], size_flag, [
+ saved_CFLAGS=$CFLAGS
+ CFLAGS="-Os -g"
+ AC_TRY_COMPILE(, , size_flag=yes, size_flag=no)
+ CFLAGS=$saved_CFLAGS
+ ])
+ if test "x$size_flag" = xyes; then
+ STAGE2_CFLAGS="-Os"
+ else
+ STAGE2_CFLAGS="-O2 -fno-strength-reduce -fno-unroll-loops"
+ fi
+ # OpenBSD has a GCC extension for protecting applications from
+ # stack smashing attacks, but GRUB doesn't want this feature.
+ AC_CACHE_CHECK([whether gcc has -fno-stack-protector],
+ no_stack_protector_flag, [
+ saved_CFLAGS=$CFLAGS
+ CFLAGS="-fno-stack-protector"
+ AC_TRY_COMPILE(,
+ ,
+ no_stack_protector_flag=yes,
+ no_stack_protector_flag=no)
+ CFLAGS=$saved_CFLAGS
+ ])
+ if test "x$no_stack_protector_flag" = xyes; then
+ STAGE2_CFLAGS="$STAGE2_CFLAGS -fno-stack-protector"
+ fi
+ fi
+fi
+
+AC_SUBST(STAGE1_CFLAGS)
+AC_SUBST(STAGE2_CFLAGS)
+AC_SUBST(GRUB_CFLAGS)
+
+# Enforce coding standards.
+CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused -Wshadow"
+CPPFLAGS="$CPPFLAGS -Wpointer-arith"
+
+AC_CACHE_CHECK([whether -Wundef works], undef_flag, [
+ saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Wundef"
+ AC_TRY_COMPILE(, , undef_flag=yes, undef_flag=no)
+ CPPFLAGS="$saved_CPPFLAGS"
+])
+
+# The options `-falign-*' are supported by gcc 3.0 or later.
+# Probably it is sufficient to only check for -falign-loops.
+AC_CACHE_CHECK([whether -falign-loops works], [falign_loop_flag], [
+ saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-falign-loops=1"
+ AC_TRY_COMPILE(, , [falign_loop_flag=yes], [falign_loop_flag=no])
+ CPPFLAGS="$saved_CPPFLAGS"
+])
+
+# Force no alignment to save space.
+if test "x$falign_loop_flag" = xyes; then
+ CPPFLAGS="$CPPFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1"
+else
+ CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
+fi
+
+if test "x$undef_flag" = xyes; then
+ CPPFLAGS="$CPPFLAGS -Wundef"
+fi
+
+if test "x$with_binutils" != x; then
+dnl AC_PATH_TOOL(OBJCOPY, objcopy, , "$with_binutils:$PATH")
+ AC_PATH_PROG(OBJCOPY, objcopy, , "$with_binutils:$PATH")
+else
+ AC_CHECK_TOOL(OBJCOPY, objcopy)
+fi
+
+# Defined in acinclude.m4.
+grub_ASM_USCORE
+grub_PROG_OBJCOPY_ABSOLUTE
+if test "x$grub_cv_prog_objcopy_absolute" != xyes; then
+ AC_MSG_ERROR([GRUB requires a working absolute objcopy; upgrade your binutils])
+fi
+
+grub_ASM_PREFIX_REQUIREMENT
+
+grub_ASM_ADDR32
+if test "x$grub_cv_asm_addr32" != xyes; then
+ AC_MSG_ERROR([GRUB requires GAS .code16 addr32 support; upgrade your binutils])
+fi
+
+grub_ASM_ABSOLUTE_WITHOUT_ASTERISK
+
+grub_CHECK_START_SYMBOL
+grub_CHECK_USCORE_START_SYMBOL
+if test "x$grub_cv_check_start_symbol" != "xyes" \
+ -a "x$grub_cv_check_uscore_start_symbol" != "xyes"; then
+ AC_MSG_ERROR([Neither start nor _start is defined])
+fi
+
+grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL
+grub_CHECK_USCORE_EDATA_SYMBOL
+grub_CHECK_EDATA_SYMBOL
+if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" != "xyes" \
+ -a "x$grub_cv_check_uscore_edata_symbol" != "xyes" \
+ -a "x$grub_cv_check_edata_symbol" != "xyes"; then
+ AC_MSG_ERROR([None of __bss_start, _edata, edata defined])
+fi
+
+grub_CHECK_END_SYMBOL
+grub_CHECK_USCORE_END_SYMBOL
+if test "x$grub_cv_check_end_symbol" != "xyes" \
+ -a "x$grub_cv_check_uscore_end_symbol" != "xyes"; then
+ AC_MSG_ERROR([Neither end nor _end is defined])
+fi
+
+# Check for curses libraries.
+AC_ARG_WITH(curses,
+ [ --without-curses do not use curses])
+
+# Get the filename or the whole disk and open it.
+# Known to work on NetBSD.
+AC_CHECK_LIB(util, opendisk, [GRUB_LIBS="$GRUB_LIBS -lutil"
+ AC_DEFINE(HAVE_OPENDISK, 1, [Define if opendisk() in -lutil can be used])])
+
+# 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, 1, [Define if you have a curses library])],
+ [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lcurses"
+ AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])])])
+fi
+
+AC_SUBST(GRUB_LIBS)
+
+# Check for headers.
+AC_CHECK_HEADERS(string.h strings.h ncurses/curses.h ncurses.h curses.h)
+
+# Check for user options.
+
+# filesystems support.
+AC_ARG_ENABLE(ext2fs,
+ [ --disable-ext2fs disable ext2fs support in Stage 2])
+
+if test x"$enable_ext2fs" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_EXT2FS=1"
+fi
+
+AC_ARG_ENABLE(fat,
+ [ --disable-fat disable FAT support in Stage 2])
+
+if test x"$enable_fat" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FAT=1"
+fi
+
+AC_ARG_ENABLE(ffs,
+ [ --disable-ffs disable FFS support in Stage 2])
+
+if test x"$enable_ffs" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FFS=1"
+fi
+
+AC_ARG_ENABLE(ufs2,
+ [ --disable-ufs2 disable UFS2 support in Stage 2])
+
+if test x"$enable_ufs2" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_UFS2=1"
+fi
+
+AC_ARG_ENABLE(minix,
+ [ --disable-minix disable Minix fs support in Stage 2])
+
+if test x"$enable_minix" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_MINIX=1"
+fi
+
+AC_ARG_ENABLE(reiserfs,
+ [ --disable-reiserfs disable ReiserFS support in Stage 2])
+
+if test x"$enable_reiserfs" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1"
+fi
+
+AC_ARG_ENABLE(vstafs,
+ [ --disable-vstafs disable VSTa FS support in Stage 2])
+
+if test x"$enable_vstafs" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_VSTAFS=1"
+fi
+
+AC_ARG_ENABLE(jfs,
+ [ --disable-jfs disable IBM JFS support in Stage 2])
+
+if test x"$enable_jfs" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_JFS=1"
+fi
+
+AC_ARG_ENABLE(xfs,
+ [ --disable-xfs disable SGI XFS support in Stage 2])
+
+if test x"$enable_xfs" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_XFS=1"
+fi
+
+AC_ARG_ENABLE(iso9660,
+ [ --disable-iso9660 disable ISO9660 support in Stage 2])
+
+if test x"$enable_iso9660" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_ISO9660=1"
+fi
+
+dnl AC_ARG_ENABLE(tftp,
+dnl [ --enable-tftp enable TFTP support in Stage 2])
+dnl
+dnl #if test x"$enable_tftp" = xyes; then
+dnl FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_TFTP=1"
+dnl fi
+
+AC_ARG_ENABLE(gunzip,
+ [ --disable-gunzip disable decompression in Stage 2])
+
+if test x"$enable_gunzip" = xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DNO_DECOMPRESSION=1"
+fi
+
+AC_ARG_ENABLE(md5-password,
+ [ --disable-md5-password disable MD5 password support in Stage 2])
+if test "x$enable_md5_password" != xno; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DUSE_MD5_PASSWORDS=1"
+fi
+
+dnl The netboot support.
+dnl General options.
+AC_ARG_ENABLE(packet-retransmission,
+ [ --disable-packet-retransmission
+ turn off packet retransmission])
+if test "x$enable_packet_retransmission" != xno; then
+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1"
+fi
+
+AC_ARG_ENABLE(pci-direct,
+ [ --enable-pci-direct access PCI directly instead of using BIOS])
+if test "x$enable_pci_direct" = xyes; then
+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONFIG_PCI_DIRECT=1"
+fi
+
+dnl Device drivers.
+AC_ARG_ENABLE(3c509,
+ [ --enable-3c509 enable 3Com509 driver])
+if test "x$enable_3c509" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C509"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c509.o"
+fi
+
+AC_ARG_ENABLE(3c529,
+ [ --enable-3c529 enable 3Com529 driver])
+if test "x$enable_3c529" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C529=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c529.o"
+fi
+
+AC_ARG_ENABLE(3c595,
+ [ --enable-3c595 enable 3Com595 driver])
+if test "x$enable_3c595" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C595=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c595.o"
+fi
+
+AC_ARG_ENABLE(3c90x,
+ [ --enable-3c90x enable 3Com90x driver])
+if test "x$enable_3c90x" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C90X=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c90x.o"
+fi
+
+AC_ARG_ENABLE(cs89x0,
+ [ --enable-cs89x0 enable CS89x0 driver])
+if test "x$enable_cs89x0" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_CS89X0=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS cs89x0.o"
+fi
+
+AC_ARG_ENABLE(davicom,
+ [ --enable-davicom enable Davicom driver])
+if test "x$enable_davicom" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DAVICOM=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS davicom.o"
+fi
+
+AC_ARG_ENABLE(depca,
+ [ --enable-depca enable DEPCA and EtherWORKS driver])
+if test "x$enable_depca" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DEPCA=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS depca.o"
+fi
+
+AC_ARG_ENABLE(eepro,
+ [ --enable-eepro enable Etherexpress Pro/10 driver])
+if test "x$enable_eepro" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro.o"
+fi
+
+AC_ARG_ENABLE(eepro100,
+ [ --enable-eepro100 enable Etherexpress Pro/100 driver])
+if test "x$enable_eepro100" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO100=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro100.o"
+fi
+
+AC_ARG_ENABLE(epic100,
+ [ --enable-epic100 enable SMC 83c170 EPIC/100 driver])
+if test "x$enable_epic100" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EPIC100=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS epic100.o"
+fi
+
+AC_ARG_ENABLE(3c507,
+ [ --enable-3c507 enable 3Com507 driver])
+if test "x$enable_3c507" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C507=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c507.o"
+fi
+
+AC_ARG_ENABLE(exos205,
+ [ --enable-exos205 enable EXOS205 driver])
+if test "x$enable_exos205" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EXOS205=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS exos205.o"
+fi
+
+AC_ARG_ENABLE(ni5210,
+ [ --enable-ni5210 enable Racal-Interlan NI5210 driver])
+if test "x$enable_ni5210" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5210=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5210.o"
+fi
+
+AC_ARG_ENABLE(lance,
+ [ --enable-lance enable Lance PCI PCNet/32 driver])
+if test "x$enable_lance" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_LANCE=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS lance.o"
+fi
+
+AC_ARG_ENABLE(ne2100,
+ [ --enable-ne2100 enable Novell NE2100 driver])
+if test "x$enable_ne2100" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE2100=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne2100.o"
+fi
+
+AC_ARG_ENABLE(ni6510,
+ [ --enable-ni6510 enable Racal-Interlan NI6510 driver])
+if test "x$enable_ni6510" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI6510=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni6510.o"
+fi
+
+AC_ARG_ENABLE(natsemi,
+ [ --enable-natsemi enable NatSemi DP8381x driver])
+if test "x$enable_natsemi" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NATSEMI=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS natsemi.o"
+fi
+
+AC_ARG_ENABLE(ni5010,
+ [ --enable-ni5010 enable Racal-Interlan NI5010 driver])
+if test "x$enable_ni5010" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5010=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5010.o"
+fi
+
+AC_ARG_ENABLE(3c503,
+ [ --enable-3c503 enable 3Com503 driver])
+if test "x$enable_3c503" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C503=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c503.o"
+fi
+
+AC_ARG_ENABLE(ne,
+ [ --enable-ne enable NE1000/2000 ISA driver])
+if test "x$enable_ne" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne.o"
+fi
+
+AC_ARG_ENABLE(ns8390,
+ [ --enable-ns8390 enable NE2000 PCI driver])
+if test "x$enable_ns8390" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NS8390=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns8390.o"
+fi
+
+AC_ARG_ENABLE(wd,
+ [ --enable-wd enable WD8003/8013, SMC8216/8416 driver])
+if test "x$enable_wd" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_WD=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS wd.o"
+fi
+
+AC_ARG_ENABLE(otulip,
+ [ --enable-otulip enable old Tulip driver])
+if test "x$enable_otulip" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_OTULIP=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS otulip.o"
+fi
+
+AC_ARG_ENABLE(rtl8139,
+ [ --enable-rtl8139 enable Realtek 8139 driver])
+if test "x$enable_rtl8139" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_RTL8139=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS rtl8139.o"
+fi
+
+AC_ARG_ENABLE(sis900,
+ [ --enable-sis900 enable SIS 900 and SIS 7016 driver])
+if test "x$enable_sis900" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SIS900=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS sis900.o"
+fi
+
+AC_ARG_ENABLE(sk-g16,
+ [ --enable-sk-g16 enable Schneider and Koch G16 driver])
+if test "x$enable_sk_g16" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SK_G16=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS sk_g16.o"
+fi
+
+AC_ARG_ENABLE(smc9000,
+ [ --enable-smc9000 enable SMC9000 driver])
+if test "x$enable_smc9000" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SMC9000=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS smc9000.o"
+fi
+
+AC_ARG_ENABLE(tiara,
+ [ --enable-tiara enable Tiara driver])
+if test "x$enable_tiara" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TIARA=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS tiara.o"
+fi
+
+AC_ARG_ENABLE(tulip,
+ [ --enable-tulip enable Tulip driver])
+if test "x$enable_tulip" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TULIP=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS tulip.o"
+fi
+
+AC_ARG_ENABLE(via-rhine,
+ [ --enable-via-rhine enable Rhine-I/II driver])
+if test "x$enable_via_rhine" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_VIA_RHINE=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS via_rhine.o"
+fi
+
+AC_ARG_ENABLE(w89c840,
+ [ --enable-w89c840 enable Winbond W89c840, Compex RL100-ATX driver])
+if test "x$enable_w89c840" = xyes; then
+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_W89C840=1"
+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS w89c840.o"
+fi
+
+dnl Check if the netboot support is turned on.
+AM_CONDITIONAL(NETBOOT_SUPPORT, test "x$NET_CFLAGS" != x)
+if test "x$NET_CFLAGS" != x; then
+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_TFTP=1"
+fi
+
+dnl Extra options.
+AC_ARG_ENABLE(3c503-shmem,
+ [ --enable-3c503-shmem use 3c503 shared memory mode])
+if test "x$enable_3c503_shmem" = xyes; then
+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_SHMEM=1"
+fi
+
+AC_ARG_ENABLE(3c503-aui,
+ [ --enable-3c503-aui use AUI by default on 3c503 cards])
+if test "x$enable_3c503_aui" = xyes; then
+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_AUI=1"
+fi
+
+AC_ARG_ENABLE(compex-rl2000-fix,
+ [ --enable-compex-rl2000-fix
+ specify this if you have a Compex RL2000 PCI])
+if test "x$enable_compex_rl2000_fix" = xyes; then
+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCOMPEX_RL2000_FIX=1"
+fi
+
+AC_ARG_ENABLE(smc9000-scan,
+ [ --enable-smc9000-scan=LIST
+ probe for SMC9000 I/O addresses using LIST],
+ [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DSMC9000_SCAN=$enable_smc9000_scan"])
+
+AC_ARG_ENABLE(ne-scan,
+ [ --enable-ne-scan=LIST probe for NE base address using LIST],
+ [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=$enable_ne_scan"],
+ [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=0x280,0x300,0x320,0x340"])
+
+AC_ARG_ENABLE(wd-default-mem,
+ [ --enable-wd-default-mem=MEM
+ set the default memory location for WD/SMC],
+ [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=$enable_wd_default_mem"],
+ [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=0xCC000"])
+
+AC_ARG_ENABLE(cs-scan,
+ [ --enable-cs-scan=LIST probe for CS89x0 base address using LIST],
+ [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCS_SCAN=$enable_cs_scan"])
+
+dnl Diskless
+AC_ARG_ENABLE(diskless,
+ [ --enable-diskless enable diskless support])
+AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes)
+
+dnl Hercules terminal
+AC_ARG_ENABLE(hercules,
+ [ --disable-hercules disable hercules terminal support])
+AM_CONDITIONAL(HERCULES_SUPPORT, test "x$enable_hercules" != xno)
+
+dnl Serial terminal
+AC_ARG_ENABLE(serial,
+ [ --disable-serial disable serial terminal support])
+AM_CONDITIONAL(SERIAL_SUPPORT, test "x$enable_serial" != xno)
+
+dnl Simulation of the slowness of a serial device.
+AC_ARG_ENABLE(serial-speed-simulation,
+ [ --enable-serial-speed-simulation
+ simulate the slowness of a serial device])
+AM_CONDITIONAL(SERIAL_SPEED_SIMULATION,
+ test "x$enable_serial_speed_simulation" = xyes)
+
+# Sanity check.
+if test "x$enable_diskless" = xyes; then
+ if test "x$NET_CFLAGS" = x; then
+ AC_MSG_ERROR([You must enable at least one network driver])
+ fi
+fi
+
+dnl Embed a menu string in GRUB itself.
+AC_ARG_ENABLE(preset-menu,
+ [ --enable-preset-menu=FILE
+ preset a menu file FILE in Stage 2])
+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],
+ [Define if there is user specified preset menu string])
+ else
+ AC_MSG_ERROR([Cannot read the preset menu file $enable_preset_menu])
+ fi
+fi
+
+dnl Build the example Multiboot kernel.
+AC_ARG_ENABLE(example-kernel,
+ [ --enable-example-kernel
+ build the example Multiboot kernel])
+AM_CONDITIONAL(BUILD_EXAMPLE_KERNEL, test "x$enable_example_kernel" = xyes)
+
+dnl Automatic Linux mem= option.
+AC_ARG_ENABLE(auto-linux-mem-opt,
+ [ --disable-auto-linux-mem-opt
+ don't pass Linux mem= option automatically])
+if test "x$enable_auto_linux_mem_opt" = xno; then
+ :
+else
+ 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.
+AC_SUBST(FSYS_CFLAGS)
+AC_SUBST(NET_CFLAGS)
+AC_SUBST(NET_EXTRAFLAGS)
+AC_SUBST(NETBOOT_DRIVERS)
+
+dnl Because recent automake complains about CCASFLAGS, set it here.
+CCASFLAGS='$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)'
+AC_SUBST(CCASFLAGS)
+
+
+dnl Output.
+AC_CONFIG_FILES([Makefile stage1/Makefile stage2/Makefile \
+ docs/Makefile lib/Makefile util/Makefile \
+ grub/Makefile netboot/Makefile util/grub-image \
+ util/grub-install util/grub-md5-crypt \
+ util/grub-terminfo util/grub-set-default])
+AC_OUTPUT