From 1d62cb218225f7fda2d6427ed35dc148606c250f Mon Sep 17 00:00:00 2001 From: shivers Date: Sun, 22 Oct 1995 12:28:25 +0000 Subject: [PATCH] Added a whole bunch of .h files describing the module structure of the C files. These files mostly mediate between the C source (export) and the corresponding C stub files (import) generated by the Scheme files calling the C routines. This provided much better argument type checking that before; lots of small bugs were caught. Also added const keywords wherever I could find a reasonable place to improve error detection and efficiency. Tuned up the makefile to reflect all of this structure. It's dependencies were pretty out-of-date as it was. It could probably use further work. --- Makefile.in | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/Makefile.in b/Makefile.in index c96b765..0af3f00 100644 --- a/Makefile.in +++ b/Makefile.in @@ -108,14 +108,13 @@ SCSHOBJS = \ scsh/machine/time_dep1.o \ scsh/network.o scsh/network1.o \ scsh/putenv.o \ - scsh/re.o \ - scsh/rescm.o \ + scsh/rdelim.o \ + scsh/re.o scsh/re1.o \ + scsh/regexp/libregexp.a \ scsh/syscalls.o scsh/syscalls1.o \ scsh/time.o scsh/time1.o \ scsh/tty.o scsh/tty1.o \ - scsh/userinfo.o \ - scsh/regexp/libregexp.a \ - scsh/rdelim.o \ + scsh/userinfo1.o \ scsh/select.o scsh/select1.o # scsh/$(DBOPEN) \ @@ -136,6 +135,7 @@ CONFIG_FILES = interfaces.scm low-packages.scm rts-packages.scm \ enough: $(VM) $(IMAGE) script $(LIBCIG) scsh $(MANPAGE) .notify # The developers are curious to know. Don't be concerned if this fails. +# You may comment these lines out if you wish to be discourteous. .notify: minor-version-number touch .notify -echo SCSH 0.`cat $(srcdir)/scsh/minor-version-number` \ @@ -149,6 +149,25 @@ enough: $(VM) $(IMAGE) script $(LIBCIG) scsh $(MANPAGE) .notify .scm.c: $(srcdir)/$(VM) -o $(srcdir)/$(VM) -i $(CIG) < $< > $*.c +# These .h files mediate between the code exported from foo1.c +# and imported into foo.scm's stub foo.c. + +scsh/dirstuff1.o: scsh/dirstuff1.h +scsh/rdelim.o: scsh/fdports1.h +scsh/userinfo1.o: scsh/userinfo1.h + +scsh/fdports1.o scsh/fdports.o: scsh/fdports1.h +scsh/flock1.o scsh/flock.o: scsh/flock1.h +scsh/network1.o scsh/network.o: scsh/network1.h +scsh/re1.o scsh/re.o: scsh/re1.h +scsh/select1.o scsh/select.o: scsh/select1.h +scsh/syscalls1.o scsh/syscalls.o: scsh/syscalls1.h +scsh/time1.o scsh/time.o: scsh/time1.h +scsh/tty1.o scsh/tty.o: scsh/tty1.h + +scsh/syscalls.o: scsh/syscalls1.h scsh/dirstuff1.h scsh/fdports1.h \ + scsh/select1.h scsh/userinfo1.h + include $(srcdir)/scsh/machine/Makefile.inc #NetBSD make wants to see this instead: (or use GNU make on BSD. -bri) #.include "$(srcdir)/scsh/machine/Makefile.inc" @@ -511,14 +530,19 @@ $(CIG).image: $(IMAGE) $(VM) $(srcdir)/cig/cig.scm $(srcdir)/cig/libcig.scm #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- scsh: cig scsh/scsh scsh/scsh.image -SCHEME =scsh/defrec.scm \ +SCHEME =scsh/awk.scm \ + scsh/char-set.scm \ + scsh/defrec.scm \ + scsh/enumconst.scm \ scsh/fdports.scm \ scsh/fileinfo.scm \ scsh/filemtch.scm \ scsh/filesys.scm \ scsh/flock.scm \ scsh/fname.scm \ + scsh/fr.scm \ scsh/glob.scm \ + scsh/here.scm \ scsh/machine/bufpol.scm \ scsh/machine/errno.scm \ scsh/machine/fdflags.scm \ @@ -528,16 +552,21 @@ SCHEME =scsh/defrec.scm \ scsh/machine/time_dep.scm \ scsh/machine/tty-consts.scm \ scsh/machine/waitcodes.scm \ + meta-arg.scm \ scsh/network.scm \ scsh/newports.scm \ scsh/procobj.scm \ + scsh/rdelim.scm \ scsh/re.scm \ scsh/rw.scm \ scsh/scsh-condition.scm \ scsh/scsh-interfaces.scm \ scsh/scsh-package.scm \ + scsh/scsh-read.scm \ + scsh/scsh-version.scm \ scsh/scsh.scm \ scsh/select.scm \ + scsh/startup.scm \ scsh/stringcoll.scm \ scsh/syntax-helpers.scm \ scsh/syntax.scm \ @@ -547,7 +576,9 @@ SCHEME =scsh/defrec.scm \ scsh/tty.scm \ scsh/utilities.scm -# scsh/dbm.scm +# scsh/dbm.scm db.scm ndbm.scm +# static.scm static-heap.scm static1.scm +# jcontrol # Bogus, but it makes the scm->c->o two-ply dependency work. # Explicitly giving the .o/.c dependency also makes it go.