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.