summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--Makefile.in31
-rw-r--r--README6
-rw-r--r--configure.in8
4 files changed, 60 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 778ab13..1091979 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Wed Apr 23 13:21:23 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * configure.in (BUILD_CC): Use AC_CHECK_PROGS, not AC_CHECK_PROG,
+ since we are checking multiple names.
+
+ * configure.in (kdb): New --enable option.
+ * Makefile.in (DEFINES): Add @DEFS@.
+
+ * Makefile.in (clean, distclean, mostlyclean, maintainter-clean):
+ New targets.
+ (all-archs-configures): New variable.
+ (MIG): Change to ./local-mig.
+ (./local-mig): Change to build this instead of ./mig
+ (check-clib-routines): Use nm -g in case there are local symbols.
+ Suggested by Matthew Wilcox (willy@odie.barnet.ac.uk).
+
+Fri Apr 18 15:25:10 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * configure.in: Add AC_PREREQ for version 2.12.
+ * i386/Drivers.in: Likewise.
+
Wed Apr 16 16:55:36 1997 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
* configure.in: Replace AC_PROG_CC with AC_PROG_CC_LOCAL.
diff --git a/Makefile.in b/Makefile.in
index c549d8e..dd5f29f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52,7 +52,7 @@ INSTALL_DATA=$(INSTALL) -m 644
CFLAGS=@CFLAGS@
# We build these locally
-MIG=./mig
+MIG=./local-mig
MIGCOM=./migcom
all:
@@ -62,6 +62,7 @@ all-archs = i386
all-archs-subdirs = $(patsubst %,$(srcdir)/%/Subdirs,$(all-archs))
all-archs-files = $(patsubst %,$(srcdir)/%/Files,$(all-archs))
+all-archs-configures = $(patsubst %,$(srcdir)/%/configure,$(all-archs))
# Files distributed from the top level directory:
topfiles = ChangeLog ChangeLog.0 ChangeLog.00 Drivers.macros Makefile.in \
@@ -238,7 +239,7 @@ clib-routines.o: $(installed-clib)
# extra symbols.
kernel: check-clib-routines
check-clib-routines: clib-routines.o
- test `echo $(clib-routines) | wc -w` -eq `nm $< | wc -l` && touch check-clib-routines
+ test `echo $(clib-routines) | wc -w` -eq `nm -g $< | wc -l` && touch check-clib-routines
# Empty dependency file
@@ -267,7 +268,7 @@ vpath %.srv $(srcdir)/device $(srcdir)/ipc $(srcdir)/kern
# Compilation flags
#
-DEFINES += -DMACH -DCMU -DMACH_KERNEL -DKERNEL
+DEFINES += -DMACH -DCMU -DMACH_KERNEL -DKERNEL @DEFS@
INCLUDES += -I. -I$(srcdir) -I$(srcdir)/include \
-I$(srcdir)/bogus -I$(srcdir)/util -I$(srcdir)/kern -I$(srcdir)/device
@@ -279,8 +280,28 @@ CPPFLAGS += -nostdinc $(DEFINES) $(INCLUDES)
MIGFLAGS += $(CPPFLAGS)
+# Standard targets
+
all: kernel $(cross-migcom) cross-mig
+clean:
+ mv device-drivers.h FOO
+ rm -f *.o *.d kernel cross-migcom cross-mig migcom local-mig
+ rm -f *.symc *.symc.o *_user.c *_server.c *.h
+ rm -f *.migs_d *.migsh_d *.migu_d *.miguh_d
+ mv FOO device-drivers.h
+
+distclean: clean
+ rm -f config.status Makefile driverlist
+
+mostlyclean: distclean
+ rm -f $(srcdir)/mig/lexxer.c
+ rm -f $(srcdir)/mig/parser.c $(srcdir)/mig/parser.h
+
+maintainer-clean: mostlyclean
+ rm -f $(srcdir)/configure $(all-archs-configures)
+
+
#
# Kernel Image
@@ -534,12 +555,12 @@ $(srcdir)/mig/parser.c $(srcdir)/mig/parser.h: $(srcdir)/mig/parser.y
# Version of mig script that looks for the right local tools
ifeq ($(cross_compiling),yes)
-./mig: $(srcdir)/mig/mig.sh Makefile
+./local-mig: $(srcdir)/mig/mig.sh Makefile
sed -e 's,@MIGDIR@,.,g' \
-e 's,@CPP@,${BUILD_CC} -x c-header -E,g' \
$< >$@.tmp && chmod +x $@.tmp && mv -f $@.tmp $@
else
-./mig: $(srcdir)/mig/mig.sh Makefile
+./local-mig: $(srcdir)/mig/mig.sh Makefile
sed -e 's,@MIGDIR@,.,g' \
-e 's,@CPP@,${CC} -x c-header -E,g' \
$< >$@.tmp && chmod +x $@.tmp && mv -f $@.tmp $@
diff --git a/README b/README
index 4fa606f..3333c75 100644
--- a/README
+++ b/README
@@ -30,6 +30,12 @@ generally safe to specify switches for hardware you don't have; in
this way you can build kernels that work on different physical machine
set ups.
+If you want the in-kernel debugger compiled in, specify --enable-kdb
+to configure. This is only useful if you actually anticipate
+debugging the kernel, of course. We don't turn it on be default
+because it adds considerably to the unpageable memory footprint of the
+kernel.
+
The specific switches you give to configure are always recorded in the
file `config.status'. So you can always tell what options you used to
build a particular kernel.
diff --git a/configure.in b/configure.in
index 1683d3f..36c8edc 100644
--- a/configure.in
+++ b/configure.in
@@ -14,6 +14,7 @@ dnl USE OF THIS SOFTWARE.
AC_INIT(kern/ipc_kobject.c)
+AC_PREREQ(2.12)
#
# Deduce output var `systype' from configuration parms.
@@ -37,6 +38,11 @@ AC_SUBST(cross_compiling)
AC_PREFIX_DEFAULT()
#
+# Options
+#
+AC_ARG_ENABLE(kdb, Enable use of in-kernel debugger, AC_DEFINE(MACH_KDB))
+
+#
# Programs
#
AC_PROG_CC_LOCAL
@@ -45,7 +51,7 @@ AC_PROG_INSTALL
AC_CHECK_TOOL(MIG, mig, mig)
if test $cross_compiling = yes; then
- AC_CHECK_PROG(BUILD_CC, gcc cc)
+ AC_CHECK_PROGS(BUILD_CC, gcc cc)
CC=$BUILD_CC
fi