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
	
	 shivers
						shivers