/usr/bin/gnuplot symlinks packageing problems were fixed gor gnuplot-x11
[gnuplot] / INSTALL
1 Table of contents:
2 ==================
3
4     * Installation from sources
5         - For the impatient provides a quick overview of configuration and
6           compilation instructions. 
7         - Lists those options to the configure shell script which are
8           unique to gnuplot.
9         - Compiling by config/makefile.* for specific platforms.
10     * More details about ./configure --with-PACKAGE[=OPTION]
11     * Platform compiler problems
12     * Environment variables
13         - The environment variables used by running gnuplot.
14     * How to test gnuplot
15     * Installing WPS object for gnuplot on OS/2
16         - How to install WPS icon for drag&drop.
17     * Compiling Gnuplot with the wxWidgets terminal
18         - Notes about the requirements of the `wxt` terminal.
19     * Front-ends for gnuplot
20         - Few notes about graphical front-ends for gnuplot.
21
22   The description of preprocessor options previously found here has
23 been moved to a new file called PORTING. Generic installation
24 instructions for `configure', such as distributed with FSF/GNU
25 packages, are in INSTALL.gnu.
26
27 If you're installing a binary package, you may still want to check out
28 some sections of this document, particularly the one discussing
29 environment variables.
30
31
32 Installation from sources
33 =========================
34
35 For the impatient
36 -----------------
37
38    Configuration options are in the Makefile and in src/term.h, which
39 selects the set of terminal drivers to be compiled in.  
40
41    The recommended way to configure both of these is the GNU-style
42 "./configure" script described below, and also in INSTALL.gnu.
43
44    A complete overview of configure options is below in the Basic
45 Installation section. On platforms which do not support GNU
46 autoconf/configure, ie. most non-Unix platforms, look for a makefile
47 that looks suitable in the "config" directory.  Check "config/README"
48 to see which of them to use for which platform.
49
50 File location defaults
51 ----------------------
52
53 PREFIX                          /usr/local
54 gnuplot                         PREFIX/bin
55 gnuplot_x11                     PREFIX/libexec/gnuplot/$VERSION
56 gnuplot.1                       PREFIX/man/man1
57 gnuplot.gih                     PREFIX/share/gnuplot/$VERSION
58
59    The only files where the runtime location is defined at compile time are
60 gnuplot.gih and show.c. This is important if gnuplot is not installed 
61 by running 'make install'.
62
63    The default path for the help library, gnuplot.gih, can be controlled in
64 several different ways:
65
66  o use configure's --with-gihdir option to specify the full path to the
67    directory where gnuplot.gih is to be installed, e.g.
68    ./configure --with-gihdir=/opt/docs
69
70  o use configure's --datadir= option to specify a version and package
71    independent data dir prefix, e.g.
72    ./configure --datadir='/opt/docs'
73    gnuplot will look for the online help file, gnuplot.gih, in
74    /opt/docs/gnuplot/$VERSION.
75
76  o with configure's --prefix= option, eg.
77    ./configure --prefix=/gnuplot
78    gnuplot will look for the online help file, gnuplot.gih, in
79    /gnuplot/share/gnuplot/$VERSION.
80    Attention: This option affects the location of *all* installed files!
81
82  o at make time, eg.
83    make HELPFILE='/gnuplot/docs/gnuplot.gih'
84    gnuplot will look for the online help file /gnuplot/docs/gnupot.gih.
85
86  o at execution time by specifying the helpfile with the environment
87    variable GNUHELP (see "Environment Variables" below).
88
89    The default location of the main executable can be controlled in 
90 different ways:
91
92  o with configure's --prefix= option, eg.
93    ./configure --prefix=/gnuplot
94    gnuplot will be installed as /gnuplot/bin/gnuplot.
95    Attention: This affects the location of *all* installed files!
96
97  o with configure's --bindir= option, eg.
98    ./configure --bindir='/gnuplot/bin'
99    gnuplot will be installed as /gnuplot/bin/gnuplot.
100
101  o at make time, eg.
102    make bindir='/gnuplot/bin'
103    gnuplot will be installed as /gnuplot/bin/gnuplot.
104
105    The default location of the additional executable, like gnuplot_x11, 
106 can be controlled in different ways:
107
108  o with configure's --prefix= option, eg.
109    ./configure --prefix=/gnuplot
110    gnuplot_x11 will be installed as /gnuplot/libexec/gnuplot/4.0/gnuplot_x11.
111    Attention: This affects the location of *all* installed files!
112
113  o with configure's --libexecdir= option, eg.
114    ./configure --libexecdir='/gnuplot/lib'
115    gnuplot_x11 will be installed as /gnuplot/lib/gnuplot/4.0/gnuplot_x11
116
117  o at make time, eg.
118    make X11_DRIVER_DIR='/gnuplot/lib/4.0'
119    gnuplot_x11 will be installed as /gnuplot/lib/4.0/gnuplot_x11
120
121 If you don't install the program at the place chosen by ./configure,
122 e.g. by overriding the "prefix" at "make install" time, files written
123 by the `save' command cannot be used as scripts on Un*x platforms, so
124 this should be avoided.  There is no way to specify the location of
125 the executables during runtime. Other platforms are not affected by
126 this.
127
128    The gnuplot demo files are not installed by default, mainly because
129 there is no universally agreed place where such files should go.
130 If desired, they should be copied manually to a location of choice.
131
132 Unix, configure
133 ---------------
134
135    On Unix, use
136 $ ./configure
137 $ make
138 [ Optionally run demos--see "How to test gnuplot" below. ]
139 $ make install
140
141    If gcc is installed, it is used by default. A different compiler can be
142 used by passing its name to configure:
143
144 $ ./configure CC=c89
145  
146    Any environment settings for CFLAGS are included into the Makefile,
147 so please make sure that these are really needed.
148  
149    There are several options available for configure that you may want
150 to change.  A complete list of options is available through
151
152 $ ./configure --help
153
154    The options relevant to gnuplot are listed below:
155
156   --prefix=PREFIX         Install architecture-independent files in PREFIX
157                           [/usr/local]
158   --exec-prefix=EPREFIX   Install architecture-specific file in EPREFIX
159                           [PREFIX]
160   --bindir=DIR            user executables in DIR [EPREFIX/bin]
161                           The gnuplot binary is installed this directory
162   --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
163                           gnuplot_x11 goes into $libexecdir/gnuplot/<version>.
164   --datadir=DIR           Read-only architecture-independent data in DIR
165                           [PREFIX/share]. The gnuplot help file is installed
166                           in this directory.
167   --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
168   --includedir=DIR        C header files in DIR [PREFIX/include]
169   --mandir=DIR            Man documentation in DIR [PREFIX/man]
170   --disable-history-file  do not use history file
171   --disable-mouse         disable mouse for interactive terminals
172   --disable-x11-mbfonts   disable multi-byte font support for x11
173   --disable-binary-data-file          disable binary_data_file
174   --disable-with-image          disable image support
175   --disable-binary-x11-polygon        disable binary_x11_polygon
176   --enable-thin-splines   enable thin plate splines
177   --disable-datastrings   disable reading strings from datafiles
178   --disable-histograms    disable histograms plot style
179   --disable-objects       disable rectangles and other objects
180   --disable-stringvariables   disable string variables
181   --disable-macros        disable command line macros
182   --enable-iris           enable IRIS terminal (IRIS4D only)
183   --enable-mgr            enable MGR terminal
184   --disable-fiterrvars    enable fitting error variables
185   --enable-rgip           enable Redwood Graphics Interface Protocol
186   --disable-h3d-quadtree   disable quadtree optimization in hidden3d code
187   --enable-h3d-gridbox    enable gridbox optimization in hidden3d code
188   --disable-wxwidgets      wxWidgets terminal (default enabled)
189   --with-kpsexpand        search for kpsexpand at run-time
190   --with-x (*)            use the X Window System
191   --with-lasergnu         install lasergnu printer script
192   --with-gihdir=DIR       location of .gih file
193                           (default PREFIX/share/PACKAGE/VERSION)
194   --with-linux-vga        use the Linux SVGA console driver
195                           (requires /usr/lib/libvga)
196   --with-ggi=DIR          enable the ggi driver (EXPERIMENTAL)
197   --with-xmi=DIR          ggi's xmi support for pm3d (EXPERIMENTAL)
198   --with-readline (*)     use the builtin minimal readline function (default)
199   --without-readline      do not use the builtin readline function
200   --with-readline=gnu     use the GNU readline library (4.2 or newer required)
201   --with-readline=DIR     Specify the location of GNU readline
202   --with-plot=DIR       use the Unix plot library
203   --with-gd=DIR (*)     where to find Tom Boutell's gd library
204   --with-pdf=DIR (*)      enable pdf terminal
205                           (requires PDFLib)
206   --with-cwdrc            check current directory for .gnuplot file,
207                           normally disabled for security reasons
208   --without-lisp-files    do not build emacs lisp files
209   --with-row-help         format help and subtopic tables by row (default)
210   --without-row-help (*)  format help and subtopic tables by column
211   --without-tutorial      do not build LaTeX tutorial
212   --with-wx-config=PATH   Use the given path to wx-config, the wxWidgets configuration program
213     (default search in $PATH)
214
215
216 Options marked with (*) are enabled by default, ie. these features or
217 packages are used if configure detects them even if the corresponding
218 option is not specified.  Please note that the `--with-PACKAGE'
219 options can have additional arguments:
220
221  o `--with-PACKAGE' is equivalent to `--with-PACKAGE=yes'
222  o `--with-PACKAGE=no' disables checking for PACKAGE. It has the same
223    effect as `--without-PACKAGE'.
224  o `--with-PACKAGE=DIR' checks for PACKAGE in DIR
225
226
227 VMS
228 ---
229
230    John Hasstedt <John.Hasstedt@sunysb.edu> has written configure.vms,
231 a command file that creates the necessary make and option files to build
232 gnuplot.  See the file for instructions on using it.  If you have problems
233 with it, the old build files are still included; instructions for using
234 them follow.
235
236    On VMS, you can use MMS, MMK, or another make utility, or you can
237 use BUILDVMS.COM.  The supplied files work with Alpha/VMS V6.2 and
238 DECC V5.7; you may get warnings or more serious errors depending on
239 the versions of the C compiler, the C run-time libraries, and VMS on
240 your system.
241
242   To compile using MMK:
243      MMK/DESCRIPTION=MAKEFILE.VMS
244   To compile using MMS on VAX:
245      MMS/DESCRIPTION=MAKEFILE.VMS
246   To compile using MMS on Alpha:
247      MMS/DESCRIPTION=MAKEFILE.VMS/MACRO=__ALPHA__=1
248
249   Alternatively, you can use MAKE_VMS.COM.  This command file will run
250 MMK or MMS to build gnuplot.  If you don't have either one installed, it
251 will use the command file.  The first parameter on the command line is
252 the compiler you want to use (default DECC).
253
254   It may sometimes be useful to add  `/IGNORE=WARNING' to the `MMS' call.
255
256   To compile using GNUC or VAXC:
257      add /MACRO=GNUC or /MACRO=VAXC to the above command
258   To compile with another make utility:
259      check the documentation of your utility to specify the description
260      file and any necessary macros (__ALPHA__, GNUC, or VAXC)
261   Or if you don't have a suitable make:
262      @BUILDVMS
263   To tell gnuplot where to find the help library:
264      $ define gnuplot$help disk:[directory]gnuplot.hlb
265   Alternatively, put the help in the main system help library.
266
267
268 AmigaOS
269 -------
270
271 Using Aztec C 5.2a
272       make -f makefile.ami
273 Using SAS/C 6.1 or later versions
274       smake -f makefile.amg
275       You can also copy makefile.amg to smakefile and just type `smake'.
276
277       At the beginning of makefile.amg you will find a configuration
278       section where you have to adjust all settings which control the build
279       process. Most important is probably to select the terminal devices
280       which should be supported. You can create a version offering
281       png graphics as well as gif support. Use the appropriate settings
282       for CPU and MATH to compile for a specific machine type.
283       Be sure to enable only those devices for which you have the 
284       necessary software already installed. Also ensure that the
285       libraries and the sources are all compiled using the same
286       settings for CPU and MATH.
287 Using gcc: see Unix
288
289 Atari/TOS
290 ---------
291
292 Using gcc 2.x as unix cross- or native compiler
293         make -f makefile.st
294 (Edit top of makefile.st for name of crosscompiler or choose native setting)
295 Using PureC
296         use gnuplot.prj
297 Using TurboC
298         use gnuplot.prj
299 (Edit gnuplot.prj according to notes at the beginning)
300
301 MS-Windows
302 ----------
303
304 You'll need a help compiler from Microsoft to build the on-line help
305 for gnuplot.  Some versions of that, including the one coming with
306 version 4.0 of MSVC++ and with Borland C++ Builder 1.0, appear unable
307 to compile gnuplot.rtf.  The freely available "Help Workshop" download
308 from Microsoft is known to work, so in case of down you should get and
309 use that.
310
311 General install instructions:
312  Change into the "src" subdirectory.
313  Build the program using one of the ways shown below this note.
314  Put wgnuplot.exe, wgnuplot.hlp and wgnuplot.mnu all in a single
315   directory somewhere.  You may want to add that directory to your PATH.
316  There's no installer for gnuplot, so if you want a desktop link,
317   program manager group or an association of *.plt or *.gpl files to
318   wgnuplot, you'll have to do all that yourself.
319
320 Using Visual C++ and compiling for Windows (32-bit, i.e. 9x and NT family)
321       nmake -f ..\config\makefile.nt
322  or
323       copy ..\config\makefile.nt makefile
324       nmake
325
326 Using the MinGW32 port of gcc: you need parts of the Micrsoft SDK for the
327 moment.
328       copy ..\config\makefile.mgw makefile
329   Look through the Makefile to see if you need to make any changes.
330       make 
331       make install
332
333 Using the Cygwin port of gcc, which includes MinGW32: you need parts of
334 the Microsoft SDK for the moment.
335       copy ..\config\makefile.cyg makefile
336   Look through the Makefile to see if you need to make any changes.
337       make
338
339 Using Borland C++ 32 bit compilers, like the freely downloadable BCC55:
340       copy ..\config\makefile.win makefile.win
341   Look through makefile.win to see if you need to make any changes.
342   You'll probably have to change TC and some others.
343       make -fmakefile.win WIN32=1
344       
345 [NOTE: the 16-bit Windows version no longer work.  gnuplot has become
346 too large.]
347
348 Using Microsoft C 7.0 and compiling for MS-Windows (16-bit)
349       copy ..\config\makefile.msw makefile
350   Look through the Makefile to see if you need to make any changes.
351       nmake
352
353 Using Borland C++ 3.1 and compiling for MS-Windows (16-bit)
354       copy ..\config\makefile.win makefile.win
355   Look through the Makefile to see if you need to make any changes.
356   You'll probably have to change TC and some others.
357       make -fmakefile.win
358
359
360 MSDOS
361 -----
362
363 Using DJGPP (32-bit DOS port of GNU CC)
364   Basically the same as Unix+configure. Andris Pavenis <pavenis@lanet.lv>
365   has contributed a shell script which makes the whole process even easier:
366   just run djconfig.sh, and then make.
367   Only if you don't have a complete Unix toolset installed with your
368   DJGPP, it is recommended to use makefile.dj2 instead:
369       copy makefile.dj2 makefile
370       make
371
372 [NOTE: the 16-bit DOS versions of gnuplot no longer work.  gnuplot has
373 outgrown this platform.]
374
375 Using Microsoft C 7.0 targetting 16-bit DOS
376       copy makefile.msc makefile
377       nmake 
378
379 Using Borland C++ 3.0 targetting 16-bit DOS
380       copy makefile.tc makefile
381   Edit makefile to change TC, BIN, BGI, BGIOBJ. You may also want to turn
382   off overlays (See manual for more on overlays).
383       make
384
385 You'll want to copy the compiled executable and gnuplot.gih to a
386 directory on your PATH to make them easily usable.
387
388 The file gnuplot.gih is needed for help on the PC.
389 If the file gnuplot.gih is not in the default directory, then use:
390     set GNUHELP={full path name of gnuplot.gih}
391
392 OS/2
393 ----
394
395 To compile under OS/2 (2.x and above) you need the development suite EMX 0.9
396 (including gcc). You should also have GNU Make and IBM's IPFC  (Information
397 Presentation Facility Compiler, available from the Developer's Toolkit;
398 nowadays it's accessible through an IBM website for free!).
399
400 At the beginning of makefile.os2 you will find a configuration section where
401 you have to adjust all settings which control the build process. Most important
402 is probably to select the terminal devices which should be supported. You can
403 create a version offering PM graphics as well as X11 support (to use with
404 XFree86). Support for these two terminals is provided by additional
405 executables.
406
407 Be sure to enable only those devices for which you have the necessary software
408 already installed. Also ensure that the libraries and the sources are all
409 compiled (not) using the '-Zmt' flags.
410
411 Executing 
412     make -f makefile.os2
413 should create a default build while
414     make -f makefile.os2 help
415 will show you all pre-defined targets.
416
417 See other sections of the manuals for more information about installing/using
418 gnuplot on OS/2.
419
420
421 Ultrix
422 ------
423
424 The mousing code requires a patch in order to compile properly under Ultrix.
425 You can download this patch from the contributed scripts section of the
426 gnuplot project pages on SourceForge: http://gnuplot.sourceforge.net/scripts/
427 Or you can avoid the problem via        ./configure --disable-mouse
428
429
430 More details about ./configure --with-PACKAGE[=OPTION]
431 ======================================================
432
433 Every `--with-PACKAGE' option sets a `with_package' variable in configure.
434 Depending on how `--with-PACKAGE' was invoked, there are only three different
435 possible values for the `with_package' variable:
436
437  Option                   $with_package
438 ----------------------------------------
439 (not specified)           yes or no; default set in configure
440 --with-package            yes
441 --with-package=yes        yes
442 --with-package=no         no
443 --with-package=DIR        DIR
444 --without-package         no
445
446 In gnuplot, the following --with-PACKAGE options are available. The
447 --with-PACKAGE=DIR form is always required if a package is installed in a
448 non-default location that is not searched by the preprocessor or linker.
449
450   --with-readline
451
452    Use gnuplot's builtin readline function. This is enabled by default.
453
454   --without-readline
455
456    (same as --with-readline=no) Do not use gnuplot's builtin readline function.
457
458   --with-readline=gnu
459
460    Use the GNU readline library instead of gnuplot's builtin readline.
461    Version 4.2 or better is required.
462
463    Please note that there is a bug in GNU readline up to and including 4.3
464    that makes gnuplot exit if the terminal window is resized. A fix is
465    described at
466    http://sourceforge.net/tracker/index.php?func=detail&aid=608874&group_id=2055&atid=102055 .
467
468   --with-readline[=DIR]
469
470    Use the GNU readline library instead of gnuplot's builtin readline.
471    This form is required if GNU readline is not installed in a default
472    location.
473
474   --with-gd[=DIR]
475
476    Dto. for Thomas Boutell's gd library. configure determines whether
477    the found library supports gif, png, jpeg, and freetype.  This option
478    is on by default, i.e. configure will check if the library exists,
479    and use it if found, if you don't specify any option regarding this
480    package.
481
482   --with-png[=DIR]
483
484     Dto. for the png library. This option is on by default.
485
486   --with-pdf[=DIR]
487
488     Dto. for the pdf library. This option is on by default.
489
490   --with-plot[=DIR]
491
492     If used without the DIR argument, this option selects the standard
493     UNIX plot library, if available. If used with the DIR argument,
494     configure looks for the plot library from GNU plotutils version 2.2
495     or better. The option is off by default.
496
497    --with-gif=png
498
499     If specified, the gif driver produces png images instead of gif.
500     Other arguments to this option are ignored! This feature exists
501     mainly for backwards compatibility with old plot scripts, and is
502     off by default.
503
504
505 Platform compiler problems
506 ==========================
507
508 This section addresses trouble shooting and testing issues. Userland questions
509 are answered in the FAQ.
510
511 Platform and compiler notes
512 ---------------------------
513
514    Generally, if you think that configure has made a mistake in detecting
515 platform features, you should consider that a bug either in GNU autoconf
516 or in gnuplot's use of it, which you should report.  As a workaround
517 you can override such faulty tests in a site-wide collection
518 of preset configure test results, or manually override them after running
519 configure.
520
521    Example:
522 configure was for some reason unable to detect the memset() function, but
523 you are sure it is ok to use on your platform.  To fix that, you'll have
524 to edit the generated config.h and change the line 
525
526         /* #undef HAVE_MEMSET */ 
527 to
528         #define HAVE_MEMSET 1
529
530    Note that changing such defines from outside config.h, eg. via
531 'make DEFS=-DHAVE_MEMSET' is wrong, because config.h will usually
532 override such changes.  Also note that this change will be lost 
533 whenever you re-run configure.
534
535  - gcc -ansi
536
537    If you wish to compile with gcc -ansi (CC='gcc -ansi -pedantic'
538   ./configure), additional platform specific defines may be necessary
539   to include non-ANSI function prototypes. E.g. on Solaris,
540   -D__EXTENSIONS__ is needed. Otherwise, non-declared functions not
541   returning int will be assumed to return int, with possibly
542   dangerous consequences. Especially scpecfun.c is vulnerable here.
543
544  - HP-UX 9.x
545    It is recommended to use gcc, although the native compiler cc may
546   work with warnings.
547
548  - HP-UX 10.x and above
549    GCC has known problems on this platform if configured to use HP's
550   assembler. The telltale symptom are tic labels all ending up at
551   position 0.0. So either make sure you use a GCC configured to use
552   GNU as, or use HP's ANSI cc (the unbundled one).
553
554  - Alpha CPUs
555    The Alpha family of CPUs exhibits somewhat unusual behaviour in the
556   case of floating point exceptions.  In default mode, it doesn't comply
557   to IEEE floating point standards very well, leading to crashes of the
558   whole program because of a floating point exception in certain cases.
559   In order to avoid these, you may want to turn on IEEE compatibility
560   mode in your compiler flags. For DEC cc, the relevant option is
561   `-ieee', for GCC, it's `-mieee'.  The configure script tries to
562   automatically detect this situation and apply the flag, but you may want
563   to double-check it.
564
565  - SunOS 4.x
566    An ANSI/ISO C compiler should be used to compile gnuplot. It is
567   recommended to install gcc. If this is not an option, the system
568   compiler cc can be made to work with Wietse Venema's unproto tool.
569   See entry below for instructions.
570
571   As of 1998-11-18, gnuplot compiles again with the native compiler cc.
572
573  - System V.2/Ultrix 4.x/M88 SysV.3
574    An ANSI/ISO C compiler should be used to compile gnuplot. It is
575   recommended to install gcc. If this is not an option, the system
576   compiler cc can be made to work with Wietse Venema's unproto tool.
577
578   Note that as of gnuplot-4.0, the alternative tool ansi2knr is
579   included with the gnuplot source distribution and should
580   automatically be used by automake to do this job for you, so you
581   shouldn't need unproto any longer.
582
583   unproto is available from
584   ftp://ftp.win.tue.nl/pub/unix/unproto5.shar.Z
585   ftp://ftp.porcupine.org/pub/lang/unproto5.shar.Z
586
587   After installing unproto, configure gnuplot with
588
589   (Bourne shell syntax)
590
591   $ cd gnuplot-4.0
592   $ CC='cc -B/full/path/to/unproto/dir/ -tp' ./configure <options>
593
594   or (C shell syntax)
595
596   $ cd gnuplot-4.0
597   $ env CC='cc -B/full/path/to/unproto/dir/ -tp' ./configure <options>
598
599   The required compiler options shown here are for System V.2.  For other
600   platforms, consult the unproto documentation. `/full/path/to/unproto/dir'
601   is the full path name of the directory where unproto is installed. It is
602   not necessary to "install" unproto, one can just create a subdirectory
603   in gnuplot's source directory and use it from there.
604
605 Environment variables
606 =====================
607
608 See 'help environment'.
609
610 If the environment variable GNUTERM is found, it is used as the
611 terminal type.  Otherwise, in some cases the variable TERM will be
612 used, or the hardware may be detected automatically.  If all else
613 fails, a compile-time default will be used.
614
615 The PC version looks for the environment variable GNUPLOT to contain
616 the name of the directory from which to load the initialization file
617 GNUPLOT.INI and also to be used as the home directory in ~
618 substitution.  See the help on 'start_up' for more information.
619
620 HOME is examined as a directory where a .gnuplot startup file might be
621 found. See help on "start-up". The Atari/MTOS version uses
622 GNUPLOTPATH.
623
624 If defined, the environment variable GNUHELP is used for the name of
625 the .gih help file, otherwise HELPFILE (defined in makefile or
626 command.c) is used.
627
628 The VMS version looks for the logical name GNUPLOT$HELP to locate the
629 help library.
630
631 The usual system-wide environment variable is used to locate a command
632 line shell to be used for executing commands and starting sub-shells.
633 On the DOS family of platforms (including all versions of Windows and
634 OS/2) the variable looked at is COMSPEC.  Other platforms will consult
635 SHELL.
636
637 If gnuplot is configured to use its own, private history file, the
638 size of this file can be set via GNUPLOT_HISTORY_SIZE. The default is
639 666 (lines).
640
641 If gnuplot is configured for the X11 window system, it looks for the
642 X11 driver program in GNUPLOT_DRIVER_DIR.  The default position used
643 for the driver is fixed by the build process, so you should only have
644 to set this if you moved gnuplot_x11 away from its original location.
645
646 GDFONTPATH is the directory where png terminal searches TrueType and
647 Adobe Type 1 fonts.  You should set it to directory where files like 
648 arial.ttf and Symbol.pfa exist.
649
650 GNUPLOT_DEFAULT_GDFONT is the default font to be used by the png and
651 jpeg terminal types. This must either be a full path to the font file
652 or the face name of a font found in the GDFONTPATH search path.
653     
654 GNUPLOT_FONTPATH is used by the postscript driver as search path for
655 postscript (Adobe Type 1 and Type 2) fonts.  It is also used by the
656 svg driver to look for svg or Adobe cef fonts.
657
658 GNUPLOT_PS_DIR is used by the postscript driver to use external prologue
659 files. Depending on the build process, gnuplot contains either a builtin
660 copy of those files or simply a default hardcoded path. Use this variable
661 to test the postscript terminal with custom prologue files.
662
663 GNUPLOT_LIB may be used to define additional search directories for
664 data and command files. The variable may contain a single directory
665 name, or a list of directories separated by a platform-specific path
666 separator, eg. ':' on Unix, or ';' on DOS/Windows/OS/2/Amiga
667 platforms. The contents of GNUPLOT_LIB are appended to the `loadpath`
668 variable, but not saved with the `save` and `save set` commands.
669
670 GNUFITLOG holds the name of a file that saves fit results. The default
671 is fit.log. If the name ends with a "/" or "\", it is treated as a
672 directory name, and "fit.log" will be created as a file in that
673 directory.
674
675 The CGI drivers need the CGIPATH environment variable to set the path
676 to the CGI agents, and the CGIDISP and/or CGIPRNT environment variables
677 to the CGI agents, and the CGIDISP and/or CGIPRNT environment variables
678 to set the output devices.
679
680 If creating dynamically linked executables, it may be necessary to add
681 flags to the LIBS variable in Makefile to make sure gnuplot finds all
682 required libraries at runtime.  Systems like SunOS and Solaris use -R
683 to specify the runtime library search path, whereas OSF/Dec Unix, Irix
684 and Linux use -rpath. If this is not possible, the LD_LIBRARY_PATH
685 environment variable should be set.  Generally it's recommended to
686 install shared libraries only in places that are already searched by
687 the linker without such options.  LD_LIBRARY_PATH is the second-best
688 choice.
689
690
691 How to test gnuplot
692 ===================
693
694 No comprehensive test suite for gnuplot's features has been written to date.
695 However, the supplied demo files provide a good method of testing commonly
696 used features. All command line examples below assume Unix Bourne shell
697 syntax.
698
699    The demo files can be run interactively by eg.
700
701 $ cd gnuplot/demo
702 $ gnuplot simple.dem
703     or
704 $ GNUPLOT_DRIVER_DIR=../src ../src/gnuplot simple.dem
705
706 and gnuplot prompts the user to "Hit return to continue" to cycle through
707 all the plots (the GNUPLOT_DRIVER_DIR= part is only required if you are
708 using the X11 or BeOS plotting device and the gnuplot_x11/gnuplot_be binary
709 has not been installed yet, or if you want to test the external binaries you
710 just compiled at the same time).
711
712    To run the demos in a specified file without interaction, one can use
713
714 $ gnuplot simple.dem </dev/null
715 $ GNUPLOT_DRIVER_DIR=../src ../src/gnuplot simple.dem </dev/null
716
717    To run all demos non-interactively, use
718
719 $ gnuplot all.dem </dev/null
720 $ GNUPLOT_DRIVER_DIR=../src ../src/gnuplot all.dem </dev/null
721    For convencience, the special make target 'check' will run the above
722    if you run it from the demo directory of the source tree:
723 $ make check
724
725    To use a different plotting device than the default (usually X11 under
726 Unix), use eg.
727
728 $ GNUTERM=dumb GNUPLOT_DRIVER_DIR=../src ../src/gnuplot all.dem </dev/null
729 or
730 gnuplot> set term dumb
731 gnuplot> load 'all.dem'
732
733    To test the capabilities of the terminal you are using, there is the
734 'test' command:
735
736 gnuplot> test
737
738    `test` creates a display of line and point styles and other useful things
739 appropriate for the terminal you are using.
740
741
742 Installing WPS object for gnuplot on OS/2
743 =========================================
744
745 GNUPLOT can be run from the command line of an OS/2 session, or can be set up
746 as a program object in the WPS.
747
748 GNUPLOT starts up as a command line session which accepts the usual GNUPLOT 
749 input. The Presentation Manager (PM) window for graphics display is only opened
750 when the first 'plot' or 'splot' command is entered.
751
752 If GNUPLOT is set up as a program object, it can be configured for 'drag and 
753 drop' in the usual way, by specifying '%*' as the program parameter.
754
755 The PM window has facilities for printing the plot, for changing the fonts 
756 used in the plot, and so on. These of course are handled through the usual 
757 PM interface. In addition, you can 'drop' a font onto the window to change 
758 the font.
759
760 The usual GNUPLOT commands can also be used to produce output on supported
761 devices.
762
763 Settings and the positions and sizes of the windows can be saved in the file
764 gnushell.ini. This file is saved in the program's working directory; several
765 different directories can be set up (as program objects) with different 
766 options, if you wish.
767
768 PM terminal is fully mouse-capable. Type 'm' to switch the mouse on/off (see
769 'help mouse' for more details), or 'h' for the full list of current hotkeys
770 (see also 'help bind').
771
772
773 Compiling Gnuplot with the wxWidgets terminal
774 ==============================================
775
776 The `wxt` terminal provides an interactive windowed output. The code is
777 cross-platform and can be compiled as soon as the following requirements are
778 met:
779
780 First, this terminal is based on the wxWidgets library. This library can be
781 found on http://www.wxwidgets.org. It comes in different flavours corresponding
782 to the underlying API : Microsoft Windows ("wxMSW"), GTK+ ("wxGTK"), X11
783 ("wxX11"), MacOS ("wxMAC"), etc. Only wxMSW and wxGTK have been tested for
784 gnuplot 4.2. If you want to use one of the other flavours, some things are
785 likely to need a little work. You can find help on the gnuplot-beta mailing
786 list. If you compile against the wxGTK port, you are encouraged to have the
787 gtk+ development files too for the raise/lower commands to work as expected.
788
789 Then, the terminal needs the Cairo library (no specific backend is required)
790 which can be found on http://www.cairographics.org, and the Pango library,
791 which can be found on http://www.pango.org and need to be compiled with its
792 Cairo backend.
793
794 On Unix, use the usual `./configure; make; make install' build process to
795 compile this terminal. On Windows, please use the MinGW/MSYS makefile, namely
796 config/makefile.mgw. MinGW and MSYS can be found on http://www.mingw.org.
797
798
799 Front-ends for gnuplot
800 ======================
801
802  o See gnuplot web page
803         http://gnuplot.sourceforge.net/links.html
804    for an up-to-date version of gnuplot front-ends
805
806  o Bruce Ravel <ravel@phys.washington.edu> has written a new version of
807    gnuplot-mode for GNU emacs and XEmacs. This version is based on
808    the gnuplot.el file by Gershon Elber which used to be included with 
809    earlier versions of gnuplot's source distribution. The package is
810    available from http://feff.phys.washington.edu/~ravel/gnuplot/.
811    As of gnuplot 4.0 Bruce's version of gnuplot-mode is included 
812    with the gnuplot distribution, so you should already have it.
813