dnl Configure fragment for general options. dnl Copyright (C) 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. # # Definitions. # AC_DEFINE([MACH], [1], [MACH]) AC_DEFINE([CMU], [1], [CMU]) AC_DEFINE([MACH_KERNEL], [1], [Standalone MACH kernel]) AC_DEFINE([KERNEL], [1], [KERNEL]) # # Formerly in `bogus/'. # # i386/bogus/com.h AC_DEFINE_UNQUOTED([NCOM], [$ncom], [NCOM]) # i386/bogus/lpr.h AC_DEFINE_UNQUOTED([NLPR], [$nlpr], [NLPR]) [if [ x"$enable_pae" = xyes ]; then] AC_DEFINE([PAE], [1], [PAE support]) AM_CONDITIONAL([enable_pae], [true]) [else] AM_CONDITIONAL([enable_pae], [false]) [fi] # When set, the bootstrap task symbols are preserved by the kernel debugger. # Used in `kern/bootstrap.c'. AC_DEFINE([BOOTSTRAP_SYMBOLS], [0], [BOOTSTRAP_SYMBOLS]) # Multiprocessor support is still broken. AH_TEMPLATE([MULTIPROCESSOR], [set things up for a uniprocessor]) AC_ARG_ENABLE([ncpus], AS_HELP_STRING([--enable-ncpus=N], [specify the maximum number of cpus to be supported]), [mach_ncpus=$enable_ncpus], [mach_ncpus=1]) AC_DEFINE_UNQUOTED([NCPUS], [$mach_ncpus], [number of CPUs]) [if [ $mach_ncpus -gt 1 ]; then] AC_DEFINE([MULTIPROCESSOR], [1], [set things up for a multiprocessor]) [fi] # Restartable Atomic Sequences to get a really fast test-n-set. Can't be # enabled, as the `void recover_ras()' function is missing. AC_DEFINE([FAST_TAS], [0], [FAST_TAS]) # Cache footprint support. AC_DEFINE([HW_FOOTPRINT], [0], [HW_FOOTPRINT]) # Counters. AC_DEFINE([MACH_COUNTERS], [0], [MACH_COUNTERS]) # IPC debugging interface. AC_DEFINE([MACH_DEBUG], [1], [MACH_DEBUG]) # Fixed priority threads. AC_DEFINE([MACH_FIXPRI], [1], [MACH_FIXPRI]) # Mach host (cpu resource alloc.). [if [ $mach_ncpus -gt 1 ]; then] AC_DEFINE([MACH_HOST], [1], [MACH_HOST]) [else] AC_DEFINE([MACH_HOST], [0], [MACH_HOST]) [fi] # IPC debugging calls. AC_DEFINE([MACH_IPC_DEBUG], [1], [MACH_IPC_DEBUG]) # Testing code/printfs. AC_DEFINE([MACH_IPC_TEST], [0], [MACH_IPC_TEST]) # Sanity-check locking. AC_DEFINE([MACH_LDEBUG], [0], [MACH_LDEBUG]) # MP lock monitoring. Registers use of locks, contention. Depending on # hardware also records time spent with locks held. Used in `kern/lock_mon.c'. AC_DEFINE([MACH_LOCK_MON], [0], [MACH_LOCK_MON]) # Does the architecture provide machine-specific interfaces? mach_machine_routines=${mach_machine_routines-0} AC_DEFINE_UNQUOTED([MACH_MACHINE_ROUTINES], [$mach_machine_routines], [MACH_MACHINE_ROUTINES]) # MP debugging. Use alternate locking routines to detect deadlocks. Used in # `kern/lock_mon.c'. AC_DEFINE([MACH_MP_DEBUG], [0], [MACH_MP_DEBUG]) # Paged-out page map hints. AC_DEFINE([MACH_PAGEMAP], [1], [MACH_PAGEMAP]) # Do pc sample histogram. [if [ $mach_ncpus -gt 1 ]; then] # Apparently not MP-safe yet. AC_DEFINE([MACH_PCSAMPLE], [0], [MACH_PCSAMPLE]) [else] AC_DEFINE([MACH_PCSAMPLE], [1], [MACH_PCSAMPLE]) [fi] # Sample kernel too. AC_ARG_ENABLE([kernsample], AS_HELP_STRING([--enable-kernsample], [enable sampling kernel])) [if [ x"$enable_kernsample" = xyes ]; then] AC_DEFINE([MACH_KERNSAMPLE], [1], [MACH_KERNSAMPLE]) [else] AC_DEFINE([MACH_KERNSAMPLE], [0], [MACH_KERNSAMPLE]) [fi] # TTD Remote Kernel Debugging. AC_DEFINE([MACH_TTD], [0], [MACH_TTD]) # VM debugging calls. AC_DEFINE([MACH_VM_DEBUG], [1], [MACH_VM_DEBUG]) # Mach-dep power conservation. AC_DEFINE([POWER_SAVE], [1], [POWER_SAVE]) # Use statistical timing. AC_DEFINE([STAT_TIME], [1], [STAT_TIME]) # Kernel tracing. AC_DEFINE([XPR_DEBUG], [0], [XPR_DEBUG]) # Slab allocator debugging facilities. AC_DEFINE([SLAB_VERIFY], [0], [SLAB_VERIFY]) # Enable the CPU pool layer in the slab allocator. AC_DEFINE([SLAB_USE_CPU_POOLS], [0], [SLAB_USE_CPU_POOLS]) # # Options. # AC_HEADER_ASSERT() AC_ARG_ENABLE([kdb], AS_HELP_STRING([--enable-kdb], [enable use of in-kernel debugger])) [if [ x"$enable_kdb" = xyes ]; then] AC_DEFINE([MACH_KDB], [1], [Use the in-kernel debugger?]) AM_CONDITIONAL([enable_kdb], [true]) [else] # We need to be long winded here: bogus/mach_kdb.h made it default to zero, # unless overridden. AC_DEFINE([MACH_KDB], [0], [Use the in-kernel debugger?]) AM_CONDITIONAL([enable_kdb], [false]) [fi] AC_ARG_ENABLE([kmsg], AS_HELP_STRING([--disable-kmsg], [disable use of kmsg device])) [if [ x"$enable_kmsg" != xno ]; then] AC_DEFINE([MACH_KMSG], [], [enable use of kmsg device]) AM_CONDITIONAL([enable_kmsg], [true]) [else] AM_CONDITIONAL([enable_kmsg], [false]) [fi] # # Set up `SYSTYPE/SYSTYPE' and `SYSTYPE/include/mach/SYSTYPE' links. # # `${file}' and `$file' have different meanings here with respect to having the # files in the referenced directory considered for `make dist' or not. See # . AC_CONFIG_LINKS([machine:$srcdir/$systype/$systype mach/machine:$systype/include/mach/$systype]) dnl Local Variables: dnl mode: autoconf dnl End: