diff options
Diffstat (limited to 'linux/configfrag.ac')
-rw-r--r-- | linux/configfrag.ac | 664 |
1 files changed, 664 insertions, 0 deletions
diff --git a/linux/configfrag.ac b/linux/configfrag.ac new file mode 100644 index 0000000..c851e56 --- /dev/null +++ b/linux/configfrag.ac @@ -0,0 +1,664 @@ +dnl Configure fragment for Linux code snarfed into GNU Mach. + +dnl Copyright (C) 1997, 1999, 2004, 2006, 2007 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. + +# +# Internals. +# + +[have_linux_code=no] + +# +# Helper functions. +# + +# +# Calling `device_driver_group group' makes sure that the infrastructure needed +# for the group `group' will be set-up. +# + +[device_driver_group() { + case $1 in + '') + # No group. + :;; + block) + device_driver_group_block=selected;; + net) + device_driver_group_net=selected;; + pcmcia) + # Pull in group `net'. + device_driver_group net + device_driver_group_pcmcia=selected;; + scsi) + device_driver_group_scsi=selected;; + wireless) + # Pull in group `pcmcia'. + device_driver_group pcmcia + device_driver_group_wireless=selected;; + *)] + AC_MSG_ERROR([invalid device driver group `$1'])[;; + esac +}] + +AC_ARG_ENABLE([linux-groups], + AS_HELP_STRING([--disable-linux-groups], [Linux drivers])) + +AC_DEFUN([AC_OPTION_Linux_group], [ +AC_ARG_ENABLE([$1-group], + AS_HELP_STRING([--enable-$1-group], [$2]), + enable_$1_group=$enableval, enable_$1_group=$enable_linux_groups) +]) + +# +# AC_OPTION_Linux_ix86_at(name,description,option[,class]). Process +# configuration option --enable-`name' (with description `description'). If +# it's set, then `option' is defined with AC_DEFINE. The option optionally +# pulls in group `group'; see the comments on device_driver_group for more +# information. For ix86-at, the value from $enable_default_device_drivers is +# considered when deciding whether to activate the option by default or not. +# +AC_DEFUN([AC_OPTION_Linux_ix86_at], [ +[unset enableval] +AC_ARG_ENABLE([$1], + AS_HELP_STRING([--enable-$1], [$2])) +[if test x$enable_$4_group = xno; +then + enableval=${enableval-no} +fi +#TODO. Could use some M4 magic to avoid a lot of shell code. +case $host_platform:$host_cpu in + at:i?86) + case $enable_device_drivers:'$2' in + default:*by\ default* | qemu:*for\ qemu*) + enableval=${enableval-yes};; + *) + enableval=${enableval-no};; + esac;; + *) + if [ x"$enableval" = xyes ]; then + # TODO. That might not always be true.] + AC_MSG_ERROR([cannot enable `$1' in this configuration.]) + [fi;; +esac] +AM_CONDITIONAL([device_driver_]m4_bpatsubst([$1], [-], [_]), + [[[ x"$enableval" = xyes ]]]) +[if [ x"$enableval" = xyes ]; then + have_linux_code=yes] + AC_DEFINE([$3], [1], [option $1: $2]) + [device_driver_group $4 +fi]]) + +# +# AC_OPTION_Linux_ix86_at_nodef() is like AC_OPTION_Linux_ix86_at(), but +# doesn't consider $enable_default_device_drivers. +# +AC_DEFUN([AC_OPTION_Linux_ix86_at_nodef], [ +[unset enableval] +AC_ARG_ENABLE([$1], + AS_HELP_STRING([--enable-$1], [$2])) +[#TODO. +case $host_platform:$host_cpu in + at:i?86) + :;; + *) + if [ x"$enableval" = xyes ]; then + # TODO. That might not always be true.] + AC_MSG_ERROR([cannot enable `$1' in this configuration.]) + [fi;; +esac] +AM_CONDITIONAL([device_driver_]m4_bpatsubst([$1], [-], [_]), + [[[ x"$enableval" = xyes ]]]) +[if [ x"$enableval" = xyes ]; then + have_linux_code=yes] + AC_DEFINE([$3], [1], [option $1: $2]) + [device_driver_group $4 +fi]]) + +# +# AC_Linux_DRIVER(machname, description, definition, [group]). Convenience. +# TODO. The naming of those is nearly everything but reasonable. +# + +AC_DEFUN([AC_Linux_DRIVER], [ + AC_OPTION_Linux_ix86_at([$1], [Linux device driver for $2; on ix86-at enabled] + [by default], [$3], [$4]) +]) +AC_DEFUN([AC_Linux_DRIVER_qemu], [ + AC_OPTION_Linux_ix86_at([$1], [Linux device driver for $2; on ix86-at enabled] + [by default and for qemu], [$3], [$4]) +]) +AC_DEFUN([AC_Linux_DRIVER_nodef], [ + AC_OPTION_Linux_ix86_at_nodef([$1], [Linux device driver for $2], [$3], [$4]) +]) + +# +# Configuration options. +# + +dnl Block drivers. +AC_OPTION_Linux_group([block], [Block drivers]) + +AC_Linux_DRIVER_qemu([floppy], + [PC floppy], + [CONFIG_BLK_DEV_FD], + [block]) +AC_Linux_DRIVER_qemu([ide], + [IDE disk controllers], + [CONFIG_BLK_DEV_IDE], + [block]) + +AC_ARG_ENABLE([ide-forcedma], + AS_HELP_STRING([--enable-ide-forcedma], [enable forced use of DMA on IDE]), + [test x"$enableval" = xno || + AC_DEFINE([CONFIG_BLK_DEV_FORCE_DMA], [1], [Force DMA on IDE block devices])]) + +dnl SCSI controllers. +AC_OPTION_Linux_group([scsi], [SCSI drivers]) + +# Disabled by default. +AC_Linux_DRIVER_nodef([53c78xx], + [SCSI controller NCR 53C7,8xx], + [CONFIG_SCSI_NCR53C7xx], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([AM53C974], + [SCSI controller AM53/79C974 (am53c974, am79c974)], + [CONFIG_SCSI_AM53C974], + [scsi]) +AC_Linux_DRIVER([BusLogic], + [SCSI controller BusLogic], + [CONFIG_SCSI_BUSLOGIC], + [scsi]) +# TODO. What's that? And what about FlashPoint.c? +dnl Dirty implementation... +AC_ARG_ENABLE([flashpoint], + AS_HELP_STRING([--enable-flashpoint], [SCSI flashpoint]), + [test x"$enableval" = xno && + AC_DEFINE([CONFIG_SCSI_OMIT_FLASHPOINT], [], [scsi omit flashpoint])]) +# Disabled by default. +AC_Linux_DRIVER_nodef([NCR53c406a], + [SCSI controller NCR53c406a chip], + [CONFIG_SCSI_NCR53C406A], + [scsi]) +AC_Linux_DRIVER([advansys], + [SCSI controller AdvanSys], + [CONFIG_SCSI_ADVANSYS], + [scsi]) +AC_Linux_DRIVER([aha152x], + [SCSI controller Adaptec AHA-152x/2825 (aha152x, aha2825)], + [CONFIG_SCSI_AHA152X], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([aha1542], + [SCSI controller Adaptec AHA-1542], + [CONFIG_SCSI_AHA1542], + [scsi]) +AC_Linux_DRIVER([aha1740], + [SCSI controller Adaptec AHA-1740], + [CONFIG_SCSI_AHA1740], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([aic7xxx], + [SCSI controller Adaptec AIC7xxx], + [CONFIG_SCSI_AIC7XXX], + [scsi]) +AC_Linux_DRIVER([dtc], + [SCSI controller DTC3180/3280 (dtc3180, dtc3280)], + [CONFIG_SCSI_DTC3280], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([eata], + [SCSI controller EATA ISA/EISA/PCI + (DPT and generic EATA/DMA-compliant boards)], + [CONFIG_SCSI_EATA], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([eata_dma], + [SCSI controller EATA-DMA (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix)], + [CONFIG_SCSI_EATA_DMA], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([eata_pio], + [SCSI controller EATA-PIO (old DPT PM2001, PM2012A)], + [CONFIG_SCSI_EATA_PIO], + [scsi]) +AC_Linux_DRIVER([fdomain], + [SCSI controller Future Domain 16xx], + [CONFIG_SCSI_FUTURE_DOMAIN], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([g_NCR5380], + [SCSI controller Generic NCR5380/53c400 (ncr5380, ncr53c400)], + [CONFIG_SCSI_GENERIC_NCR5380], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([gdth], + [GDT SCSI Disk Array Controller], + [CONFIG_SCSI_GDTH], + [scsi]) +AC_Linux_DRIVER([in2000], + [SCSI controller Always IN 2000], + [CONFIG_SCSI_IN2000], + [scsi]) +AC_Linux_DRIVER([ncr53c8xx], + [SCSI controller NCR53C8XX (ncr53c8xx, dc390f, dc390u, dc390w)], + [CONFIG_SCSI_NCR53C8XX], + [scsi]) +AC_Linux_DRIVER([pas16], + [SCSI controller PAS16], + [CONFIG_SCSI_PASS16], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([ppa], + [IOMEGA Parallel Port ZIP drive], + [CONFIG_SCSI_PPA], + [scsi]) +AC_Linux_DRIVER([qlogicfas], + [SCSI controller Qlogic FAS], + [CONFIG_SCSI_QLOGIC_FAS], + [scsi]) +AC_Linux_DRIVER([qlogicisp], + [SCSI controller Qlogic ISP], + [CONFIG_SCSI_QLOGIC_ISP], + [scsi]) +AC_Linux_DRIVER([seagate], + [SCSI controller Seagate ST02, Future Domain TMC-8xx], + [CONFIG_SCSI_SEAGATE], + [scsi]) +AC_Linux_DRIVER([sym53c8xx], + [SCSI controller Symbios 53C8XX], + [CONFIG_SCSI_SYM53C8XX], + [scsi]) +AC_Linux_DRIVER([t128], + [SCSI controller Trantor T128/T128F/T228 (t128, t128f, t228)], + [CONFIG_SCSI_T128], + [scsi]) +AC_Linux_DRIVER([tmscsim], + [SCSI controller Tekram DC-390(T) (dc390, dc390t)], + [CONFIG_SCSI_DC390T], + [scsi]) +AC_Linux_DRIVER([u14-34f], + [SCSI controller UltraStor 14F/34F], + [CONFIG_SCSI_U14_34F], + [scsi]) +AC_Linux_DRIVER([ultrastor], + [SCSI controller UltraStor], + [CONFIG_SCSI_ULTRASTOR], + [scsi]) +# Disabled by default. +AC_Linux_DRIVER_nodef([wd7000], + [SCSI controller WD 7000], + [CONFIG_SCSI_7000FASST], + [scsi]) + +dnl Ethernet controllers. +AC_OPTION_Linux_group([net], [Network drivers]) + +AC_Linux_DRIVER([3c501], + [Ethernet controller 3COM 501 (3c501) / Etherlink I], + [CONFIG_EL1], + [net]) +AC_Linux_DRIVER([3c503], + [Ethernet controller 3Com 503 (3c503) / Etherlink II], + [CONFIG_EL2], + [net]) +AC_Linux_DRIVER([3c505], + [Ethernet controller 3Com 505 (3c505, elplus)], + [CONFIG_ELPLUS], + [net]) +AC_Linux_DRIVER([3c507], + [Ethernet controller 3Com 507 (3c507, el16)], + [CONFIG_EL16], + [net]) +AC_Linux_DRIVER([3c509], + [Ethernet controller 3Com 509/579 (3c509, 3c579) / Etherlink III], + [CONFIG_EL3], + [net]) +AC_Linux_DRIVER([3c59x], + [Ethernet controller 3Com 59x/90x + (3c59x, 3c590, 3c592, 3c595, 3c597, 3c90x, 3c900, 3c905) + "Vortex/Boomerang"], + [CONFIG_VORTEX], + [net]) +# Disabled by default. +AC_Linux_DRIVER_nodef([3c515], + [Ethernet controller 3Com 515 ISA Fast EtherLink], + [CONFIG_3C515], + [net]) +AC_Linux_DRIVER([ac3200], + [Ethernet controller Ansel Communications EISA 3200], + [CONFIG_AC3200], + [net]) +AC_Linux_DRIVER([apricot], + [Ethernet controller Apricot XEN-II on board ethernet], + [CONFIG_APRICOT], + [net]) +AC_Linux_DRIVER([at1700], + [Ethernet controller AT1700 (Fujitsu 86965)], + [CONFIG_AT1700], + [net]) +# Disabled by default. +AC_Linux_DRIVER_nodef([atp], + [Ethernet controller AT-LAN-TEC/RealTek pocket adaptor], + [CONFIG_ATP], + [net]) +dnl FIXME: Can't be enabled since it is a pcmcia driver, and we don't +dnl have that kind of fluff. +dnl linux_DRIVER([cb_shim], [CB_SHIM], [cb_shim], [net]) +AC_Linux_DRIVER([de4x5], + [Ethernet controller DE4x5 (de4x5, de425, de434, de435, de450, de500)], + [CONFIG_DE4X5], + [net]) +# Disabled by default. +AC_Linux_DRIVER_nodef([de600], + [Ethernet controller D-Link DE-600], + [CONFIG_DE600], + [net]) +# Disabled by default. +AC_Linux_DRIVER_nodef([de620], + [Ethernet controller D-Link DE-620], + [CONFIG_DE620], + [net]) +AC_Linux_DRIVER([depca], + [Ethernet controller DEPCA + (de100, de101, de200, de201, de202, de210, de422)], + [CONFIG_DEPCA], + [net]) +AC_Linux_DRIVER([e2100], + [Ethernet controller Cabletron E21xx], + [CONFIG_E2100], + [net]) +AC_Linux_DRIVER([eepro], + [Ethernet controller EtherExpressPro], + [CONFIG_EEXPRESS_PRO], + [net]) +AC_Linux_DRIVER([eepro100], + [Ethernet controller Intel EtherExpressPro PCI 10+/100B/100+], + [CONFIG_EEXPRESS_PRO100B], + [net]) +AC_Linux_DRIVER([eexpress], + [Ethernet controller EtherExpress 16], + [CONFIG_EEXPRESS], + [net]) +AC_Linux_DRIVER([epic100], + [Ethernet controller SMC 83c170/175 EPIC/100 (epic, epic100) / EtherPower II], + [CONFIG_EPIC], + [net]) +AC_Linux_DRIVER([eth16i], + [Ethernet controller ICL EtherTeam 16i/32 (eth16i, eth32)], + [CONFIG_ETH16I], + [net]) +AC_Linux_DRIVER([ewrk3], + [Ethernet controller EtherWORKS 3 (ewrk3, de203, de204, de205)], + [CONFIG_EWRK3], + [net]) +AC_Linux_DRIVER([fmv18x], + [Ethernet controller FMV-181/182/183/184], + [CONFIG_FMV18X], + [net]) +AC_Linux_DRIVER([hamachi], + [Ethernet controller Packet Engines "Hamachi" GNIC-2 Gigabit Ethernet], + [CONFIG_HAMACHI], + [net]) +AC_Linux_DRIVER([hp-plus], + [Ethernet controller HP PCLAN+ (27247B and 27252A)], + [CONFIG_HPLAN_PLUS], + [net]) +AC_Linux_DRIVER([hp], + [Ethernet controller HP PCLAN (27245 and other 27xxx series)], + [CONFIG_HPLAN], + [net]) +AC_Linux_DRIVER([hp100], + [Ethernet controller HP 10/100VG PCLAN (ISA, EISA, PCI) + (hp100, hpj2577, hpj2573, hpj2585, hp27248b)], + [CONFIG_HP100], + [net]) +AC_Linux_DRIVER([intel-gige], + [Ethernet controller Intel PCI Gigabit Ethernet], + [CONFIG_INTEL_GIGE], + [net]) +AC_Linux_DRIVER([lance], + [Ethernet controller AMD LANCE and PCnet (at1500, ne2100)], + [CONFIG_LANCE], + [net]) +AC_Linux_DRIVER([myson803], + [Ethernet controller Myson MTD803 Ethernet adapter series], + [CONFIG_MYSON803], + [net]) +AC_Linux_DRIVER([natsemi], + [Ethernet controller National Semiconductor DP8381x series PCI Ethernet], + [CONFIG_NATSEMI], + [net]) +AC_Linux_DRIVER_qemu([ne], + [Ethernet controller NE2000/NE1000 ISA (ne, ne1000, ne2000)], + [CONFIG_NE2000], + [net]) +AC_Linux_DRIVER([ne2k-pci], + [Ethernet controller PCI NE2000], + [CONFIG_NE2K_PCI], + [net]) +AC_Linux_DRIVER([ni52], + [Ethernet controller NI5210], + [CONFIG_NI52], + [net]) +AC_Linux_DRIVER([ni65], + [Ethernet controller NI6510], + [CONFIG_NI65], + [net]) +AC_Linux_DRIVER([ns820], + [Ethernet controller National Semiconductor DP8382x series PCI Ethernet], + [CONFIG_NS820], + [net]) +AC_Linux_DRIVER([pcnet32], + [Ethernet controller AMD PCI PCnet32 (PCI bus NE2100 cards)], + [CONFIG_PCNET32], + [net]) +AC_Linux_DRIVER([rtl8139], + [Ethernet controller RealTek 8129/8139 (rtl8129, rtl8139) (not 8019/8029!)], + [CONFIG_RTL8139], + [net]) +AC_Linux_DRIVER([seeq8005], + [Ethernet controller Seeq8005], + [CONFIG_SEEQ8005], + [net]) +AC_Linux_DRIVER([sis900], + [Ethernet controller SiS 900], + [CONFIG_SIS900], + [net]) +AC_Linux_DRIVER([sk_g16], + [Ethernet controller Schneider & Koch G16], + [CONFIG_SK_G16], + [net]) +AC_Linux_DRIVER([smc-ultra], + [Ethernet controller SMC Ultra], + [CONFIG_ULTRA], + [net]) +AC_Linux_DRIVER([smc-ultra32], + [Ethernet controller SMC Ultra32], + [CONFIG_ULTRA32], + [net]) +AC_Linux_DRIVER([starfire], + [Ethernet controller Adaptec Starfire network adapter], + [CONFIG_STARFIRE], + [net]) +AC_Linux_DRIVER([sundance], + [Ethernet controller Sundance ST201 "Alta" PCI Ethernet], + [CONFIG_SUNDANCE], + [net]) +AC_Linux_DRIVER([tlan], + [Ethernet controller TI ThunderLAN], + [CONFIG_TLAN], + [net]) +AC_Linux_DRIVER([tulip], + [Ethernet controller DECchip Tulip (dc21x4x) PCI (elcp, tulip)], + [CONFIG_DEC_ELCP], + [net]) +AC_Linux_DRIVER([via-rhine], + [Ethernet controller VIA Rhine], + [CONFIG_VIA_RHINE], + [net]) +# Disabled by default. +AC_Linux_DRIVER_nodef([wavelan], + [Ethernet controller AT&T WaveLAN & DEC RoamAbout DS], + [CONFIG_WAVELAN], + [net]) +AC_Linux_DRIVER([wd], + [Ethernet controller WD80x3], + [CONFIG_WD80x3], + [net]) +AC_Linux_DRIVER([winbond-840], + [Ethernet controller Winbond W89c840 PCI Ethernet], + [CONFIG_WINBOND840], + [net]) +AC_Linux_DRIVER([yellowfin], + [Ethernet controller Packet Engines Yellowfin Gigabit-NIC], + [CONFIG_YELLOWFIN], + [net]) +AC_Linux_DRIVER([znet], + [Ethernet controller Zenith Z-Note (znet, znote)], + [CONFIG_ZNET], + [net]) + +dnl PCMCIA device support. +AC_OPTION_Linux_group([pcmcia], [PCMCIA drivers]) + +AC_Linux_DRIVER([i82365], + [Intel 82365 PC Card controller], + [CONFIG_I82365], + [pcmcia]) + +AC_OPTION_Linux_ix86_at([pcmcia-isa], + [isa bus support in the pcmcia core; on ix86-at enabled by default], + [CONFIG_ISA], + [pcmcia]) + +dnl PCMCIA device drivers. + +AC_Linux_DRIVER([3c574_cs], + [3Com 3c574 ``RoadRunner'' PCMCIA Ethernet], + [CONFIG_3C574_CS], + [pcmcia]) +AC_Linux_DRIVER([3c589_cs], + [3Com 3c589 PCMCIA Ethernet card], + [CONFIG_3C589_CS], + [pcmcia]) +AC_Linux_DRIVER([axnet_cs], + [Asix AX88190-based PCMCIA Ethernet adapters], + [CONFIG_AXNET_CS], + [pcmcia]) +AC_Linux_DRIVER([fmvj18x_cs], + [fmvj18x chipset based PCMCIA Ethernet cards], + [CONFIG_FMVJ18X_CS], + [pcmcia]) +AC_Linux_DRIVER([nmclan_cs], + [New Media Ethernet LAN PCMCIA cards], + [CONFIG_NMCLAN_CS], + [pcmcia]) +AC_Linux_DRIVER([pcnet_cs], + [NS8390-based PCMCIA cards], + [CONFIG_PCNET_CS], + [pcmcia]) +AC_Linux_DRIVER([smc91c92_cs], + [SMC91c92-based PCMCIA cards], + [CONFIG_SMC91C92_CS], + [pcmcia]) +AC_Linux_DRIVER([xirc2ps_cs], + [Xircom CreditCard and Realport PCMCIA ethernet], + [CONFIG_XIRC2PS_CS], + [pcmcia]) + +dnl Wireless device drivers. +AC_OPTION_Linux_group([wireless], [Wireless drivers]) + +AC_Linux_DRIVER([orinoco_cs], + [Hermes or Prism 2 PCMCIA Wireless adapters (Orinoco)], + [CONFIG_ORINOCO_CS], + [wireless]) + +# +# Process device driver groups: kinds of drivers that have gobs of source files +# that get brought in, need special symbols defined, etc. +# + +[if [ x"$device_driver_group_block" = xselected ]; then] + AC_DEFINE([CONFIG_BLOCK], [1], [CONFIG_BLOCK]) + AM_CONDITIONAL([device_driver_group_block], [true]) +[else] AM_CONDITIONAL([device_driver_group_block], [false]) +[fi + +if [ x"$device_driver_group_net" = xselected ]; then] + AC_DEFINE([CONFIG_INET], [1], [CONFIG_INET]) + AM_CONDITIONAL([device_driver_group_net], [true]) +[else] AM_CONDITIONAL([device_driver_group_net], [false]) +[fi + +if [ x"$device_driver_group_pcmcia" = xselected ]; then] + AC_DEFINE([CONFIG_PCMCIA], [1], [CONFIG_PCMCIA]) + AM_CONDITIONAL([device_driver_group_pcmcia], [true]) +[else] AM_CONDITIONAL([device_driver_group_pcmcia], [false]) +[fi + +if [ x"$device_driver_group_scsi" = xselected ]; then] + AC_DEFINE([CONFIG_SCSI], [1], [CONFIG_SCSI]) + AM_CONDITIONAL([device_driver_group_scsi], [true]) +[else] AM_CONDITIONAL([device_driver_group_scsi], [false]) +[fi + +if [ x"$device_driver_group_wireless" = xselected ]; then] + AC_DEFINE([CONFIG_WIRELESS], [1], [CONFIG_WIRELESS]) +[fi] + +# +# Internals. +# + +AC_DEFUN([hurd_host_CPU], [ + AC_DEFINE([CONFIG_M$1], [1], [$1]) + AC_DEFINE([CPU], [$1], [CPU])]) + +[if [ "$have_linux_code" = yes ]; then] + AM_CONDITIONAL([CODE_linux], [true]) + + [case $host_cpu in + i386)] + hurd_host_CPU([386])[;; + i486)] + hurd_host_CPU([486])[;; + i586)] + hurd_host_CPU([586])[;; + i686)] + hurd_host_CPU([686])[;; + *) + # TODO. Warn here?] + hurd_host_CPU([486])[;; + esac] + + # The glue code dependend code checks for this. + AC_DEFINE([LINUX_DEV], [1], [Linux device drivers.]) + # Instead of Mach's KERNEL, Linux uses __KERNEL__. Whee. + AC_DEFINE([__KERNEL__], [1], [__KERNEL__]) + [if [ $mach_ncpus -gt 1 ]; then] + AC_DEFINE([__SMP__], [1], [__SMP__]) + [fi] + + # Set up `asm-SYSTYPE' links. + AC_CONFIG_LINKS([linux/src/include/asm:linux/src/include/asm-$systype + linux/dev/include/asm:linux/dev/include/asm-$systype]) +[else] AM_CONDITIONAL([CODE_linux], [false]) +[fi] + +dnl Local Variables: +dnl mode: autoconf +dnl End: |