	XWIP RELEASE NOTES
	==================

I.   Please read the README file.

II.  The version of this release may be determined by looking at the
	"version.pl" file. 

III. The file CHANGES lists the changes between versions.

IV.  The manual is available in the following forms:

     1. LaTeX source files in this distribution

     2. Postscript file in this distribution

     3. "XWIP Reference Manual, Version 0.4"
	UCLA Computer Science Department Technical Report CSD-880079

	This version is out of date and only recommended if you cannot
	print the manual out. The technical report is available from:

  	   UCLA Computer Science Department
           Technical Reports
	   3413 Boelter Hall
	   Los Angeles, CA 90024-1596
	   USA	

	The last time I checked, the report costs $10, including
	shipping. ($12 to non USA addresses) They require prepayment.
	Personal checks are okay as long as they are in US funds drawn
	from a US bank. Make checks payable to 
	"The Regents of the University of California".   

V.   Installation Instructions

     0.  Read all of these instructions before actually attempting 
         installation.  

     1.  place this distribution in a suitable directory

     2.  determine which "build file" you will use:

	 Quintus: use "qpx.pl"
	 SICStus: use "spx.pl"
	 Native-Code SICStus: use "nspx.pl"
	 others: you will have to make one up yourself

     3.  adjust parameters

	a. Makefile

	   1) look at the make defines, especially:
		DOCDIR, XBIN, XINCLUDE, XLIBDIR, CFLAGS, LDFLAGS, DUMPS, DOCS
		
	   2) If your make does not understand "+" targets, you may
	      want to use the "alternate" targets commented out.  

	   3) Some programs may not be installed at your site:

	      compress, makedepend - comes with X11 R5 tape
	      dvips, LaTeX, makeindex - comes on UNIX TeX tape
	      plint - comes with Quintus Prolog
	      etags - comes with GNU emacs
		
	   4) Please check for a floating point option (both in
	      explicit flags and environment variables) that will be
	      compatible with your Prolog. If you use the default, you
	      can probably ignore this comment.  

	   5) Some sites support multiple versions of X11. Some
	      versions of Quintus have Motif and X11 libraries in
	      them. In many cases, they are not identical to the ones
	      used to compile XWIP. If there is a conflict, you must
	      statically link to prevent linking errors. Do this by
	      defining the STATIC variable (just after LDFLAGS) with
	      the appropriate switches. For SunOS, the switch is:

		STATIC = -Bstatic

	b. "build file"

	    look at the library list in the load_foreign_files directive 
	    sites with X11 installed in an non-standard location may have
		to specify a library path similar to this:

	:- load_foreign_files(['xwip.o'], ['-L/usr/lib/X11', '-lX11']).

	    sites using DECNET have to include the DECNET library, giving 
		something like:

	:- load_foreign_files(['xwip.o'], ['-lX11', '-ldnet']).

	    sites using HPUX and other System V derivatives may
		require using a BSD compatability library, giving
		something like:

	:- load_foreign_files(['xwip.o'], ['-lX11', '-lBSD']).

     4.  make 
	      or
	 make all - which also formats the manual

     5.  start your prolog 

	 Make sure your environment matches your make environment.
         Foreign function loading on the SUN may be influenced by the
         FLOAT_OPTION environment variable. Thus, your FLOAT_OPTION
         variable should be compatible with your make environment. If
         you don't set your FLOAT_OPTION variable, you can probably
         ignore this comment.  

     6.  consult your "build file", 
	 follow the displayed instructions to dump the Prolog
	 and then exit Prolog.

	 If while consulting your "build file", you get this sort of error:

[ff.pl consulted <some number> sec <some other number> bytes]
ld: <some file>: rd_shsb: ld no longer supported this version of <some file>

	 you are probably using an older version of Quintus with SUNOS
         4.X. In that case, you will have to reinstall Quintus it to
         allow foreign functions to load properly. Modify your Quintus
         "install_qp" file, so that it links the engine with the
         "-Bstatic" switch and reinstall Quintus. 

     7.  do a quick test:

	 set your DISPLAY environment variable appropriately,
	 start your Prolog dump,
	 consult "hw.pl",
	 prove the goal "helloWorld",
	 the "Hello World" window should appear,
	 resize it and move it around, it should be refreshed appropriately,
	 type "q" to exit.

     8.  to install the dump(s) and manual:

         make install
	      or
	 move the dump and manual where you want it
	
     9.  to reformat the manual:

	 make document 

	 Note this process uses dvips, LaTeX, makeindex programs which
         are all on the UNIX TeX tape. LaTeX is run twice to get all
         the references right. 

     10. to cleanup the source directory:

	 make clean
	      or
	 make dusty - saves space, but does not remove any final products

     11. to generate dependencies

	 make depend

	 This process uses the makedepend program from the X11 R5
         tape. If you don't have that program, you can use the
         dependencies from Makefile.dist (which are pretty simple
         anyway).  

VI.  File List

CHANGES		- change log
Makefile	- make control file
Makefile.dist	- the Makefile that comes with the distribution
NOTES		- this file
README		- copyright, credits and availability
TODO		- some things the author is considering doing
cfconst		- program to generate cfont.pl
cfconst.c	- cfconst source
cfconst.o	- cfconst object
cfont.pl	- cursor names relation
cfont.tex	- cursor names table for manual 
cftable		- program to generate cfont.tex
cftable.c	- cftable source
cftable.o	- cftable object
ff.pl		- foreign function declarations
hw.pl		- hello world example
lint.c		- plint hack
nspx.pl		- Native-Code SICStus build file
pred.pl		- predicate definitions
qpx.pl		- Quintus build file
qpxi.pl		- loads interpreted Quintus version (for debugging)
spx.pl		- SICStus build file
spxi.pl		- loads interpreted SICStus version (for debugging)
table.pl	- various tables of constants
util.pl		- utility routines for prolog
version.pl	- prolog version
xwip.aux	- LaTeX auxiliary file
xwip.dvi	- LaTeX output
xwip.idx	- raw index
xwip.ilg	- makeindex auxiliary file
xwip.ind	- processed index
xwip1.log	- LaTeX log file for first pass
xwip2.log	- LaTeX log file for second pass
xwip.o		- C function object file
xwip.ps		- Postscript version of manual
xwip.tex	- LaTeX source to manual
xwip.toc	- LaTeX table of contents file
xwipd.pl	- debugging routines
	
other *.h, *.c	- C function sources
other *.o	- C function object files used to build xwip.o
	
VII. Questions

If have a questions, comments, bug reports, new features,
improvements, etc. please send e-mail to:

	xwip@cs.ucla.edu
	   or
	...!ucbvax!cs.ucla.edu!xwip	

Please mention the version of the system you are using. If including
code changes, please use context diffs. I will do my best to fix any
bugs and make improvements. But, of course, there are no warranties as
explained by the copyright and license. 

	Enjoy,

	Ted Kim

#
# eof
#
