mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-23 07:39:22 +00:00
581 lines
17 KiB
Plaintext
581 lines
17 KiB
Plaintext
dnl Configure script for GRUB.
|
|
dnl Copyright 1999,2000,2001 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_INIT(stage2/stage2.c)
|
|
AM_INIT_AUTOMAKE(grub, 0.90)
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_PREREQ(2.13)
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
case "$host_cpu" in
|
|
i[[3456]]86) host_cpu=i386 ;;
|
|
*) 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
|
|
|
|
#
|
|
# Programs
|
|
#
|
|
|
|
AC_CHECK_TOOL(CC, gcc)
|
|
AC_PROG_CC
|
|
|
|
dnl Because recent automake complains about AS, set it here.
|
|
AS="$CC"
|
|
AC_SUBST(AS)
|
|
|
|
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
|
|
CFLAGS="-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
|
|
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
|
|
])
|
|
|
|
# Force no alignment to save space.
|
|
CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
|
|
|
|
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)],
|
|
[AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lcurses"
|
|
AC_DEFINE(HAVE_LIBCURSES)])])
|
|
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(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
|
|
|
|
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(3c590,
|
|
[ --enable-3c590 enable 3Com590 driver])
|
|
if test "x$enable_3c590" = xyes; then
|
|
NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C590=1"
|
|
NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c590.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(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(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(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(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
|
|
|
|
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(3c509-hack,
|
|
[ --enable-3c509-hack make a 3c509 do bootp quicker])
|
|
if test "x$enable_3c509_hack" = xyes; then
|
|
NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT509HACK=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(ns8390-force-16bit,
|
|
[ --enable-ns8390-force-16bit
|
|
specify this if falsely 8 bit is detected])
|
|
if test "x$enable_ns8390_force_16bit" = xyes; then
|
|
NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNS8390_FORCE_16BIT=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 diable 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])
|
|
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)
|
|
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 ASFLAGS, set it here.
|
|
ASFLAGS='$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)'
|
|
AC_SUBST(ASFLAGS)
|
|
|
|
|
|
dnl Output.
|
|
AC_OUTPUT([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])
|