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, SAS/C 6.2 and Aztec C beta 5.2a), IBM PC XT's and AT's (MS-DOS 3.3/5.0 BC++ 3.1/TC++ 1.0 MSC 7.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. There is a mailing list for gnuplot users. Note, however, that the newsgroup comp.graphics.gnuplot is identical to the mailing list (they both carry the same set of messages). We prefer that you read the messages through that newsgroup, to subscribing to the mailing list. (If you can read that newsgroup, and are already on the mailing list, please send a message info-gnuplot-request@dartmouth.edu, asking to be removed from the mailing list.) The address for mailing to list members is info-gnuplot@dartmouth.edu and for mailing administrative requests is info-gnuplot-request@dartmouth.edu The mailing list for bug reports is bug-gnuplot@dartmouth.edu The list of those interested in beta-test versions is info-gnuplot-beta@dartmouth.edu [Please tell us the version and machine on which your bug occurred.] 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 COREL COREL! Draw Format 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 EPS180 Epson-LQ style 24-pin 180-dot per inch printers EPS60 Epson-style 60-dot per inch printers EPSONP Epson LX-800, Star NL-10, NX-1000 and lots of others EXCL Talaris EXCL laser printer format 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 HP500C HP Deskjet 500 C and maybe other Color Deskjets HP75 HP7580, and probably other HPs HPGL HP7475 and (hopefully) lots of others HPLJII HP Laserjet II HPPJ HP PaintJet IMAGEN Imagen laser printers (300dpi) (requires -Iterm also) IRIS4D IRIS4D series computer KERMIT MS-DOS Kermit Tektronix 4010 emulator LATEX LaTeX picture environment MF Metafont Format MIF FrameMaker MIF 3.00 Format NEC NEC CP6 pinwriter printer NEXT NeXTStep Window System (only grey scale) OS2PM OS/2 Presentation Manager PBM PBMPLUS pbm, pgm, ppm formats PCL HP PCL5 (actually HPGL/2) POSTSCRIPT PostScript PRESCRIBE Kyocera Laser printer PSLATEX Postscript graphics, LaTeX labels and titles PSTRICKS PSTRICKS 0.91 format QMS QMS/QUIC laserprinter (Talaris 1200 and others) REGIS ReGis graphics (vt125, vt220, vt240, Gigis...) RGIP Redwood Graphics Interface Protocol 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 TEXDRAW TeXDraw format (for LaTeX) TGIF TGIF X11 Drawing Tool TPIC Tpic specials for TeX 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_SC_6_1 defined for SAS/C 6.1 or later versions on the Amiga apollo defined by Apollo's C compilers. _CRAY defined by CRAY's C compiler. __TURBOC__ defined automatically by Borland C++ 3.x unix defined by most unix C compilers. vms (and VMS) defined by VAX-11 C under VMS. __ZTC__ Zortech C compiler under MSDOS. _Windows defined by Borland C++ 3.0 compiling for MS-Windows 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 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 SAS/C 6.1 or later versions smake -f makefile.amg Using Microsoft C 7.0 and compiling for MS-Windows copy makefile.msw makefile nmake Put wgnuplot.exe, wgnuplot.dll, wgnuplot.hlp and wgnuplot.mnu in the windows directory. under MSDOS: Using Microsoft C 7.0. copy makefile.msc makefile nmake Using Borland C++ 3.1 and compiling for MS-Windows copy makefile.win makefile Edit makefile to change TC. make Put wgnuplot.exe, wgnuplot.dll, wgnuplot.hlp and wgnuplot.mnu in the windows directory. Using Borland C++ 3.0 copy makefile.tc makefile Edit makefile to change TC, BIN, BGI, BGIOBJ. You may also want to turn off overlays (See manual for more on overlays). make 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. 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.