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.
This commit is contained in:
parent
7d2447407a
commit
1d62cb2182
45
Makefile.in
45
Makefile.in
|
@ -108,14 +108,13 @@ SCSHOBJS = \
|
||||||
scsh/machine/time_dep1.o \
|
scsh/machine/time_dep1.o \
|
||||||
scsh/network.o scsh/network1.o \
|
scsh/network.o scsh/network1.o \
|
||||||
scsh/putenv.o \
|
scsh/putenv.o \
|
||||||
scsh/re.o \
|
scsh/rdelim.o \
|
||||||
scsh/rescm.o \
|
scsh/re.o scsh/re1.o \
|
||||||
|
scsh/regexp/libregexp.a \
|
||||||
scsh/syscalls.o scsh/syscalls1.o \
|
scsh/syscalls.o scsh/syscalls1.o \
|
||||||
scsh/time.o scsh/time1.o \
|
scsh/time.o scsh/time1.o \
|
||||||
scsh/tty.o scsh/tty1.o \
|
scsh/tty.o scsh/tty1.o \
|
||||||
scsh/userinfo.o \
|
scsh/userinfo1.o \
|
||||||
scsh/regexp/libregexp.a \
|
|
||||||
scsh/rdelim.o \
|
|
||||||
scsh/select.o scsh/select1.o
|
scsh/select.o scsh/select1.o
|
||||||
|
|
||||||
# scsh/$(DBOPEN) \
|
# scsh/$(DBOPEN) \
|
||||||
|
@ -136,6 +135,7 @@ CONFIG_FILES = interfaces.scm low-packages.scm rts-packages.scm \
|
||||||
enough: $(VM) $(IMAGE) script $(LIBCIG) scsh $(MANPAGE) .notify
|
enough: $(VM) $(IMAGE) script $(LIBCIG) scsh $(MANPAGE) .notify
|
||||||
|
|
||||||
# The developers are curious to know. Don't be concerned if this fails.
|
# 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
|
.notify: minor-version-number
|
||||||
touch .notify
|
touch .notify
|
||||||
-echo SCSH 0.`cat $(srcdir)/scsh/minor-version-number` \
|
-echo SCSH 0.`cat $(srcdir)/scsh/minor-version-number` \
|
||||||
|
@ -149,6 +149,25 @@ enough: $(VM) $(IMAGE) script $(LIBCIG) scsh $(MANPAGE) .notify
|
||||||
.scm.c:
|
.scm.c:
|
||||||
$(srcdir)/$(VM) -o $(srcdir)/$(VM) -i $(CIG) < $< > $*.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
|
include $(srcdir)/scsh/machine/Makefile.inc
|
||||||
#NetBSD make wants to see this instead: (or use GNU make on BSD. -bri)
|
#NetBSD make wants to see this instead: (or use GNU make on BSD. -bri)
|
||||||
#.include "$(srcdir)/scsh/machine/Makefile.inc"
|
#.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
|
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/fdports.scm \
|
||||||
scsh/fileinfo.scm \
|
scsh/fileinfo.scm \
|
||||||
scsh/filemtch.scm \
|
scsh/filemtch.scm \
|
||||||
scsh/filesys.scm \
|
scsh/filesys.scm \
|
||||||
scsh/flock.scm \
|
scsh/flock.scm \
|
||||||
scsh/fname.scm \
|
scsh/fname.scm \
|
||||||
|
scsh/fr.scm \
|
||||||
scsh/glob.scm \
|
scsh/glob.scm \
|
||||||
|
scsh/here.scm \
|
||||||
scsh/machine/bufpol.scm \
|
scsh/machine/bufpol.scm \
|
||||||
scsh/machine/errno.scm \
|
scsh/machine/errno.scm \
|
||||||
scsh/machine/fdflags.scm \
|
scsh/machine/fdflags.scm \
|
||||||
|
@ -528,16 +552,21 @@ SCHEME =scsh/defrec.scm \
|
||||||
scsh/machine/time_dep.scm \
|
scsh/machine/time_dep.scm \
|
||||||
scsh/machine/tty-consts.scm \
|
scsh/machine/tty-consts.scm \
|
||||||
scsh/machine/waitcodes.scm \
|
scsh/machine/waitcodes.scm \
|
||||||
|
meta-arg.scm \
|
||||||
scsh/network.scm \
|
scsh/network.scm \
|
||||||
scsh/newports.scm \
|
scsh/newports.scm \
|
||||||
scsh/procobj.scm \
|
scsh/procobj.scm \
|
||||||
|
scsh/rdelim.scm \
|
||||||
scsh/re.scm \
|
scsh/re.scm \
|
||||||
scsh/rw.scm \
|
scsh/rw.scm \
|
||||||
scsh/scsh-condition.scm \
|
scsh/scsh-condition.scm \
|
||||||
scsh/scsh-interfaces.scm \
|
scsh/scsh-interfaces.scm \
|
||||||
scsh/scsh-package.scm \
|
scsh/scsh-package.scm \
|
||||||
|
scsh/scsh-read.scm \
|
||||||
|
scsh/scsh-version.scm \
|
||||||
scsh/scsh.scm \
|
scsh/scsh.scm \
|
||||||
scsh/select.scm \
|
scsh/select.scm \
|
||||||
|
scsh/startup.scm \
|
||||||
scsh/stringcoll.scm \
|
scsh/stringcoll.scm \
|
||||||
scsh/syntax-helpers.scm \
|
scsh/syntax-helpers.scm \
|
||||||
scsh/syntax.scm \
|
scsh/syntax.scm \
|
||||||
|
@ -547,7 +576,9 @@ SCHEME =scsh/defrec.scm \
|
||||||
scsh/tty.scm \
|
scsh/tty.scm \
|
||||||
scsh/utilities.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.
|
# Bogus, but it makes the scm->c->o two-ply dependency work.
|
||||||
# Explicitly giving the .o/.c dependency also makes it go.
|
# Explicitly giving the .o/.c dependency also makes it go.
|
||||||
|
|
Loading…
Reference in New Issue