The GNUPLOT source code and executables may be copied and/or modified
freely as long as the copyright messages are left intact.

See the History file for changes to GNUPLOT.

Compilation instructions are near the end of this file.

GNUPLOT has been tested on Sun3's and Sun4's (SunOS 4.0.3 and 4.1.1),
a VAX 6410 (VMS 5.2), Commodore Amiga's (KS/WB 1.3 and 2.0, Lattice C
and Aztec C beta 5.2a), IBM PC XT's and AT's (MS-DOS 3.3/5.0 BC++ 2.0/TC++
1.0), IRIS 4D/70G and 4D/25G with MIPS C, NeXT with gnu C 1.34,
DECStation 5000/200PXG (ULTRIX V4.1),
AT&T 3B1 (version 3.51m with cc and gcc 1.39),
and Apollo's (DomainOS SR10.3 BSD4.3 with C compiler 68K Rev 6.7(316)).
The code is written with portability in mind.
GNUPLOT has not been tested on Pyramid 90x and IBM PC Microsoft C.

Send your comments, suggestions, or modifications to 
  info-gnuplot@ames.arc.nasa.gov
This is a mailing list; to join it send a note to 
  info-gnuplot-request@ames.arc.nasa.gov
Send bug reports to
  bug-gnuplot@ames.arc.nasa.gov

                       PREPROCESSOR #DEFINES

These #defines should be checked before compilation (see the makefiles):
define      file            note
------      ----            --------
NOVFORK     Makefile        define if you don't have the vfork() system call
GAMMA       Makefile        define if you've got gamma(3)
MEMCPY      Makefile        define if your bcopy() is called memcpy()
MEMSET      Makefile        define if you have memset() but not bzero()
NOCOPY      Makefile        define if you've don't have a memcpy() by any name
bcopy()     plot.h          define if you've got a memcpy() by some OTHER name
                              (see example in plot.h)
PC          Makefile        define if compiling on a PClone
MSDOS       Makefile        define if compiling under MSDOS;
                              automatically defined by Microsoft C 5.10
HELPFILE    Makefile        name including path of gnuplot.gih file.
VERYLARGE   plot.h          define to be largest coordinate number.
SHELL       plot.h          default shell to spawn if SHELL environment
                              variable not found at run-time
NOCWDRC     Makefile        define to inhibit check of ./.gnuplot
READLINE    Makefile        define if you want command-line editing

Valid TERMFLAGS defines.  These defines are used to include the
various plotting terminals, printers, and protocols that a given version
of gnuplot can access:

define 	    file            note
------      ----            --------
TERMFLAGS   Makefile        the set of terminals you want, from below
            or term.h

   AED         AED 512 and AED 767
   AIFM        Adobe Illustrator Format
   AMIGASCREEN Amiga custom screen
   APOLLO      Apollo Graphics Primitive Resource (resizable window)
   ATT6300     PC with AT&T 6300 graphics
   BITGRAPH    BBN BitGraph
   CGI         SCO CGI
   CORONA      PC with Corona graphics 325
   DXY800A     Roland DXY800A plotter
   DUMB	       Printer or glass dumb terminal
   DXF	       AutoCad (Release 10.x) dxf file format
   EEPIC       EEPIC-extended LaTeX driver, for EEPIC users
   EGALIB      PC with EGA/VGA graphics.
   EMTEX       LATEX picture environment with emTeX specials
   EPS60       Epson-style 60-dot per inch printers
   EPSONP      Epson LX-800, Star NL-10, NX-1000 and lots of others
   FIG         Fig graphics language (requires object.h from TransFig)
   GPR         Apollo Graphics Primitive Resource (fixed-size window)
   HERCULES    IBM PC/Clone with Hercules graphics board
   HP2648      HP2648, HP2647
   HP26        HP2623A and maybe others
   HP75        HP7580, and probably other HPs
   HPGL        HP7475 and (hopefully) lots of others
   HPLJII      HP Laserjet II
   HPLJIII     HP Laserjet III (HPGL/2)
   IMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
   IRIS4D      IRIS4D series computer
   KERMIT      MS-Kermit Tektronix 4010 emulator
   LATEX       LATEX picture environment
   LN03P       DEC LN03P laser printer
   NEC         NEC CP6 pinwriter printer
   PBM         PBMPLUS pbm, pgm, ppm formats
   POSTSCRIPT  Postscript
   PRESCRIBE   Kyocera Laser printer
   QMS         QMS/QUIC laserprinter (Talaris 1200 and others)
   REGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
   SELANAR     Selanar
   STARC       Star Color Printer
   SUN         Sun Microsystems Workstation
   T410X       Tektronix 4106, 4107, 4109 and 420x terminals
   TANDY60     Tandy DMP-130 series 60-dot per inch graphics
   TEK         Tektronix 4010, and probably others
   UNIXPC      unixpc (ATT 3b1 or ATT 7300)
   UNIXPLOT    unixplot
   V384        Vectrix 384 and tandy color printer
   VTTEK       VT like Tektronix 4010 emulator
   X11         X11R4 window system


