about summary refs log tree commit diff stats
path: root/WWW/Library
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library')
-rw-r--r--WWW/Library/Implementation/BSDI_Makefile405
-rw-r--r--WWW/Library/Implementation/HTAABrow.c4
-rw-r--r--WWW/Library/Implementation/HTAAServ.c6
-rw-r--r--WWW/Library/Implementation/HTAAServ.h2
-rw-r--r--WWW/Library/Implementation/HTAAUtil.c6
-rw-r--r--WWW/Library/Implementation/HTACL.h17
-rw-r--r--WWW/Library/Implementation/HTAccess.c110
-rw-r--r--WWW/Library/Implementation/HTAlert.h2
-rw-r--r--WWW/Library/Implementation/HTAnchor.c11
-rw-r--r--WWW/Library/Implementation/HTAuth.c12
-rw-r--r--WWW/Library/Implementation/HTFTP.c121
-rw-r--r--WWW/Library/Implementation/HTFile.c48
-rw-r--r--WWW/Library/Implementation/HTFile.h15
-rw-r--r--WWW/Library/Implementation/HTFinger.c1
-rw-r--r--WWW/Library/Implementation/HTFormat.c6
-rw-r--r--WWW/Library/Implementation/HTFormat.h1
-rw-r--r--WWW/Library/Implementation/HTGopher.c19
-rw-r--r--WWW/Library/Implementation/HTGroup.c6
-rw-r--r--WWW/Library/Implementation/HTMIME.c44
-rw-r--r--WWW/Library/Implementation/HTNews.c79
-rw-r--r--WWW/Library/Implementation/HTParse.c82
-rw-r--r--WWW/Library/Implementation/HTPasswd.c8
-rw-r--r--WWW/Library/Implementation/HTPlain.c8
-rw-r--r--WWW/Library/Implementation/HTRules.c8
-rw-r--r--WWW/Library/Implementation/HTTCP.c77
-rw-r--r--WWW/Library/Implementation/HTTP.c7
-rw-r--r--WWW/Library/Implementation/HTTelnet.c27
-rw-r--r--WWW/Library/Implementation/HTUU.c2
-rw-r--r--WWW/Library/Implementation/HTWAIS.c1
-rw-r--r--WWW/Library/Implementation/HTWSRC.c14
-rw-r--r--WWW/Library/Implementation/HTWSRC.h2
-rw-r--r--WWW/Library/Implementation/SGML.c30
-rw-r--r--WWW/Library/apollo_m68k/Makefile38
-rw-r--r--WWW/Library/clix/Makefile30
-rw-r--r--WWW/Library/convex/Makefile32
-rw-r--r--WWW/Library/decstation/Makefile23
-rw-r--r--WWW/Library/duns/Makefile489
-rw-r--r--WWW/Library/freebsd/Makefile27
-rw-r--r--WWW/Library/isc/Makefile30
-rw-r--r--WWW/Library/mips/Makefile29
-rw-r--r--WWW/Library/netbsd/Makefile29
-rw-r--r--WWW/Library/next/Makefile40
-rw-r--r--WWW/Library/osf/Makefile23
-rw-r--r--WWW/Library/ptx/Makefile29
-rw-r--r--WWW/Library/rs6000/Makefile29
-rw-r--r--WWW/Library/sco/Makefile33
-rw-r--r--WWW/Library/sgi/Makefile30
-rw-r--r--WWW/Library/snake/Makefile33
-rw-r--r--WWW/Library/solaris2/Makefile29
-rw-r--r--WWW/Library/sun3/Makefile29
-rw-r--r--WWW/Library/sun4/Makefile29
-rw-r--r--WWW/Library/svr4/Makefile29
-rw-r--r--WWW/Library/umaxv-m88k/Makefile30
-rw-r--r--WWW/Library/unix_x/Makefile491
-rw-r--r--WWW/Library/vax_ultrix/Makefile33
55 files changed, 2405 insertions, 390 deletions
diff --git a/WWW/Library/Implementation/BSDI_Makefile b/WWW/Library/Implementation/BSDI_Makefile
new file mode 100644
index 00000000..21ff1c02
--- /dev/null
+++ b/WWW/Library/Implementation/BSDI_Makefile
@@ -0,0 +1,405 @@
+#  Make WWW under unix
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = unix
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = generic/unix
+
+
+CFLAGS =  -O -DDEBUG -DUSE_DIRENT -DSVR4 -DNO_FILIO_H
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#	Common Makefile for W3 Library Code
+#	-----------------------------------
+#
+#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
+#
+# This file should be invariant between systems.
+#	DEPENDENCIES NOT COMPLETE @@
+#
+#	make		Compile and link the software (private version)
+#	make install	Copy it into the system (implies make)
+#	make update	Copy installed version into installed version
+#	make uninstall	Unlink installed version from the system
+#	make clean	Remove intermediate files
+#	make cleanall	Remove intremediate files and products
+#	
+# Macros required to be defined already for make:
+#
+# CC		The C compiler
+# CFLAGS	Flags for $(CC) -- except the -I which are below
+# LFLAGS	Flags for ld
+# LYFLAGS	Flags for Lynx
+#
+# WWW           The WWW source tree directory
+#
+# Macros needed for make install:
+#
+# LIBDIR	Directory for installed library
+#______________________________________________________________________
+
+#  If this env var is set to something else Some makes will use that instead
+SHELL = /bin/sh
+
+#	.h files are distributed but originally are made from the
+#	self-documenting hypertext files.
+
+.SUFFIXES: .h .html
+.html.h:
+#	- chmod +w $*.h
+	www -w90 -na -to text/x-c $*.html > $*.h
+#	chmod -w $*.h
+
+# If this is actually run in a subdirectory,
+#
+# WWW = ../../..
+# WWW = ../..	For [cernlib] build in this directory
+
+WC = $(WWW)/Library
+CMN = $(WWW)/Library/Implementation/
+VMS = $(CMN)vms
+# Where shall we put the objects and built library?
+
+LOB = $(WTMP)/Library/$(WWW_MACH)
+
+# Only needed if HTWAIS.c is to be compiled. Put into your Makefile.include
+#  uncomment these and fill in WAISINC for adding direct wais access
+#  to Lynx.
+#HTWAIS = $(LOB)/HTWAIS.o
+#WAIS = YES
+#WAISINC = -I../../../../freeWAIS-0.202/ir
+#WAISCFLAGS = -DDIRECT_WAIS 
+#
+
+# This path, if relative, is taken relative to the directory
+# in which this makefile is, not the pwd.  This screws up the 
+# recursive invocation
+# include $(CMN)Version.make
+VC = 2.14
+
+# XMOsAIC hack is only for server to cope with xmosaic kludge for mmedia
+#
+# add -DNEW_GATEWAY here for the new gateway config stuff
+CFLAGS2 = $(CFLAGS) $(LYFLAGS) $(WAISCFLAGS) -I$(CMN) -DXMOSAIC_HACK -DACCESS_AUTH 
+
+CERNLIBBIN = $(WWW)/bin
+
+COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
+	$(LOB)/HTFile.o	$(LOB)/HTBTree.o $(LOB)/HTFTP.o $(LOB)/HTTCP.o \
+	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
+	$(LOB)/HTPlain.o $(LOB)/HTWriter.o \
+	$(LOB)/HTMLGen.o \
+	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
+	$(LOB)/HTList.o $(LOB)/HTString.o \
+	$(LOB)/HTRules.o $(LOB)/HTFormat.o  $(LOB)/HTMIME.o \
+	$(LOB)/HTHistory.o $(LOB)/HTNews.o  $(LOB)/HTGopher.o \
+	$(LOB)/HTTelnet.o $(LOB)/HTFinger.o $(LOB)/HTWSRC.o $(HTWAIS) \
+	$(LOB)/HTAAUtil.o $(LOB)/HTAAServ.o $(LOB)/HTAABrow.o \
+	$(LOB)/HTAAFile.o $(LOB)/HTPasswd.o $(LOB)/HTGroup.o  \
+	$(LOB)/HTACL.o    $(LOB)/HTAuth.o   $(LOB)/HTAAProt.o \
+	$(LOB)/HTAssoc.o  $(LOB)/HTLex.o    $(LOB)/HTUU.o
+
+CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
+        $(CMN)HTBTree.c \
+	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c 	\
+	$(CMN)HTMLDTD.c \
+	$(CMN)HTPlain.c	$(CMN)HTWriter.c  \
+        $(CMN)HTMLGen.c	\
+	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
+	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTRules.c \
+	$(CMN)HTFormat.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
+	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
+	$(CMN)HTFinger.c $(CMN)HTWAIS.c  $(CMN)HTWSRC.c \
+	$(CMN)HTAAUtil.c $(CMN)HTAAServ.c $(CMN)HTAABrow.c \
+	$(CMN)HTAAFile.c $(CMN)HTPasswd.c $(CMN)HTGroup.c  \
+	$(CMN)HTACL.c    $(CMN)HTAuth.c   $(CMN)HTAAProt.c \
+	$(CMN)HTAssoc.c  $(CMN)HTLex.c    $(CMN)HTUU.c
+
+HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
+	$(CMN)HTBTree.h $(CMN)HTFTP.h $(CMN)HTTCP.h \
+	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
+	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
+	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
+	$(CMN)HTStream.h \
+	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
+	$(CMN)HTList.h \
+	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
+	$(CMN)HTFormat.h $(CMN)HTInit.h \
+	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
+	$(CMN)HTGopher.h \
+	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)HText.h \
+	$(CMN)HTTelnet.h $(CMN)HTFinger.h \
+	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h \
+	$(CMN)HTAAUtil.h $(CMN)HTAAServ.h $(CMN)HTAABrow.h \
+	$(CMN)HTAAFile.h $(CMN)HTPasswd.h $(CMN)HTGroup.h  \
+	$(CMN)HTACL.h    $(CMN)HTAuth.h   $(CMN)HTAAProt.h \
+	$(CMN)HTAssoc.h  $(CMN)HTLex.h    $(CMN)HTUU.h
+
+SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make \
+	$(CMN)CommonMakefile $(CMN)Makefile \
+	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD $(WWW)/Makefile
+SPECIFIC = $(WWW)/All/*/Makefile.include $(WWW)/All/Implementation/Makefile* \
+	$(VMS)/descrip.mms $(VMS)/build_multinet.com \
+	$(VMS)/COPYING.LIB $(VMS)/setup.com $(VMS)/multinet.opt \
+	$(VMS)/patchlevel.h $(VMS)/ufc-crypt.h \
+	$(VMS)/crypt.c $(VMS)/crypt_util.c \
+	$(VMS)/getline.c $(VMS)/getpass.c \
+	$(VMS)/HTVMSUtils.h $(VMS)/HTVMSUtils.c
+
+
+#	Library
+#
+#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
+# for that step
+$(LOB)/libwww.a : $(COMMON)
+	ar r $(LOB)/libwww.a $(COMMON)
+	-ranlib $(LOB)/libwww.a
+
+#	Clean up everything generatable except final products
+clean :
+	rm $(LOB)/*.o $(LOB)/.created
+	-rmdir $(LOB)
+
+#	Clean up everything generatable including final products
+
+cleanall : clean
+	rm $(LOB)/libwww.a
+
+#	Install W3 library into system space (not normally necessary)
+
+install : libwww.a
+	if [ ! -r $(LIBDIR) ] mkdir $(LIBDIR)
+	cp libwww.a $(LIBDIR)/libwww.a
+	
+uninstall :
+	rm $(LIBDIR)/libwww.a
+
+#		Distribution use only:
+#		----------------------
+
+#	Needs www version 2.4 or later to do this
+inc : $(HFILES)
+	echo Include files generated from hypertext.
+
+binary : /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
+	echo FTP archive binary Libray $(VC) for $(WWW_MACH) up to date.
+
+
+/pub/www/bin/$(WWW_MACH)/libwww_$(VC).a : libwww.a
+	-mkdir /pub/www/bin/$(WWW_MACH)
+	cp libwww.a /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
+
+#	Source Distribution:
+
+distribute :  /pub/www/README.txt /pub/www/Copyright.txt
+	(cd $(WWW)/..; WWW=WWW ABS=`pwd`/ make $(MFLAGS) \
+		-f WWW/Library/Implementation/CommonMakefile \
+		/pub/www/src/WWWLibrary_$(VC).tar.Z)
+	(cd ../Implementation; cvs tag \
+	    `sed -e 's/VC = /v/' Version.make | sed -e 's?\.?/?'` )
+	echo Distribution of Library version $(VC) up to date.
+
+/pub/www/src/WWWLibrary_$(VC).tar.Z : $(SOURCES)
+	tar cf /pub/www/src/WWWLibrary_$(VC).tar \
+	    $(SOURCES)  $(SPECIFIC) $(WC)/*/Makefile
+	compress /pub/www/src/WWWLibrary_$(VC).tar
+
+
+#	Hypertext supplied in text format
+#	---------------------------------
+
+$(WWW)/README.txt : $(WWW)/../README.html
+	www -n -p66 http://www.w3.org/hypertext/README.html \
+		> $(WWW)/README.txt
+/pub/www/README.txt : $(WWW)/README.txt
+	cp $(WWW)/README.txt /pub/www/README.txt
+
+$(WWW)/Copyright.txt : $(WWW)/../Copyright.html
+	www -n -p66 http://www.w3.org/hypertext/Copyright.html \
+		> $(WWW)/Copyright.txt
+/pub/www/Copyright.txt : $(WWW)/Copyright.txt
+	cp $(WWW)/Copyright.txt /pub/www/Copyright.txt
+
+# 			Common code
+#			-----------
+
+#	Directory for object files - .created checks it exists
+
+OE = $(LOB)/.created
+$(OE) :
+	if [ ! -r $(WTMP) ] ; then mkdir $(WTMP); else echo OK ; fi
+	if [ ! -r $(WTMP)/Library ] ; then mkdir $(WTMP)/Library; else echo OK ; fi
+	if [ ! -r $(WTMP)/Library/$(WWW_MACH) ] ; \
+		then mkdir $(WTMP)/Library/$(WWW_MACH); else echo OK ; fi
+	touch $@
+
+$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
+
+$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
+
+$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
+
+$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
+
+$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
+
+$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h\
+	 $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
+
+$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h \
+	 $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
+
+$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h $(CMN)../../../userdefs.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
+
+$(LOB)/HTFinger.o : $(OE) $(CMN)HTFinger.c $(CMN)HTUtils.h $(CMN)HTList.h \
+	$(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFinger.c
+
+$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
+
+$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
+
+$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
+
+$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
+
+$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make \
+	 $(CMN)HTAAServ.h $(CMN)HTAAProt.h
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
+
+$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h $(CMN)UCAux.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
+
+$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
+
+$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
+
+$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h \
+	 $(CMN)UCAux.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
+
+$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
+
+$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
+
+$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
+
+
+#	Access Authorization
+
+$(LOB)/HTAAUtil.o : $(OE) $(CMN)HTAAUtil.c $(CMN)HTAAUtil.h \
+	 $(CMN)HTUtils.h $(CMN)HTString.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAUtil.c
+
+$(LOB)/HTAAFile.o : $(OE) $(CMN)HTAAFile.c $(CMN)HTAAFile.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAFile.c
+
+$(LOB)/HTPasswd.o : $(OE) $(CMN)HTPasswd.c $(CMN)HTPasswd.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTAAFile.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPasswd.c
+
+$(LOB)/HTGroup.o : $(OE) $(CMN)HTGroup.c $(CMN)HTGroup.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTAAFile.h \
+	 $(CMN)HTAssoc.h $(CMN)HTLex.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGroup.c
+
+$(LOB)/HTACL.o : $(OE) $(CMN)HTACL.c $(CMN)HTACL.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTAAFile.h $(CMN)HTGroup.h \
+	 $(CMN)HTAssoc.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTACL.c
+
+$(LOB)/HTAuth.o : $(OE) $(CMN)HTAuth.c $(CMN)HTAuth.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTPasswd.h $(CMN)HTAAFile.h \
+	 $(CMN)HTAssoc.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAuth.c
+
+$(LOB)/HTAAServ.o : $(OE) $(CMN)HTAAServ.c $(CMN)HTAAServ.h \
+	$(CMN)HTAAUtil.h $(CMN)HTAAFile.h $(CMN)HTPasswd.h \
+	 $(CMN)HTGroup.h $(CMN)HTACL.h $(CMN)HTAuth.h \
+	 $(CMN)HTUU.h $(CMN)HTParse.h $(CMN)HTList.h \
+	 $(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTRules.h \
+	 $(CMN)HTAAProt.h $(CMN)HTAssoc.h $(CMN)HTLex.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAServ.c
+
+$(LOB)/HTAABrow.o : $(OE) $(CMN)HTAABrow.c $(CMN)HTAABrow.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTUU.h \
+	 $(CMN)HTUtils.h $(CMN)HTString.h \
+	 $(CMN)HTParse.h $(CMN)HTList.h $(CMN)HTAlert.h \
+	 $(CMN)HTAssoc.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAABrow.c
+
+$(LOB)/HTAAProt.o : $(OE) $(CMN)HTAAProt.c $(CMN)HTAAProt.h \
+	 $(CMN)HTUtils.h $(CMN)HTAAUtil.h $(CMN)HTAAFile.h \
+	 $(CMN)HTAssoc.h $(CMN)HTLex.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAProt.c
+
+$(LOB)/HTAssoc.o : $(OE) $(CMN)HTAssoc.c $(CMN)HTAssoc.h \
+	$(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAssoc.c
+
+$(LOB)/HTLex.o : $(OE) $(CMN)HTLex.c $(CMN)HTLex.h $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTLex.c
+
+$(LOB)/HTUU.o : $(OE) $(CMN)HTUU.c $(CMN)HTUU.h $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTUU.c
+
+
+#	Communications & Files
+
+$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h $(CMN)HTAABrow.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
+
+$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
+
+$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h \
+	 $(CMN)HTMLDTD.h $(CMN)HTAAServ.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
+
+$(LOB)/HTBTree.o : $(OE) $(CMN)HTBTree.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTBTree.c
+
+$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
+
+$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
+
+$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
+
diff --git a/WWW/Library/Implementation/HTAABrow.c b/WWW/Library/Implementation/HTAABrow.c
index 2b50ed38..0ebe5309 100644
--- a/WWW/Library/Implementation/HTAABrow.c
+++ b/WWW/Library/Implementation/HTAABrow.c
@@ -585,7 +585,7 @@ PRIVATE char *compose_auth_string ARGS3(
     char *proxiedHost = NULL;
     char *thePort = NULL;
     HTAARealm *realm;
-    char *inet_addr = "0.0.0.0";	/* Change... @@@@ */
+    char *i_net_addr = "0.0.0.0";	/* Change... @@@@ */
     char *timestamp = "42";		/* ... these @@@@ */
     
 
@@ -713,7 +713,7 @@ PRIVATE char *compose_auth_string ARGS3(
 
     if (scheme == HTAA_PUBKEY) {
 	strcat(cleartext, ":");
-	strcat(cleartext, inet_addr);
+	strcat(cleartext, i_net_addr);
 	strcat(cleartext, ":");
 	strcat(cleartext, timestamp);
 	strcat(cleartext, ":");
diff --git a/WWW/Library/Implementation/HTAAServ.c b/WWW/Library/Implementation/HTAAServ.c
index 7a0cdef6..fb6f696a 100644
--- a/WWW/Library/Implementation/HTAAServ.c
+++ b/WWW/Library/Implementation/HTAAServ.c
@@ -488,8 +488,8 @@ PUBLIC int HTAA_checkAuthorization ARGS4(CONST char *,	url,
 	}
 	else if (HTAAFailReason != HTAA_HTBIN) {
 	    /* pathname != NULL */
-	    char *access = HTParse(pathname, "", PARSE_ACCESS);
-	    if (!*access || 0 == strcmp(access,"file")) { /*Local file, do AA*/
+	    char *acc_method = HTParse(pathname, "", PARSE_ACCESS);
+	    if (!*acc_method || 0 == strcmp(acc_method,"file")) { /*Local file, do AA*/
 		if (!HTSecure && 0 != strncmp(local_copy, "/htbin/", 7)) {
 		    char *localname = HTLocalName(pathname);
 		    FREE(pathname);
@@ -504,7 +504,7 @@ PUBLIC int HTAA_checkAuthorization ARGS4(CONST char *,	url,
 		    fprintf(stderr,
 			    "HTAA_checkAuthorization: %s (%s access)\n",
 			    "Gatewaying -- skipping authorization check",
-			    access);
+			    acc_method);
 	    }
 	} /* pathname */
     }
diff --git a/WWW/Library/Implementation/HTAAServ.h b/WWW/Library/Implementation/HTAAServ.h
index aa350a01..dc03c7dd 100644
--- a/WWW/Library/Implementation/HTAAServ.h
+++ b/WWW/Library/Implementation/HTAAServ.h
@@ -47,6 +47,8 @@
 #define HTAAsLog        HTAA_startLogging
 #endif /*SHORT_NAMES*/
 
+extern time_t theTime;
+
 /*
 
 Check Access Authorization
diff --git a/WWW/Library/Implementation/HTAAUtil.c b/WWW/Library/Implementation/HTAAUtil.c
index 512a0d0d..837f09c7 100644
--- a/WWW/Library/Implementation/HTAAUtil.c
+++ b/WWW/Library/Implementation/HTAAUtil.c
@@ -417,7 +417,7 @@ PUBLIC HTAssocList *HTAA_parseArgList ARGS1(char *, str)
     HTAssocList *assoc_list = HTAssocList_new();
     char *cur = NULL;
     char *name = NULL;
-    int index = 0;
+    int n = 0;
 
     if (!str)
         return assoc_list;
@@ -425,7 +425,7 @@ PUBLIC HTAssocList *HTAA_parseArgList ARGS1(char *, str)
     while (*str) {
 	SKIPWS(str);				/* Skip leading whitespace */
 	cur = str;
-	index++;
+	n++;
 
 	while (*cur  &&  *cur != '='  &&  *cur != ',')
 	    cur++;	/* Find end of name (or lonely value without a name) */
@@ -462,7 +462,7 @@ PUBLIC HTAssocList *HTAA_parseArgList ARGS1(char *, str)
 		*(cur++) = '\0';		/* Terminate value */
 	    /* else last value on line (already terminated by NULL) */
 	    StrAllocCopy(name, "nnn");	/* Room for item order number */
-	    sprintf(name, "%d", index); /* Item order number for name */
+	    sprintf(name, "%d", n);	/* Item order number for name */
 	}
 	HTAssocList_add(assoc_list, name, str);
 	str = cur;
diff --git a/WWW/Library/Implementation/HTACL.h b/WWW/Library/Implementation/HTACL.h
index d6ae3c6c..6ae21a97 100644
--- a/WWW/Library/Implementation/HTACL.h
+++ b/WWW/Library/Implementation/HTACL.h
@@ -24,6 +24,23 @@ Opening Access Control List File
 
  */
 
+/* PUBLIC						HTAA_getAclFilename()
+**	    RESOLVE THE FULL PATHNAME OF ACL FILE FOR A GIVEN FILE
+** ON ENTRY:
+**	path	is the pathname of the file for which to
+**		ACL file should be found.
+**
+**		ACL filename is computed by replacing
+**		the filename by .www_acl in the pathname
+**		(this is done to a local copy, of course).
+**
+** ON EXIT:
+**	returns	the absolute pathname of ACL file
+**		(which is automatically freed next time
+**		this fuction is called).
+*/
+PUBLIC char *HTAA_getAclFilename PARAMS((CONST char * pathname));
+
 /* PUBLIC                                               HTAA_openAcl()
 **              OPEN THE ACL FILE FOR THE GIVEN DOCUMENT
 ** ON ENTRY:
diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c
index 7a4f62ea..ba73c3fe 100644
--- a/WWW/Library/Implementation/HTAccess.c
+++ b/WWW/Library/Implementation/HTAccess.c
@@ -35,10 +35,6 @@
 #define DIRECT_WAIS
 #endif /* VMS */
 
-#ifndef DEFAULT_WAIS_GATEWAY
-#define DEFAULT_WAIS_GATEWAY "http://www.w3.org:8001"
-#endif
-
 #include "HTUtils.h"
 #include "HTTP.h"
 #include "HTAlert.h"
@@ -127,8 +123,6 @@ PUBLIC BOOL HTRegisterProtocol ARGS1(
 **	forced in at link time.
 */
 #ifndef NO_INIT
-PRIVATE void HTAccessInit NOARGS			/* Call me once */
-{
 #ifdef GLOBALREF_IS_MACRO
 extern GLOBALREF (HTProtocol, HTTP);
 extern GLOBALREF (HTProtocol, HTTPS);
@@ -163,6 +157,9 @@ GLOBALREF  HTProtocol HTWAIS;
 #endif /* DIRECT_WAIS */
 #endif /* !DECNET */
 #endif /* GLOBALREF_IS_MACRO */
+
+PRIVATE void HTAccessInit NOARGS			/* Call me once */
+{
     HTRegisterProtocol(&HTTP);
     HTRegisterProtocol(&HTTPS);
     HTRegisterProtocol(&HTFile);
@@ -213,7 +210,7 @@ PUBLIC BOOL override_proxy ARGS1(
     char * at = NULL;
     char * host = NULL;
     char * Host = NULL;
-    char * access = NULL;
+    char * acc_method = NULL;
     int port = 0;
     int h_len = 0;
 
@@ -241,8 +238,8 @@ PUBLIC BOOL override_proxy ARGS1(
     }
     Host = (((at = strchr(host, '@')) != NULL) ? (at+1) : host);
 
-    if ((access = HTParse(addr, "", PARSE_ACCESS))) {
-        if (!strcmp("file", access) &&
+    if ((acc_method = HTParse(addr, "", PARSE_ACCESS))) {
+        if (!strcmp("file", acc_method) &&
 	    (!strcmp(Host, "localhost") ||
 #ifdef VMS
              !strcasecomp(Host, HTHostName())
@@ -251,10 +248,10 @@ PUBLIC BOOL override_proxy ARGS1(
 #endif /* VMS */
         )) {
 	    FREE(host);
-	    FREE(access);
+	    FREE(acc_method);
 	    return YES;
 	}
-	FREE(access);
+	FREE(acc_method);
     }
 
     if (!no_proxy) {
@@ -266,23 +263,23 @@ PUBLIC BOOL override_proxy ARGS1(
         *p++ = 0;                   		/* Chop off port */
         port = atoi(p);
     } else {					/* Use default port */
-        access = HTParse(addr, "", PARSE_ACCESS);
-        if (access != NULL) {
-            if      (!strcmp(access, "http"))		port = 80;
-            else if (!strcmp(access, "https"))		port = 443;
-            else if (!strcmp(access, "ftp"))		port = 21;
-            else if (!strcmp(access, "gopher"))		port = 70;
-            else if (!strcmp(access, "cso"))		port = 105;
-	    else if (!strcmp(access, "news"))		port = 119;
-	    else if (!strcmp(access, "nntp"))		port = 119;
-	    else if (!strcmp(access, "newspost"))	port = 119;
-	    else if (!strcmp(access, "newsreply"))	port = 119;
-	    else if (!strcmp(access, "snews"))		port = 563;
-	    else if (!strcmp(access, "snewspost"))	port = 563;
-	    else if (!strcmp(access, "snewsreply"))	port = 563;
-	    else if (!strcmp(access, "wais"))		port = 210;
-	    else if (!strcmp(access, "finger"))		port = 79;
-            FREE(access);
+        acc_method = HTParse(addr, "", PARSE_ACCESS);
+        if (acc_method != NULL) {
+            if      (!strcmp(acc_method, "http"))	port = 80;
+            else if (!strcmp(acc_method, "https"))	port = 443;
+            else if (!strcmp(acc_method, "ftp"))	port = 21;
+            else if (!strcmp(acc_method, "gopher"))	port = 70;
+            else if (!strcmp(acc_method, "cso"))	port = 105;
+	    else if (!strcmp(acc_method, "news"))	port = 119;
+	    else if (!strcmp(acc_method, "nntp"))	port = 119;
+	    else if (!strcmp(acc_method, "newspost"))	port = 119;
+	    else if (!strcmp(acc_method, "newsreply"))	port = 119;
+	    else if (!strcmp(acc_method, "snews"))	port = 563;
+	    else if (!strcmp(acc_method, "snewspost"))	port = 563;
+	    else if (!strcmp(acc_method, "snewsreply"))	port = 563;
+	    else if (!strcmp(acc_method, "wais"))	port = 210;
+	    else if (!strcmp(acc_method, "finger"))	port = 79;
+            FREE(acc_method);
         }
     }
     if (!port)
@@ -343,7 +340,7 @@ PRIVATE int get_physical ARGS2(
 	CONST char *,		addr,
 	HTParentAnchor *,	anchor)
 {
-    char * access = NULL;	/* Name of access method */
+    char * acc_method = NULL;	/* Name of access method */
     char * physical = NULL;
     char * Server_addr = NULL;
 
@@ -372,7 +369,7 @@ PRIVATE int get_physical ARGS2(
     }
 #endif /* NO_RULES */
 
-    access =  HTParse(HTAnchor_physical(anchor),
+    acc_method =  HTParse(HTAnchor_physical(anchor),
     		"file:", PARSE_ACCESS);
 
     /*
@@ -387,7 +384,7 @@ PRIVATE int get_physical ARGS2(
     */
     using_proxy = NO;
 
-    if (!strcasecomp(access, "news")) {
+    if (!strcasecomp(acc_method, "news")) {
 	/*
 	**  News is different, so we need to check the name of the server,
 	**  as well as the default port for selective exclusions.
@@ -405,7 +402,7 @@ PRIVATE int get_physical ARGS2(
             StrAllocCat(Server_addr, (char *)getenv("NNTPSERVER"));
             StrAllocCat(Server_addr, ":119/");
          }
-    } else if (!strcasecomp(access, "wais")) {
+    } else if (!strcasecomp(acc_method, "wais")) {
     	/*
 	**  Wais also needs checking of the default port
 	**  for selective exclusions.
@@ -431,24 +428,24 @@ PRIVATE int get_physical ARGS2(
 	/*
 	**  Search for gateways.
 	*/
-	gateway_parameter = (char *)calloc(1, (strlen(access) + 20));
+	gateway_parameter = (char *)calloc(1, (strlen(acc_method) + 20));
 	if (gateway_parameter == NULL)
 	    outofmem(__FILE__, "HTLoad");
 	strcpy(gateway_parameter, "WWW_");
-	strcat(gateway_parameter, access);
+	strcat(gateway_parameter, acc_method);
 	strcat(gateway_parameter, "_GATEWAY");
 	gateway = (char *)getenv(gateway_parameter); /* coerce for decstation */
 
 	/*
 	**  Search for proxy servers.
 	*/
-	if (!strcmp(access, "file"))
+	if (!strcmp(acc_method, "file"))
 	    /*
 	    ** If we got to here, a file URL is for ftp on a remote host. - FM
 	    */
 	    strcpy(gateway_parameter, "ftp");
 	else
-	    strcpy(gateway_parameter, access);
+	    strcpy(gateway_parameter, acc_method);
         strcat(gateway_parameter, "_proxy");
 	proxy = (char *)getenv(gateway_parameter);
 	FREE(gateway_parameter);
@@ -458,12 +455,6 @@ PRIVATE int get_physical ARGS2(
 	if (TRACE && proxy)
 	    fprintf(stderr, "proxy server found: %s\n", proxy);
 	
-#ifndef DIRECT_WAIS
-	if (gateway == NULL && !strcmp(access, "wais")) {
-	    gateway = DEFAULT_WAIS_GATEWAY;
-	}
-#endif /* direct wais */
-
 	/*
 	**  Proxy servers have precedence over gateway servers.
 	*/
@@ -483,9 +474,9 @@ PRIVATE int get_physical ARGS2(
 	        StrAllocCat(gatewayed, "?0,0");
             HTAnchor_setPhysical(anchor, gatewayed);
 	    FREE(gatewayed);
-	    FREE(access);
+	    FREE(acc_method);
 
-    	    access =  HTParse(HTAnchor_physical(anchor),
+    	    acc_method =  HTParse(HTAnchor_physical(anchor),
     		"http:", PARSE_ACCESS);
 
 	} else if (gateway) {
@@ -496,9 +487,9 @@ PRIVATE int get_physical ARGS2(
 	    FREE(path);
             HTAnchor_setPhysical(anchor, gatewayed);
 	    FREE(gatewayed);
-	    FREE(access);
+	    FREE(acc_method);
 	    
-    	    access =  HTParse(HTAnchor_physical(anchor),
+    	    acc_method =  HTParse(HTAnchor_physical(anchor),
     		"http:", PARSE_ACCESS);
 	} 
     }
@@ -516,15 +507,15 @@ PRIVATE int get_physical ARGS2(
 	n = HTList_count(protocols);
 	for (i = 0; i < n; i++) {
 	    HTProtocol *p = (HTProtocol *)HTList_objectAt(protocols, i);
-	    if (!strcmp(p->name, access)) {
+	    if (!strcmp(p->name, acc_method)) {
 		HTAnchor_setProtocol(anchor, p);
-		FREE(access);
+		FREE(acc_method);
 		return (HT_OK);
 	    }
 	}
     }
 
-    FREE(access);
+    FREE(acc_method);
     return HT_NO_ACCESS;
 }
 
@@ -651,6 +642,17 @@ extern char LYinternal_flag;		       /* from LYMainLoop.c */
 **        returns    YES     Success in opening document
 **                   NO      Failure 
 */
+
+extern char LYforce_no_cache;			         /* from GridText.c */
+extern char LYoverride_no_cache;		       /* from LYMainLoop.c */
+extern char * HTLoadedDocumentURL NOPARAMS;		   /* in GridText.c */
+extern BOOL HText_hasNoCacheSet PARAMS((HText *text));     /* in GridText.c */
+extern BOOL reloading;
+extern BOOL permanent_redirection;
+#ifdef DIRED_SUPPORT
+extern BOOLEAN lynx_edit_mode;
+#endif
+
 PRIVATE BOOL HTLoadDocument ARGS4(
 	CONST char *,		full_address,
 	HTParentAnchor *,	anchor,
@@ -660,20 +662,10 @@ PRIVATE BOOL HTLoadDocument ARGS4(
     int	        status;
     HText *	text;
     CONST char * address_to_load = full_address;
-    extern char LYforce_no_cache;		       /* from   GridText.c */
-    extern char LYoverride_no_cache;		       /* from LYMainLoop.c */
-    extern char * HTLoadedDocumentURL NOPARAMS;		   /* in GridText.c */
-    extern BOOL HText_hasNoCacheSet PARAMS((HText *text)); /* in GridText.c */
-    extern BOOL reloading;
-    extern BOOL permanent_redirection;
     char *cp;
     BOOL ForcingNoCache = LYforce_no_cache;
     static int redirection_attempts = 0;
 
-#ifdef DIRED_SUPPORT
-    extern BOOLEAN lynx_edit_mode;
-#endif
-
     if (TRACE)
         fprintf (stderr, "HTAccess: loading document %s\n", address_to_load);
 
diff --git a/WWW/Library/Implementation/HTAlert.h b/WWW/Library/Implementation/HTAlert.h
index 33d31f11..03b970b6 100644
--- a/WWW/Library/Implementation/HTAlert.h
+++ b/WWW/Library/Implementation/HTAlert.h
@@ -120,7 +120,7 @@ extern BOOL HTConfirmCookie PARAMS((
 **	303 for redirect as GET without content
 */
 extern int HTConfirmPostRedirect PARAMS((
-	CONST char *	redirecting_url,
+	CONST char *	redirecting_url_arg,
 	int		server_status));
 
 /*
diff --git a/WWW/Library/Implementation/HTAnchor.c b/WWW/Library/Implementation/HTAnchor.c
index c2cf273c..20f7cfe1 100644
--- a/WWW/Library/Implementation/HTAnchor.c
+++ b/WWW/Library/Implementation/HTAnchor.c
@@ -23,12 +23,11 @@
 #include "UCAux.h"
 #include "UCMap.h"
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
 
-extern LYUCcharset LYCharSet_UC[];
-
 #ifdef NOT_DEFINED
 /*
  *	This is the hashing function used to determine which list in the
@@ -1084,10 +1083,10 @@ PUBLIC HTAnchor * HTAnchor_followTypedLink ARGS2(
         return me->mainLink.dest;
     if (me->links) {
         HTList *links = me->links;
-        HTLink *link;
-        while (NULL != (link=(HTLink *)HTList_nextObject(links))) {
-            if (link->type == type) {
-	        return link->dest;
+        HTLink *the_link;
+        while (NULL != (the_link=(HTLink *)HTList_nextObject(links))) {
+            if (the_link->type == type) {
+	        return the_link->dest;
 	    }
 	}
     }
diff --git a/WWW/Library/Implementation/HTAuth.c b/WWW/Library/Implementation/HTAuth.c
index 7f7b363b..8d2ec4ca 100644
--- a/WWW/Library/Implementation/HTAuth.c
+++ b/WWW/Library/Implementation/HTAuth.c
@@ -41,7 +41,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
     static char *cleartext = NULL;
     char *username = NULL;
     char *password = NULL;
-    char *inet_addr = NULL;
+    char *i_net_adr = NULL;
     char *timestamp = NULL;
     char *browsers_key = NULL;
 
@@ -111,8 +111,8 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
 ** Extract rest of the fields
 */
     if (scheme == HTAA_PUBKEY) {
-	if (                          !(inet_addr   =strchr(password, ':')) || 
-	    (*(inet_addr++)   ='\0'), !(timestamp   =strchr(inet_addr,':')) ||
+	if (                          !(i_net_adr   =strchr(password, ':')) || 
+	    (*(i_net_adr++)   ='\0'), !(timestamp   =strchr(i_net_adr,':')) ||
 	    (*(timestamp++)   ='\0'), !(browsers_key=strchr(timestamp,':')) ||
 	    (*(browsers_key++)='\0')) {
 
@@ -128,7 +128,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
 */
     user->username   = username;
     user->password   = password;
-    user->inet_addr  = inet_addr;
+    user->inet_addr  = i_net_adr;
     user->timestamp  = timestamp;
     user->secret_key = browsers_key;
 
@@ -140,7 +140,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
 	else
 	    fprintf(stderr, "decompose_auth_string: %s (%s,%s,%s,%s,%s)\n",
 		    "Pubkey scheme authentication string:",
-		    username, password, inet_addr, timestamp, browsers_key);
+		    username, password, i_net_adr, timestamp, browsers_key);
     }
     
     return user;
@@ -154,7 +154,7 @@ PRIVATE BOOL HTAA_checkTimeStamp ARGS1(CONST char *, timestamp)
 }
 
 
-PRIVATE BOOL HTAA_checkInetAddress ARGS1(CONST char *, inet_addr)
+PRIVATE BOOL HTAA_checkInetAddress ARGS1(CONST char *, i_net_adr)
 {
     return NO;		/* This is just a stub */
 }
diff --git a/WWW/Library/Implementation/HTFTP.c b/WWW/Library/Implementation/HTFTP.c
index c347116a..ac909d75 100644
--- a/WWW/Library/Implementation/HTFTP.c
+++ b/WWW/Library/Implementation/HTFTP.c
@@ -420,7 +420,6 @@ PRIVATE int response ARGS1(
     int result;				/* Three-digit decimal code */
     int	continuation_response = -1;
     int status;
-    extern int interrupted_in_htgetcharacter;
 
     if (!control) {
           if (TRACE)
@@ -535,11 +534,11 @@ PRIVATE int response ARGS1(
  *  Some servers need an additional letter after the MACB command.
  */
 PRIVATE int set_mac_binary ARGS1(
-        int,		server_type)
+        int,		ServerType)
 {
     /* try to set mac binary mode */
-    if (server_type == APPLESHARE_SERVER ||
-	server_type == NETPRESENZ_SERVER) {
+    if (ServerType == APPLESHARE_SERVER ||
+	ServerType == NETPRESENZ_SERVER) {
 	/*
 	 *  Presumably E means "Enable"  - kw
 	 */
@@ -554,8 +553,8 @@ PRIVATE int set_mac_binary ARGS1(
  */
 
 PRIVATE void get_ftp_pwd ARGS2(
-	int *,		server_type,
-	BOOLEAN *,	use_list)
+	int *,		ServerType,
+	BOOLEAN *,	UseList)
 {
 
     char *cp;
@@ -567,45 +566,45 @@ PRIVATE void get_ftp_pwd ARGS2(
 	cp = strchr(response_text+5,'"');
 	if (cp)
 	    *cp = '\0';
-        if (*server_type == TCPC_SERVER) {
-            *server_type = ((response_text[5] == '/') ?
+        if (*ServerType == TCPC_SERVER) {
+            *ServerType = ((response_text[5] == '/') ?
 	    				  NCSA_SERVER : TCPC_SERVER);
 	     if (TRACE)
 	         fprintf(stderr, "HTFTP: Treating as %s server.\n",
-		 	 ((*server_type == NCSA_SERVER) ?
+		 	 ((*ServerType == NCSA_SERVER) ?
 			 			 "NCSA" : "TCPC"));
         } else if (response_text[5] == '/') {
             /* path names beginning with / imply Unix,
 	     * right?
 	     */
-	    if (set_mac_binary(*server_type)) {
-		*server_type = NCSA_SERVER;
+	    if (set_mac_binary(*ServerType)) {
+		*ServerType = NCSA_SERVER;
 		if (TRACE)
 	            fprintf(stderr, "HTFTP: Treating as NCSA server.\n");
 	    } else {
-                 *server_type = UNIX_SERVER;
-                 *use_list = TRUE;
+                 *ServerType = UNIX_SERVER;
+                 *UseList = TRUE;
 		 if (TRACE)
 	             fprintf(stderr, "HTFTP: Treating as Unix server.\n");
 	    }
 	    return;
         } else if (response_text[strlen(response_text)-1] == ']') {
             /* path names ending with ] imply VMS, right? */
-            *server_type = VMS_SERVER;
-	    *use_list = TRUE;
+            *ServerType = VMS_SERVER;
+	    *UseList = TRUE;
 	    if (TRACE)
 	        fprintf(stderr, "HTFTP: Treating as VMS server.\n");
         } else {
-            *server_type = GENERIC_SERVER;
+            *ServerType = GENERIC_SERVER;
 	    if (TRACE)
 	        fprintf(stderr, "HTFTP: Treating as Generic server.\n");
 	}
 
-        if ((*server_type == NCSA_SERVER) ||
-            (*server_type == TCPC_SERVER) ||
-            (*server_type == PETER_LEWIS_SERVER) ||
-            (*server_type == NETPRESENZ_SERVER))
-            set_mac_binary(*server_type);
+        if ((*ServerType == NCSA_SERVER) ||
+            (*ServerType == TCPC_SERVER) ||
+            (*ServerType == PETER_LEWIS_SERVER) ||
+            (*ServerType == NETPRESENZ_SERVER))
+            set_mac_binary(*ServerType);
     }
 }
 
@@ -765,8 +764,7 @@ PRIVATE int get_connection ARGS2(
 
 /*	Now we log in		Look up username, prompt for pw.
 */
-  {
-    int status = response((char *)0);	/* Get greeting */
+    status = response((char *)0);	/* Get greeting */
 
     if (status == HT_INTERRUPTED)
       {
@@ -1026,7 +1024,6 @@ PRIVATE int get_connection ARGS2(
     }
 #endif /* NOTREPEAT_PORT */
     return con->socket;			/* Good return */
-  } /* Scope of con */
 }
 
 
@@ -1069,7 +1066,7 @@ PRIVATE int close_master_socket NOARGS
 PRIVATE int get_listen_socket NOARGS
 {
     struct sockaddr_in soc_address;	/* Binary network address */
-    struct sockaddr_in* sin = &soc_address;
+    struct sockaddr_in* soc_in = &soc_address;
     int new_socket;			/* Will be master_socket */
 
 
@@ -1093,8 +1090,8 @@ PRIVATE int get_listen_socket NOARGS
 
 /*  Search for a free port.
 */
-    sin->sin_family = AF_INET;	    /* Family = internet, host order  */
-    sin->sin_addr.s_addr = INADDR_ANY; /* Any peer address */
+    soc_in->sin_family = AF_INET;	    /* Family = internet, host order  */
+    soc_in->sin_addr.s_addr = INADDR_ANY;   /* Any peer address */
 #ifdef POLL_PORTS
     {
         unsigned short old_port_number = port_number;
@@ -1146,7 +1143,7 @@ PRIVATE int get_listen_socket NOARGS
 			     (void *)&address_length);
 	if (status<0) return HTInetStatus("getsockname");
 	CTRACE(tfp, "HTFTP: This host is %s\n",
-	    HTInetString(sin));
+	    HTInetString(soc_in));
 
 	soc_address.sin_port = 0;	/* Unspecified: please allocate */
 #ifdef SOCKS
@@ -1183,8 +1180,8 @@ PRIVATE int get_listen_socket NOARGS
 #endif /* POLL_PORTS */
 
     CTRACE(tfp, "HTFTP: bound to port %d on %s\n",
-    		(int)ntohs(sin->sin_port),
-		HTInetString(sin));
+    		(int)ntohs(soc_in->sin_port),
+		HTInetString(soc_in));
 
 #ifdef REPEAT_LISTEN
     if (master_socket >= 0)
@@ -1197,12 +1194,12 @@ PRIVATE int get_listen_socket NOARGS
 */
     (void)HTHostName(); 	/* Make address valid - doesn't work*/
     sprintf(port_command, "PORT %d,%d,%d,%d,%d,%d%c%c",
-		    (int)*((unsigned char *)(&sin->sin_addr)+0),
-		    (int)*((unsigned char *)(&sin->sin_addr)+1),
-		    (int)*((unsigned char *)(&sin->sin_addr)+2),
-		    (int)*((unsigned char *)(&sin->sin_addr)+3),
-		    (int)*((unsigned char *)(&sin->sin_port)+0),
-		    (int)*((unsigned char *)(&sin->sin_port)+1),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+3),
+		    (int)*((unsigned char *)(&soc_in->sin_port)+0),
+		    (int)*((unsigned char *)(&soc_in->sin_port)+1),
 		    CR, LF);
 
 
@@ -2234,22 +2231,22 @@ PRIVATE EntryInfo * parse_dir_entry ARGS2(
     **  Get real types eventually.
     */
     if (!entry_info->type) {
-	CONST char *cp;
+	CONST char *cp2;
         HTFormat format;
         HTAtom * encoding;  /* @@ not used at all */
-        format = HTFileFormat(entry_info->filename, &encoding, &cp);
+        format = HTFileFormat(entry_info->filename, &encoding, &cp2);
 
-	if (cp == NULL) {
+	if (cp2 == NULL) {
 	    if (!strncmp(HTAtom_name(format), "application",11)) {
-		cp = HTAtom_name(format) + 12;
-		if (!strncmp(cp,"x-",2))
-		    cp += 2;
+		cp2 = HTAtom_name(format) + 12;
+		if (!strncmp(cp2,"x-",2))
+		    cp2 += 2;
 	    } else {
-		cp = HTAtom_name(format);
+		cp2 = HTAtom_name(format);
 	    }
 	}
 
-        StrAllocCopy(entry_info->type, cp);
+        StrAllocCopy(entry_info->type, cp2);
     }
 
     return(entry_info);
@@ -2848,11 +2845,11 @@ PUBLIC int HTFTPLoad ARGS4(
 	    ** Check if translation of HOME as tilde is supported,
 	    ** and adjust filename if so. - FM
 	    */
-	    char *cp = NULL;
+	    char *cp2 = NULL;
 	    char *fn = NULL;
 
-	    if ((cp = strchr((filename+1), '/')) != NULL) {
-		*cp = '\0';
+	    if ((cp2 = strchr((filename+1), '/')) != NULL) {
+		*cp2 = '\0';
 	    }
 	    sprintf(command, "PWD%c%c", CR, LF);
 	    status = response(command);
@@ -2861,39 +2858,39 @@ PUBLIC int HTFTPLoad ARGS4(
 		status = response(command);
 		if (status == 2) {
 		    StrAllocCopy(fn, (filename+1));
-		    if (cp) {
-			*cp = '/';
+		    if (cp2) {
+			*cp2 = '/';
 			if (fn[strlen(fn)-1] != '/') {
-			    StrAllocCat(fn, cp);
+			    StrAllocCat(fn, cp2);
 			} else {
-			    StrAllocCat(fn, (cp+1));
+			    StrAllocCat(fn, (cp2+1));
 			}
-			cp = NULL;
+			cp2 = NULL;
 		    }
 		    FREE(fname);
 		    fname = filename = fn;
 		}
 	    }
-	    if (cp) {
-	        *cp = '/';
+	    if (cp2) {
+	        *cp2 = '/';
 	    }
 	}
 	if (strlen(filename) > 3) {
-	    char *cp;
-	    if (((cp=strrchr(filename, '.')) != NULL &&
-	         0 == strncasecomp(cp, ".me", 3)) &&
-		(cp[3] == '\0' || cp[3] == ';')) {
+	    char *cp2;
+	    if (((cp2=strrchr(filename, '.')) != NULL &&
+	         0 == strncasecomp(cp2, ".me", 3)) &&
+		(cp2[3] == '\0' || cp2[3] == ';')) {
 		/*
 		**  Don't treat this as application/x-Troff-me
 		**  if it's a Unix server but has the string
 		**  "read.me", or if it's not a Unix server. - FM
 		*/
 	        if ((server_type != UNIX_SERVER) ||
-		    (cp > (filename + 3) &&
-	             0 == strncasecomp((cp - 4), "read.me", 7))) {
-		    *cp = '\0';
+		    (cp2 > (filename + 3) &&
+	             0 == strncasecomp((cp2 - 4), "read.me", 7))) {
+		    *cp2 = '\0';
 		    format = HTFileFormat(filename, &encoding, NULL);
-		    *cp = '.';
+		    *cp2 = '.';
 		} else {
 		    format = HTFileFormat(filename, &encoding, NULL);
 		}
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index a4eae4a7..d3086008 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -79,6 +79,9 @@
 #include "UCAux.h"
 
 #include "LYexit.h"
+#include "LYCharSets.h"
+#include "LYGlobalDefs.h"
+#include "LYUtils.h"
 #include "LYLeaks.h"
 
 typedef struct _HTSuffix {
@@ -126,8 +129,6 @@ extern BOOLEAN dir_list_style;
 PUBLIC int HTDirReadme = HT_DIR_README_TOP;
 #endif /* DIRED_SUPPORT */
 
-extern int current_char_set;
-extern CONST char *LYchar_set_names[];
 extern BOOLEAN LYRawMode;
 extern BOOL HTPassEightBitRaw;
 extern HTCJKlang HTCJK;
@@ -515,19 +516,19 @@ Bug removed thanks to joe@athena.mit.edu */
 PUBLIC char * HTCacheFileName ARGS1(
 	CONST char *,	name)
 {
-    char * access = HTParse(name, "", PARSE_ACCESS);
+    char * acc_method = HTParse(name, "", PARSE_ACCESS);
     char * host = HTParse(name, "", PARSE_HOST);
     char * path = HTParse(name, "", PARSE_PATH+PARSE_PUNCTUATION);
     
     char * result;
     result = (char *)malloc(
-	    strlen(HTCacheRoot)+strlen(access)
+	    strlen(HTCacheRoot)+strlen(acc_method)
 	    +strlen(host)+strlen(path)+6+1);
     if (result == NULL)
         outofmem(__FILE__, "HTCacheFileName");
-    sprintf(result, "%s/WWW/%s/%s%s", HTCacheRoot, access, host, path);
+    sprintf(result, "%s/WWW/%s/%s%s", HTCacheRoot, acc_method, host, path);
     FREE(path);
-    FREE(access);
+    FREE(acc_method);
     FREE(host);
     return result;
 }
@@ -555,14 +556,14 @@ PRIVATE int HTCreatePath ARGS1(CONST char *,path)
 PUBLIC char * HTLocalName ARGS1(
 	CONST char *,	name)
 {
-    char * access = HTParse(name, "", PARSE_ACCESS);
+    char * acc_method = HTParse(name, "", PARSE_ACCESS);
     char * host = HTParse(name, "", PARSE_HOST);
     char * path = HTParse(name, "", PARSE_PATH+PARSE_PUNCTUATION);
     
     HTUnEscape(path);	/* Interpret % signs */
     
-    if (0 == strcmp(access, "file")) { /* local file */
-        FREE(access);	
+    if (0 == strcmp(acc_method, "file")) { /* local file */
+        FREE(acc_method);	
 	if ((0 == strcasecomp(host, HTHostName())) ||
 	    (0 == strcasecomp(host, "localhost")) || !*host) {
 	    FREE(host);
@@ -608,12 +609,12 @@ PUBLIC char * HTLocalName ARGS1(
 	    home = "/tmp"; 
 #endif /* VMS */
 	result = (char *)malloc(
-		strlen(home)+strlen(access)+strlen(host)+strlen(path)+6+1);
+		strlen(home)+strlen(acc_method)+strlen(host)+strlen(path)+6+1);
         if (result == NULL)
             outofmem(__FILE__, "HTLocalName");
-	sprintf(result, "%s/WWW/%s/%s%s", home, access, host, path);
+	sprintf(result, "%s/WWW/%s/%s%s", home, acc_method, host, path);
 	FREE(path);
-	FREE(access);
+	FREE(acc_method);
 	FREE(host);
 	return result;
     }
@@ -748,7 +749,6 @@ PUBLIC HTFormat HTFileFormat ARGS3(
 #ifdef VMS
     char *semicolon = NULL;
 #endif /* VMS */
-    extern BOOLEAN LYforce_HTML_mode;
 
     if (pencoding)
 	*pencoding = NULL;
@@ -1171,14 +1171,14 @@ PUBLIC BOOL HTEditable ARGS1(
     myUid = geteuid();				/* Get my user identifier */
 
     if (TRACE) {
-        int i;
+        int i2;
 	fprintf(stderr, 
 	    "File mode is 0%o, uid=%d, gid=%d. My uid=%d, %d groups (",
     	    (unsigned int) fileStatus.st_mode, fileStatus.st_uid,
 	    fileStatus.st_gid,
 	    myUid, ngroups);
-	for (i = 0; i < ngroups; i++)
-	    fprintf(stderr, " %d", groups[i]);
+	for (i2 = 0; i2 < ngroups; i2++)
+	    fprintf(stderr, " %d", groups[i2]);
 	fprintf(stderr, ")\n");
     }
     
@@ -1426,7 +1426,6 @@ PUBLIC BOOL HTDirTitles ARGS3(
 	    **  On VMS, this problem is dealt with internally by
 	    **  HTVMSBrowseDir().
 	    */
-	    extern BOOLEAN LYisLocalFile PARAMS((char *logical));
 	    DIR  * dp = NULL;
 
 	    if (LYisLocalFile(logical)) {
@@ -1524,7 +1523,7 @@ PUBLIC int HTLoadFile ARGS4(
 	HTStream *,		sink)
 {
     char * filename = NULL;
-    char * access = NULL;
+    char * acc_method = NULL;
     HTFormat format;
     char * nodename = NULL;
     char * newname = NULL;	/* Simplified name of file */
@@ -1533,8 +1532,6 @@ PUBLIC int HTLoadFile ARGS4(
     int status;
 #ifdef VMS
     struct stat stat_info;
-#else
-    extern char *list_format;
 #endif /* VMS */
 #ifdef USE_ZLIB
     gzFile gzfp = 0;
@@ -1551,8 +1548,8 @@ PUBLIC int HTLoadFile ARGS4(
     /*
     **  If access is ftp, or file is on another host, invoke ftp now.
     */
-    access = HTParse(newname, "", PARSE_ACCESS);
-    if (strcmp("ftp", access) == 0 ||
+    acc_method = HTParse(newname, "", PARSE_ACCESS);
+    if (strcmp("ftp", acc_method) == 0 ||
        (strcmp("localhost", nodename) != 0 &&
 #ifdef VMS
         strcasecomp(nodename, HTHostName()) != 0
@@ -1563,11 +1560,11 @@ PUBLIC int HTLoadFile ARGS4(
         FREE(newname);
 	FREE(filename);
 	FREE(nodename);
-        FREE(access);
+        FREE(acc_method);
         return HTFTPLoad(addr, anchor, format_out, sink);
     } else {
         FREE(newname);
-        FREE(access);
+        FREE(acc_method);
     }
 #ifdef VMS
     HTUnEscape(filename);
@@ -2110,7 +2107,6 @@ PUBLIC int HTLoadFile ARGS4(
 			**  While there are directory entries to be read...
 			*/
 		        char * dirname = NULL;
-			extern BOOLEAN no_dotfiles, show_dotfiles;
 
 #ifndef DOSPATH
 		        if (dirbuf->d_ino == 0)
@@ -2235,7 +2231,7 @@ PUBLIC int HTLoadFile ARGS4(
 				    if (dir_list_style != MIXED_STYLE) {
 				       START(HTML_EM);
 				       PUTS(state == 'D' ?
-				          "Subirectories:" : "Files:");
+				          "Subdirectories:" : "Files:");
 				       END(HTML_EM);
 				    }
 				    END(HTML_H2);
diff --git a/WWW/Library/Implementation/HTFile.h b/WWW/Library/Implementation/HTFile.h
index e6a7926a..ba94597a 100644
--- a/WWW/Library/Implementation/HTFile.h
+++ b/WWW/Library/Implementation/HTFile.h
@@ -66,6 +66,15 @@ extern BOOL HTDirTitles PARAMS((
         HTAnchor *      anchor,
 	BOOL		tildeIsTop));
 
+/*	Load a document.
+**	----------------
+*/
+extern int HTLoadFile PARAMS((
+	CONST char *		addr,
+	HTParentAnchor *	anchor,
+	HTFormat		format_out,
+	HTStream *		sink));
+
 /*
 **  Output a directory entry
 **
@@ -162,6 +171,12 @@ extern float HTFileValue PARAMS((
 */
 extern BOOL HTEditable PARAMS((CONST char * filename));
 
+/*	Make a save stream.
+**	-------------------
+*/
+extern HTStream * HTFileSaveStream PARAMS((
+	HTParentAnchor *	anchor));
+
 /*
 ** Determine a suitable suffix, given the representation.
 **
diff --git a/WWW/Library/Implementation/HTFinger.c b/WWW/Library/Implementation/HTFinger.c
index 06188d2b..e714e0d2 100644
--- a/WWW/Library/Implementation/HTFinger.c
+++ b/WWW/Library/Implementation/HTFinger.c
@@ -119,7 +119,6 @@ PRIVATE int response ARGS5(
     int ch, i;
     char line[BIG], *l, *cmd=NULL;
     char *p = line, *href=NULL;
-    extern int interrupted_in_htgetcharacter;
 
     if (length == 0)
         return(-1);
diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c
index 2653833f..ee0e36c9 100644
--- a/WWW/Library/Implementation/HTFormat.c
+++ b/WWW/Library/Implementation/HTFormat.c
@@ -1,4 +1,3 @@
-
 /*		Manage different file formats			HTFormat.c
 **		=============================
 **
@@ -48,6 +47,8 @@ PUBLIC long int HTMaxBytes  = 0;	/* No effective limit */
 #include "HTMLGen.h"
 
 #include "LYexit.h"
+#include "LYUtils.h"
+#include "LYGlobalDefs.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
@@ -549,7 +550,6 @@ PUBLIC int HTCopy ARGS4(
     */
     for (;;) {
 	int status;
-	extern char LYCancelDownload;
 
 	if (LYCancelDownload) {
 	    LYCancelDownload = FALSE;
@@ -871,7 +871,6 @@ PUBLIC int HTParseSocket ARGS5(
     HTStream * stream;
     HTStreamClass targetClass;
     int rv;
-    extern char LYCancelDownload;
 
     stream = HTStreamStack(rep_in, format_out, sink, anchor);
     
@@ -926,7 +925,6 @@ PUBLIC int HTParseFile ARGS5(
     
     if (!stream) {
         char buffer[1024];	/* @@@@@@@@ */
-	extern char LYCancelDownload;
         if (LYCancelDownload) {
 	    LYCancelDownload = FALSE;
 	    return -1;
diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h
index 80fb91dd..225456b6 100644
--- a/WWW/Library/Implementation/HTFormat.h
+++ b/WWW/Library/Implementation/HTFormat.h
@@ -350,6 +350,7 @@ extern void HTInitInput PARAMS((int file_number));
 Get next character from buffer
 
  */
+extern int interrupted_in_htgetcharacter;
 extern char HTGetCharacter NOPARAMS;
 
 
diff --git a/WWW/Library/Implementation/HTGopher.c b/WWW/Library/Implementation/HTGopher.c
index d4e1673e..449a355d 100644
--- a/WWW/Library/Implementation/HTGopher.c
+++ b/WWW/Library/Implementation/HTGopher.c
@@ -226,7 +226,6 @@ PRIVATE void parse_menu ARGS2(
     int bytes = 0;
     int BytesReported = 0;
     char buffer[128];
-    extern int interrupted_in_htgetcharacter;
 
 #define TAB 		'\t'
 #define HEX_ESCAPE 	'%'
@@ -354,7 +353,7 @@ PRIVATE void parse_menu ARGS2(
 		}
 		else {			/* If parsed ok */
 		    char *q;
-		    char *p;
+		    char *r;
 
 		    switch(gtype) {
                		case GOPHER_TEXT:
@@ -411,12 +410,12 @@ PRIVATE void parse_menu ARGS2(
 		    sprintf(address, "//%s/%c", host, gtype);
 
 		    q = address+ strlen(address);
-		    for(p=selector; *p; p++) {	/* Encode selector string */
-			if (acceptable[(unsigned char)*p]) *q++ = *p;
+		    for(r=selector; *r; r++) {	/* Encode selector string */
+			if (acceptable[(unsigned char)*r]) *q++ = *r;
 			else {
 			    *q++ = HEX_ESCAPE;	/* Means hex coming */
-			    *q++ = hex[(TOASCII(*p)) >> 4];
-			    *q++ = hex[(TOASCII(*p)) & 15];
+			    *q++ = hex[(TOASCII(*r)) >> 4];
+			    *q++ = hex[(TOASCII(*r)) & 15];
 			}
 		    }
 
@@ -940,8 +939,7 @@ PRIVATE int parse_cso_fields ARGS2(
     int i, code = 0, prev_code, alen;
     char *indx, *name;
     CSOfield_info *last, *new;
-    extern int interrupted_in_htgetcharacter;
-    
+
     last = CSOfields = (CSOfield_info *) 0;
     prev_code = -2555;
     buf[0] = '\0';
@@ -1243,7 +1241,6 @@ PRIVATE int generate_cso_report ARGS2(
     char *rcode, *ndx_str, *fname, *fvalue, *l;
     CSOfield_info *fld;
     BOOL stop = FALSE; 
-    extern int interrupted_in_htgetcharacter;
 
     /*
     **  Read lines until non-negative status.
@@ -1475,7 +1472,7 @@ end_CSOreport:
 /*      CSO/PH form-based search gateway - FM			HTLoadCSO
 **	=====================================
 */
-PUBLIC int HTLoadCSO ARGS4(
+PRIVATE int HTLoadCSO ARGS4(
         CONST char *,		arg,
         HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
@@ -1744,7 +1741,7 @@ PUBLIC int HTLoadCSO ARGS4(
 **  Bug:  No decoding of strange data types as yet.
 **
 */
-PUBLIC int HTLoadGopher ARGS4(
+PRIVATE int HTLoadGopher ARGS4(
 	CONST char *,		arg,
 	HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
diff --git a/WWW/Library/Implementation/HTGroup.c b/WWW/Library/Implementation/HTGroup.c
index c7abb13e..f6b17578 100644
--- a/WWW/Library/Implementation/HTGroup.c
+++ b/WWW/Library/Implementation/HTGroup.c
@@ -514,16 +514,16 @@ PRIVATE BOOL part_match ARGS2(CONST char *, tcur,
 **		MATCH INET NUMBER AGAINST AN INET NUMBER MASK
 ** ON ENTRY:
 **	template	mask to match agaist, e.g. 128.141.*.*
-**	inet_addr	actual inet address, e.g. 128.141.201.74
+**	the_inet_addr	actual inet address, e.g. 128.141.201.74
 **
 ** ON EXIT:
 **	returns		YES, if match;  NO, if not.
 */
 PRIVATE BOOL ip_number_match ARGS2(CONST char *,	template,
-				   CONST char *,	inet_addr)
+				   CONST char *,	the_inet_addr)
 {
     CONST char *tcur = template;
-    CONST char *icur = inet_addr;
+    CONST char *icur = the_inet_addr;
     int cnt;
     
     for (cnt=0; cnt<4; cnt++) {
diff --git a/WWW/Library/Implementation/HTMIME.c b/WWW/Library/Implementation/HTMIME.c
index 7108018a..6c9a83ab 100644
--- a/WWW/Library/Implementation/HTMIME.c
+++ b/WWW/Library/Implementation/HTMIME.c
@@ -19,11 +19,11 @@
 #include "UCDefs.h"
 #include "UCAux.h"
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
 
-extern int current_char_set;
 extern CONST char *LYchar_set_names[];
 extern BOOLEAN LYRawMode;
 extern BOOL HTPassEightBitRaw;
@@ -1542,40 +1542,40 @@ PRIVATE void HTMIME_put_character ARGS2(
 		**  Check whether to set no_cache for the anchor. - FM
 		*/
 		{
-		    char *cp, *cp0 = me->value;
+		    char *cp1, *cp0 = me->value;
 
-		    while ((cp = strstr(cp0, "no-cache")) != NULL) {
-		        cp += 8;
-		        while (*cp != '\0' && WHITE(*cp))
-			    cp++;
-			if (*cp == '\0' || *cp == ';') {
+		    while ((cp1 = strstr(cp0, "no-cache")) != NULL) {
+		        cp1 += 8;
+		        while (*cp1 != '\0' && WHITE(*cp1))
+			    cp1++;
+			if (*cp1 == '\0' || *cp1 == ';') {
 			    me->anchor->no_cache = TRUE;
 			    break;
 			}
-			cp0 = cp;
+			cp0 = cp1;
 		    }
 		    if (me->anchor->no_cache == TRUE)
 		        break;
 		    cp0 = me->value;
-		    while ((cp = strstr(cp0, "max-age")) != NULL) {
-		        cp += 7;
-		        while (*cp != '\0' && WHITE(*cp))
-			    cp++;
-			if (*cp == '=') {
-			    cp++;
-			    while (*cp != '\0' && WHITE(*cp))
-			        cp++;
-			    if (isdigit((unsigned char)*cp)) {
-			        cp0 = cp;
-				while (isdigit((unsigned char)*cp))
-				    cp++;
-			        if (*cp0 == '0' && cp == (cp0 + 1)) {
+		    while ((cp1 = strstr(cp0, "max-age")) != NULL) {
+		        cp1 += 7;
+		        while (*cp1 != '\0' && WHITE(*cp1))
+			    cp1++;
+			if (*cp1 == '=') {
+			    cp1++;
+			    while (*cp1 != '\0' && WHITE(*cp1))
+			        cp1++;
+			    if (isdigit((unsigned char)*cp1)) {
+			        cp0 = cp1;
+				while (isdigit((unsigned char)*cp1))
+				    cp1++;
+			        if (*cp0 == '0' && cp1 == (cp0 + 1)) {
 			            me->anchor->no_cache = TRUE;
 				    break;
 				}
 			    }
 			}
-			cp0 = cp;
+			cp0 = cp1;
 		    }
 		}
                 break;
diff --git a/WWW/Library/Implementation/HTNews.c b/WWW/Library/Implementation/HTNews.c
index ff488f1f..d8d958d7 100644
--- a/WWW/Library/Implementation/HTNews.c
+++ b/WWW/Library/Implementation/HTNews.c
@@ -46,6 +46,8 @@ PUBLIC int HTNewsMaxChunk = 40;	/* Largest number of articles in one window */
 #include "HTFormat.h"
 #include "HTAlert.h"
 
+#include "LYNews.h"
+#include "LYGlobalDefs.h"
 #include "LYLeaks.h"
 
 #define BIG 1024 /* @@@ */
@@ -321,7 +323,6 @@ PRIVATE NNTPAuthResult HTHandleAuthInfo ARGS1(
     char *msg = NULL;
     char buffer[512];
     int status, tries;
-    extern BOOL dump_output_immediately;
 
     /*
     **  Make sure we have an interactive user and a host. - FM
@@ -551,22 +552,22 @@ PRIVATE NNTPAuthResult HTHandleAuthInfo ARGS1(
 PRIVATE char * author_name ARGS1 (char *,email)
 {
     static char *name = NULL;
-    char *s, *e;
+    char *p, *e;
     
     StrAllocCopy(name, email);
     if (TRACE)
         fprintf(stderr,"Trying to find name in: %s\n",name);
 
-    if ((s = strchr(name, '(')) && (e = strchr(name, ')'))) {
-        if (e > s) {
+    if ((p = strchr(name, '(')) && (e = strchr(name, ')'))) {
+        if (e > p) {
 	    *e = '\0';			/* Chop off everything after the ')'  */
-	    return HTStrip(s+1);	/* Remove leading and trailing spaces */
+	    return HTStrip(p+1);	/* Remove leading and trailing spaces */
 	}
     }
 	
-    if ((s = strchr(name, '<')) && (e = strchr(name, '>'))) {
-        if (e > s) {
-	    strcpy(s, e+1);		/* Remove <...> */
+    if ((p = strchr(name, '<')) && (e = strchr(name, '>'))) {
+        if (e > p) {
+	    strcpy(p, e+1);		/* Remove <...> */
 	    return HTStrip(name);	/* Remove leading and trailing spaces */
 	}
     }
@@ -589,52 +590,52 @@ PRIVATE char * author_name ARGS1 (char *,email)
 PRIVATE char * author_address ARGS1(char *,email)
 {
     static char *address = NULL;
-    char *s, *at, *e;
+    char *p, *at, *e;
 
     StrAllocCopy(address, email);
     if (TRACE)
         fprintf(stderr,"Trying to find address in: %s\n",address);
 
-    if ((s = strchr(address, '<'))) {
-        if ((e = strchr(s, '>')) && (at = strchr(s, '@'))) {
+    if ((p = strchr(address, '<'))) {
+        if ((e = strchr(p, '>')) && (at = strchr(p, '@'))) {
 	    if (at < e) {
                 *e = '\0';               /* Remove > */
-                return HTStrip(s+1);  /* Remove leading and trailing spaces */
+                return HTStrip(p+1);  /* Remove leading and trailing spaces */
 	    }
 	}
     }
 
-    if ((s = strchr(address, '(')) &&
+    if ((p = strchr(address, '(')) &&
         (e = strchr(address, ')')) && (at = strchr(address, '@'))) {
-        if (e > s && at < e) {
-            *s = '\0';                  /* Chop off everything after the ')'  */
+        if (e > p && at < e) {
+            *p = '\0';                  /* Chop off everything after the ')'  */
             return HTStrip(address);    /* Remove leading and trailing spaces */
         }
     }
 
     if ((at = strchr(address, '@')) && at > address) {
-        s = (at - 1);
+        p = (at - 1);
 	e = (at + 1);
-        while (s > address && !isspace((unsigned char)*s))
-	    s--;
+        while (p > address && !isspace((unsigned char)*p))
+	    p--;
 	while (*e && !isspace((unsigned char)*e))
 	    e++;
 	*e = 0;
-	return HTStrip(s);
+	return HTStrip(p);
     }
 
     /*
     **  Default to the first word.
     */
-    s = address;
-    while (isspace((unsigned char)*s))
-        s++; /* find first non-space */
-    e = s;
+    p = address;
+    while (isspace((unsigned char)*p))
+        p++; /* find first non-space */
+    e = p;
     while (!isspace((unsigned char)*e) && *e != '\0')
         e++; /* find next space or end */
     *e = '\0'; /* terminate space */
 
-    return(s);
+    return(p);
 }
 
 /*	Start anchor element
@@ -1310,16 +1311,16 @@ PRIVATE int read_article NOARGS
 		    **  and any strings that look like URLs to links. - FM
 		    */
 		    char *l = line;
-		    char *p;
+		    char *p2;
 
-		    while ((p = strstr(l, "rticle <")) != NULL) {
-		        char *q  = strchr(p,'>');
-		        char *at = strchr(p, '@');
+		    while ((p2 = strstr(l, "rticle <")) != NULL) {
+		        char *q  = strchr(p2,'>');
+		        char *at = strchr(p2, '@');
 		        if (q && at && at<q) {
 		            char c = q[1];
 			    q[1] = 0;		/* chop up */
-			    p += 7;
-			    *p = 0;
+			    p2 += 7;
+			    *p2 = 0;
 			    while (*l) {
 			        if (strncmp(l, "news:", 5) &&
 				    strncmp(l, "snews://", 8) &&
@@ -1347,11 +1348,11 @@ PRIVATE int read_article NOARGS
 				    FREE(href);
 				}
 			    }
-			    *p = '<'; 		/* again */
+			    *p2 = '<'; 		/* again */
 			    *q = 0;
-			    start_anchor(p+1);
+			    start_anchor(p2+1);
 			    *q = '>'; 		/* again */
-			    PUTS(p);
+			    PUTS(p2);
 			    END(HTML_A);
 			    q[1] = c;		/* again */
 			    l=q+1;
@@ -1860,7 +1861,7 @@ PRIVATE int read_group ARGS3(
 			case 'f':
 			case 'F':
 			    if (match(line, "FROM:")) {
-				char * p;
+				char * p2;
 				strcpy(author,
 					author_name(strchr(line,':')+1));
 #ifdef NOTUSED_CHARTRANS
@@ -1872,9 +1873,9 @@ PRIVATE int read_group ARGS3(
 				    HTmmdecode(author, author);
 				    HTrjis(author, author);
 				}
-				p = author + strlen(author) - 1;
-				if (*p==LF)
-				    *p = '\0';	/* Chop off newline */
+				p2 = author + strlen(author) - 1;
+				if (*p2==LF)
+				    *p2 = '\0';	/* Chop off newline */
 			    }
 			    break;
 
@@ -2012,7 +2013,7 @@ add_post:
 /*	Load by name.						HTLoadNews
 **	=============
 */
-PUBLIC int HTLoadNews ARGS4(
+PRIVATE int HTLoadNews ARGS4(
 	CONST char *,		arg,
 	HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
@@ -2543,8 +2544,6 @@ PUBLIC int HTLoadNews ARGS4(
 		return(HT_NOT_LOADED);
 	    }
 	    if (postfile == NULL) {
-	        extern char *LYNewsPost PARAMS((char *newsgroups,
-						BOOLEAN followup));
 		postfile = LYNewsPost(ListArg, (reply_wanted || sreply_wanted));
 	    }
 	    if (postfile == NULL) {
diff --git a/WWW/Library/Implementation/HTParse.c b/WWW/Library/Implementation/HTParse.c
index 76be1d77..2aaed746 100644
--- a/WWW/Library/Implementation/HTParse.c
+++ b/WWW/Library/Implementation/HTParse.c
@@ -187,7 +187,7 @@ PUBLIC char * HTParse ARGS3(
     char * name = NULL;
     char * rel = NULL;
     char * p;
-    char * access;
+    char * acc_method;
     struct struct_parts given, related;
 
     if (TRACE)
@@ -227,10 +227,10 @@ PUBLIC char * HTParse ARGS3(
 	    */
 	    given.absolute = "";
     }
-    access = given.access ? given.access : related.access;
+    acc_method = given.access ? given.access : related.access;
     if (wanted & PARSE_ACCESS) {
-        if (access) {
-	    strcat(result, access);
+        if (acc_method) {
+	    strcat(result, acc_method);
 	    if (wanted & PARSE_PUNCTUATION)
 	        strcat(result, ":");
 	}
@@ -277,55 +277,55 @@ PUBLIC char * HTParse ARGS3(
 	    **  which will only cause identical addresses to look different.
 	    */
 	    {
-	    	char *p, *h;
-		if ((p = strchr(result, '@')) != NULL)
-		   tail = (p + 1);
-		p = strchr(tail, ':');
-		if (p != NULL && !isdigit((unsigned char)p[1]))
+	    	char *p2, *h;
+		if ((p2 = strchr(result, '@')) != NULL)
+		   tail = (p2 + 1);
+		p2 = strchr(tail, ':');
+		if (p2 != NULL && !isdigit((unsigned char)p2[1]))
 		    /*
 		    **  Colon not followed by a port number.
 		    */
-		    *p = '\0';
-		if (p != NULL && p != '\0' && access != NULL) {
+		    *p2 = '\0';
+		if (p2 != NULL && *p2 != '\0' && acc_method != NULL) {
 		    /*
 		    **  Port specified.
 		    */
-		    if ((!strcmp(access, "http"      ) && !strcmp(p, ":80" )) ||
-		        (!strcmp(access, "https"     ) && !strcmp(p, ":443")) ||
-		        (!strcmp(access, "gopher"    ) && !strcmp(p, ":70" )) ||
-		        (!strcmp(access, "ftp"       ) && !strcmp(p, ":21" )) ||
-		        (!strcmp(access, "wais"      ) && !strcmp(p, ":210")) ||
-		        (!strcmp(access, "nntp"      ) && !strcmp(p, ":119")) ||
-			(!strcmp(access, "news"      ) && !strcmp(p, ":119")) ||
-			(!strcmp(access, "newspost"  ) && !strcmp(p, ":119")) ||
-			(!strcmp(access, "newsreply" ) && !strcmp(p, ":119")) ||
-		        (!strcmp(access, "snews"     ) && !strcmp(p, ":563")) ||
-		        (!strcmp(access, "snewspost" ) && !strcmp(p, ":563")) ||
-		        (!strcmp(access, "snewsreply") && !strcmp(p, ":563")) ||
-		        (!strcmp(access, "finger"    ) && !strcmp(p, ":79" )) ||
-		        (!strcmp(access, "telnet"    ) && !strcmp(p, ":23" )) ||
-		        (!strcmp(access, "tn3270"    ) && !strcmp(p, ":23" )) ||
-		        (!strcmp(access, "rlogin"    ) && !strcmp(p, ":513")) ||
-		        (!strcmp(access, "cso"       ) && !strcmp(p, ":105")))
-		    *p = '\0';	/* It is the default: ignore it */
+		    if ((!strcmp(acc_method, "http"      ) && !strcmp(p2, ":80" )) ||
+		        (!strcmp(acc_method, "https"     ) && !strcmp(p2, ":443")) ||
+		        (!strcmp(acc_method, "gopher"    ) && !strcmp(p2, ":70" )) ||
+		        (!strcmp(acc_method, "ftp"       ) && !strcmp(p2, ":21" )) ||
+		        (!strcmp(acc_method, "wais"      ) && !strcmp(p2, ":210")) ||
+		        (!strcmp(acc_method, "nntp"      ) && !strcmp(p2, ":119")) ||
+			(!strcmp(acc_method, "news"      ) && !strcmp(p2, ":119")) ||
+			(!strcmp(acc_method, "newspost"  ) && !strcmp(p2, ":119")) ||
+			(!strcmp(acc_method, "newsreply" ) && !strcmp(p2, ":119")) ||
+		        (!strcmp(acc_method, "snews"     ) && !strcmp(p2, ":563")) ||
+		        (!strcmp(acc_method, "snewspost" ) && !strcmp(p2, ":563")) ||
+		        (!strcmp(acc_method, "snewsreply") && !strcmp(p2, ":563")) ||
+		        (!strcmp(acc_method, "finger"    ) && !strcmp(p2, ":79" )) ||
+		        (!strcmp(acc_method, "telnet"    ) && !strcmp(p2, ":23" )) ||
+		        (!strcmp(acc_method, "tn3270"    ) && !strcmp(p2, ":23" )) ||
+		        (!strcmp(acc_method, "rlogin"    ) && !strcmp(p2, ":513")) ||
+		        (!strcmp(acc_method, "cso"       ) && !strcmp(p2, ":105")))
+		    *p2 = '\0';	/* It is the default: ignore it */
 		}
-		if (p == NULL) { 
-		    int len = strlen(tail);
+		if (p2 == NULL) {
+		    int len2 = strlen(tail);
 
-		    if (len > 0) {
-		        h = tail + len - 1;	/* last char of hostname */
+		    if (len2 > 0) {
+		        h = tail + len2 - 1;	/* last char of hostname */
 		        if (*h == '.') 
 		            *h = '\0';		/* chop final . */
 		    }
 		} else { 
-		    h = p;
+		    h = p2;
 		    h--;		/* End of hostname */
 		    if (*h == '.') {
 		        /*
-			**  Slide p over h.
+			**  Slide p2 over h.
 			*/
-		        while (*p != '\0')
-			    *h++ = *p++;
+		        while (*p2 != '\0')
+			    *h++ = *p2++;
 			*h = '\0';	/* terminate */
 		    }
 		}
@@ -347,10 +347,10 @@ PUBLIC char * HTParse ARGS3(
     **  Handle the path.
     */
     if (wanted & PARSE_PATH) {
-        if (access && !given.absolute && given.relative) {
-	    if (!strcasecomp(access, "nntp") ||
-	        !strcasecomp(access, "snews") ||
-		(!strcasecomp(access, "news") &&
+        if (acc_method && !given.absolute && given.relative) {
+	    if (!strcasecomp(acc_method, "nntp") ||
+	        !strcasecomp(acc_method, "snews") ||
+		(!strcasecomp(acc_method, "news") &&
 		 !strncasecomp(result, "news://", 7))) {
 		/*
 		 *  Treat all given nntp or snews paths,
diff --git a/WWW/Library/Implementation/HTPasswd.c b/WWW/Library/Implementation/HTPasswd.c
index e08bfbeb..ada39ee5 100644
--- a/WWW/Library/Implementation/HTPasswd.c
+++ b/WWW/Library/Implementation/HTPasswd.c
@@ -21,6 +21,7 @@
 #include <string.h>
 #include "HTAAUtil.h"	/* Common parts of AA	*/
 #include "HTAAFile.h"	/* File routines	*/
+#include "HTAAServ.h"	/* Server routines	*/
 #include "HTPasswd.h"	/* Implemented here	*/
 
 #include "LYLeaks.h"
@@ -87,16 +88,15 @@ PUBLIC char *HTAA_encryptPasswd ARGS1(CONST char *, password)
     char *tmp;
     CONST char *cur = password;
     int len = strlen(password);
-    extern time_t theTime;
-    int random = (int)theTime;	/* This is random enough */
+    int randum = (int)theTime;	/* This is random enough */
 
     if (!(result = (char*)malloc(13*((strlen(password)+7)/8) + 1)))
 	outofmem(__FILE__, "HTAA_encryptPasswd");
 
     *result = (char)0;
     while (len > 0) {
-	salt[0] = salt_chars[random%64];
-	salt[1] = salt_chars[(random/64)%64];
+	salt[0] = salt_chars[randum%64];
+	salt[1] = salt_chars[(randum/64)%64];
 	salt[2] = (char)0;
 
 	strncpy(chunk, cur, 8);
diff --git a/WWW/Library/Implementation/HTPlain.c b/WWW/Library/Implementation/HTPlain.c
index 824ac642..49d8c651 100644
--- a/WWW/Library/Implementation/HTPlain.c
+++ b/WWW/Library/Implementation/HTPlain.c
@@ -24,18 +24,14 @@
 #include "UCAux.h"
 #endif /* EXP_CHARTRANS */
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
 
 extern HTStyleSheet * styleSheet;
 
-extern int current_char_set;
-extern CONST char * LYchar_set_names[];
-extern CONST char **LYCharSets[];
-extern int LYlowest_eightbit[];
 extern BOOLEAN LYRawMode;
-extern CONST char * HTMLGetEntityName PARAMS((int i));
 extern BOOL HTPassEightBitRaw;
 extern BOOL HTPassHighCtrlRaw;
 extern HTCJKlang HTCJK;
@@ -436,6 +432,7 @@ PRIVATE void HTPlain_write ARGS3(HTStream *, me, CONST char*, s, int, l)
 		sprintf(replace_buf, "U%.2lX", code);
 		HText_appendText(me->text, replace_buf);
 	    }
+#ifdef NOTUSED_FOTEMODS
 	} else if (me->T.strip_raw_char_in &&
 		   (unsigned char)*p >= 0xc0 &&
 		   (unsigned char)*p < 255) {
@@ -444,7 +441,6 @@ PRIVATE void HTPlain_write ARGS3(HTStream *, me, CONST char*, s, int, l)
 	    **  (somewhat) readable ASCII.
 	    */
 	    HText_appendCharacter(me->text, (char)(*p & 0x7f));
-#ifdef NOTUSED_FOTEMODS
 	    /*
 	    **  If we do not have the "7-bit approximations" as our
 	    **  output character set (in which case we did it already)
diff --git a/WWW/Library/Implementation/HTRules.c b/WWW/Library/Implementation/HTRules.c
index 92de0fc7..93a9eb25 100644
--- a/WWW/Library/Implementation/HTRules.c
+++ b/WWW/Library/Implementation/HTRules.c
@@ -206,7 +206,7 @@ char * HTTranslate(required)
 	case HT_Protect:
 	    {
 		char *local_copy = NULL;
-		char *p;
+		char *p2;
 		char *eff_ids = NULL;
 		char *prot_file = NULL;
 
@@ -220,9 +220,9 @@ char * HTTranslate(required)
 
 		if (r->equiv) {
 		    StrAllocCopy(local_copy, r->equiv);
-		    p = local_copy;
-		    prot_file = HTNextField(&p);
-		    eff_ids = HTNextField(&p);
+		    p2 = local_copy;
+		    prot_file = HTNextField(&p2);
+		    eff_ids = HTNextField(&p2);
 		}
 
 		if (r->op == HT_Protect)
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index 6fe7739a..913460bb 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -286,14 +286,14 @@ PUBLIC unsigned int HTCardinal ARGS3(
 **		it is to be kept.
 */
 PUBLIC CONST char * HTInetString ARGS1(
-	SockA*,		sin)
+	SockA*,		soc_in)
 {
     static char string[16];
     sprintf(string, "%d.%d.%d.%d",
-	    (int)*((unsigned char *)(&sin->sin_addr)+0),
-	    (int)*((unsigned char *)(&sin->sin_addr)+1),
-	    (int)*((unsigned char *)(&sin->sin_addr)+2),
-	    (int)*((unsigned char *)(&sin->sin_addr)+3));
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+3));
     return string;
 }
 #endif /* !DECNET */
@@ -304,14 +304,14 @@ PUBLIC CONST char * HTInetString ARGS1(
 **  On entry,
 **	str	points to a string with a node name or number,
 **		with optional trailing colon and port number.
-**	sin	points to the binary internet or decnet address field.
+**	soc_in	points to the binary internet or decnet address field.
 **
 **  On exit,
-**	*sin	is filled in. If no port is specified in str, that
-**		field is left unchanged in *sin.
+**	*soc_in	is filled in. If no port is specified in str, that
+**		field is left unchanged in *soc_in.
 */
 PUBLIC int HTParseInet ARGS2(
-	SockA *,	sin,
+	SockA *,	soc_in,
 	CONST char *,	str)
 {
     char *port;
@@ -340,19 +340,19 @@ PUBLIC int HTParseInet ARGS2(
     	*port++ = 0;		/* Chop off port */
         if (port[0] >= '0' && port[0] <= '9') {
 #ifdef unix
-	    sin->sin_port = htons(atol(port));
+	    soc_in->sin_port = htons(atol(port));
 #else /* VMS: */
 #ifdef DECNET
-	    sin->sdn_objnum = (unsigned char)(strtol(port, (char**)0, 10));
+	    soc_in->sdn_objnum = (unsigned char)(strtol(port, (char**)0, 10));
 #else
-	    sin->sin_port = htons((unsigned short)strtol(port,(char**)0,10));
+	    soc_in->sin_port = htons((unsigned short)strtol(port,(char**)0,10));
 #endif /* Decnet */
 #endif /* Unix vs. VMS */
 #ifdef SUPPRESS		/* 1. crashes!?!.  2. Not recommended */
 	} else {
 	    struct servent * serv = getservbyname(port, (char*)0);
 	    if (serv) {
-		sin->sin_port = serv->s_port;
+		soc_in->sin_port = serv->s_port;
 	    } else if (TRACE) {
 		fprintf(stderr, "TCP: Unknown service %s\n", port);
 	    }
@@ -365,12 +365,12 @@ PUBLIC int HTParseInet ARGS2(
     **  Read Decnet node name. @@ Should know about DECnet addresses, but
     **  it's probably worth waiting until the Phase transition from IV to V.
     */
-    sin->sdn_nam.n_len = min(DN_MAXNAML, strlen(host));  /* <=6 in phase 4 */
-    strncpy(sin->sdn_nam.n_name, host, sin->sdn_nam.n_len + 1);
+    soc_in->sdn_nam.n_len = min(DN_MAXNAML, strlen(host));  /* <=6 in phase 4 */
+    strncpy(soc_in->sdn_nam.n_name, host, soc_in->sdn_nam.n_len + 1);
     if (TRACE) {
         fprintf(stderr,  
 		"DECnet: Parsed address as object number %d on host %.6s...\n",
-		sin->sdn_objnum, host);
+		soc_in->sdn_objnum, host);
     }
 #else  /* parse Internet host: */
 
@@ -395,15 +395,15 @@ PUBLIC int HTParseInet ARGS2(
     if (dotcount_ip == 3) {   /* Numeric node address: */
 
 #ifdef DJGPP
-	sin->sin_addr.s_addr = htonl(aton(host));
+	soc_in->sin_addr.s_addr = htonl(aton(host));
 #else
 #ifdef DGUX_OLD
-	sin->sin_addr.s_addr = inet_addr(host).s_addr;	/* See arpa/inet.h */
+	soc_in->sin_addr.s_addr = inet_addr(host).s_addr; /* See arpa/inet.h */
 #else
 #ifdef GUSI
-	sin->sin_addr = inet_addr(host);		/* See netinet/in.h */
+	soc_in->sin_addr = inet_addr(host);		/* See netinet/in.h */
 #else
-	sin->sin_addr.s_addr = inet_addr(host);		/* See arpa/inet.h */
+	soc_in->sin_addr.s_addr = inet_addr(host);	/* See arpa/inet.h */
 #endif /* GUSI */
 #endif /* DGUX_OLD */
 #endif /* DJGPP */
@@ -475,6 +475,7 @@ PUBLIC int HTParseInet ARGS2(
 				"HTParseInet: INTERRUPTED gethostbyname.\n");
 		    }
 		    kill(fpid , SIGKILL);
+		    waitpid(fpid, NULL, 0);
 		    FREE(host);
 		    close(pfd[0]);
 		    close(pfd[1]);
@@ -529,21 +530,21 @@ PUBLIC int HTParseInet ARGS2(
 			 "HTParseInet: Can't find internet node name `%s'.\n",
 				host);
 		    }
-		    memset((void *)&sin->sin_addr, 0, sizeof(sin->sin_addr));
+		    memset((void *)&soc_in->sin_addr, 0, sizeof(soc_in->sin_addr));
 		} else {
-		    memcpy((void *)&sin->sin_addr,
+		    memcpy((void *)&soc_in->sin_addr,
 		    	   phost->h_addr, phost->h_length);
 		}
 #ifdef NOTDEFINED
-	        cstat = read(pfd[0], (void *)&sin->sin_addr , 4);
+	        cstat = read(pfd[0], (void *)&soc_in->sin_addr , 4);
 #endif /* NOTDEFINED */
 	    } else {
-	        cstat = read(pfd[0], (void *)&sin->sin_addr , cstat);
+	        cstat = read(pfd[0], (void *)&soc_in->sin_addr , cstat);
 	    }
 	    close(pfd[0]);
 	    close(pfd[1]);
 	}
-	if (sin->sin_addr.s_addr == 0) {
+	if (soc_in->sin_addr.s_addr == 0) {
 	    if (TRACE) {
 	        fprintf(stderr, 
 			"HTParseInet: Can't find internet node name `%s'.\n",
@@ -562,9 +563,9 @@ PUBLIC int HTParseInet ARGS2(
 
 #else /* Not NSL_FORK: */
 #ifdef DJGPP
-        sin->sin_addr.s_addr = htonl(resolve(host));  
+        soc_in->sin_addr.s_addr = htonl(resolve(host));  
 	FREE(host);
-	if (sin->sin_addr.s_addr == 0) {
+	if (soc_in->sin_addr.s_addr == 0) {
 		 if (TRACE)
 			  fprintf(stderr,
 			 "HTTPAccess: Can't find internet node name `%s'.\n",host);
@@ -597,9 +598,9 @@ PUBLIC int HTParseInet ARGS2(
 	**  longer supported, and CMU users are encouraged to obtain and use
 	**  SOCKETSHR/NETLIB instead. - S. Bjorndahl 
 	*/
-	memcpy((void *)&sin->sin_addr, phost->h_addr, 4);
+	memcpy((void *)&soc_in->sin_addr, phost->h_addr, 4);
 #else
-	memcpy((void *)&sin->sin_addr, phost->h_addr, phost->h_length);
+	memcpy((void *)&soc_in->sin_addr, phost->h_addr, phost->h_length);
 #endif /* VMS && CMU_TCP */
 #endif /* DJGPP */
 #endif /* NSL_FORK */
@@ -608,11 +609,11 @@ PUBLIC int HTParseInet ARGS2(
     if (TRACE) {
         fprintf(stderr,  
 	   "HTParseInet: Parsed address as port %d, IP address %d.%d.%d.%d\n",
-		(int)ntohs(sin->sin_port),
-		(int)*((unsigned char *)(&sin->sin_addr)+0),
-		(int)*((unsigned char *)(&sin->sin_addr)+1),
-		(int)*((unsigned char *)(&sin->sin_addr)+2),
-		(int)*((unsigned char *)(&sin->sin_addr)+3));
+		(int)ntohs(soc_in->sin_port),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+0),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+1),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+2),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+3));
     }
 #endif  /* Internet vs. Decnet */
 
@@ -703,7 +704,7 @@ PUBLIC int HTDoConnect ARGS4(
 	int *,		s)
 {
     struct sockaddr_in soc_address;
-    struct sockaddr_in *sin = &soc_address;
+    struct sockaddr_in *soc_in = &soc_address;
     int status;
     char *line = NULL;
     char *p1 = NULL;
@@ -713,8 +714,8 @@ PUBLIC int HTDoConnect ARGS4(
     /*
     **  Set up defaults.
     */
-    sin->sin_family = AF_INET;
-    sin->sin_port = htons(default_port);
+    soc_in->sin_family = AF_INET;
+    soc_in->sin_port = htons(default_port);
 
     /*
     **  Get node name and optional port number.
@@ -735,7 +736,7 @@ PUBLIC int HTDoConnect ARGS4(
 	outofmem(__FILE__, "HTDoConnect");
     sprintf (line, "Looking up %s.", host);
     _HTProgress (line);
-    status = HTParseInet(sin, host);
+    status = HTParseInet(soc_in, host);
     if (status) {
 	if (status != HT_INTERRUPTED) {
 	    sprintf (line, "Unable to locate remote host %s.", host);
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index 4c577ffd..268cb4d0 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -32,6 +32,7 @@
 #include "HTInit.h"
 #include "HTAABrow.h"
 
+#include "LYGlobalDefs.h"
 #include "LYLeaks.h"
 
 /* #define TRACE 1 */
@@ -98,7 +99,7 @@ extern char * LYCookie PARAMS((
 **	read.
 **
 */
-PUBLIC int HTLoadHTTP ARGS4 (
+PRIVATE int HTLoadHTTP ARGS4 (
 	CONST char *, 		arg,
 	HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
@@ -240,8 +241,6 @@ try_again:
   if (extensions) {
       int n, i;
       char * host = NULL;
-      extern char * language; /* Lynx's preferred language - FM */
-      extern char * pref_charset; /* Lynx's preferred character set - MM */
 
       if ((host = HTParse(anAnchor->address, "", PARSE_HOST)) != NULL) {
 	  sprintf(line, "Host: %s%c%c", host, CR,LF);
@@ -1520,7 +1519,6 @@ Cookie2_continuation:
 		    break;
 		if (HTAA_shouldRetryWithAuth(start_of_data, length,
 					     (void *)handle, s, NO)) {
- 		    extern char *authentication_info[2];
 
                     HTTP_NETCLOSE(s, handle);
                     if (dump_output_immediately && !authentication_info[0]) {
@@ -1572,7 +1570,6 @@ Cookie2_continuation:
 		    break;
 		if (HTAA_shouldRetryWithAuth(start_of_data, length,
 					     (void *)handle, s, YES)) {
- 		    extern char *proxyauth_info[2];
 
                     HTTP_NETCLOSE(s, handle);
                     if (dump_output_immediately && !proxyauth_info[0]) {
diff --git a/WWW/Library/Implementation/HTTelnet.c b/WWW/Library/Implementation/HTTelnet.c
index b8bbc9b1..50bc1fcd 100644
--- a/WWW/Library/Implementation/HTTelnet.c
+++ b/WWW/Library/Implementation/HTTelnet.c
@@ -49,7 +49,7 @@
 /*	Telnet or "rlogin" access
 **	-------------------------
 */
-PRIVATE int remote_session ARGS2(char *, access, char *, host)
+PRIVATE int remote_session ARGS2(char *, acc_method, char *, host)
 {
 	char * user = host;
 	char * password = NULL;
@@ -58,8 +58,8 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 	char * port;
 	char   command[256];
 	enum _login_protocol { telnet, rlogin, tn3270 } login_protocol =
-		strcmp(access, "rlogin") == 0 ? rlogin :
-		strcmp(access, "tn3270") == 0 ? tn3270 : telnet;
+		strcmp(acc_method, "rlogin") == 0 ? rlogin :
+		strcmp(acc_method, "tn3270") == 0 ? tn3270 : telnet;
 #ifdef VMS
 	extern int DCLsystem PARAMS((char *command));
 #define system(a) DCLsystem(a) /* use LYCurses.c routines for spawns */
@@ -126,7 +126,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 	    printf("you log in to this information service remotely.\n\n");
 
 	    printf("You can manually connect to this service using %s\n",
-		   access);
+		   acc_method);
 	    printf("to host %s", hostname);
 	    if (user) printf(", user name %s", user);
 	    if (password) printf(", password %s", password);
@@ -328,7 +328,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 
 	    printf(
 	"\nSorry, this browser was compiled without the %s access option.\n",
-		access);
+		acc_method);
 	    printf("\nPress <return> to return to Lynx.");
 	    LYgetch();
 	    HadVMSInterrupt = FALSE;
@@ -450,7 +450,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 
 	    printf(
 	  "\nSorry, this browser was compiled without the %s access option.\n",
-    		access);
+    		acc_method);
     	    printf("\nPress <return> to return to Lynx.");
     	    LYgetch();
 	    HadVMSInterrupt = FALSE;
@@ -473,7 +473,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 
 	    printf(
 	  "\nSorry, this browser was compiled without the %s access option.\n",
-		access);
+		acc_method);
 	    printf("\nPress <return> to return to Lynx.");
 	    LYgetch();
 	    HadVMSInterrupt = FALSE;
@@ -501,9 +501,9 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 #ifndef TELNET_DONE
 	printf(
 	"\nSorry, this browser was compiled without the %s access option.\n",
-		access);
+		acc_method);
 	printf(
-	"\nTo access the information you must %s to %s", access, hostname);
+	"\nTo access the information you must %s to %s", acc_method, hostname);
 	if (port)
 	    printf(" (port %s)", port);
 	if (user)
@@ -549,8 +549,7 @@ ARGS4
  HTStream *,		sink			/* Ignored */
 )
 {
-    char * access;
-    
+    char * acc_method;  
     char * host;
     int status;
     
@@ -560,7 +559,7 @@ ARGS4
 	   "HTTelnet: Can't output a live session -- must be interactive!\n");
 	return HT_NO_DATA;
     }
-    access =  HTParse(addr, "file:", PARSE_ACCESS);
+    acc_method =  HTParse(addr, "file:", PARSE_ACCESS);
     
     host = HTParse(addr, "", PARSE_HOST);
     if (!host || *host == '\0') {
@@ -568,11 +567,11 @@ ARGS4
         if (TRACE)
 	    fprintf(stderr, "HTTelnet: No host specified!\n");
     } else {
-        status = remote_session(access, host);
+        status = remote_session(acc_method, host);
     }
 
     FREE(host);	
-    FREE(access);
+    FREE(acc_method);
     return status;
 }
 
diff --git a/WWW/Library/Implementation/HTUU.c b/WWW/Library/Implementation/HTUU.c
index 4e6bcf4f..865315cc 100644
--- a/WWW/Library/Implementation/HTUU.c
+++ b/WWW/Library/Implementation/HTUU.c
@@ -195,7 +195,7 @@ PUBLIC int HTUU_decode ARGS3(char *,		bufcoded,
    }
    
    if(nprbytes & 03) {
-      if(pr2six[bufin[-2]] > MAXVAL) {
+      if(pr2six[(int)bufin[-2]] > MAXVAL) {
          nbytesdecoded -= 2;
       } else {
          nbytesdecoded -= 1;
diff --git a/WWW/Library/Implementation/HTWAIS.c b/WWW/Library/Implementation/HTWAIS.c
index bd293c2f..ed28162f 100644
--- a/WWW/Library/Implementation/HTWAIS.c
+++ b/WWW/Library/Implementation/HTWAIS.c
@@ -264,7 +264,6 @@ PRIVATE char * WWW_from_archie ARGS1(
 **			pointer to malloced string (must be freed) if ok
 */
 PRIVATE char hex [17] = "0123456789ABCDEF";
-extern char from_hex PARAMS((char a));			/* In HTWSRC @@ */
 
 PRIVATE char * WWW_from_WAIS ARGS1(
 	any *,		docid)
diff --git a/WWW/Library/Implementation/HTWSRC.c b/WWW/Library/Implementation/HTWSRC.c
index 731ac5c7..d26a86ac 100644
--- a/WWW/Library/Implementation/HTWSRC.c
+++ b/WWW/Library/Implementation/HTWSRC.c
@@ -281,7 +281,7 @@ PRIVATE BOOL write_cache ARGS1(HTStream *, me)
 **
 */
 
-void give_parameter ARGS2(HTStream *, me, int, p)
+PRIVATE void give_parameter ARGS2(HTStream *, me, int, p)
 {
     PUTS(par_name[p]);
     if (me->par_value[p]) {
@@ -350,17 +350,7 @@ PRIVATE void WSRC_gen_html ARGS2(HTStream *, me, BOOL, source_file)
 	    PUTS("Direct access");
 	    END(HTML_A);
 	    /** Proxy will be used if defined, so let user know that - FM **/
-	    PUTS(" (or via proxy server, if defined), or");
-	    START(HTML_BR);
-	    /** Offer W3 Consortium gateway - FM **/
-	    sprintf(WSRC_address, "http://www.w3.org:8001/%s%s%s/%s",
-		me->par_value[PAR_IP_NAME],
-		me->par_value[PAR_TCP_PORT] ? ":" : "",
-		me->par_value[PAR_TCP_PORT] ? me->par_value[PAR_TCP_PORT] :"",
-		www_database);
-	    HTStartAnchor(me->target, NULL, WSRC_address);
-	    PUTS("through W3 Consortium gateway");
-	    END(HTML_A);
+	    PUTS(" (or via proxy server, if defined)");
 
 	    FREE(www_database);
 	    
diff --git a/WWW/Library/Implementation/HTWSRC.h b/WWW/Library/Implementation/HTWSRC.h
index 2e247a67..9241b321 100644
--- a/WWW/Library/Implementation/HTWSRC.h
+++ b/WWW/Library/Implementation/HTWSRC.h
@@ -17,6 +17,8 @@
 
 #include "HTFormat.h"
 
+extern  char from_hex PARAMS((char c));
+
 extern  HTStream* HTWSRCConvert PARAMS((
         HTPresentation *        pres,
         HTParentAnchor *        anchor,
diff --git a/WWW/Library/Implementation/SGML.c b/WWW/Library/Implementation/SGML.c
index b38a7dad..9cb24f56 100644
--- a/WWW/Library/Implementation/SGML.c
+++ b/WWW/Library/Implementation/SGML.c
@@ -32,6 +32,7 @@
 /*#include <stdio.h> included in HTUtils.h -- FM */
 #include "HTChunk.h"
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define INVALID (-1)
@@ -44,8 +45,6 @@ PUBLIC BOOL HTPassEightBitNum = FALSE;	/* Pass ^ numeric entities raw.	*/
 PUBLIC BOOL HTPassHighCtrlRaw = FALSE;	/* Pass 127-160,173,&#127; raw.	*/
 PUBLIC BOOL HTPassHighCtrlNum = FALSE;	/* Pass &#128;-&#159; raw.	*/
 
-extern UCode_t HTMLGetEntityUCValue PARAMS((
-	CONST char *	name));
 extern int LYlowest_eightbit[];
 
 /*	The State (context) of the parser
@@ -141,8 +140,6 @@ PRIVATE void set_chartrans_handling ARGS3(
 	HTParentAnchor *,	anchor,
 	int,			chndl)
 {
-    extern int current_char_set;
-
     if (chndl < 0) {
 	chndl = HTAnchor_getUCLYhndl(anchor, UCT_STAGE_STRUCTURED);
 	if (chndl < 0)
@@ -1113,7 +1110,7 @@ PUBLIC HTTag * SGMLFindTag ARGS2(
 /*	Could check that we are back to bottom of stack! @@  */
 /* 	Do check! - FM					     */
 /*							     */
-PUBLIC void SGML_free  ARGS1(
+PRIVATE void SGML_free  ARGS1(
 	HTStream *,	context)
 {
     int i;
@@ -1155,7 +1152,7 @@ PUBLIC void SGML_free  ARGS1(
     FREE(context);
 }
 
-PUBLIC void SGML_abort ARGS2(
+PRIVATE void SGML_abort ARGS2(
 	HTStream *,	context,
 	HTError, 	e)
 {
@@ -1217,14 +1214,13 @@ PUBLIC void SGML_setCallerData ARGS2(
 }
 #endif /* CALLERDATA */
 
-PUBLIC void SGML_character ARGS2(
+PRIVATE void SGML_character ARGS2(
 	HTStream *,	context,
 	char,		c_in)
 {
     CONST SGML_dtd *dtd	=	context->dtd;
     HTChunk	*string = 	context->string;
     CONST char * EntityName;
-    extern CONST char * HTMLGetEntityName PARAMS((int i));
     char * p;
     BOOLEAN chk;	/* Helps (?) walk through all the else ifs... */
     UCode_t clong, uck;	/* Enough bits for UCS4 ... */
@@ -1306,8 +1302,10 @@ PUBLIC void SGML_character ARGS2(
 	}
     }
 
+#ifdef NOTUSED_FOTEMODS
     if (context->T.strip_raw_char_in)
 	saved_char_in = c;
+#endif
 
     if (context->T.trans_to_uni &&
 	((unsign_c >= 127) ||
@@ -1563,6 +1561,7 @@ top1:
 	    context->utf_buf_p = context->utf_buf;
 	    *(context->utf_buf_p) = '\0';
 
+#ifdef NOTUSED_FOTEMODS
 	} else if (context->T.strip_raw_char_in && saved_char_in &&
 		   ((unsigned char)saved_char_in >= 0xc0) &&
 		   ((unsigned char)saved_char_in < 255)) {
@@ -1572,6 +1571,7 @@ top1:
 	    */
 	    PUTC((char)(saved_char_in & 0x7f));
 	    saved_char_in = '\0';
+#endif /* NOTUSED_FOTEMODS */
 	} else if ((unsigned char)c <
 			LYlowest_eightbit[context->html_char_set] ||
 		   (context->T.trans_from_uni && !HTPassEightBitRaw)) {
@@ -3102,7 +3102,7 @@ top1:
 }  /* SGML_character */
 
 
-PUBLIC void SGML_string ARGS2(
+PRIVATE void SGML_string ARGS2(
 	HTStream *,	context,
 	CONST char*,	str)
 {
@@ -3112,7 +3112,7 @@ PUBLIC void SGML_string ARGS2(
 }
 
 
-PUBLIC void SGML_write ARGS3(
+PRIVATE void SGML_write ARGS3(
 	HTStream *,	context,
 	CONST char*,	str,
 	int,		l)
@@ -3339,12 +3339,12 @@ PUBLIC void JISx0201TO0208_SJIS ARGS3(
 PUBLIC unsigned char * SJIS_TO_EUC1 ARGS3(
 	unsigned char,		HI,
 	unsigned char,		LO,
-	unsigned char *,	EUC)
+	unsigned char *,	data)
 {
-    SJIS_TO_JIS1(HI, LO, EUC);
-    EUC[0] |= 0x80;
-    EUC[1] |= 0x80;
-    return EUC;
+    SJIS_TO_JIS1(HI, LO, data);
+    data[0] |= 0x80;
+    data[1] |= 0x80;
+    return data;
 }
 
 PUBLIC unsigned char * SJIS_TO_EUC ARGS2(
diff --git a/WWW/Library/apollo_m68k/Makefile b/WWW/Library/apollo_m68k/Makefile
new file mode 100644
index 00000000..20aa9ac8
--- /dev/null
+++ b/WWW/Library/apollo_m68k/Makefile
@@ -0,0 +1,38 @@
+#  Make WWW for apollo   NOTE WWW macro changed for unwritable source tree **
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = apollo_m68k
+
+# For ASIS installation, the ASIS code for the machine/os
+ASIS_MACH = apollo-68k/sr-10.3
+
+
+CFLAGS =  -O  -DDEBUG
+LFLAGS =
+CC = cc
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+#WWW = /user/timbl/hypertext/WWW
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+# LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+LIBDIR = /tmp/WWWLibrary_Build
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
+
+
+
diff --git a/WWW/Library/clix/Makefile b/WWW/Library/clix/Makefile
new file mode 100644
index 00000000..e1996d27
--- /dev/null
+++ b/WWW/Library/clix/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = clix
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+
+CFLAGS =  -O -DDEBUG -DUSG -DUNIX -DCLIX
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/convex/Makefile b/WWW/Library/convex/Makefile
new file mode 100644
index 00000000..fcd28786
--- /dev/null
+++ b/WWW/Library/convex/Makefile
@@ -0,0 +1,32 @@
+#  Make WWW under ConvexOS
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = convex
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+
+CFLAGS =  -O -DDEBUG -Dunix
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+# HTWAIS = $(LOB)/HTWAIS.o
+# WAIS = YES
+# WAISINC = -I/tmp/freeWAIS-0.202/ir
+# WAISCFLAGS = -DDIRECT_WAIS 
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/decstation/Makefile b/WWW/Library/decstation/Makefile
new file mode 100644
index 00000000..b35d278c
--- /dev/null
+++ b/WWW/Library/decstation/Makefile
@@ -0,0 +1,23 @@
+#	Platform-specific Makefile for W3 Library	(decstation)
+#	-----------------------------------------
+#
+
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+#CFLAGS = 
+CFLAGS =  -O
+CC = cc
+#LFLAGS = -lresolv
+LFLAGS = 
+
+ASIS_MACH = dec-station/ultrix-4.2
+WWW_MACH = decstation
+
+# Directory for installed binary:
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/duns/Makefile b/WWW/Library/duns/Makefile
new file mode 100644
index 00000000..4852817e
--- /dev/null
+++ b/WWW/Library/duns/Makefile
@@ -0,0 +1,489 @@
+# Makefile generated by imake - do not edit!
+# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
+#
+# The cpp used on this machine replaces all newlines and multiple tabs and
+# spaces in a macro expansion with a single space.  Imake tries to compensate
+# for this, but is not always successful.
+#
+
+###########################################################################
+# Makefile generated from "Imake.tmpl" and </tmp/IIf.a00214>
+# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
+#
+# Platform-specific parameters may be set in the appropriate .cf
+# configuration files.  Site-wide parameters may be set in the file
+# site.def.  Full rebuilds are recommended if any parameters are changed.
+#
+# If your C preprocessor doesn't define any unique symbols, you'll need
+# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
+# "make Makefile", "make Makefiles", or "make World").
+#
+# If you absolutely can't get imake to work, you'll need to set the
+# variables at the top of each Makefile as well as the dependencies at the
+# bottom (makedepend will do this automatically).
+#
+
+###########################################################################
+# platform-specific configuration parameters - edit sun.cf to change
+
+# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
+# operating system:  SunOS 4.0.3
+
+###########################################################################
+# site-specific configuration parameters - edit site.def to change
+
+            SHELL = /bin/sh
+
+              TOP = .
+      CURRENT_DIR = .
+
+               AR = ar clq
+  BOOTSTRAPCFLAGS =
+               CC = cc
+
+         COMPRESS = compress
+              CPP = /lib/cpp $(STD_CPP_DEFINES)
+    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
+          INSTALL = install
+               LD = ld
+             LINT = lint
+      LINTLIBFLAG = -C
+         LINTOPTS = -axz
+               LN = ln -s
+             MAKE = make
+               MV = mv
+               CP = cp
+           RANLIB = ranlib
+  RANLIBINSTFLAGS =
+               RM = rm -f
+     STD_INCLUDES =
+  STD_CPP_DEFINES =
+      STD_DEFINES =
+ EXTRA_LOAD_FLAGS =
+  EXTRA_LIBRARIES =
+             TAGS = ctags
+
+    SHAREDCODEDEF = -DSHAREDCODE
+         SHLIBDEF = -DSUNSHLIB
+
+    PROTO_DEFINES =
+
+     INSTPGMFLAGS =
+
+     INSTBINFLAGS = -m 0755
+     INSTUIDFLAGS = -m 4755
+     INSTLIBFLAGS = -m 0664
+     INSTINCFLAGS = -m 0444
+     INSTMANFLAGS = -m 0444
+     INSTDATFLAGS = -m 0444
+    INSTKMEMFLAGS = -m 4755
+
+          DESTDIR =
+
+     TOP_INCLUDES = -I$(INCROOT)
+
+      CDEBUGFLAGS = -O
+        CCOPTIONS =
+      COMPATFLAGS =
+
+      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
+       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
+           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
+        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
+           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
+   LDCOMBINEFLAGS = -X -r
+
+        MACROFILE = sun.cf
+           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+
+    IMAKE_DEFINES =
+
+         IRULESRC = $(CONFIGDIR)
+        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
+
+     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
+			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
+			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
+
+###########################################################################
+# X Window System Build Parameters
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+###########################################################################
+# X Window System make variables; this need to be coordinated with rules
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+          PATHSEP = /
+        USRLIBDIR = $(DESTDIR)/usr/lib
+           BINDIR = $(DESTDIR)/usr/bin/X11
+          INCROOT = $(DESTDIR)/usr/include
+     BUILDINCROOT = $(TOP)
+      BUILDINCDIR = $(BUILDINCROOT)/X11
+      BUILDINCTOP = ..
+           INCDIR = $(INCROOT)/X11
+           ADMDIR = $(DESTDIR)/usr/adm
+           LIBDIR = $(USRLIBDIR)/X11
+        CONFIGDIR = $(LIBDIR)/config
+       LINTLIBDIR = $(USRLIBDIR)/lint
+
+          FONTDIR = $(LIBDIR)/fonts
+         XINITDIR = $(LIBDIR)/xinit
+           XDMDIR = $(LIBDIR)/xdm
+           AWMDIR = $(LIBDIR)/awm
+           TWMDIR = $(LIBDIR)/twm
+           GWMDIR = $(LIBDIR)/gwm
+          MANPATH = $(DESTDIR)/usr/man
+    MANSOURCEPATH = $(MANPATH)/man
+           MANDIR = $(MANSOURCEPATH)n
+        LIBMANDIR = $(MANSOURCEPATH)3
+      XAPPLOADDIR = $(LIBDIR)/app-defaults
+
+        SOXLIBREV = 4.2
+          SOXTREV = 4.0
+         SOXAWREV = 4.0
+        SOOLDXREV = 4.0
+         SOXMUREV = 4.0
+        SOXEXTREV = 4.0
+
+       FONTCFLAGS = -t
+
+     INSTAPPFLAGS = $(INSTDATFLAGS)
+
+            IMAKE = imake
+           DEPEND = makedepend
+              RGB = rgb
+            FONTC = bdftosnf
+        MKFONTDIR = mkfontdir
+        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
+
+        CONFIGSRC = $(TOP)/config
+        CLIENTSRC = $(TOP)/clients
+          DEMOSRC = $(TOP)/demos
+           LIBSRC = $(TOP)/lib
+          FONTSRC = $(TOP)/fonts
+       INCLUDESRC = $(TOP)/X11
+        SERVERSRC = $(TOP)/server
+          UTILSRC = $(TOP)/util
+        SCRIPTSRC = $(UTILSRC)/scripts
+       EXAMPLESRC = $(TOP)/examples
+       CONTRIBSRC = $(TOP)/../contrib
+           DOCSRC = $(TOP)/doc
+           RGBSRC = $(TOP)/rgb
+        DEPENDSRC = $(UTILSRC)/makedepend
+         IMAKESRC = $(CONFIGSRC)
+         XAUTHSRC = $(LIBSRC)/Xau
+          XLIBSRC = $(LIBSRC)/X
+           XMUSRC = $(LIBSRC)/Xmu
+       TOOLKITSRC = $(LIBSRC)/Xt
+       AWIDGETSRC = $(LIBSRC)/Xaw
+       OLDXLIBSRC = $(LIBSRC)/oldX
+      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
+     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
+     EXTENSIONSRC = $(TOP)/extensions
+
+  DEPEXTENSIONLIB =
+     EXTENSIONLIB = -lXext
+
+          DEPXLIB = $(DEPEXTENSIONLIB)
+             XLIB = $(EXTENSIONLIB) -lX11
+
+      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
+         XAUTHLIB =  -lXau
+
+        DEPXMULIB =
+           XMULIB = -lXmu
+
+       DEPOLDXLIB =
+          OLDXLIB = -loldX
+
+      DEPXTOOLLIB =
+         XTOOLLIB = -lXt
+
+        DEPXAWLIB =
+           XAWLIB = -lXaw
+
+ LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
+         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
+          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
+        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
+          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
+
+          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+         DEPLIBS1 = $(DEPLIBS)
+         DEPLIBS2 = $(DEPLIBS)
+         DEPLIBS3 = $(DEPLIBS)
+
+###########################################################################
+# Imake rules for building libraries, programs, scripts, and data files
+# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
+
+###########################################################################
+# start of Imakefile
+
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+TK_WWW_SOURCE_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/Tcl
+
+TK_WWW_INSTALL_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/$(WWW_MACH)
+
+TK_WWW_HOME_PAGE=http://www.w3.org/default.html
+TK_WWW_START_PAGE=$(TK_WWW_HOME_PAGE)
+
+CC = gcc -fno-builtin -Wall
+
+CDEBUGFLAGS = -O3 -pipe
+
+COMPATFLAGS =   -I/afs/athena.mit.edu/course/other/cdsdev/www-compat
+CCOPTIONS =
+
+BINDIR = $(TK_WWW_INSTALL_PATH)
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = unix.x
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = /tmp
+
+#	Common Makefile for W3 Library Code
+#	-----------------------------------
+#
+#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
+#
+# This file should be invariant between systems.
+#	DEPENDENCIES NOT COMPLETE
+
+#
+#	make		Compile and link the software (private version)
+#	make clean	Remove intermediate files
+
+WC = $(WWW)/Library
+CMN = $(WWW)/Library/Implementation/
+
+# Where shall we put the objects and built library?
+
+LOB = $(WTMP)/Library/$(WWW_MACH)
+
+# Bug: This path, if relative, is taken relative to the directory
+# in which this makefile is, not the pwd.  This screws up the
+# recursive invocation
+
+VC = 2.14
+
+CFLAGS2 = $(CFLAGS) -I$(CMN)
+
+CERNLIBBIN = $(WWW)/bin
+
+COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
+	$(LOB)/HTFile.o	$(LOB)/HTFTP.o $(LOB)/HTTCP.o \
+	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
+	$(LOB)/HTPlain.o $(LOB)/HTWriter.o $(LOB)/HTFWriter.o \
+	$(LOB)/HTMLGen.o \
+	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
+	$(LOB)/HTList.o $(LOB)/HTString.o $(LOB)/HTAlert.o \
+	$(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTInit.o $(LOB)/HTMIME.o \
+	$(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
+	$(LOB)/HTTelnet.o  $(LOB)/HTWSRC.o $(HTWAIS)
+
+CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
+	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c	\
+	$(CMN)HTMLDTD.c \
+	$(CMN)HTPlain.c	$(CMN)HTWriter.c  $(CMN)HTFWriter.c $(CMN)HTMLGen.c	\
+	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
+	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTAlert.c $(CMN)HTRules.c \
+	$(CMN)HTFormat.c $(CMN)HTInit.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
+	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
+	$(CMN)HTWAIS.c  $(CMN)HTWSRC.c
+
+HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
+	$(CMN)HTFTP.h $(CMN)HTTCP.h \
+	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
+	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
+	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
+	$(CMN)HTStream.h \
+	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
+	$(CMN)HTList.h \
+	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
+	$(CMN)HTFormat.h $(CMN)HTInit.h \
+	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
+	$(CMN)HTGopher.h \
+	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)WWW.h $(CMN)HText.h \
+	$(CMN)HTTelnet.h \
+	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h
+
+SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make $(CMN)CommonMakefile \
+	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD
+SPECIFIC = $(WWW)/All
+
+#	Library
+#
+#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
+# for that step
+all: $(LOB)/libwww.a
+	$(MV) $(LOB)/libwww.a $(WC)/$(WWW_MACH)
+
+$(LOB)/libwww.a : $(COMMON)
+	ar r $(LOB)/libwww.a $(COMMON)
+	-ranlib $(LOB)/libwww.a
+
+#	Clean up everything generatable except final products
+clean ::
+	$(RM) $(LOB)
+
+#	Clean up everything generatable including final products
+
+cleanall :: clean
+	$(RM) $(LOB)/libwww.a
+
+# 			Common code
+#			-----------
+
+#	Directory for object files - .created checks it exists
+
+OE = $(LOB)/.created
+$(OE) :
+	-mkdir $(WTMP)
+	-mkdir $(WTMP)/Library
+	-mkdir $(WTMP)/Library/$(WWW_MACH)
+	touch $@
+
+$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
+
+$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
+
+$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
+
+$(LOB)/HTInit.o : $(OE) $(CMN)HTInit.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTInit.c
+
+$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
+
+$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
+
+$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
+
+$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
+
+$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
+
+$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
+
+$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
+
+$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
+
+$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
+
+$(LOB)/HTAlert.o : $(OE) $(CMN)HTAlert.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTAlert.c
+
+$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
+
+$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
+
+$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
+
+$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
+
+$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
+
+$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
+
+$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
+
+$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
+
+$(LOB)/HTFWriter.o : $(OE) $(CMN)HTFWriter.c $(CMN)HTFWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFWriter.c
+
+#	Communications & Files
+
+$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
+
+$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
+
+$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
+
+$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
+
+$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
+
+$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
+
+###########################################################################
+# common rules for all Makefiles - do not edit
+
+emptyrule::
+
+clean::
+	$(RM_CMD) \#*
+
+Makefile::
+	-@if [ -f Makefile ]; then \
+	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
+	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
+	else exit 0; fi
+	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+
+tags::
+	$(TAGS) -w *.[ch]
+	$(TAGS) -xw *.[ch] > TAGS
+
+saber:
+	#load $(ALLDEFINES) $(SRCS)
+
+osaber:
+	#load $(ALLDEFINES) $(OBJS)
+
+###########################################################################
+# empty rules for directories that do not have SUBDIRS - do not edit
+
+install::
+	@echo "install in $(CURRENT_DIR) done"
+
+install.man::
+	@echo "install.man in $(CURRENT_DIR) done"
+
+Makefiles::
+
+includes::
+
+###########################################################################
+# dependencies generated by makedepend
+
diff --git a/WWW/Library/freebsd/Makefile b/WWW/Library/freebsd/Makefile
new file mode 100644
index 00000000..a82f13b8
--- /dev/null
+++ b/WWW/Library/freebsd/Makefile
@@ -0,0 +1,27 @@
+#  Make WWW under FreeBSD
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = freebsd
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = i386/FreeBSD
+
+
+CFLAGS += -DDEBUG
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/isc/Makefile b/WWW/Library/isc/Makefile
new file mode 100644
index 00000000..29de6885
--- /dev/null
+++ b/WWW/Library/isc/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = isc
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = intel/isc
+
+
+CFLAGS =  -DDEBUG -O -DISC -Dvfork=fork
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/mips/Makefile b/WWW/Library/mips/Makefile
new file mode 100644
index 00000000..1c84cbe0
--- /dev/null
+++ b/WWW/Library/mips/Makefile
@@ -0,0 +1,29 @@
+# Makefile for WWW under svr4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = mips
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = mips/mips
+
+
+#CFLAGS =  -DDEBUG -systype svr3 -DMIPS -DNO_BCOPY
+CFLAGS =  -O -DDEBUG -systype svr3  -I/svr3/usr/include/bsd
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/netbsd/Makefile b/WWW/Library/netbsd/Makefile
new file mode 100644
index 00000000..ae92760a
--- /dev/null
+++ b/WWW/Library/netbsd/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under NetBSD
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = netbsd
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = i386/NetBSD
+
+
+CFLAGS = -O -DUSE_DIRENT
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/next/Makefile b/WWW/Library/next/Makefile
new file mode 100644
index 00000000..bd35c89a
--- /dev/null
+++ b/WWW/Library/next/Makefile
@@ -0,0 +1,40 @@
+#	Platform-specific Makefile for W3 Library	(NeXT)
+#	-----------------------------------------
+#
+#	Library compiled with fudge to alow XMOSAIC to
+#	pick up binary files... for now.
+
+WWW = ../..
+
+#  Where should temporary (object) files go? Normally, WTMP = $(WWW)
+#WTMP = /tmp
+WTMP = $(WWW)
+
+# For MACH 3.0 it seems -bsd is needed to order to define errno
+# in /usr/include/bsd/sys/errno.h. But __STRICT_BSD__ is needed for
+# errno.
+
+CFLAGS =  -Wall -O -DXMOSAIC_HACK
+
+#	Yes please, I want direct WAIS access
+#
+#WAIS = ../../../freeWAIS
+#WAISINC = -I$(WAIS)/ir
+#WAISCFLAGS = -DDIRECT_WAIS
+#WAISLIB =  $(WAIS)/bin/client.a $(WAIS)/bin/wais.a
+#  $(WAIS)/bin/inv.a $(WAIS)/bin/wais.a
+#HTWAIS = $(WTMP)/Library/$(WWW_MACH)/HTWAIS.o
+
+CC = cc
+#	For testing memory leaks only!   Use /NextDeveloper/MallocDebug app
+LFLAGS = -lMallocDebug
+#LFLAGS =
+
+WWW_MACH = next
+ASIS_MACH = next/2.0
+
+
+# Directory for installed binary:
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/osf/Makefile b/WWW/Library/osf/Makefile
new file mode 100644
index 00000000..a81457a6
--- /dev/null
+++ b/WWW/Library/osf/Makefile
@@ -0,0 +1,23 @@
+#	Platform-specific Makefile for W3 Library	(decstation)
+#	-----------------------------------------
+#
+
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+#CFLAGS = 
+CFLAGS = -DSYS5 
+CC = cc -O
+#LFLAGS =
+LFLAGS = 
+
+ASIS_MACH = alpha/osf1
+WWW_MACH = osf
+
+# Directory for installed binary:
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/ptx/Makefile b/WWW/Library/ptx/Makefile
new file mode 100644
index 00000000..772d6c6a
--- /dev/null
+++ b/WWW/Library/ptx/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under Sequent's DYNIX/ptx
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = ptx
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = Sequent/ptx
+
+
+CFLAGS =  -O -DDEBUG -DUSE_DIRENT -DSVR4 -DNO_IOCTL -DUSE_FCNTL
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/rs6000/Makefile b/WWW/Library/rs6000/Makefile
new file mode 100644
index 00000000..334a5a4a
--- /dev/null
+++ b/WWW/Library/rs6000/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for rs6000 with no gcc
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = rs6000
+
+# For ASIS
+ASIS_MACH = ibm-rs6000/aix-3.2
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# The AIX compiler does not define unix... AIX will do it and avoid realloc bug
+
+CFLAGS = -O -DDEBUG 
+CC = cc
+LFLAGS =
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = $(WWW)
+
+# Where is the W3 object library?
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/sco/Makefile b/WWW/Library/sco/Makefile
new file mode 100644
index 00000000..a00a948b
--- /dev/null
+++ b/WWW/Library/sco/Makefile
@@ -0,0 +1,33 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sco
+
+# The ASIS repository's name for the machine we are on
+#  SCO does not presently have ranlib.  Ignore the error
+#  message about that when the CommonMakefile tries to
+#  invoke it.
+ASIS_MACH = intel/sco
+
+
+CFLAGS =  -O -DDEBUG -DSVR4
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/sgi/Makefile b/WWW/Library/sgi/Makefile
new file mode 100644
index 00000000..24530722
--- /dev/null
+++ b/WWW/Library/sgi/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW for Silicon Graphics
+#
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sgi
+
+# Architecutre in ASIS scheme
+#  SGI does not presently have ranlib.  Ignore the error
+#  message about that when the CommonMakefile tries to
+#  invoke it.
+ASIS_MACH = sgi/iris-3.5
+
+CFLAGS = -DDEBUG -O -cckr
+CC = cc
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/snake/Makefile b/WWW/Library/snake/Makefile
new file mode 100644
index 00000000..06db3012
--- /dev/null
+++ b/WWW/Library/snake/Makefile
@@ -0,0 +1,33 @@
+#  Make WWW under unix for HP 700 or 800 (Snake) using cc
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = snake
+
+# Distribution point for ASIS repository
+ASIS_MACH = hp-700/hpux-8.0
+
+CFLAGS = -O -DDEBUG
+
+#	Link with BSD library for getwd()
+LFLAGS = -lBSD
+
+#CC = cc
+#CC = gcc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/solaris2/Makefile b/WWW/Library/solaris2/Makefile
new file mode 100644
index 00000000..a390cae9
--- /dev/null
+++ b/WWW/Library/solaris2/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for sun 4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = solaris2
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = sun-4/sunos-5.2
+
+
+CFLAGS =  -O -DDEBUG -DNGROUPS=16 -Dd_namlen=d_reclen -DNO_BCOPY -DSOLARIS2 -DSVR4 -DUSE_DIRENT
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/sun3/Makefile b/WWW/Library/sun3/Makefile
new file mode 100644
index 00000000..ee9c6288
--- /dev/null
+++ b/WWW/Library/sun3/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for sun 3
+#
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sun3
+
+# For ASIS installation, the ASIS code for the machine/os
+ASIS_MACH = sun-3/sunos-4.1.1
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+CFLAGS = -DDEBUG -O
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/sun4/Makefile b/WWW/Library/sun4/Makefile
new file mode 100644
index 00000000..cf14decb
--- /dev/null
+++ b/WWW/Library/sun4/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for sun 4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sun4
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = sun-4/sunos-4.1.1
+
+
+CFLAGS =  -DDEBUG -O
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/svr4/Makefile b/WWW/Library/svr4/Makefile
new file mode 100644
index 00000000..a97e6656
--- /dev/null
+++ b/WWW/Library/svr4/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under svr4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = svr4
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = generic/svr4
+
+
+CFLAGS =  -O -DDEBUG -DUSE_DIRENT -DSVR4
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/umaxv-m88k/Makefile b/WWW/Library/umaxv-m88k/Makefile
new file mode 100644
index 00000000..79c323c0
--- /dev/null
+++ b/WWW/Library/umaxv-m88k/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = umaxv-m88k
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+
+CFLAGS =  -O -DDEBUG -D_SYSV3
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/unix_x/Makefile b/WWW/Library/unix_x/Makefile
new file mode 100644
index 00000000..23c12453
--- /dev/null
+++ b/WWW/Library/unix_x/Makefile
@@ -0,0 +1,491 @@
+# Makefile generated by imake - do not edit!
+# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
+#
+# The cpp used on this machine replaces all newlines and multiple tabs and
+# spaces in a macro expansion with a single space.  Imake tries to compensate
+# for this, but is not always successful.
+#
+
+###########################################################################
+# Makefile generated from "Imake.tmpl" and </tmp/IIf.a02602>
+# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
+#
+# Platform-specific parameters may be set in the appropriate .cf
+# configuration files.  Site-wide parameters may be set in the file
+# site.def.  Full rebuilds are recommended if any parameters are changed.
+#
+# If your C preprocessor doesn't define any unique symbols, you'll need
+# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
+# "make Makefile", "make Makefiles", or "make World").
+#
+# If you absolutely can't get imake to work, you'll need to set the
+# variables at the top of each Makefile as well as the dependencies at the
+# bottom (makedepend will do this automatically).
+#
+
+###########################################################################
+# platform-specific configuration parameters - edit sun.cf to change
+
+# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
+# operating system:  SunOS 4.1.1
+
+###########################################################################
+# site-specific configuration parameters - edit site.def to change
+
+# site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
+
+            SHELL = /bin/sh
+
+              TOP = ../../../.
+      CURRENT_DIR = ./../Library/unix_x
+
+               AR = ar cq
+  BOOTSTRAPCFLAGS =
+               CC = gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional
+
+         COMPRESS = compress
+              CPP = /lib/cpp $(STD_CPP_DEFINES)
+    PREPROCESSCMD = gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional -E $(STD_CPP_DEFINES)
+          INSTALL = install
+               LD = ld
+             LINT = lint
+      LINTLIBFLAG = -C
+         LINTOPTS = -axz
+               LN = ln -s
+             MAKE = make
+               MV = mv
+               CP = cp
+           RANLIB = ranlib
+  RANLIBINSTFLAGS =
+               RM = rm -f
+     STD_INCLUDES =
+  STD_CPP_DEFINES =
+      STD_DEFINES =
+ EXTRA_LOAD_FLAGS =
+  EXTRA_LIBRARIES =
+             TAGS = ctags
+
+    SHAREDCODEDEF = -DSHAREDCODE
+         SHLIBDEF = -DSUNSHLIB
+
+    PROTO_DEFINES =
+
+     INSTPGMFLAGS =
+
+     INSTBINFLAGS = -m 0755
+     INSTUIDFLAGS = -m 4755
+     INSTLIBFLAGS = -m 0664
+     INSTINCFLAGS = -m 0444
+     INSTMANFLAGS = -m 0444
+     INSTDATFLAGS = -m 0444
+    INSTKMEMFLAGS = -m 4755
+
+          DESTDIR =
+
+     TOP_INCLUDES = -I$(INCROOT)
+
+      CDEBUGFLAGS = -O
+        CCOPTIONS =
+      COMPATFLAGS =
+
+      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
+       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
+           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
+        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
+           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
+   LDCOMBINEFLAGS = -X -r
+
+        MACROFILE = sun.cf
+           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+
+    IMAKE_DEFINES =
+
+         IRULESRC = $(CONFIGDIR)
+        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
+
+     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
+			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
+			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
+
+###########################################################################
+# X Window System Build Parameters
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+###########################################################################
+# X Window System make variables; this need to be coordinated with rules
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+          PATHSEP = /
+        USRLIBDIR = $(DESTDIR)/usr/lib
+           BINDIR = $(DESTDIR)/usr/bin/X11
+          INCROOT = $(DESTDIR)/usr/include
+     BUILDINCROOT = $(TOP)
+      BUILDINCDIR = $(BUILDINCROOT)/X11
+      BUILDINCTOP = ..
+           INCDIR = $(INCROOT)/X11
+           ADMDIR = $(DESTDIR)/usr/adm
+           LIBDIR = $(USRLIBDIR)/X11
+        CONFIGDIR = $(LIBDIR)/config
+       LINTLIBDIR = $(USRLIBDIR)/lint
+
+          FONTDIR = $(LIBDIR)/fonts
+         XINITDIR = $(LIBDIR)/xinit
+           XDMDIR = $(LIBDIR)/xdm
+           AWMDIR = $(LIBDIR)/awm
+           TWMDIR = $(LIBDIR)/twm
+           GWMDIR = $(LIBDIR)/gwm
+          MANPATH = $(DESTDIR)/usr/man
+    MANSOURCEPATH = $(MANPATH)/man
+           MANDIR = $(MANSOURCEPATH)n
+        LIBMANDIR = $(MANSOURCEPATH)3
+      XAPPLOADDIR = $(LIBDIR)/app-defaults
+
+        SOXLIBREV = 4.2
+          SOXTREV = 4.0
+         SOXAWREV = 4.0
+        SOOLDXREV = 4.0
+         SOXMUREV = 4.0
+        SOXEXTREV = 4.0
+
+       FONTCFLAGS = -t
+
+     INSTAPPFLAGS = $(INSTDATFLAGS)
+
+            IMAKE = imake
+           DEPEND = makedepend
+              RGB = rgb
+            FONTC = bdftosnf
+        MKFONTDIR = mkfontdir
+        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
+
+        CONFIGSRC = $(TOP)/config
+        CLIENTSRC = $(TOP)/clients
+          DEMOSRC = $(TOP)/demos
+           LIBSRC = $(TOP)/lib
+          FONTSRC = $(TOP)/fonts
+       INCLUDESRC = $(TOP)/X11
+        SERVERSRC = $(TOP)/server
+          UTILSRC = $(TOP)/util
+        SCRIPTSRC = $(UTILSRC)/scripts
+       EXAMPLESRC = $(TOP)/examples
+       CONTRIBSRC = $(TOP)/../contrib
+           DOCSRC = $(TOP)/doc
+           RGBSRC = $(TOP)/rgb
+        DEPENDSRC = $(UTILSRC)/makedepend
+         IMAKESRC = $(CONFIGSRC)
+         XAUTHSRC = $(LIBSRC)/Xau
+          XLIBSRC = $(LIBSRC)/X
+           XMUSRC = $(LIBSRC)/Xmu
+       TOOLKITSRC = $(LIBSRC)/Xt
+       AWIDGETSRC = $(LIBSRC)/Xaw
+       OLDXLIBSRC = $(LIBSRC)/oldX
+      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
+     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
+     EXTENSIONSRC = $(TOP)/extensions
+
+  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
+     EXTENSIONLIB =  -lXext
+
+          DEPXLIB = $(DEPEXTENSIONLIB)
+             XLIB = $(EXTENSIONLIB) -lX11
+
+      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
+         XAUTHLIB =  -lXau
+
+        DEPXMULIB =
+           XMULIB = -lXmu
+
+       DEPOLDXLIB =
+          OLDXLIB = -loldX
+
+      DEPXTOOLLIB =
+         XTOOLLIB = -lXt
+
+        DEPXAWLIB =
+           XAWLIB = -lXaw
+
+ LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
+         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
+          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
+        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
+          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
+
+          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+         DEPLIBS1 = $(DEPLIBS)
+         DEPLIBS2 = $(DEPLIBS)
+         DEPLIBS3 = $(DEPLIBS)
+
+###########################################################################
+# Imake rules for building libraries, programs, scripts, and data files
+# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
+
+###########################################################################
+# start of Imakefile
+
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+TK_WWW_SOURCE_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/Tcl
+
+TK_WWW_INSTALL_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/$WWW_MACH
+
+TK_WWW_HOME_PAGE=http://www.w3.org/default.html
+TK_WWW_START_PAGE=$(TK_WWW_HOME_PAGE)
+
+CC = gcc -fno-builtin -Wall
+
+CDEBUGFLAGS = -O3 -pipe
+
+COMPATFLAGS =   -I/afs/athena.mit.edu/course/other/cdsdev/www-compat
+CCOPTIONS =
+
+BINDIR = $(TK_WWW_INSTALL_PATH)
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = unix_x
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = /tmp
+
+#	Common Makefile for W3 Library Code
+#	-----------------------------------
+#
+#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
+#
+# This file should be invariant between systems.
+#	DEPENDENCIES NOT COMPLETE
+
+#
+#	make		Compile and link the software (private version)
+#	make clean	Remove intermediate files
+
+WC = $(WWW)/Library
+CMN = $(WWW)/Library/Implementation/
+
+# Where shall we put the objects and built library?
+
+LOB = $(WTMP)/Library/$(WWW_MACH)
+
+# Bug: This path, if relative, is taken relative to the directory
+# in which this makefile is, not the pwd.  This screws up the
+# recursive invocation
+
+VC = 2.14
+
+CFLAGS2 = $(CFLAGS) -I$(CMN)
+
+CERNLIBBIN = $(WWW)/bin
+
+COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
+	$(LOB)/HTBTree.o \
+	$(LOB)/HTFile.o	$(LOB)/HTFTP.o $(LOB)/HTTCP.o \
+	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
+	$(LOB)/HTPlain.o $(LOB)/HTWriter.o $(LOB)/HTFWriter.o \
+	$(LOB)/HTMLGen.o \
+	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
+	$(LOB)/HTList.o $(LOB)/HTString.o $(LOB)/HTAlert.o \
+	$(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTInit.o $(LOB)/HTMIME.o \
+	$(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
+	$(LOB)/HTTelnet.o  $(LOB)/HTWSRC.o $(HTWAIS)
+
+CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTBTree.c \
+	$(CMN)HTFile.c \
+	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c	\
+	$(CMN)HTMLDTD.c \
+	$(CMN)HTPlain.c	$(CMN)HTWriter.c  $(CMN)HTFWriter.c $(CMN)HTMLGen.c	\
+	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
+	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTAlert.c $(CMN)HTRules.c \
+	$(CMN)HTFormat.c $(CMN)HTInit.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
+	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
+	$(CMN)HTWAIS.c  $(CMN)HTWSRC.c
+
+HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTBTree.h \
+	$(CMN)HTFile.h \
+	$(CMN)HTFTP.h $(CMN)HTTCP.h \
+	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
+	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
+	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
+	$(CMN)HTStream.h \
+	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
+	$(CMN)HTList.h \
+	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
+	$(CMN)HTFormat.h $(CMN)HTInit.h \
+	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
+	$(CMN)HTGopher.h \
+	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)WWW.h $(CMN)HText.h \
+	$(CMN)HTTelnet.h \
+	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h
+
+SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make $(CMN)CommonMakefile \
+	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD
+SPECIFIC = $(WWW)/All
+
+#	Library
+#
+#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
+# for that step
+all: $(LOB)/libwww.a
+	$(MV) $(LOB)/libwww.a $(WC)/$(WWW_MACH)
+
+$(LOB)/libwww.a : $(COMMON)
+	ar r $(LOB)/libwww.a $(COMMON)
+	-ranlib $(LOB)/libwww.a
+
+#	Clean up everything generatable except final products
+clean ::
+	$(RM) $(LOB)
+
+#	Clean up everything generatable including final products
+
+cleanall :: clean
+	$(RM) $(LOB)/libwww.a
+
+# 			Common code
+#			-----------
+
+#	Directory for object files - .created checks it exists
+
+OE = $(LOB)/.created
+$(OE) :
+	-mkdir $(WTMP)
+	-mkdir $(WTMP)/Library
+	-mkdir $(WTMP)/Library/$(WWW_MACH)
+	touch $@
+
+$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
+
+$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
+
+$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
+
+$(LOB)/HTInit.o : $(OE) $(CMN)HTInit.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTInit.c
+
+$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
+
+$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
+
+$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
+
+$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
+
+$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
+
+$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
+
+$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
+
+$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
+
+$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
+
+$(LOB)/HTAlert.o : $(OE) $(CMN)HTAlert.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTAlert.c
+
+$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
+
+$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
+
+$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
+
+$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
+
+$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
+
+$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
+
+$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
+
+$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
+
+$(LOB)/HTFWriter.o : $(OE) $(CMN)HTFWriter.c $(CMN)HTFWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFWriter.c
+
+#	Communications & Files
+
+$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
+
+$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
+
+$(LOB)/HTBTree.o : $(OE) $(CMN)HTBTree.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTBTree.c
+
+$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
+
+$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
+
+$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
+
+$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
+
+###########################################################################
+# common rules for all Makefiles - do not edit
+
+emptyrule::
+
+clean::
+	$(RM_CMD) \#*
+
+Makefile::
+	-@if [ -f Makefile ]; then \
+	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
+	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
+	else exit 0; fi
+	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+
+tags::
+	$(TAGS) -w *.[ch]
+	$(TAGS) -xw *.[ch] > TAGS
+
+###########################################################################
+# empty rules for directories that do not have SUBDIRS - do not edit
+
+install::
+	@echo "install in $(CURRENT_DIR) done"
+
+install.man::
+	@echo "install.man in $(CURRENT_DIR) done"
+
+Makefiles::
+
+includes::
+
+###########################################################################
+# dependencies generated by makedepend
+
diff --git a/WWW/Library/vax_ultrix/Makefile b/WWW/Library/vax_ultrix/Makefile
new file mode 100644
index 00000000..2caf766c
--- /dev/null
+++ b/WWW/Library/vax_ultrix/Makefile
@@ -0,0 +1,33 @@
+#  Make WWW under ultrix with gcc
+#
+
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = vax_ultrix
+
+# For ASIS installation, the ASIS code for the machine/os
+ASIS_MACH = none
+
+CC = gcc
+CFLAGS = -O  -DDEBUG -Wall
+LFLAGS = -O
+
+#	This is bug fix for out-of-date ultrix on cernvax
+# LFLAGS = -O pfcode.o -lresolv
+
+# Directory for installed binary:
+BINDIR = /usr/local/unix
+
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = /tmp
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile