From 5e0b8d508ed51004bd836384293be00950ee62c9 Mon Sep 17 00:00:00 2001 From: Pasha Date: Tue, 20 Feb 2024 18:49:50 +0000 Subject: init gnumach copy --- configfrag.ac | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 configfrag.ac (limited to 'configfrag.ac') diff --git a/configfrag.ac b/configfrag.ac new file mode 100644 index 0000000..b8b4126 --- /dev/null +++ b/configfrag.ac @@ -0,0 +1,183 @@ +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: -- cgit v1.2.1