These #defines are defined automatically by various compilers, some
gnuplot routines check these defines to implement features found in the
various environments:

define 	      note
------        --------
AMIGA_AC_5    defined for Manx Aztec C 5.2a on the Amiga
AMIGA_LC_5_1  defined for Lattice C 5.01 on the Amiga
apollo        defined by Apollo's C compilers.
_CRAY         defined by CRAY's C compiler.
__TURBOC__    defined automatically by Turbo C 2.0, C++ 1.0, Borland C++ 2.0
unix          defined by most unix C compilers.  
vms           (and VMS) defined by VAX-11 C under VMS.
__ZTC__       Zortech C compiler under MSDOS.


                             TO COMPILE

under UNIX:  
To compile do:
  Copy makefile.unx to Makefile
      cp makefile.unx Makefile
  Look through the Makefile to see if you need to make any changes.
  See especially the HELPDEST and TERMFLAGS variables.  Edit if needed.
  Alternatively, all these variables may be set as command line arguments to
  'make'. For example:

	make <MACHINE> HELPDEST='/usr/um/misc/lib/gnuplot.gih' \
		DEST='/usr/um/misc/bin' READLINE=

  Edit term.h, to include/exclude terminals
  Type
      make
  For further instructions.
  If that works, try
      make install
  For further instructions.

under VMS:  
  To compile:
     copy makefile.vms makefile.
     make
  Or if you don't have a suitable make:
     @buildvms
  To tell gnuplot where to find the help library:
      $ define gnuplot$help disk:[directory]gnuplot.hlb
  Alternatively (and preferably) put the help in the main system help library.

under AmigaDOS:
Using Aztec C 5.2a
      make -f makefile.ami
Using Lattice C 5.1
      lmk -f makefile.amg

under MSDOS:
Using Microsoft C 5.10.
      copy makefile.msc makefile
      make makefile

Using Borland C++ 2.0, Turbo C++ 1.0
      copy makefile.tc makefile
  Edit makefile to change TC, BIN, BGI, BGIOBJ. You may also want to turn
      on overlays (See manual for more on overlays).
  Edit linkopt.tc (linkopt.tco if overlays on) to change location of
      libraries.
      make

Using Turbo C 2.0.
  As per Borland C++ 2.0. Edit linkopt.tc to change location of libraries.


The file gnuplot.gih is needed for help on the PC.
If the file gnuplot.gih is not in the default directory, then use:
    set GNUHELP={full path name of gnuplot.gih}


                         ENVIRONMENT VARIABLES

See 'help environment'.

If the environment variable GNUTERM is found, it is used as the terminal
type. Otherwise, in some cases the variable TERM will be used, or the
hardware may be automatically detected. 

The PC version looks for the environment variable GNUPLOT to contain
the name of the directory from which to load the initialization file
GNUPLOT.INI.  See the help on 'start_up' for more information.

HOME is examined as a directory where a .gnuplot startup file might be
found. See help on "start-up".

If defined, the environment variable GNUHELP is used for the name
of the .gih help file, otherwise HELPFILE (defined in makefile or 
plot.c) is used.

The VMS version looks for the logical name GNUPLOT$HELP to locate 
the help library.

The CGI drivers need the CGIPATH environment variable to set the path
to the CGI agents, and the CGIDISP and/or CGIPRNT environment
variables to set the output devices.
