| 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 |
| |
| dnl Generate stage2/grub4dos_version.h |
| echo "#define GRUB4DOS_VERSION \"`cat grub4dos_version` `date -u +%Y-%m-%d`\"" > grub4dos_version.h |
| |
| 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 -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 |
| |
| LDFLAGS_SAVED="${LDFLAGS}" |
| case "$host_os" in |
| mingw32 | cygwin) |
| BIN_LDFLAGS="-Wl,-T"'$(top_srcdir)'"/ldscript" |
| LDFLAGS="${LDFLAGS} -Wl,-T${srcdir}/ldscript" |
| BUILD_DIRS="netboot stage2 stage1" |
| ;; |
| *) |
| BIN_LDFLAGS="-Wl,-N" |
| BUILD_DIRS="netboot stage2 stage1 lib grub util" |
| ;; |
| esac |
| AC_SUBST(BIN_LDFLAGS) |
| AC_SUBST(BUILD_DIRS) |
| |
| # 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 |
| |
| LDFLAGS=${LDFLAGS_SAVED} |
| |
| # 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(ntfs, |
| [ --disable-ntfs disable NTFS support in Stage 2]) |
| |
| if test x"$enable_ntfs" != xno; then |
| FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_NTFS=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(ufs, |
| [ --disable-ufs disable UFS support in Stage 2]) |
| |
| if test x"$enable_ufs" != xno; then |
| FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_UFS=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(zfs, |
| [ --disable-zfs disable ZFS support in Stage 2]) |
| |
| if test x"$enable_zfs" != xno; then |
| FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_ZFS=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 |
| |
| AC_ARG_ENABLE(pxe, |
| [ --disable-pxe disable PXE support in Stage 2]) |
| |
| if test x"$enable_pxe" != xno; then |
| FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_PXE=1" |
| fi |
| |
| AC_ARG_ENABLE(fb, |
| [ --disable-fb disable FB support in Stage 2]) |
| |
| if test x"$enable_fb" != xno; then |
| FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FB=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 -DCONFIG_PCI" |
| 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(e1000, |
| [ --enable-e1000 enable Etherexpress Pro/1000 driver]) |
| if test "x$enable_e1000" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_E1000=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS e1000.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(forcedeth, |
| [ --enable-forcedeth enable Nvidia Geforce driver]) |
| if test "x$enable_forcedeth" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_FORCEDETH=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS forcedeth.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(ns83820, |
| [ --enable-ns83820 enable NS83820 driver]) |
| if test "x$enable_ns83820" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NS83820=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns83820.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(pcnet32, |
| [ --enable-pcnet32 enable AMD Lance/PCI PCNet/32 driver]) |
| if test "x$enable_pcnet32" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_PCNET32=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS pcnet32.o" |
| fi |
| |
| AC_ARG_ENABLE(pnic, |
| [ --enable-pnic enable Bochs Pseudo Nic driver]) |
| if test "x$enable_pnic" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_PNIC=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS pnic.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(rtl8169, |
| [ --enable-rtl8169 enable Realtek 8169 driver]) |
| if test "x$enable_r8169" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_R8169=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS r8169.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(sundance, |
| [ --enable-sundance enable Sundance ST201 driver]) |
| if test "x$enable_sundance" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SUNDANCE=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS sundance.o" |
| fi |
| |
| AC_ARG_ENABLE(tg3, |
| [ --enable-tg3 enable Broadcom Tigon3 driver]) |
| if test "x$enable_tg3" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TG3=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS tg3.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(tlan, |
| [ --enable-tlan enable TI ThunderLAN driver]) |
| if test "x$enable_tlan" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TLAN=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS tlan.o" |
| fi |
| |
| AC_ARG_ENABLE(undi, |
| [ --enable-undi enable PXE UNDI driver]) |
| if test "x$enable_undi" = xyes; then |
| NET_CFLAGS="$NET_CFLAGS -DINCLUDE_UNDI=1" |
| NETBOOT_DRIVERS="$NETBOOT_DRIVERS undi.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 |
| |
| dnl extra flag for ns8390.c |
| 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 Graphical splashscreen support |
| AC_ARG_ENABLE(graphics, |
| [ --disable-graphics disable graphics terminal support]) |
| AM_CONDITIONAL(GRAPHICS_SUPPORT, test "x$enable_graphics" != xno) |
| |
| dnl gfxmenu support |
| AC_ARG_ENABLE(gfxmenu, |
| [ --disable-gfxmenu disable gfxmenu support]) |
| AM_CONDITIONAL(GFX_SUPPORT, test "x$enable_gfxmenu" != xno) |
| |
| 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 |
| if test "x$NET_CFLAGS" = x; then |
| rm -f preset_menu_used |
| else |
| AC_DEFINE(PRESET_MENU_STRING, "bootp\n", [if there is user specified preset menu string]) |
| echo -n -e "bootp\n\0" > preset_menu_used |
| fi |
| 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]) |
| cp $enable_preset_menu preset_menu_used |
| echo -n -e "\0" >> preset_menu_used |
| else |
| rm -f preset_menu_used |
| 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) -Wa,--divide' |
| 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 |