packages icon

			  xtent/counterpoint
	       Athena/Hp/Motif/OpenLook Widget Release

xtent is a simple function oriented language for creating X Toolkit
(Xt) based applications.  The syntax of the language is based on the X
resource file syntax.  The resulting language is a macro interpreter
that looks like C/C++ mixed with a simple lisp.  The language may be
used as a standalone interpreter or as an embedded language with C.
Most people use the stand alone interpreter, but it is also commonly
used to create and manipulate widgets in C applications or to inspect
and debug C or C++ based applications.

xtent works with all of the common widget sets and allows full access
to the X Toolkit (and many more useful functions).  We have avoided
subsetting Xt or the widget sets.  The widgets are real compiled
widgets, for example Motif from OSF.  This release of xtent has two
extra widgets supplied with it - a simple magnifier and a widget for
displaying and manipulating graphs or networks.  Custom widgets can be
easily added to the system.

xtent includes a copy of Sam Lefler's tiff library.  We use this for
reading image and fax files.  We have added imake files to the library
to make it a bit easier to use with X and have supplied a very simple
function interface for creating images and pixmaps from tiff files.

We will ship our rescalable drawing widget in the next month or so.
Also at that time, Scott Anderson will be shipping his application
builder and exporting our Mosaic based tutorial (from X World).
Anyone who needs these pieces early than that or wishes to help please
send me a note.

Doug Blewett
blewett@research.att.com


This code can be compiled and installed by making a couple changes to
the defines.imake and then running the commands

	install.def.sh
	xmkmf
	make World

If you compile with gcc be sure to set -fwritable-strings.

The changes to defines.imake tell the makefiles where important
directories and files are located.  Changes made to the toplevel
Makefile will be propagated to the Makefiles in the sub-directories.

The first three lines set up the widget set that is to be used.

    WIDGETSET = MOTIF
    WIDGETDIR = /usr/include/Xm
    WIDGETLIB = -lXm

The legal values for WIDGETSET are HP_WIDGETS, ATHENA, OPENLOOK, and
MOTIF.  WIDGETDIR should be set to the directory name which includes
the widget header files.  This obviously could also be something like
/usr/include/X11/widget.  WIDGETLIB is the name of the widget set
library file.

The last thing one should usually have to modify is the name of the
directory that contains the CounterPoint source tree.

     CPDIR = /home/blewett/cp.d

CPDIR should point to the directory which includes this file and the
rest of the source code.  The next five sets of defines should not
have to be modified.

The next two lines tell where to get the XIpc library and should not
have to be modified.

      XIPCDIR = $(CPDIR)/ipc/sockets
      XIPCLIB = $(CPDIR)/ipc/sockets/libXIpc.a

The next two lines tell where to get the tiff library and should not
have to be modified.

      TIFFDIR = $(CPDIR)/tiff/libtiff
      TIFFLIB = $(CPDIR)/tiff/libtiff/libtiff.a

The next two lines tell where to get the xtent library and should not
have to be modified.

      XTENTDIR = $(CPDIR)/xtent/lib
      XTENTLIB = $(CPDIR)/xtent/lib/libxtent.a

CPWIDGETDIR points to the location of the supplementary widgets and
should not have to be modified.

  CPWIDGETDIR = $(CPDIR)/widgets

The next three entries tell where to put the bin, library, and include
directories and should not have to be modified.

     CPBINDIR = $(CPDIR)/bin
     CPLIBDIR = $(CPDIR)/lib
     CPINCDIR = $(CPDIR)/include

Now that you have edited in all of the changes, enter in the
following commands:

	install.def.sh
	xmkmf
	make World

When that completes enter:

	make install

The executables will then be in CPBINDIR.

The xtent examples are in the xtent directory.

Files:
	C_P_args.h - ansi header file adapter
	Imakefile - imake file source
	README - this file
	README.ol.sgi - readme for work on sgi machines
	copyright.h - copywrite notice
	defines.ATHENA - Athena widget set base configuration file
	defines.MOTIF - Motif widget set base configuration file
	defines.OL - OpenLook widget set base configuration file
	defines.OL.sgi - OpenLook on SGI widget set base configuration file
	docs - documents directory - all symbolic links
	install.def.sh - installation script for defines.imake file
	ipc - interprocess communication library
	tiff - tagged image format file library
	widgets - supplementary widgets
	xtent - xtent source