home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / pc / source / gnuplotp.lzh / gnuplot#1.2 / patch1a
Encoding:
Text File  |  1990-10-12  |  74.9 KB  |  2,619 lines

  1. diff -c ./README ../patch/README
  2. *** ./README    Tue Mar 27 08:58:56 1990
  3. --- ../patch/README    Thu Sep 13 10:07:14 1990
  4. ***************
  5. *** 16,24
  6.   
  7.                        GNUPLOT 2.0 RELEASE NOTES
  8.   
  9. ! New terminal drivers: Roland DXY800A, EEPIC, EPSON LX-800, Fig,
  10. ! HP2648, HPGL, HP LaserJet, Imagen, Kermit-MS Tektronix emulator,
  11. ! LaTeX, MCGA, NEC CP6 pinwriter, POSTSCRIPT, Proprinter, SUN, VGA.
  12.   
  13.   Additions:
  14.   
  15.  
  16. --- 16,25 -----
  17.   
  18.                        GNUPLOT 2.0 RELEASE NOTES
  19.   
  20. ! New terminal drivers: ATT6300, Roland DXY800A, EEPIC, emTeX, EPSON LX-800, 
  21. ! EPSON 60dpi, Fig, HP2648, HPGL, HP LaserJet, Imagen, Kermit-MS Tektronix 
  22. ! emulator, LaTeX, MCGA, NEC CP6 pinwriter, POSTSCRIPT, Proprinter, Star color 
  23. ! printer, Tandy DMP-130, Tektronix 410x, SUN, VGA, X11.
  24.   
  25.   Additions:
  26.   
  27. ***************
  28. *** 178,184
  29.                          PREPROCESSOR #DEFINES
  30.   
  31.   These #defines should be checked before compilation:
  32. ! define        file                note
  33.   ------      ----            --------
  34.   VFORK       Makefile        define if you've got vfork() system call
  35.   GAMMA       Makefile        define if you've got gamma(3)
  36.  
  37. --- 179,185 -----
  38.                          PREPROCESSOR #DEFINES
  39.   
  40.   These #defines should be checked before compilation:
  41. ! define      file            note
  42.   ------      ----            --------
  43.   VFORK       Makefile        define if you've got vfork() system call
  44.   GAMMA       Makefile        define if you've got gamma(3)
  45. ***************
  46. *** 199,205
  47.   various plotting terminals, printers, and protocols that a given version
  48.   of gnuplot can access:
  49.   
  50. ! define         file        note
  51.   ------      ----            --------
  52.   TERMFLAGS   Makefile        the set of terminals you want, from below
  53.   
  54.  
  55. --- 200,206 -----
  56.   various plotting terminals, printers, and protocols that a given version
  57.   of gnuplot can access:
  58.   
  59. ! define         file            note
  60.   ------      ----            --------
  61.   TERMFLAGS   Makefile        the set of terminals you want, from below
  62.               or term.h
  63. ***************
  64. *** 202,207
  65.   define         file        note
  66.   ------      ----            --------
  67.   TERMFLAGS   Makefile        the set of terminals you want, from below
  68.   
  69.      AED         AED 512 and AED 767
  70.      BITGRAPH    BBN BitGraph
  71.  
  72. --- 203,209 -----
  73.   define         file            note
  74.   ------      ----            --------
  75.   TERMFLAGS   Makefile        the set of terminals you want, from below
  76. +             or term.h
  77.   
  78.      AED         AED 512 and AED 767
  79.      ATT6300     PC with AT&T 6300 graphics
  80. ***************
  81. *** 204,209
  82.   TERMFLAGS   Makefile        the set of terminals you want, from below
  83.   
  84.      AED         AED 512 and AED 767
  85.      BITGRAPH    BBN BitGraph
  86.      DXY800A     Roland DXY800A plotter
  87.      EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  88.  
  89. --- 206,212 -----
  90.               or term.h
  91.   
  92.      AED         AED 512 and AED 767
  93. +    ATT6300     PC with AT&T 6300 graphics
  94.      BITGRAPH    BBN BitGraph
  95.      CORONA      PC with Corona graphics 325
  96.      DXY800A     Roland DXY800A plotter
  97. ***************
  98. *** 205,210
  99.   
  100.      AED         AED 512 and AED 767
  101.      BITGRAPH    BBN BitGraph
  102.      DXY800A     Roland DXY800A plotter
  103.      EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  104.      FIG         Fig graphics language (requires object.h from TransFig)
  105.  
  106. --- 208,214 -----
  107.      AED         AED 512 and AED 767
  108.      ATT6300     PC with AT&T 6300 graphics
  109.      BITGRAPH    BBN BitGraph
  110. +    CORONA      PC with Corona graphics 325
  111.      DXY800A     Roland DXY800A plotter
  112.      EEPIC       EEPIC-extended LaTeX driver, for EEPIC users
  113.      EMTEX       LATEX picture environment with emTeX specials
  114. ***************
  115. *** 206,211
  116.      AED         AED 512 and AED 767
  117.      BITGRAPH    BBN BitGraph
  118.      DXY800A     Roland DXY800A plotter
  119.      EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  120.      FIG         Fig graphics language (requires object.h from TransFig)
  121.      HP2648      HP2648, HP2647
  122.  
  123. --- 210,218 -----
  124.      BITGRAPH    BBN BitGraph
  125.      CORONA      PC with Corona graphics 325
  126.      DXY800A     Roland DXY800A plotter
  127. +    EEPIC       EEPIC-extended LaTeX driver, for EEPIC users
  128. +    EMTEX       LATEX picture environment with emTeX specials
  129. +    EPS60       Epson-style 60-dot per inch printers
  130.      EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  131.      FIG         Fig graphics language (requires object.h from TransFig)
  132.      HERCULES    IBM PC/Clone with Hercules graphics board
  133. ***************
  134. *** 208,213
  135.      DXY800A     Roland DXY800A plotter
  136.      EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  137.      FIG         Fig graphics language (requires object.h from TransFig)
  138.      HP2648      HP2648, HP2647
  139.      HP26        HP2623A and maybe others
  140.      HP75        HP7580, and probably other HPs
  141.  
  142. --- 215,221 -----
  143.      EPS60       Epson-style 60-dot per inch printers
  144.      EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  145.      FIG         Fig graphics language (requires object.h from TransFig)
  146. +    HERCULES    IBM PC/Clone with Hercules graphics board
  147.      HP2648      HP2648, HP2647
  148.      HP26        HP2623A and maybe others
  149.      HP75        HP7580, and probably other HPs
  150. ***************
  151. *** 223,229
  152.      QMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  153.      REGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  154.      SELANAR     Selanar
  155. !    TEK         Tektronix 4010, and probably others
  156.      SUN         Sun Microsystems Workstation
  157.      UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  158.      UNIXPLOT    unixplot
  159.  
  160. --- 231,237 -----
  161.      QMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  162.      REGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  163.      SELANAR     Selanar
  164. !    STARC       Star Color Printer
  165.      SUN         Sun Microsystems Workstation
  166.      T410X       Tektronix 4106, 4107, 4109 and 420x terminals
  167.      TANDY60     Tandy DMP-130 series 60-dot per inch graphics
  168. ***************
  169. *** 225,230
  170.      SELANAR     Selanar
  171.      TEK         Tektronix 4010, and probably others
  172.      SUN         Sun Microsystems Workstation
  173.      UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  174.      UNIXPLOT    unixplot
  175.      V384        Vectrix 384 and tandy color printer
  176.  
  177. --- 233,241 -----
  178.      SELANAR     Selanar
  179.      STARC       Star Color Printer
  180.      SUN         Sun Microsystems Workstation
  181. +    T410X       Tektronix 4106, 4107, 4109 and 420x terminals
  182. +    TANDY60     Tandy DMP-130 series 60-dot per inch graphics
  183. +    TEK         Tektronix 4010, and probably others
  184.      UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  185.      UNIXPLOT    unixplot
  186.      V384        Vectrix 384 and tandy color printer
  187. ***************
  188. *** 228,233
  189.      UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  190.      UNIXPLOT    unixplot
  191.      V384        Vectrix 384 and tandy color printer
  192.   
  193.   
  194.   These #defines are defined automatically by various compilers, some
  195.  
  196. --- 239,245 -----
  197.      UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  198.      UNIXPLOT    unixplot
  199.      V384        Vectrix 384 and tandy color printer
  200. +    X11         X11R4 window system
  201.   
  202.   
  203.   These #defines are defined automatically by various compilers, some
  204. ***************
  205. *** 246,254
  206.   
  207.   under UNIX:  
  208.   To compile do:
  209. !     cp makefile.unx Makefile
  210. !     (make any changes to #defines, especially HELPDEST and TERMFLAGS)
  211. !     make
  212.   
  213.   under VMS:  
  214.    To compile:
  215.  
  216. --- 258,271 -----
  217.   
  218.   under UNIX:  
  219.   To compile do:
  220. !   Copy one of makefile.unx, makefile.x11 or makefile.3b1,  
  221. !   to Makefile, for example
  222. !       cp makefile.unx Makefile
  223. !   Edit Makefile to change LIBS, #defines, especially HELPDEST and TERMFLAGS
  224. !   Edit term.h, to include/exclude terminals
  225. !       make
  226. !   If that works, try
  227. !       make install
  228.   
  229.   under VMS:  
  230.    To compile:
  231. diff -c ./README.x11 ../patch/README.x11
  232. *** ./README.x11    Thu Sep  6 09:21:38 1990
  233. --- ../patch/README.x11    Tue Sep  4 20:57:58 1990
  234. ***************
  235. *** 0
  236.  
  237. --- 1,49 -----
  238. + Gnuplot Support for X11
  239. + -----------------------
  240. + 31 August 1990
  241. + Installing gnuplot X11 support requires:
  242. +    o compilation of term.c with -DX11 included in TERMFLAGS
  243. +    o compilation of plot.c with -DX11
  244. +    o compilation of the outboard X11 terminal driver gnuplot_x11
  245. +    o additions to the gnuplot(1) man page to describe command line
  246. +      options and tailorable resources available when gnuplot terminal
  247. +      types x11 or X11 are used.
  248. + makefile.x11 (a modified version of makefile.unx) provides these additional
  249. + functions. The X11LIBS and X11INCLUDES parameters should be set to point to
  250. + the X11 libraries and include files on your system. Comments give settings
  251. + for several systems.
  252. + Sorry, as of this writing no support is available for systems without the 
  253. + Athena widget library (libXaw.a), or platforms other than unix.
  254. + Differences from "xgnuplot"
  255. + ---------------------------
  256. + This X11 support is based on (and replaces) the xgnuplot wrapper/terminal 
  257. + driver which was distributed separately from gnuplot. Differences:
  258. +    o Gnuplot silently invokes the outboard driver, rather than vice versa.
  259. +      Thus resource names in .Xdefaults begin with "gnuplot" rather than
  260. +      "xgnuplot". En passant, this change fixed the bug where xgnuplot would
  261. +      hang until Ctrl-C when gnuplot was exited without plotting at least
  262. +      one x11/X11 plot.
  263. +    o When the window is resized, the currently displayed plot is automatically
  264. +      rescaled and replotted.
  265. +    o Compiles under X11 R3 as well as R4. This required using XtInitialize
  266. +      instead of XtAppInitialize, (char *) instead of XtPointer for callback
  267. +      client data declarations, removing a reference to XGetGCValues, and 
  268. +      parameterizing (X11INCLUDES in makefile.x11) the location of the needed 
  269. +      Athena include files.
  270. + ---------------------------------
  271. + Ed Kubaitis, ejk@uxh.cso.uiuc.edu
  272. + Computing Services Office - University of Illinois, Urbana
  273. Common subdirectories: ./bugtest and ../patch/bugtest
  274. diff -c ./buildvms.com ../patch/buildvms.com
  275. *** ./buildvms.com    Tue Mar 27 08:59:27 1990
  276. --- ../patch/buildvms.com    Thu Sep  6 12:11:16 1990
  277. ***************
  278. *** 1,6
  279.   $ ! buildvms.com  (Command file to compile/link gnuplot and doc2hlp)
  280.   $ CFLAGS = "/NOOP"
  281. ! $ TERMFLAGS = "/define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL,KERMIT,LATEX,POSTSCRIPT,QMS,REGIS,SELANAR,TEK,V384)"
  282.   $ set verify
  283.   $ cc 'CFLAGS' command.c
  284.   $ cc 'CFLAGS' eval.c
  285.  
  286. --- 1,7 -----
  287.   $ ! buildvms.com  (Command file to compile/link gnuplot and doc2hlp)
  288.   $ CFLAGS = "/NOOP"
  289. ! $ !TERMFLAGS = "/define=()"
  290. ! $ TERMFLAGS = ""
  291.   $ set verify
  292.   $ cc 'CFLAGS' command.c
  293.   $ cc 'CFLAGS' eval.c
  294. diff -c ./command.c ../patch/command.c
  295. *** ./command.c    Tue Mar 27 09:00:55 1990
  296. --- ../patch/command.c    Wed Sep 12 11:16:51 1990
  297. ***************
  298. *** 40,45
  299.   
  300.   #ifdef __TURBOC__
  301.   #include <dos.h>    /* sleep() */
  302.   
  303.   #else    /* must be MSC */
  304.   #include <time.h>    /* kludge to provide sleep() */
  305.  
  306. --- 40,47 -----
  307.   
  308.   #ifdef __TURBOC__
  309.   #include <dos.h>    /* sleep() */
  310. + #include <conio.h>
  311. + extern unsigned _stklen = 8192;    /* increase stack size */
  312.   
  313.   #else    /* must be MSC */
  314.   #include <time.h>    /* kludge to provide sleep() */
  315. ***************
  316. *** 72,77
  317.   extern char *strcpy(),*strncpy(),*strcat();
  318.   extern int strlen(), strcmp();
  319.   
  320.   extern double magnitude(),angle(),real(),imag();
  321.   extern struct value *const_express(), *pop(), *complex();
  322.   extern struct at_type *temp_at(), *perm_at();
  323.  
  324. --- 74,86 -----
  325.   extern char *strcpy(),*strncpy(),*strcat();
  326.   extern int strlen(), strcmp();
  327.   
  328. + #ifdef unix
  329. + extern char *getwd();
  330. + #else
  331. + extern char *getcwd();
  332. + #endif
  333. + extern int chdir();
  334.   extern double magnitude(),angle(),real(),imag();
  335.   extern struct value *const_express(), *pop(), *complex();
  336.   extern struct at_type *temp_at(), *perm_at();
  337. ***************
  338. *** 265,270
  339.               c_token = num_tokens = 0;
  340.           }
  341.       }
  342.       else if (almost_equals(c_token,"ex$it") ||
  343.               almost_equals(c_token,"q$uit")) {
  344.           done(IO_SUCCESS);
  345.  
  346. --- 274,301 -----
  347.               c_token = num_tokens = 0;
  348.           }
  349.       }
  350. +     else if (almost_equals(c_token,"cd")) {
  351. +         if (!isstring(++c_token))
  352. +             int_error("expecting directory name",c_token);
  353. +         else {
  354. +             quotel_str(sv_file,c_token);
  355. +             if (chdir(sv_file)) {
  356. +               int_error("Can't change to this directory",c_token);
  357. +             }
  358. +         c_token++;
  359. +         }
  360. +     }
  361. +     else if (almost_equals(c_token,"pwd")) {
  362. + #ifdef unix
  363. + /* unix has getwd() */
  364. +       (void) getwd(sv_file);
  365. + #else
  366. + /* Turbo C and VMS have getcwd() */
  367. +       (void) getcwd(sv_file,MAX_ID_LEN);
  368. + #endif
  369. +       fprintf(stderr,"%s\n", sv_file);
  370. +       c_token++;
  371. +     }
  372.       else if (almost_equals(c_token,"ex$it") ||
  373.               almost_equals(c_token,"q$uit")) {
  374.           done(IO_SUCCESS);
  375. ***************
  376. *** 281,287
  377.               int_error("cannot set range with replot",c_token);
  378.           if (!END_OF_COMMAND) {
  379.               capture(str,c_token,num_tokens-1);
  380. !             if ( (strlen(str) + strlen(input_line)) <= MAX_LINE_LEN-1) {
  381.                   (void) strcat(replot_line,",");
  382.                   (void) strcat(replot_line,str); 
  383.               } else {
  384.  
  385. --- 312,318 -----
  386.               int_error("cannot set range with replot",c_token);
  387.           if (!END_OF_COMMAND) {
  388.               capture(str,c_token,num_tokens-1);
  389. !             if ( (strlen(str) + strlen(replot_line)) <= MAX_LINE_LEN-1) {
  390.                   (void) strcat(replot_line,",");
  391.                   (void) strcat(replot_line,str); 
  392.               } else {
  393. ***************
  394. *** 1001,1007
  395.       char *prompt;
  396.   {
  397.       register int i;
  398. !     int start = 0;
  399.       BOOLEAN more;
  400.       int last;
  401.       
  402.  
  403. --- 1032,1038 -----
  404.       char *prompt;
  405.   {
  406.       register int i;
  407. !     int start = 0, ilen = 0;
  408.       BOOLEAN more;
  409.       int last;
  410.       
  411. ***************
  412. *** 1009,1016
  413.       if (interactive) { /* if interactive use console IO so CED will work */
  414.           cputs(prompt);
  415.           do {
  416. !            input_line[start] = MAX_LINE_LEN - start - 1;
  417. !            cgets(&(input_line[start]));
  418.              (void) putc('\n',stderr);
  419.              if (input_line[start+2] == 26) {
  420.                 /* end-of-file */
  421.  
  422. --- 1040,1048 -----
  423.       if (interactive) { /* if interactive use console IO so CED will work */
  424.           cputs(prompt);
  425.           do {
  426. !            ilen = MAX_LINE_LEN-start-1;
  427. !            input_line[start] = ilen > 126 ? 126 : ilen;
  428. !            (void) cgets(&(input_line[start]));
  429.              (void) putc('\n',stderr);
  430.              if (input_line[start+2] == 26) {
  431.                 /* end-of-file */
  432. Common subdirectories: ./demo and ../patch/demo
  433. Common subdirectories: ./docs and ../patch/docs
  434. diff -c ./linkopt.tc ../patch/linkopt.tc
  435. *** ./linkopt.tc    Tue Mar 27 09:03:43 1990
  436. --- ../patch/linkopt.tc    Tue Aug 28 17:10:27 1990
  437. ***************
  438. *** 1,2
  439. ! \tc\lib\C0l command eval graphics help internal misc parse plot scanner setshow standard term util version cga egavga herc ,gnuplot,gnuplot, \tc\lib\emu \tc\lib\mathl \tc\lib\cl \tc\lib\graphics
  440. !         
  441.  
  442. --- 1,9 -----
  443. ! \tc\lib\C0l +
  444. ! command eval graphics help internal misc parse +
  445. ! plot scanner setshow standard term util version +
  446. ! cga egavga herc att +
  447. ! ,gnuplot,gnuplot, +
  448. ! \tc\lib\emu +
  449. ! \tc\lib\mathl +
  450. ! \tc\lib\cl +
  451. ! \tc\lib\graphics
  452. diff -c ./makefile.3b1 ../patch/makefile.3b1
  453. *** ./makefile.3b1    Tue Mar 27 08:59:02 1990
  454. --- ../patch/makefile.3b1    Mon Sep 10 10:10:56 1990
  455. ***************
  456. *** 21,26
  457.   CC = cc
  458.   CFLAGS = -DGAMMA -O #-g
  459.   
  460.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  461.   # -DAED         AED 512 and AED 767
  462.   # -DBITGRAPH    BBN BitGraph
  463.  
  464. --- 21,31 -----
  465.   CC = cc
  466.   CFLAGS = -DGAMMA -O #-g
  467.   
  468. + # -lplot iff you have -DUNIXPLOT
  469. + # -lsuntool -lsunwindow -lpixrect  iff you have -DSUN
  470. + # -lgl_s if IRIS4D
  471. + LIBS = -lm -lplot
  472.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  473.   # other terminal flags defined in term.h
  474.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  475. ***************
  476. *** 22,48
  477.   CFLAGS = -DGAMMA -O #-g
  478.   
  479.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  480. ! # -DAED         AED 512 and AED 767
  481. ! # -DBITGRAPH    BBN BitGraph
  482. ! # -DDXY800A     Roland DXY800A plotter
  483. ! # -DEPSON               Epson LX-800, Star NL-10, NX-1000 and lots of others
  484. ! # -DFIG                 Fig graphics language (requires object.h from TransFig)
  485. ! # -DHP2648              HP2648, HP2647
  486. ! # -DHP26        HP2623A and maybe others
  487. ! # -DHP75        HP7580, and probably other HPs
  488. ! # -DHPGL                HP7475 and (hopefully) lots of others
  489. ! # -DHPLJET              HP Laserjet
  490. ! # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  491. ! # -DIRIS4D      IRIS4D series computer
  492. ! # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  493. ! # -DLATEX       LATEX picture environment
  494. ! # -DPOSTSCRIPT  Postscript
  495. ! # -DPROPRINTER  IBM Proprinter
  496. ! # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  497. ! # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  498. ! # -DSELANAR     Selanar
  499. ! # -DTEK         Tektronix 4010, and probably others
  500. ! # -DSUN         Sun Microsystems Workstation
  501.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  502.   # -DUNIXPLOT    unixplot
  503.   # -DV384        Vectrix 384 and tandy color printer
  504.  
  505. --- 27,33 -----
  506.   LIBS = -lm -lplot
  507.   
  508.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  509. ! # other terminal flags defined in term.h
  510.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  511.   # -DUNIXPLOT    unixplot
  512.   
  513. ***************
  514. *** 45,51
  515.   # -DSUN         Sun Microsystems Workstation
  516.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  517.   # -DUNIXPLOT    unixplot
  518. - # -DV384        Vectrix 384 and tandy color printer
  519.   
  520.   TERMFLAGS =  -Iterm -DNEC -DUNIXPLOT -DUNIXPC
  521.   
  522.  
  523. --- 30,35 -----
  524.   # other terminal flags defined in term.h
  525.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  526.   # -DUNIXPLOT    unixplot
  527.   
  528.   TERMFLAGS =  -Iterm -DUNIXPLOT -DUNIXPC
  529.   
  530. ***************
  531. *** 47,53
  532.   # -DUNIXPLOT    unixplot
  533.   # -DV384        Vectrix 384 and tandy color printer
  534.   
  535. ! TERMFLAGS =  -Iterm -DNEC -DUNIXPLOT -DUNIXPC
  536.   
  537.   OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  538.       plot.o scanner.o setshow.o standard.o term.o util.o
  539.  
  540. --- 31,37 -----
  541.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  542.   # -DUNIXPLOT    unixplot
  543.   
  544. ! TERMFLAGS =  -Iterm -DUNIXPLOT -DUNIXPC
  545.   
  546.   OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  547.       plot.o scanner.o setshow.o standard.o term.o util.o
  548. ***************
  549. *** 57,64
  550.   CSOURCE2 = help.c graphics.c internal.c
  551.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  552.   CSOURCE4 = term.c util.c version.c
  553. ! CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  554. !     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  555.       term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  556.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  557.       term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm \
  558.  
  559. --- 41,48 -----
  560.   CSOURCE2 = help.c graphics.c internal.c
  561.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  562.   CSOURCE4 = term.c util.c version.c
  563. ! CSOURCE5 = term/aed.trm term/dxy.trm term/eps60.trm term/epson.trm \
  564. !     term/font5x7.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \
  565.       term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  566.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  567.       term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  568. ***************
  569. *** 61,68
  570.       term/hp26.trm term/hp2648.trm term/hpgl.trm \
  571.       term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  572.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  573. !     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm \
  574. !     term/imPcodes.h term/imagen.trm term/object.h term/fig.trm
  575.   # not C code, but still needed
  576.   ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  577.       makefile.3b1 plot.h help.h setshow.h lasergnu \
  578.  
  579. --- 45,53 -----
  580.       term/font5x7.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \
  581.       term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  582.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  583. !     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  584. ! CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  585. !     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  586.   # not C code, but still needed
  587.   ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  588.       README.x11 makefile.x11 \
  589. ***************
  590. *** 65,71
  591.       term/imPcodes.h term/imagen.trm term/object.h term/fig.trm
  592.   # not C code, but still needed
  593.   ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  594. !     makefile.3b1 plot.h help.h setshow.h lasergnu \
  595.       demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  596.       demo/simple.demo demo/polar.demo demo/electron.demo \
  597.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  598.  
  599. --- 50,57 -----
  600.       term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  601.   # not C code, but still needed
  602.   ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  603. !     README.x11 makefile.x11 \
  604. !     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  605.       demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  606.       demo/simple.demo demo/polar.demo demo/electron.demo \
  607.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  608. ***************
  609. *** 90,99
  610.       translate/plot.h translate/scanner.c translate/standard.c \
  611.       translate/test1 translate/test2 translate/util.c
  612.   
  613. ! # -lplot iff you have -DUNIXPLOT
  614. ! # -lsuntool -lsunwindow -lpixrect  iff you have -DSUN
  615. ! # -lgl_s if IRIS4D
  616. ! LIBS = -lm -lplot
  617.   
  618.   gnuplot: $(OBJS) version.o
  619.       ld /lib/crt0s.o /lib/shlib.ifile $(OBJS) version.o $(LIBS) -o gnuplot
  620.  
  621. --- 76,82 -----
  622.       translate/plot.h translate/scanner.c translate/standard.c \
  623.       translate/test1 translate/test2 translate/util.c
  624.   
  625. ! all:    gnuplot doc
  626.   
  627.   gnuplot: $(OBJS) version.o
  628.       ld /lib/crt0s.o /lib/shlib.ifile $(OBJS) version.o $(LIBS) -o gnuplot
  629. ***************
  630. *** 104,111
  631.   translate:
  632.       (cd translate; make)
  633.   
  634. - all:    gnuplot doc
  635.   install: gnuplot doc man_install
  636.       cp gnuplot lasergnu $(DEST)
  637.       strip $(DEST)/gnuplot
  638.  
  639. --- 87,92 -----
  640.   translate:
  641.       (cd translate; make)
  642.   
  643.   install: gnuplot doc man_install
  644.       cp gnuplot lasergnu $(DEST)
  645.       strip $(DEST)/gnuplot
  646. ***************
  647. *** 114,120
  648.   man_install: docs/gnuplot.1 docs/lasergnu.1
  649.       cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  650.   
  651. ! term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  652.       $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  653.   
  654.   $(OBJS): plot.h
  655.  
  656. --- 95,101 -----
  657.   man_install: docs/gnuplot.1 docs/lasergnu.1
  658.       cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  659.   
  660. ! term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  661.       $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  662.   
  663.   $(OBJS): plot.h
  664. ***************
  665. *** 127,133
  666.   command.o graphics.o misc.o plot.o setshow.o: setshow.h
  667.   
  668.   SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  669. !     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  670.   
  671.   lint:
  672.       lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  673.  
  674. --- 108,114 -----
  675.   command.o graphics.o misc.o plot.o setshow.o: setshow.h
  676.   
  677.   SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  678. !     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  679.   
  680.   lint:
  681.       lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  682. diff -c ./makefile.msc ../patch/makefile.msc
  683. *** ./makefile.msc    Tue Mar 27 09:03:45 1990
  684. --- ../patch/makefile.msc    Mon Sep  3 15:59:53 1990
  685. ***************
  686. *** 10,16
  687.   # /DPC means define symbol PC
  688.   CFLAGS = /c /AL /DPC #/DMSDOS #/Zi #/Od
  689.   
  690. ! TERMFLAGS = /DHERCULES /DCORONA /DATT6300 /DEPSON /DPOSTSCRIPT /DHP75 /DHPGL /DDXY800A  /DNEC
  691.   
  692.   # /NOE means NO EXTernal Dictionary
  693.   # /EX  means pack EXE file
  694.  
  695. --- 10,17 -----
  696.   # /DPC means define symbol PC
  697.   CFLAGS = /c /AL /DPC #/DMSDOS #/Zi #/Od
  698.   
  699. ! # see other terminal defines in term.h
  700. ! TERMFLAGS = 
  701.   
  702.   # /NOE means NO EXTernal Dictionary
  703.   # /EX  means pack EXE file
  704. ***************
  705. *** 21,29
  706.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  707.       term.obj util.obj version.obj pcgraph.obj hrcgraph.obj corgraph.obj
  708.   
  709. ! CSOURCE5 = term\aed.trm term\dxy.trm term\epson.trm term\font5x7.trm \
  710. !     term\hp26.trm term\hp2648.trm term\hpgl.trm \
  711. !     term\hpljet.trm term\iris4d.trm term\latex.trm 
  712.   CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  713.       term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  714.       term\imPcodes.h term\imagen.trm term\object.h term\fig.trm
  715.  
  716. --- 22,30 -----
  717.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  718.       term.obj util.obj version.obj pcgraph.obj hrcgraph.obj corgraph.obj
  719.   
  720. ! CSOURCE5 = term\aed.trm term\dxy.trm term\eps60.trm term\epson.trm \
  721. !     term\font5x7.trm term\hp26.trm term\hp2648.trm term\hpgl.trm \
  722. !     term\hpljet.trm term\iris4d.trm term\latex.trm term\sun.trm
  723.   CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  724.       term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  725.       term\imPcodes.h term\imagen.trm term\object.h term\fig.trm
  726. ***************
  727. *** 65,72
  728.   
  729.   standard.obj: standard.c plot.h
  730.   
  731. ! term.obj: term.c plot.h $(CSOURCE5) $(CSOURCE6)
  732. !     cl $(CFLAGS) $(TERMFLAGS) term.c
  733.   
  734.   util.obj: util.c plot.h
  735.   
  736.  
  737. --- 66,73 -----
  738.   
  739.   standard.obj: standard.c plot.h
  740.   
  741. ! term.obj: term.c term.h plot.h $(CSOURCE5) $(CSOURCE6)
  742. !     cl $(CFLAGS) $(TERMFLAGS) /Iterm term.c
  743.   
  744.   util.obj: util.c plot.h
  745.   
  746. diff -c ./makefile.tc ../patch/makefile.tc
  747. *** ./makefile.tc    Tue Mar 27 09:03:46 1990
  748. --- ../patch/makefile.tc    Mon Sep  3 15:58:19 1990
  749. ***************
  750. *** 8,15
  751.   # location of Turbo C compiler
  752.   # if this is changed then linkopt.tc will need to be edited.
  753.   TC = \tc
  754. ! # location of BGI files
  755. ! BGI = $(TC)
  756.   # -c means don't link, -f means emulate 8087 if not present
  757.   # -ml means use large model (large code, large data)
  758.   # -M means produce link map
  759.  
  760. --- 8,16 -----
  761.   # location of Turbo C compiler
  762.   # if this is changed then linkopt.tc will need to be edited.
  763.   TC = \tc
  764. ! # location of BGI files and BGIOBJ.EXE,
  765. ! # change this line if not in TC directory, i.e. $(TC)\bgi
  766. ! BGI = $(TC)\bgi
  767.   # -c means don't link, -f means emulate 8087 if not present
  768.   # -ml means use large model (large code, large data)
  769.   # -M means produce link map
  770. ***************
  771. *** 15,22
  772.   # -M means produce link map
  773.   # -y means include line numbers for debugger
  774.   # -v means include debug info
  775. ! CFLAGS = -c -f -ml -M -y -v -I$(TC)\include -DMSDOS -DPC
  776. ! TERMFLAGS = -DPOSTSCRIPT -DHPGL -DHP75 -DDXY800A -DEPSON -DNEC
  777.   
  778.   OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  779.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  780.  
  781. --- 16,24 -----
  782.   # -M means produce link map
  783.   # -y means include line numbers for debugger
  784.   # -v means include debug info
  785. ! # -w- means ignore warnings and do not report them
  786. ! CFLAGS = -c -f -ml -M -y -v -w- -I$(TC)\include -DMSDOS -DPC
  787. ! TERMFLAGS = 
  788.   
  789.   OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  790.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  791. ***************
  792. *** 20,26
  793.   
  794.   OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  795.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  796. !     term.obj util.obj version.obj cga.obj egavga.obj herc.obj
  797.   
  798.   CSOURCE5 = term\aed.trm term\dxy.trm term\epson.trm term\font5x7.trm \
  799.       term\hp26.trm term\hp2648.trm term\hpgl.trm \
  800.  
  801. --- 22,28 -----
  802.   
  803.   OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  804.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  805. !     term.obj util.obj version.obj cga.obj egavga.obj herc.obj att.obj
  806.   
  807.   CSOURCE5 = term\aed.trm term\dxy.trm term\eps60.trm term\epson.trm \
  808.       term\font5x7.trm term\hp26.trm term\hp2648.trm term\hpgl.trm \
  809. ***************
  810. *** 22,29
  811.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  812.       term.obj util.obj version.obj cga.obj egavga.obj herc.obj
  813.   
  814. ! CSOURCE5 = term\aed.trm term\dxy.trm term\epson.trm term\font5x7.trm \
  815. !     term\hp26.trm term\hp2648.trm term\hpgl.trm \
  816.       term\hpljet.trm term\iris4d.trm term\latex.trm 
  817.   CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  818.       term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  819.  
  820. --- 24,31 -----
  821.       misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  822.       term.obj util.obj version.obj cga.obj egavga.obj herc.obj att.obj
  823.   
  824. ! CSOURCE5 = term\aed.trm term\dxy.trm term\eps60.trm term\epson.trm \
  825. !     term\font5x7.trm term\hp26.trm term\hp2648.trm term\hpgl.trm \
  826.       term\hpljet.trm term\iris4d.trm term\latex.trm 
  827.   CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  828.       term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  829. ***************
  830. *** 65,72
  831.   
  832.   standard.obj: standard.c plot.h
  833.   
  834. ! term.obj: term.c plot.h $(CSOURCE5) $(CSOURCE6)
  835. !     tcc $(CFLAGS) $(TERMFLAGS) term.c
  836.       
  837.   util.obj: util.c plot.h
  838.   
  839.  
  840. --- 67,74 -----
  841.   
  842.   standard.obj: standard.c plot.h
  843.   
  844. ! term.obj: term.c term.h plot.h $(CSOURCE5) $(CSOURCE6)
  845. !     tcc $(CFLAGS) $(TERMFLAGS) -Iterm term.c
  846.       
  847.   util.obj: util.c plot.h
  848.   
  849. ***************
  850. *** 81,87
  851.   
  852.   # convert Borland Graphics Interface files to object for linking
  853.   cga.obj: $(BGI)\cga.bgi
  854. !     bgiobj $(BGI)\cga
  855.   
  856.   egavga.obj: $(BGI)\egavga.bgi
  857.       bgiobj $(BGI)\egavga
  858.  
  859. --- 83,89 -----
  860.   
  861.   # convert Borland Graphics Interface files to object for linking
  862.   cga.obj: $(BGI)\cga.bgi
  863. !     $(BGI)\bgiobj $(BGI)\cga
  864.   
  865.   egavga.obj: $(BGI)\egavga.bgi
  866.       $(BGI)\bgiobj $(BGI)\egavga
  867. ***************
  868. *** 84,90
  869.       bgiobj $(BGI)\cga
  870.   
  871.   egavga.obj: $(BGI)\egavga.bgi
  872. !     bgiobj $(BGI)\egavga
  873.   
  874.   herc.obj: $(BGI)\herc.bgi
  875.       bgiobj $(BGI)\herc
  876.  
  877. --- 86,92 -----
  878.       $(BGI)\bgiobj $(BGI)\cga
  879.   
  880.   egavga.obj: $(BGI)\egavga.bgi
  881. !     $(BGI)\bgiobj $(BGI)\egavga
  882.   
  883.   herc.obj: $(BGI)\herc.bgi
  884.       $(BGI)\bgiobj $(BGI)\herc
  885. ***************
  886. *** 87,90
  887.       bgiobj $(BGI)\egavga
  888.   
  889.   herc.obj: $(BGI)\herc.bgi
  890. !     bgiobj $(BGI)\herc
  891.  
  892. --- 89,95 -----
  893.       $(BGI)\bgiobj $(BGI)\egavga
  894.   
  895.   herc.obj: $(BGI)\herc.bgi
  896. !     $(BGI)\bgiobj $(BGI)\herc
  897. ! att.obj: $(BGI)\att.bgi
  898. !     $(BGI)\bgiobj $(BGI)\att
  899. diff -c ./makefile.ult ../patch/makefile.ult
  900. *** ./makefile.ult    Tue Mar 27 08:59:07 1990
  901. --- ../patch/makefile.ult    Thu Sep 13 10:21:36 1990
  902. ***************
  903. *** 1,12
  904.   #
  905.   # GNUPLOT Makefile for Ultrix
  906.   #
  907. - # Note: Ultrix standard cc compiler has a bug with static structure
  908. - # initializations [such as struct ts {int x;} tb[]={{100*0.32}};]
  909. - # and so this makefile uses vcc instead.  If this isn't possible,
  910. - # and you get "line xx: illegal initialization", then you'll have
  911. - # to go into the .trm include file and compute all the floating point
  912. - # defines with a calculator.
  913.   
  914.   # directory where to install executables on 'make install'
  915.   DEST=/usr/local/bin
  916.  
  917. --- 1,6 -----
  918.   #
  919.   # GNUPLOT Makefile for Ultrix
  920.   #
  921.   
  922.   #   Changes were made in patch 1 so that the standard Ultrix cc compiler
  923.   #   can be used.  Use makefile.unx.
  924. ***************
  925. *** 8,20
  926.   # to go into the .trm include file and compute all the floating point
  927.   # defines with a calculator.
  928.   
  929. ! # directory where to install executables on 'make install'
  930. ! DEST=/usr/local/bin
  931. ! # directory for installing man page on 'make man_install'
  932. ! MANDEST=/usr/man/manl
  933. ! # where to install help file gnuplot.gih
  934. ! #HELPDEST=/usr/local/lib/gnuplot.gih
  935. ! HELPDEST=docs/gnuplot.gih
  936.   
  937.   # -DVFORK if you have vfork()
  938.   # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  939.  
  940. --- 2,9 -----
  941.   # GNUPLOT Makefile for Ultrix
  942.   #
  943.   
  944. ! #   Changes were made in patch 1 so that the standard Ultrix cc compiler
  945. ! #   can be used.  Use makefile.unx.
  946.   
  947.   all:
  948.       echo "Use makefile.unx instead"
  949. ***************
  950. *** 16,28
  951.   #HELPDEST=/usr/local/lib/gnuplot.gih
  952.   HELPDEST=docs/gnuplot.gih
  953.   
  954. ! # -DVFORK if you have vfork()
  955. ! # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  956. ! # -DBZERO if you need to use bzero() (another BSD feature) instead of memset()
  957. ! # -DNOCOPY if you don't have a memcpy() by any name
  958. ! # -DGAMMA if you've got gamma(3)
  959. ! # -O if you trust your compiler's optimizer
  960. ! CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA -O #-gx 
  961.   
  962.   # Not wise to use vcc for everything because math.h isn't compatible with
  963.   # vcc.  (How can they get away with this?)
  964.  
  965. --- 5,10 -----
  966.   #   Changes were made in patch 1 so that the standard Ultrix cc compiler
  967.   #   can be used.  Use makefile.unx.
  968.   
  969. ! all:
  970. !     echo "Use makefile.unx instead"
  971.   
  972. ***************
  973. *** 24,157
  974.   # -O if you trust your compiler's optimizer
  975.   CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA -O #-gx 
  976.   
  977. - # Not wise to use vcc for everything because math.h isn't compatible with
  978. - # vcc.  (How can they get away with this?)
  979. - #CC = vcc
  980. - # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  981. - # -DAED         AED 512 and AED 767
  982. - # -DBITGRAPH    BBN BitGraph
  983. - # -DDXY800A     Roland DXY800A plotter
  984. - # -DEPSON               Epson LX-800, Star NL-10, NX-1000 and lots of others
  985. - # -DFIG                 Fig graphics language (requires object.h from TransFig)
  986. - # -DHP2648              HP2648, HP2647
  987. - # -DHP26        HP2623A and maybe others
  988. - # -DHP75        HP7580, and probably other HPs
  989. - # -DHPGL                HP7475 and (hopefully) lots of others
  990. - # -DHPLJET              HP Laserjet
  991. - # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  992. - # -DIRIS4D      IRIS4D series computer
  993. - # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  994. - # -DLATEX       LATEX picture environment
  995. - # -DPOSTSCRIPT  Postscript
  996. - # -DPROPRINTER  IBM Proprinter
  997. - # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  998. - # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  999. - # -DSELANAR     Selanar
  1000. - # -DTEK         Tektronix 4010, and probably others
  1001. - # -DSUN         Sun Microsystems Workstation
  1002. - # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1003. - # -DUNIXPLOT    unixplot
  1004. - # -DV384        Vectrix 384 and tandy color printer
  1005. - TERMFLAGS =  -Iterm -DAED -DBITGRAPH -DDXY800A -DEPSON -DHP2648 \
  1006. -     -DHP26 -DHP75 -DHPGL -DHPLJET -DIMAGEN -DKERMIT -DLATEX \
  1007. -     -DPOSTSCRIPT -DPROPRINTER -DQMS -DREGIS -DSELANAR -DTEK \
  1008. -     -DUNIXPLOT -DV384
  1009. - #TERMFLAGS =  -Iterm -DIMAGEN
  1010. - OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1011. -     plot.o scanner.o setshow.o standard.o term.o util.o
  1012. - DIRS = term demo bugtest docs docs/latextut translate
  1013. - CSOURCE1 = command.c setshow.c
  1014. - CSOURCE2 = help.c graphics.c internal.c
  1015. - CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  1016. - CSOURCE4 = term.c util.c version.c
  1017. - CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  1018. -     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1019. -     term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  1020. - CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1021. -     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm \
  1022. -     term/imPcodes.h term/imagen.trm term/object.h term/fig.trm
  1023. - # not C code, but still needed
  1024. - ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  1025. -     makefile.3b1 plot.h help.h setshow.h lasergnu \
  1026. -     demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1027. -     demo/simple.demo demo/polar.demo demo/electron.demo \
  1028. -     bugtest/README bugtest/printf.c bugtest/scanf.c \
  1029. -     bugtest/mscbug.c term/README
  1030. - # PC-specific files
  1031. - PC = corgraph.asm corplot.c header.mac hrcgraph.asm lineproc.mac \
  1032. -     linkopt.msc linkopt.tc makefile.msc makefile.tc pcgraph.asm
  1033. - # Documentation and help files
  1034. - DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  1035. -     docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  1036. -     docs/gnuplot.1 docs/lasergnu.1 \
  1037. -     docs/titlepage.ms docs/titlepage.tex
  1038. - DOCS2 = docs/gnuplot.doc
  1039. - DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  1040. -     docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  1041. -     docs/latextut/eg4.plt docs/latextut/eg5.plt docs/latextut/eg6.plt \
  1042. -     docs/latextut/header.tex docs/latextut/tutorial.tex
  1043. - # gnutex->gnuplot translator
  1044. - TSOURCE1 = translate/Makefile translate/README translate/command.c \
  1045. -     translate/eval.c translate/gnut2p.1 translate/internal.c \
  1046. -     translate/misc.c translate/parse.c translate/plot.c \
  1047. -     translate/plot.h translate/scanner.c translate/standard.c \
  1048. -     translate/test1 translate/test2 translate/util.c
  1049. - # -lplot iff you have -DUNIXPLOT
  1050. - # -lsuntool -lsunwindow -lpixrect  iff you have -DSUN
  1051. - # -lgl_s if IRIS4D
  1052. - LIBS = -lm -lplot
  1053. - gnuplot: $(OBJS) version.o
  1054. -     vcc $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1055. - doc:
  1056. -     ( cd docs; make gnuplot.gih )
  1057. - translate:
  1058. -     (cd translate; make)
  1059. - all:    gnuplot doc
  1060. - install: gnuplot doc man_install
  1061. -     cp gnuplot lasergnu $(DEST)
  1062. -     strip $(DEST)/gnuplot
  1063. -     (cd docs; make install-unix HELPDEST=$(HELPDEST))
  1064. - man_install: docs/gnuplot.1 docs/lasergnu.1
  1065. -     cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  1066. - term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1067. -     vcc $(CFLAGS) $(TERMFLAGS) -c term.c
  1068. - $(OBJS): plot.h
  1069. - command.o:
  1070. -     cc $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1071. - command.o help.o misc.o: help.h
  1072. - command.o graphics.o misc.o plot.o setshow.o: setshow.h
  1073. - SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  1074. -     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1075. - lint:
  1076. -     lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  1077. - clean:
  1078. -     rm -f *.o *~ term/*~
  1079. -     (cd docs; make clean)
  1080. -     (cd docs/latextut; make clean)
  1081. -     (cd translate; make clean)
  1082. - spotless:
  1083. -     rm -f *.o *~ term/*~ TAGS gnuplot
  1084. -     (cd docs; make clean)
  1085. -     (cd docs/latextut; make spotless)
  1086. -     (cd translate; make spotless)
  1087.  
  1088. --- 8,10 -----
  1089.   all:
  1090.       echo "Use makefile.unx instead"
  1091.   
  1092. diff -c ./makefile.unx ../patch/makefile.unx
  1093. *** ./makefile.unx    Tue Mar 27 08:58:58 1990
  1094. --- ../patch/makefile.unx    Thu Sep 13 09:57:07 1990
  1095. ***************
  1096. *** 18,23
  1097.   # -DNOCOPY if you don't have a memcpy() by any name
  1098.   # -DGAMMA if you've got gamma(3)
  1099.   # -fswitch if you are compiling on a Sun3 (or even -f68881)
  1100.   # -O if you trust your compiler's optimizer
  1101.   CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1102.   
  1103.  
  1104. --- 18,24 -----
  1105.   # -DNOCOPY if you don't have a memcpy() by any name
  1106.   # -DGAMMA if you've got gamma(3)
  1107.   # -fswitch if you are compiling on a Sun3 (or even -f68881)
  1108. + #    (but -fswitch is buggy on some systems, so watch out)
  1109.   # -O if you trust your compiler's optimizer
  1110.   CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1111.   
  1112. ***************
  1113. *** 21,26
  1114.   # -O if you trust your compiler's optimizer
  1115.   CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1116.   
  1117.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1118.   # -DAED         AED 512 and AED 767
  1119.   # -DBITGRAPH    BBN BitGraph
  1120.  
  1121. --- 22,32 -----
  1122.   # -O if you trust your compiler's optimizer
  1123.   CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1124.   
  1125. + # -lplot if you have -DUNIXPLOT
  1126. + # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  1127. + # -lgl_s if IRIS4D
  1128. + LIBS = -lm -lplot
  1129.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1130.   # see other terminal defines in term.h
  1131.   # -DFIG         Fig graphics language (requires object.h from TransFig)
  1132. ***************
  1133. *** 22,39
  1134.   CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1135.   
  1136.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1137. ! # -DAED         AED 512 and AED 767
  1138. ! # -DBITGRAPH    BBN BitGraph
  1139. ! # -DDXY800A     Roland DXY800A plotter
  1140. ! # -DEEPIC           EEPIC-extended LaTeX driver, for EEPIC users
  1141. ! # -DEPSON        Epson LX-800, Star NL-10, NX-1000 and lots of others
  1142. ! # -DFIG           Fig graphics language (requires object.h from TransFig)
  1143. ! # -DHP2648        HP2648, HP2647
  1144. ! # -DHP26        HP2623A and maybe others
  1145. ! # -DHP75        HP7580, and probably other HPs
  1146. ! # -DHPGL        HP7475, HP7220 plotters, and (hopefully) lots of others
  1147. ! # -DHPLJET        HP Laserjet
  1148. ! # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1149.   # -DIRIS4D      IRIS4D series computer
  1150.   # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1151.   # -DLATEX       LATEX picture environment
  1152.  
  1153. --- 28,35 -----
  1154.   LIBS = -lm -lplot
  1155.   
  1156.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1157. ! # see other terminal defines in term.h
  1158. ! # -DFIG         Fig graphics language (requires object.h from TransFig)
  1159.   # -DIRIS4D      IRIS4D series computer
  1160.   # -DSUN         Sun Microsystems Workstation
  1161.   # -DUNIXPLOT    unixplot
  1162. ***************
  1163. *** 35,49
  1164.   # -DHPLJET        HP Laserjet
  1165.   # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1166.   # -DIRIS4D      IRIS4D series computer
  1167. - # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1168. - # -DLATEX       LATEX picture environment
  1169. - # -DNEC         NEC CP6 pinwriter printer
  1170. - # -DPOSTSCRIPT  Postscript
  1171. - # -DPROPRINTER  IBM Proprinter
  1172. - # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  1173. - # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  1174. - # -DSELANAR     Selanar
  1175. - # -DTEK         Tektronix 4010, and probably others
  1176.   # -DSUN         Sun Microsystems Workstation
  1177.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1178.   # -DUNIXPLOT    unixplot
  1179.  
  1180. --- 31,36 -----
  1181.   # see other terminal defines in term.h
  1182.   # -DFIG         Fig graphics language (requires object.h from TransFig)
  1183.   # -DIRIS4D      IRIS4D series computer
  1184.   # -DSUN         Sun Microsystems Workstation
  1185.   # -DUNIXPLOT    unixplot
  1186.   
  1187. ***************
  1188. *** 45,51
  1189.   # -DSELANAR     Selanar
  1190.   # -DTEK         Tektronix 4010, and probably others
  1191.   # -DSUN         Sun Microsystems Workstation
  1192. - # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1193.   # -DUNIXPLOT    unixplot
  1194.   # -DV384        Vectrix 384 and tandy color printer
  1195.   
  1196.  
  1197. --- 32,37 -----
  1198.   # -DFIG         Fig graphics language (requires object.h from TransFig)
  1199.   # -DIRIS4D      IRIS4D series computer
  1200.   # -DSUN         Sun Microsystems Workstation
  1201.   # -DUNIXPLOT    unixplot
  1202.   
  1203.   TERMFLAGS =  -Iterm -DUNIXPLOT
  1204. ***************
  1205. *** 47,53
  1206.   # -DSUN         Sun Microsystems Workstation
  1207.   # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1208.   # -DUNIXPLOT    unixplot
  1209. - # -DV384        Vectrix 384 and tandy color printer
  1210.   
  1211.   TERMFLAGS =  -Iterm -DAED -DBITGRAPH -DDXY800A -DEPSON -DHP2648 \
  1212.       -DHP26 -DHP75 -DHPGL -DHPLJET -DIMAGEN -DKERMIT -DLATEX -DEEPIC \
  1213.  
  1214. --- 33,38 -----
  1215.   # -DIRIS4D      IRIS4D series computer
  1216.   # -DSUN         Sun Microsystems Workstation
  1217.   # -DUNIXPLOT    unixplot
  1218.   
  1219.   TERMFLAGS =  -Iterm -DUNIXPLOT
  1220.   
  1221. ***************
  1222. *** 49,58
  1223.   # -DUNIXPLOT    unixplot
  1224.   # -DV384        Vectrix 384 and tandy color printer
  1225.   
  1226. ! TERMFLAGS =  -Iterm -DAED -DBITGRAPH -DDXY800A -DEPSON -DHP2648 \
  1227. !     -DHP26 -DHP75 -DHPGL -DHPLJET -DIMAGEN -DKERMIT -DLATEX -DEEPIC \
  1228. !     -DPOSTSCRIPT -DPROPRINTER -DQMS -DREGIS -DSELANAR -DTEK \
  1229. !     -DUNIXPLOT -DV384 
  1230.   
  1231.   OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1232.       plot.o scanner.o setshow.o standard.o term.o util.o 
  1233.  
  1234. --- 34,40 -----
  1235.   # -DSUN         Sun Microsystems Workstation
  1236.   # -DUNIXPLOT    unixplot
  1237.   
  1238. ! TERMFLAGS =  -Iterm -DUNIXPLOT
  1239.   
  1240.   OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1241.       plot.o scanner.o setshow.o standard.o term.o util.o 
  1242. ***************
  1243. *** 62,70
  1244.   CSOURCE2 = help.c graphics.c internal.c 
  1245.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  1246.   CSOURCE4 = term.c util.c version.c
  1247. ! CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  1248. !     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1249. !     term/hpljet.trm term/iris4d.trm term/sun.trm
  1250.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1251.       term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1252.   CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1253.  
  1254. --- 44,52 -----
  1255.   CSOURCE2 = help.c graphics.c internal.c 
  1256.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  1257.   CSOURCE4 = term.c util.c version.c
  1258. ! CSOURCE5 = term/aed.trm term/dxy.trm term/eps60.trm term/epson.trm \
  1259. !     term/font5x7.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1260. !     term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  1261.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1262.       term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1263.   CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1264. ***************
  1265. *** 68,74
  1266.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1267.       term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1268.   CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1269. !     term/latex.trm term/eepic.trm
  1270.   # not C code, but still needed
  1271.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1272.       makefile.3b1 makefile.ult plot.h help.h setshow.h lasergnu \
  1273.  
  1274. --- 50,56 -----
  1275.   CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1276.       term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1277.   CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1278. !     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  1279.   # not C code, but still needed
  1280.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1281.       README.x11 makefile.x11 \
  1282. ***************
  1283. *** 71,77
  1284.       term/latex.trm term/eepic.trm
  1285.   # not C code, but still needed
  1286.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1287. !     makefile.3b1 makefile.ult plot.h help.h setshow.h lasergnu \
  1288.        demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1289.       demo/simple.demo demo/polar.demo demo/electron.demo \
  1290.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  1291.  
  1292. --- 53,60 -----
  1293.       term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  1294.   # not C code, but still needed
  1295.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1296. !     README.x11 makefile.x11 \
  1297. !     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  1298.        demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1299.       demo/simple.demo demo/polar.demo demo/electron.demo \
  1300.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  1301. ***************
  1302. *** 98,107
  1303.       translate/plot.h translate/scanner.c translate/standard.c \
  1304.       translate/test1 translate/test2 translate/util.c
  1305.   
  1306. ! # -lplot if you have -DUNIXPLOT
  1307. ! # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  1308. ! # -lgl_s if IRIS4D
  1309. ! LIBS = -lm -lplot
  1310.   
  1311.   gnuplot: $(OBJS) version.o
  1312.       cc $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1313.  
  1314. --- 81,87 -----
  1315.       translate/plot.h translate/scanner.c translate/standard.c \
  1316.       translate/test1 translate/test2 translate/util.c
  1317.   
  1318. ! all:    gnuplot doc
  1319.   
  1320.   gnuplot: $(OBJS) version.o
  1321.       $(CC) $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1322. ***************
  1323. *** 104,110
  1324.   LIBS = -lm -lplot
  1325.   
  1326.   gnuplot: $(OBJS) version.o
  1327. !     cc $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1328.   
  1329.   doc:
  1330.       ( cd docs; make gnuplot.gih )
  1331.  
  1332. --- 84,90 -----
  1333.   all:    gnuplot doc
  1334.   
  1335.   gnuplot: $(OBJS) version.o
  1336. !     $(CC) $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1337.   
  1338.   doc:
  1339.       ( cd docs; make gnuplot.gih )
  1340. ***************
  1341. *** 112,119
  1342.   translate:
  1343.       (cd translate; make)
  1344.   
  1345. - all:    gnuplot doc
  1346.   install: gnuplot doc man_install
  1347.       cp gnuplot lasergnu $(DEST)
  1348.       strip $(DEST)/gnuplot
  1349.  
  1350. --- 92,97 -----
  1351.   translate:
  1352.       (cd translate; make)
  1353.   
  1354.   install: gnuplot doc man_install
  1355.       cp gnuplot lasergnu $(DEST)
  1356.       strip $(DEST)/gnuplot
  1357. ***************
  1358. *** 122,129
  1359.   man_install: docs/gnuplot.1 docs/lasergnu.1
  1360.       cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  1361.   
  1362. ! term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1363. !     cc $(CFLAGS) $(TERMFLAGS) -c term.c
  1364.   
  1365.   version.o:
  1366.       cc $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1367.  
  1368. --- 100,107 -----
  1369.   man_install: docs/gnuplot.1 docs/lasergnu.1
  1370.       cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  1371.   
  1372. ! term.o: term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1373. !     $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  1374.   
  1375.   version.o:
  1376.       $(CC) $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1377. ***************
  1378. *** 126,132
  1379.       cc $(CFLAGS) $(TERMFLAGS) -c term.c
  1380.   
  1381.   version.o:
  1382. !     cc $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1383.   
  1384.   $(OBJS): plot.h
  1385.   
  1386.  
  1387. --- 104,110 -----
  1388.       $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  1389.   
  1390.   version.o:
  1391. !     $(CC) $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1392.   
  1393.   $(OBJS): plot.h
  1394.   
  1395. ***************
  1396. *** 131,137
  1397.   $(OBJS): plot.h
  1398.   
  1399.   command.o:
  1400. !     cc $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1401.   
  1402.   command.o help.o misc.o: help.h
  1403.   
  1404.  
  1405. --- 109,115 -----
  1406.   $(OBJS): plot.h
  1407.   
  1408.   command.o:
  1409. !     $(CC) $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1410.   
  1411.   command.o help.o misc.o: help.h
  1412.   
  1413. diff -c ./makefile.vms ../patch/makefile.vms
  1414. *** ./makefile.vms    Tue Mar 27 08:58:59 1990
  1415. --- ../patch/makefile.vms    Thu Sep  6 12:10:21 1990
  1416. ***************
  1417. *** 9,38
  1418.   # NOOP  NO Optimiser
  1419.   CFLAGS = /NOOP
  1420.   
  1421. ! # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1422. ! # -DAED         AED 512 and AED 767
  1423. ! # -DBITGRAPH    BBN BitGraph
  1424. ! # -DDXY800A     Roland DXY800A plotter
  1425. ! # -DEPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  1426. ! # -DFIG         Fig graphics language (requires object.h from TransFig)
  1427. ! # -DHP2648      HP2648, HP2647
  1428. ! # -DHP26        HP2623A and maybe others
  1429. ! # -DHP75        HP7580, and probably other HPs
  1430. ! # -DHPGL        HP7475 and (hopefully) lots of others
  1431. ! # -DHPLJET      HP Laserjet
  1432. ! # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1433. ! # -DIRIS4D      IRIS4D series computer
  1434. ! # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1435. ! # -DLATEX       LATEX picture environment
  1436. ! # -DPOSTSCRIPT  Postscript
  1437. ! # -DPROPRINTER  IBM Proprinter
  1438. ! # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  1439. ! # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  1440. ! # -DSELANAR     Selanar
  1441. ! # -DTEK         Tektronix 4010, and probably others
  1442. ! # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1443. ! # -DUNIXPLOT    unixplot
  1444. ! # -DV384        Vectrix 384 and tandy color printer
  1445.   
  1446.   
  1447.   TERMFLAGS = /define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL, \
  1448.  
  1449. --- 9,16 -----
  1450.   # NOOP  NO Optimiser
  1451.   CFLAGS = /NOOP
  1452.   
  1453. ! # /define=(<terminal>) in TERMFLAGS iff you wish to support <terminal>
  1454. ! # see other terminal defines in term.h
  1455.   
  1456.   TERMFLAGS = 
  1457.   
  1458. ***************
  1459. *** 34,39
  1460.   # -DUNIXPLOT    unixplot
  1461.   # -DV384        Vectrix 384 and tandy color printer
  1462.   
  1463.   
  1464.   TERMFLAGS = /define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL, \
  1465.       KERMIT,LATEX,POSTSCRIPT,QMS,REGIS,SELANAR,TEK,V384)
  1466.  
  1467. --- 12,18 -----
  1468.   # /define=(<terminal>) in TERMFLAGS iff you wish to support <terminal>
  1469.   # see other terminal defines in term.h
  1470.   
  1471. + TERMFLAGS = 
  1472.   
  1473.   OBJS =  command.obj,eval.obj,graphics.obj,internal.obj, \
  1474.           misc.obj,parse.obj,plot.obj,scanner.obj,setshow.obj, \
  1475. ***************
  1476. *** 35,43
  1477.   # -DV384        Vectrix 384 and tandy color printer
  1478.   
  1479.   
  1480. - TERMFLAGS = /define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL, \
  1481. -     KERMIT,LATEX,POSTSCRIPT,QMS,REGIS,SELANAR,TEK,V384)
  1482.   OBJS =  command.obj,eval.obj,graphics.obj,internal.obj, \
  1483.           misc.obj,parse.obj,plot.obj,scanner.obj,setshow.obj, \
  1484.           standard.obj,term.obj,util.obj,version.obj
  1485.  
  1486. --- 14,19 -----
  1487.   
  1488.   TERMFLAGS = 
  1489.   
  1490.   OBJS =  command.obj,eval.obj,graphics.obj,internal.obj, \
  1491.           misc.obj,parse.obj,plot.obj,scanner.obj,setshow.obj, \
  1492.           standard.obj,term.obj,util.obj,version.obj
  1493. ***************
  1494. *** 46,53
  1495.   CSOURCE2 = help.c graphics.c internal.c
  1496.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  1497.   CSOURCE4 = term.c util.c version.c
  1498. ! CSOURCE5 = [.term]aed.trm [.term]dxy.trm [.term]epson.trm [.term]font5x7.trm  \
  1499. !         [.term]hp26.trm [.term]hp2648.trm [.term]hpgl.trm  \
  1500.           [.term]hpljet.trm [.term]iris4d.trm [.term]latex.trm
  1501.   CSOURCE6 = [.term]post.trm [.term]pc.trm [.term]qms.trm [.term]regis.trm  \
  1502.           [.term]tek.trm [.term]unixpc.trm [.term]unixplot.trm [.term]v384.trm  \
  1503.  
  1504. --- 22,29 -----
  1505.   CSOURCE2 = help.c graphics.c internal.c
  1506.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  1507.   CSOURCE4 = term.c util.c version.c
  1508. ! CSOURCE5 = [.term]aed.trm [.term]dxy.trm [.term]eps60.trm [.term]epson.trm \
  1509. !     [.term]font5x7.trm  [.term]hp26.trm [.term]hp2648.trm [.term]hpgl.trm \
  1510.           [.term]hpljet.trm [.term]iris4d.trm [.term]latex.trm
  1511.   CSOURCE6 = [.term]post.trm [.term]pc.trm [.term]qms.trm [.term]regis.trm  \
  1512.           [.term]tek.trm [.term]unixpc.trm [.term]unixplot.trm [.term]v384.trm  \
  1513. ***************
  1514. *** 70,76
  1515.           cc [.docs]doc2hlp.c
  1516.           link doc2hlp,linkopt.vms/opt
  1517.   
  1518. ! term.obj : $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1519.           cc $(CFLAGS) $(TERMFLAGS) term.c
  1520.   
  1521.   $(OBJS) : plot.h
  1522.  
  1523. --- 46,52 -----
  1524.           cc [.docs]doc2hlp.c
  1525.           link doc2hlp,linkopt.vms/opt
  1526.   
  1527. ! term.obj : term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1528.           cc $(CFLAGS) $(TERMFLAGS) term.c
  1529.   
  1530.   $(OBJS) : plot.h
  1531. diff -c ./makefile.x11 ../patch/makefile.x11
  1532. *** ./makefile.x11    Thu Sep  6 09:22:34 1990
  1533. --- ../patch/makefile.x11    Thu Sep 13 09:57:28 1990
  1534. ***************
  1535. *** 0
  1536.  
  1537. --- 1,210 -----
  1538. + #
  1539. + # GNUPLOT Makefile (Unix X11 support)
  1540. + #
  1541. + # directory where to install executables on 'make install'
  1542. + DEST=/usr/local/bin
  1543. + # directory for installing man page on 'make man_install'
  1544. + MANDEST=/usr/man/manl
  1545. + # where to install help file gnuplot.gih
  1546. + #HELPDEST=/usr/local/lib/gnuplot.gih
  1547. + HELPDEST=docs/gnuplot.gih
  1548. + # Where to send email about bugs and comments (locally)
  1549. + EMAIL=\"pixar\!bug-gnuplot@sun.com\"
  1550. + # -DVFORK if you have vfork()
  1551. + # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  1552. + # -DBZERO if you need to use bzero() (another BSD feature) instead of memset() 
  1553. + # -DNOCOPY if you don't have a memcpy() by any name
  1554. + # -DGAMMA if you've got gamma(3)
  1555. + # -fswitch if you are compiling on a Sun3 (or even -f68881)
  1556. + #    (but -fswitch is buggy on some systems, so watch out)
  1557. + # -O if you trust your compiler's optimizer
  1558. + # -Dunix and no -DVFORK if IBM RS/6000 AIX 3.1
  1559. + CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1560. + # -lplot if you have -DUNIXPLOT
  1561. + # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  1562. + # -lgl_s if IRIS4D
  1563. + LIBS = -lm -lplot
  1564. + # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  1565. + # Apollo DomainOS 10.4.2 (R3): -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  1566. + # IBM RS/6000 AIX 3.1 (R3): -L/usr/lpp/X11/Xamples/lib/Xmu \
  1567. + #                -L/usr/lpp/X11/Xamples/lib/Xaw \
  1568. + #                        -lXaw -lXmu -lXt -lXext -lX11
  1569. + X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  1570. + # standard MIT X11 R4: -I/usr/include/X11 -I/usr/include/X11/Xaw 
  1571. + # Apollo DomainOS 10.4.2 (R3): -I/usr/include/X11
  1572. + # IBM RS/6000 AIX 3.1 (R3): -I/usr/include/X11 -I/usr/lpp/X11/Xamples/lib/Xaw \
  1573. + #                        -I/usr/lpp/X11/Xamples/lib/Xaw/X11
  1574. + X11INCLUDES = -I/usr/include/X11 -I/usr/include/X11/Xaw
  1575. + # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1576. + # see other terminal defines in term.h
  1577. + # -DFIG         Fig graphics language (requires object.h from TransFig)
  1578. + # -DIRIS4D      IRIS4D series computer
  1579. + # -DSUN         Sun Microsystems Workstation
  1580. + # -DUNIXPLOT    unixplot
  1581. + # -DX11         X11 Window System
  1582. + TERMFLAGS =  -Iterm -DUNIXPLOT -DX11
  1583. + OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1584. +     plot.o scanner.o setshow.o standard.o term.o util.o 
  1585. + DIRS = term demo bugtest docs docs/latextut translate
  1586. + CSOURCE1 = command.c setshow.c 
  1587. + CSOURCE2 = help.c graphics.c internal.c 
  1588. + CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  1589. + CSOURCE4 = term.c util.c version.c
  1590. + CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  1591. +     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1592. +     term/hpljet.trm term/iris4d.trm term/sun.trm
  1593. + CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1594. +     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1595. + CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1596. +     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  1597. + # not C code, but still needed
  1598. + ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1599. +     README.x11 makefile.x11 \
  1600. +     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  1601. +      demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1602. +     demo/simple.demo demo/polar.demo demo/electron.demo \
  1603. +     bugtest/README bugtest/printf.c bugtest/scanf.c \
  1604. +     bugtest/mscbug.c term/README \
  1605. +     linkopt.vms buildvms.com
  1606. + # PC-specific files
  1607. + PC = corgraph.asm corplot.c header.mac hrcgraph.asm lineproc.mac \
  1608. +     linkopt.msc linkopt.tc makefile.msc makefile.tc pcgraph.asm 
  1609. + # Documentation and help files
  1610. + DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  1611. +     docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  1612. +     docs/gnuplot.1 docs/lasergnu.1 \
  1613. +     docs/titlepage.ms docs/titlepage.tex 
  1614. + DOCS2 = docs/gnuplot.doc
  1615. + DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  1616. +     docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  1617. +     docs/latextut/eg4.plt docs/latextut/eg5.plt docs/latextut/eg6.plt \
  1618. +     docs/latextut/header.tex docs/latextut/tutorial.tex
  1619. + # gnutex->gnuplot translator
  1620. + TSOURCE1 = translate/Makefile translate/README translate/command.c \
  1621. +     translate/eval.c translate/gnut2p.1 translate/internal.c \
  1622. +     translate/misc.c translate/parse.c translate/plot.c
  1623. + TSOURCE2 = \
  1624. +     translate/plot.h translate/scanner.c translate/standard.c \
  1625. +     translate/test1 translate/test2 translate/util.c
  1626. + all:    gnuplot gnuplot_x11 doc
  1627. + gnuplot: $(OBJS) version.o
  1628. +     $(CC) $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1629. + doc:
  1630. +     ( cd docs; make gnuplot.gih )
  1631. + translate:
  1632. +     (cd translate; make)
  1633. + gnuplot_x11: gnuplot_x11.c
  1634. +     $(CC) $(CFLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  1635. + install: gnuplot gnuplot_x11 doc man_install
  1636. +     cp gnuplot gnuplot_x11 lasergnu $(DEST)
  1637. +     strip $(DEST)/gnuplot
  1638. +     strip $(DEST)/gnuplot_x11
  1639. +     (cd docs; make install-unix HELPDEST=$(HELPDEST))
  1640. + man_install: docs/gnuplot.1.x11 docs/lasergnu.1
  1641. +     cp docs/lasergnu.1 $(MANDEST)
  1642. +     cp docs/gnuplot.1.x11 $(MANDEST)/gnuplot.1
  1643. + plot.o: plot.c
  1644. +     $(CC) $(CFLAGS) -DX11 -c plot.c
  1645. + term.o: term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1646. +     $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  1647. + version.o:
  1648. +     $(CC) $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1649. + $(OBJS): plot.h
  1650. + command.o:
  1651. +     $(CC) $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1652. + command.o help.o misc.o: help.h
  1653. + command.o graphics.o misc.o plot.o setshow.o: setshow.h
  1654. + SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  1655. +     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1656. + lint:
  1657. +     lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  1658. + clean:
  1659. +     rm -f *.o *~ term/*~
  1660. +     (cd docs; make clean)
  1661. +     (cd docs/latextut; make clean)
  1662. +     (cd translate; make clean)
  1663. + spotless:
  1664. +     rm -f *.o *~ term/*~ TAGS gnuplot gnuplot_x11
  1665. +     (cd docs; make clean)
  1666. +     (cd docs/latextut; make spotless)
  1667. +     (cd translate; make spotless)
  1668. + shar: gnuplot.sh00 gnuplot.sh01 gnuplot.sh02 gnuplot.sh03 gnuplot.sh04 \
  1669. +     gnuplot.sh05 gnuplot.sh06 gnuplot.sh07 gnuplot.sh08 \
  1670. +     gnuplot.sh09 gnuplot.sh10 gnuplot.sh11 gnuplot.sh12 \
  1671. +     gnuplot.sh13 gnuplot.sh14
  1672. + gnuplot.sh00:
  1673. +     echo '#!/bin/sh' > gnuplot.sh00
  1674. +     echo '# This is a shell file to make directories' >> gnuplot.sh00
  1675. +     echo mkdir $(DIRS) >> gnuplot.sh00
  1676. + gnuplot.sh01: $(ETC)
  1677. +     shar $(ETC) > gnuplot.sh01
  1678. + gnuplot.sh02: $(DOCS1)
  1679. +     shar $(DOCS1) > gnuplot.sh02
  1680. + gnuplot.sh03: $(DOCS2)
  1681. +     shar $(DOCS2) > gnuplot.sh03
  1682. + gnuplot.sh04: $(DOCS3)
  1683. +     shar $(DOCS3) > gnuplot.sh04
  1684. + gnuplot.sh05: $(CSOURCE1)
  1685. +     shar $(CSOURCE1) > gnuplot.sh05
  1686. + gnuplot.sh06: $(CSOURCE2)
  1687. +     shar $(CSOURCE2) > gnuplot.sh06
  1688. + gnuplot.sh07: $(CSOURCE3)
  1689. +     shar $(CSOURCE3) > gnuplot.sh07
  1690. + gnuplot.sh08: $(CSOURCE4)
  1691. +     shar $(CSOURCE4) > gnuplot.sh08
  1692. + gnuplot.sh09: $(CSOURCE5)
  1693. +     shar $(CSOURCE5) > gnuplot.sh09
  1694. + gnuplot.sh10: $(CSOURCE6)
  1695. +     shar $(CSOURCE6) > gnuplot.sh10
  1696. + gnuplot.sh11: $(CSOURCE7)
  1697. +     shar $(CSOURCE7) > gnuplot.sh11
  1698. + gnuplot.sh12: $(PC)
  1699. +     shar $(PC) > gnuplot.sh12
  1700. + gnuplot.sh13: $(TSOURCE1)
  1701. +     shar $(TSOURCE1) > gnuplot.sh13
  1702. + gnuplot.sh14: $(TSOURCE2)
  1703. +     shar $(TSOURCE2) > gnuplot.sh14
  1704. diff -c ./misc.c ../patch/misc.c
  1705. *** ./misc.c    Tue Mar 27 09:01:30 1990
  1706. --- ../patch/misc.c    Thu Sep  6 09:20:35 1990
  1707. ***************
  1708. *** 36,41
  1709.   #include <graphics.h>
  1710.   #endif
  1711.   
  1712.   extern int c_token;
  1713.   extern char replot_line[];
  1714.   extern struct at_type at;
  1715.  
  1716. --- 36,43 -----
  1717.   #include <graphics.h>
  1718.   #endif
  1719.   
  1720. + extern char *malloc();
  1721.   extern int c_token;
  1722.   extern char replot_line[];
  1723.   extern struct at_type at;
  1724. ***************
  1725. *** 514,520
  1726.   {
  1727.       char *p;                /* the new allocation */
  1728.       char errbuf[100];        /* error message string */
  1729. -     extern char *malloc();
  1730.   
  1731.       p = malloc(size);
  1732.       if (p == (char *)NULL) {
  1733.  
  1734. --- 516,521 -----
  1735.   {
  1736.       char *p;                /* the new allocation */
  1737.       char errbuf[100];        /* error message string */
  1738.   
  1739.       p = malloc(size);
  1740.       if (p == (char *)NULL) {
  1741. diff -c ./parse.c ../patch/parse.c
  1742. *** ./parse.c    Tue Mar 27 09:01:39 1990
  1743. --- ../patch/parse.c    Thu Aug 30 09:40:22 1990
  1744. ***************
  1745. *** 31,36
  1746.   #include <setjmp.h>
  1747.   #include <signal.h>
  1748.   #include <errno.h>
  1749.   #include "plot.h"
  1750.   
  1751.   #ifndef vms
  1752.  
  1753. --- 31,37 -----
  1754.   #include <setjmp.h>
  1755.   #include <signal.h>
  1756.   #include <errno.h>
  1757. + #include <math.h>
  1758.   #include "plot.h"
  1759.   
  1760.   #ifndef vms
  1761. ***************
  1762. *** 75,80
  1763.   }
  1764.   
  1765.   
  1766.   evaluate_at(at_ptr,val_ptr)
  1767.   struct at_type *at_ptr;
  1768.   struct value *val_ptr;
  1769.  
  1770. --- 76,112 -----
  1771.   }
  1772.   
  1773.   
  1774. + #ifdef apollo
  1775. + #include <apollo/base.h>
  1776. + #include <apollo/pfm.h>
  1777. + #include <apollo/fault.h>
  1778. + /*
  1779. +   On an Apollo, the OS can signal a couple errors that are not mapped
  1780. +   into SIGFPE, namely signalling NaN and branch on an unordered
  1781. +   comparison.  I suppose there are others, but none of these are documented,
  1782. +   so I handle them as they arise.
  1783. +   Anyway, we need to catch these faults and signal SIGFPE.
  1784. + */
  1785. + pfm_$fh_func_val_t apollo_sigfpe(pfm_$fault_rec_t& fault_rec)
  1786. + {
  1787. +     kill(getpid(), SIGFPE);
  1788. +     return pfm_$continue_fault_handling;
  1789. + }
  1790. + apollo_pfm_catch()
  1791. + {
  1792. +     status_$t status;
  1793. +     pfm_$establish_fault_handler(fault_$fp_bsun, pfm_$fh_backstop,
  1794. +                  apollo_sigfpe, &status);
  1795. +     pfm_$establish_fault_handler(fault_$fp_sig_nan, pfm_$fh_backstop,
  1796. +                  apollo_sigfpe, &status);
  1797. + }
  1798. + #endif
  1799.   evaluate_at(at_ptr,val_ptr)
  1800.   struct at_type *at_ptr;
  1801.   struct value *val_ptr;
  1802. ***************
  1803. *** 79,84
  1804.   struct at_type *at_ptr;
  1805.   struct value *val_ptr;
  1806.   {
  1807.       undefined = FALSE;
  1808.       errno = 0;
  1809.       reset_stack();
  1810.  
  1811. --- 111,118 -----
  1812.   struct at_type *at_ptr;
  1813.   struct value *val_ptr;
  1814.   {
  1815. +     double temp, real();
  1816.       undefined = FALSE;
  1817.       errno = 0;
  1818.       reset_stack();
  1819. ***************
  1820. *** 95,100
  1821.       } else {
  1822.           (void) pop(val_ptr);
  1823.           check_stack();
  1824.       }
  1825.   }
  1826.   
  1827.  
  1828. --- 129,139 -----
  1829.       } else {
  1830.           (void) pop(val_ptr);
  1831.           check_stack();
  1832. +     }
  1833. + /* At least one machine (ATT 3b1) computes Inf without a SIGFPE */
  1834. +     temp = real(val_ptr);
  1835. +     if (temp > VERYLARGE || temp < -VERYLARGE) {
  1836. +         undefined = TRUE;
  1837.       }
  1838.   }
  1839.   
  1840. diff -c ./pcgraph.asm ../patch/pcgraph.asm
  1841. *** ./pcgraph.asm    Tue Mar 27 09:03:47 1990
  1842. --- ../patch/pcgraph.asm    Fri Aug 31 12:53:35 1990
  1843. ***************
  1844. *** 23,28
  1845.   
  1846.   GPg1_Base equ 0B800h    ; Graphics page 1 base address
  1847.   
  1848.   _text    segment
  1849.   
  1850.       public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1851.  
  1852. --- 23,30 -----
  1853.   
  1854.   GPg1_Base equ 0B800h    ; Graphics page 1 base address
  1855.   
  1856. +     extrn _inter:far
  1857.   _text    segment
  1858.   
  1859.       public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1860. ***************
  1861. *** 27,33
  1862.   
  1863.       public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1864.       public _erase, _save_stack, _ss_interrupt
  1865. -     extrn _inter:near
  1866.   
  1867.   pcpixel proc near
  1868.       ror word ptr linemask,1
  1869.  
  1870. --- 29,34 -----
  1871.   
  1872.       public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1873.       public _erase, _save_stack, _ss_interrupt
  1874.   
  1875.   pcpixel proc near
  1876.       ror word ptr linemask,1
  1877. ***************
  1878. *** 205,211
  1879.       mov sp,-1        ; here too
  1880.   save_sp equ this word - 2
  1881.       sti
  1882. !     jmp _inter; now it's safe to call the real routine
  1883.   _ss_interrupt endp
  1884.   
  1885.   
  1886.  
  1887. --- 206,212 -----
  1888.       mov sp,-1        ; here too
  1889.   save_sp equ this word - 2
  1890.       sti
  1891. !     jmp far ptr _inter; now it's safe to call the real routine
  1892.   _ss_interrupt endp
  1893.   
  1894.   
  1895. diff -c ./plot.c ../patch/plot.c
  1896. *** ./plot.c    Tue Mar 27 09:01:43 1990
  1897. --- ../patch/plot.c    Thu Sep  6 09:20:12 1990
  1898. ***************
  1899. *** 170,175
  1900.   registerbgidriver(CGA_driver);
  1901.   registerbgidriver(EGAVGA_driver);
  1902.   registerbgidriver(Herc_driver);
  1903.   #endif
  1904.   
  1905.       setbuf(stderr,(char *)NULL);
  1906.  
  1907. --- 170,183 -----
  1908.   registerbgidriver(CGA_driver);
  1909.   registerbgidriver(EGAVGA_driver);
  1910.   registerbgidriver(Herc_driver);
  1911. + registerbgidriver(ATT_driver);
  1912. + #endif
  1913. + #ifdef X11
  1914. +      { int n = X11_args(argc, argv); argv += n; argc -= n; }
  1915. + #endif 
  1916. + #ifdef apollo
  1917. +     apollo_pfm_catch();
  1918.   #endif
  1919.   
  1920.       setbuf(stderr,(char *)NULL);
  1921. diff -c ./standard.c ../patch/standard.c
  1922. *** ./standard.c    Tue Mar 27 09:01:51 1990
  1923. --- ../patch/standard.c    Thu Aug 30 14:33:01 1990
  1924. ***************
  1925. *** 40,45
  1926.   
  1927.   extern struct value stack[STACK_DEPTH];
  1928.   extern int s_p;
  1929.   
  1930.   struct value *pop(), *complex(), *integer();
  1931.   
  1932.  
  1933. --- 40,46 -----
  1934.   
  1935.   extern struct value stack[STACK_DEPTH];
  1936.   extern int s_p;
  1937. + extern double zero;
  1938.   
  1939.   struct value *pop(), *complex(), *integer();
  1940.   
  1941. ***************
  1942. *** 45,50
  1943.   
  1944.   double magnitude(), angle(), real(), imag();
  1945.   
  1946.   
  1947.   f_real()
  1948.   {
  1949.  
  1950. --- 46,56 -----
  1951.   
  1952.   double magnitude(), angle(), real(), imag();
  1953.   
  1954. + /* The bessel function approximations here are from
  1955. +  * "Computer Approximations"
  1956. +  * by Hart, Cheney et al.
  1957. +  * John Wiley & Sons, 1968
  1958. +  */
  1959.   
  1960.   /* There appears to be a mistake in Hart, Cheney et al. on page 149.
  1961.    * Where it list Qn(x)/x ~ P(z*z)/Q(z*z), z = 8/x, it should read
  1962. ***************
  1963. *** 46,51
  1964.   double magnitude(), angle(), real(), imag();
  1965.   
  1966.   
  1967.   f_real()
  1968.   {
  1969.   struct value a;
  1970.  
  1971. --- 52,268 -----
  1972.    * John Wiley & Sons, 1968
  1973.    */
  1974.   
  1975. + /* There appears to be a mistake in Hart, Cheney et al. on page 149.
  1976. +  * Where it list Qn(x)/x ~ P(z*z)/Q(z*z), z = 8/x, it should read
  1977. +  *               Qn(x)/z ~ P(z*z)/Q(z*z), z = 8/x
  1978. +  * In the functions below, Qn(x) is implementated using the later
  1979. +  * equation.
  1980. +  * These bessel functions are accurate to about 1e-13
  1981. +  */
  1982. + #define PI_ON_FOUR       0.78539816339744830961566084581987572
  1983. + #define PI_ON_TWO        1.57079632679489661923131269163975144
  1984. + #define THREE_PI_ON_FOUR 2.35619449019234492884698253745962716
  1985. + #define TWO_ON_PI        0.63661977236758134307553505349005744
  1986. + static double dzero = 0.0;
  1987. + /* jzero for x in [0,8]
  1988. +  * Index 5849, 19.22 digits precision
  1989. +  */
  1990. + static double pjzero[] = {
  1991. +      0.4933787251794133561816813446e+21,
  1992. +     -0.11791576291076105360384408e+21,
  1993. +      0.6382059341072356562289432465e+19,
  1994. +     -0.1367620353088171386865416609e+18,
  1995. +      0.1434354939140346111664316553e+16,
  1996. +     -0.8085222034853793871199468171e+13,
  1997. +      0.2507158285536881945555156435e+11,
  1998. +     -0.4050412371833132706360663322e+8,
  1999. +      0.2685786856980014981415848441e+5
  2000. + };
  2001. + static double qjzero[] = {
  2002. +     0.4933787251794133562113278438e+21,
  2003. +     0.5428918384092285160200195092e+19,
  2004. +     0.3024635616709462698627330784e+17,
  2005. +     0.1127756739679798507056031594e+15,
  2006. +     0.3123043114941213172572469442e+12,
  2007. +     0.669998767298223967181402866e+9,
  2008. +     0.1114636098462985378182402543e+7,
  2009. +     0.1363063652328970604442810507e+4,
  2010. +     0.1e+1
  2011. + };
  2012. + /* pzero for x in [8,inf]
  2013. +  * Index 6548, 18.16 digits precision
  2014. +  */
  2015. + static double ppzero[] = {
  2016. +     0.2277909019730468430227002627e+5,
  2017. +     0.4134538663958076579678016384e+5,
  2018. +     0.2117052338086494432193395727e+5,
  2019. +     0.348064864432492703474453111e+4,
  2020. +     0.15376201909008354295771715e+3,
  2021. +     0.889615484242104552360748e+0
  2022. + };
  2023. + static double qpzero[] = {
  2024. +     0.2277909019730468431768423768e+5,
  2025. +     0.4137041249551041663989198384e+5,
  2026. +     0.2121535056188011573042256764e+5,
  2027. +     0.350287351382356082073561423e+4,
  2028. +     0.15711159858080893649068482e+3,
  2029. +     0.1e+1
  2030. + };
  2031. + /* qzero for x in [8,inf]
  2032. +  * Index 6948, 18.33 digits precision
  2033. +  */
  2034. + static double pqzero[] = {
  2035. +     -0.8922660020080009409846916e+2,
  2036. +     -0.18591953644342993800252169e+3,
  2037. +     -0.11183429920482737611262123e+3,
  2038. +     -0.2230026166621419847169915e+2,
  2039. +     -0.124410267458356384591379e+1,
  2040. +     -0.8803330304868075181663e-2,
  2041. + };
  2042. + static double qqzero[] = {
  2043. +     0.571050241285120619052476459e+4,
  2044. +     0.1195113154343461364695265329e+5,
  2045. +     0.726427801692110188369134506e+4,
  2046. +     0.148872312322837565816134698e+4,
  2047. +     0.9059376959499312585881878e+2,
  2048. +     0.1e+1
  2049. + };
  2050. + /* yzero for x in [0,8]
  2051. +  * Index 6245, 18.78 digits precision
  2052. +  */
  2053. + static double pyzero[] = {
  2054. +     -0.2750286678629109583701933175e+20,
  2055. +      0.6587473275719554925999402049e+20,
  2056. +     -0.5247065581112764941297350814e+19,
  2057. +      0.1375624316399344078571335453e+18,
  2058. +     -0.1648605817185729473122082537e+16,
  2059. +      0.1025520859686394284509167421e+14,
  2060. +     -0.3436371222979040378171030138e+11,
  2061. +      0.5915213465686889654273830069e+8,
  2062. +     -0.4137035497933148554125235152e+5
  2063. + };
  2064. + static double qyzero[] = {
  2065. +     0.3726458838986165881989980739e+21,
  2066. +     0.4192417043410839973904769661e+19,
  2067. +     0.2392883043499781857439356652e+17,
  2068. +     0.9162038034075185262489147968e+14,
  2069. +     0.2613065755041081249568482092e+12,
  2070. +     0.5795122640700729537380087915e+9,
  2071. +     0.1001702641288906265666651753e+7,
  2072. +     0.1282452772478993804176329391e+4,
  2073. +     0.1e+1
  2074. + };
  2075. + /* jone for x in [0,8]
  2076. +  * Index 6050, 20.98 digits precision
  2077. +  */
  2078. + static double pjone[] = {
  2079. +      0.581199354001606143928050809e+21,
  2080. +     -0.6672106568924916298020941484e+20,
  2081. +      0.2316433580634002297931815435e+19,
  2082. +     -0.3588817569910106050743641413e+17,
  2083. +      0.2908795263834775409737601689e+15,
  2084. +     -0.1322983480332126453125473247e+13,
  2085. +      0.3413234182301700539091292655e+10,
  2086. +     -0.4695753530642995859767162166e+7,
  2087. +      0.270112271089232341485679099e+4
  2088. + };
  2089. + static double qjone[] = {
  2090. +     0.11623987080032122878585294e+22,
  2091. +     0.1185770712190320999837113348e+20,
  2092. +     0.6092061398917521746105196863e+17,
  2093. +     0.2081661221307607351240184229e+15,
  2094. +     0.5243710262167649715406728642e+12,
  2095. +     0.1013863514358673989967045588e+10,
  2096. +     0.1501793594998585505921097578e+7,
  2097. +     0.1606931573481487801970916749e+4,
  2098. +     0.1e+1
  2099. + };
  2100. + /* pone for x in [8,inf]
  2101. +  * Index 6749, 18.11 digits precision
  2102. +  */
  2103. + static double ppone[] = {
  2104. +     0.352246649133679798341724373e+5,
  2105. +     0.62758845247161281269005675e+5,
  2106. +     0.313539631109159574238669888e+5,
  2107. +     0.49854832060594338434500455e+4,
  2108. +     0.2111529182853962382105718e+3,
  2109. +     0.12571716929145341558495e+1
  2110. + };
  2111. + static double qpone[] = {
  2112. +     0.352246649133679798068390431e+5,
  2113. +     0.626943469593560511888833731e+5,
  2114. +     0.312404063819041039923015703e+5,
  2115. +     0.4930396490181088979386097e+4,
  2116. +     0.2030775189134759322293574e+3,
  2117. +     0.1e+1
  2118. + };
  2119. + /* qone for x in [8,inf]
  2120. +  * Index 7149, 18.28 digits precision
  2121. +  */
  2122. + static double pqone[] = {
  2123. +     0.3511751914303552822533318e+3,
  2124. +     0.7210391804904475039280863e+3,
  2125. +     0.4259873011654442389886993e+3,
  2126. +     0.831898957673850827325226e+2,
  2127. +     0.45681716295512267064405e+1,
  2128. +     0.3532840052740123642735e-1
  2129. + };
  2130. + static double qqone[] = {
  2131. +     0.74917374171809127714519505e+4,
  2132. +     0.154141773392650970499848051e+5,
  2133. +     0.91522317015169922705904727e+4,
  2134. +     0.18111867005523513506724158e+4,
  2135. +     0.1038187585462133728776636e+3,
  2136. +     0.1e+1
  2137. + };
  2138. + /* yone for x in [0,8]
  2139. +  * Index 6444, 18.24 digits precision
  2140. +  */
  2141. + static double pyone[] = {
  2142. +     -0.2923821961532962543101048748e+20,
  2143. +      0.7748520682186839645088094202e+19,
  2144. +     -0.3441048063084114446185461344e+18,
  2145. +      0.5915160760490070618496315281e+16,
  2146. +     -0.4863316942567175074828129117e+14,
  2147. +      0.2049696673745662182619800495e+12,
  2148. +     -0.4289471968855248801821819588e+9,
  2149. +      0.3556924009830526056691325215e+6
  2150. + };
  2151. + static double qyone[] = {
  2152. +     0.1491311511302920350174081355e+21,
  2153. +     0.1818662841706134986885065935e+19,
  2154. +     0.113163938269888452690508283e+17,
  2155. +     0.4755173588888137713092774006e+14,
  2156. +     0.1500221699156708987166369115e+12,
  2157. +     0.3716660798621930285596927703e+9,
  2158. +     0.726914730719888456980191315e+6,
  2159. +     0.10726961437789255233221267e+4,
  2160. +     0.1e+1
  2161. + };
  2162.   f_real()
  2163.   {
  2164.   struct value a;
  2165. ***************
  2166. *** 264,326
  2167.   }
  2168.   
  2169.   
  2170. - f_besj0()    /* j0(a) = sin(a)/a */
  2171. - {
  2172. - struct value a;
  2173. -     a = top_of_stack;
  2174. -     f_sin();
  2175. -     push(&a);
  2176. -     f_div();
  2177. - }
  2178. - f_besj1()    /* j1(a) = sin(a)/(a**2) - cos(a)/a */
  2179. - {
  2180. - struct value a;
  2181. -     a = top_of_stack;
  2182. -     f_sin();
  2183. -     push(&a);
  2184. -     push(&a);
  2185. -     f_mult();
  2186. -     f_div();
  2187. -     push(&a);
  2188. -     f_cos();
  2189. -     push(&a);
  2190. -     f_div();
  2191. -     f_minus();
  2192. - }
  2193. - f_besy0()    /* y0(a) = -cos(a)/a */
  2194. - {
  2195. - struct value a;
  2196. -     a = top_of_stack;
  2197. -     f_cos();
  2198. -     push(&a);
  2199. -     f_div();
  2200. -     f_uminus();
  2201. - }
  2202. - f_besy1()    /* y1(a) = -cos(a)/(a**2) - sin(a)/a */
  2203. - {
  2204. - struct value a;
  2205. -     a = top_of_stack;
  2206. -     f_cos();
  2207. -     push(&a);
  2208. -     push(&a);
  2209. -     f_mult();
  2210. -     f_div();
  2211. -     push(&a);
  2212. -     f_sin();
  2213. -     push(&a);
  2214. -     f_div();
  2215. -     f_plus();
  2216. -     f_uminus();
  2217. - }
  2218.   f_floor()
  2219.   {
  2220.   struct value a;
  2221.  
  2222. --- 481,486 -----
  2223.   }
  2224.   
  2225.   
  2226.   f_floor()
  2227.   {
  2228.   struct value a;
  2229. ***************
  2230. *** 369,371
  2231.   }
  2232.   
  2233.   #endif /* GAMMA */
  2234.  
  2235. --- 529,780 -----
  2236.   }
  2237.   
  2238.   #endif /* GAMMA */
  2239. + /* bessel function approximations */
  2240. + double jzero(x)
  2241. + double x;
  2242. + {
  2243. + double p, q, x2;
  2244. + int n;
  2245. +     x2 = x * x;
  2246. +     p = pjzero[8];
  2247. +     q = qjzero[8];
  2248. +     for (n=7; n>=0; n--) {
  2249. +         p = p*x2 + pjzero[n];
  2250. +         q = q*x2 + qjzero[n];
  2251. +     }
  2252. +     return(p/q);
  2253. + }
  2254. + double pzero(x)
  2255. + double x;
  2256. + {
  2257. + double p, q, z, z2;
  2258. + int n;
  2259. +     z = 8.0 / x;
  2260. +     z2 = z * z;
  2261. +     p = ppzero[5];
  2262. +     q = qpzero[5];
  2263. +     for (n=4; n>=0; n--) {
  2264. +         p = p*z2 + ppzero[n];
  2265. +         q = q*z2 + qpzero[n];
  2266. +     }
  2267. +     return(p/q);
  2268. + }
  2269. + double qzero(x)
  2270. + double x;
  2271. + {
  2272. + double p, q, z, z2;
  2273. + int n;
  2274. +     z = 8.0 / x;
  2275. +     z2 = z * z;
  2276. +     p = pqzero[5];
  2277. +     q = qqzero[5];
  2278. +     for (n=4; n>=0; n--) {
  2279. +         p = p*z2 + pqzero[n];
  2280. +         q = q*z2 + qqzero[n];
  2281. +     }
  2282. +     return(p/q);
  2283. + }
  2284. + double yzero(x)
  2285. + double x;
  2286. + {
  2287. + double p, q, x2;
  2288. + int n;
  2289. +     x2 = x * x;
  2290. +     p = pyzero[8];
  2291. +     q = qyzero[8];
  2292. +     for (n=7; n>=0; n--) {
  2293. +         p = p*x2 + pyzero[n];
  2294. +         q = q*x2 + qyzero[n];
  2295. +     }
  2296. +     return(p/q);
  2297. + }
  2298. + double rj0(x)
  2299. + double x;
  2300. + {
  2301. +     if ( x <= 0.0 )
  2302. +         x = -x;
  2303. +     if ( x < 8.0 )
  2304. +         return(jzero(x));
  2305. +     else
  2306. +         return( sqrt(TWO_ON_PI/x) *
  2307. +             (pzero(x)*cos(x-PI_ON_FOUR) - 8.0/x*qzero(x)*sin(x-PI_ON_FOUR)) );
  2308. + }
  2309. + double ry0(x)
  2310. + double x;
  2311. + {
  2312. +     if ( x < 0.0 )
  2313. +         return(dzero/dzero); /* error */
  2314. +     if ( x < 8.0 )
  2315. +         return( yzero(x) + TWO_ON_PI*rj0(x)*log(x) );
  2316. +     else
  2317. +         return( sqrt(TWO_ON_PI/x) *
  2318. +             (pzero(x)*sin(x-PI_ON_FOUR) + 
  2319. +             (8.0/x)*qzero(x)*cos(x-PI_ON_FOUR)) );
  2320. + }
  2321. + double jone(x)
  2322. + double x;
  2323. + {
  2324. + double p, q, x2;
  2325. + int n;
  2326. +     x2 = x * x;
  2327. +     p = pjone[8];
  2328. +     q = qjone[8];
  2329. +     for (n=7; n>=0; n--) {
  2330. +         p = p*x2 + pjone[n];
  2331. +         q = q*x2 + qjone[n];
  2332. +     }
  2333. +     return(p/q);
  2334. + }
  2335. + double pone(x)
  2336. + double x;
  2337. + {
  2338. + double p, q, z, z2;
  2339. + int n;
  2340. +     z = 8.0 / x;
  2341. +     z2 = z * z;
  2342. +     p = ppone[5];
  2343. +     q = qpone[5];
  2344. +     for (n=4; n>=0; n--) {
  2345. +         p = p*z2 + ppone[n];
  2346. +         q = q*z2 + qpone[n];
  2347. +     }
  2348. +     return(p/q);
  2349. + }
  2350. + double qone(x)
  2351. + double x;
  2352. + {
  2353. + double p, q, z, z2;
  2354. + int n;
  2355. +     z = 8.0 / x;
  2356. +     z2 = z * z;
  2357. +     p = pqone[5];
  2358. +     q = qqone[5];
  2359. +     for (n=4; n>=0; n--) {
  2360. +         p = p*z2 + pqone[n];
  2361. +         q = q*z2 + qqone[n];
  2362. +     }
  2363. +     return(p/q);
  2364. + }
  2365. + double yone(x)
  2366. + double x;
  2367. + {
  2368. + double p, q, x2;
  2369. + int n;
  2370. +     x2 = x * x;
  2371. +     p = 0.0;
  2372. +     q = qyone[8];
  2373. +     for (n=7; n>=0; n--) {
  2374. +         p = p*x2 + pyone[n];
  2375. +         q = q*x2 + qyone[n];
  2376. +     }
  2377. +     return(p/q);
  2378. + }
  2379. + double rj1(x)
  2380. + double x;
  2381. + {
  2382. + double v,w;
  2383. +     v = x;
  2384. +     if ( x < 0.0 )
  2385. +         x = -x;
  2386. +     if ( x < 8.0 )
  2387. +         return(v*jone(x));
  2388. +     else {
  2389. +         w = sqrt(TWO_ON_PI/x) *
  2390. +             (pone(x)*cos(x-THREE_PI_ON_FOUR) - 
  2391. +                8.0/x*qone(x)*sin(x-THREE_PI_ON_FOUR)) ;
  2392. +         if (v < 0.0)
  2393. +             w = -w;
  2394. +         return( w );
  2395. +     }
  2396. + }
  2397. + double ry1(x)
  2398. + double x;
  2399. + {
  2400. +     if ( x <= 0.0 )
  2401. +         return(dzero/dzero); /* error */
  2402. +     if ( x < 8.0 )
  2403. +         return( x*yone(x) + TWO_ON_PI*(rj1(x)*log(x) - 1.0/x) );
  2404. +     else
  2405. +         return( sqrt(TWO_ON_PI/x) *
  2406. +             (pone(x)*sin(x-THREE_PI_ON_FOUR) + 
  2407. +             (8.0/x)*qone(x)*cos(x-THREE_PI_ON_FOUR)) );
  2408. + }
  2409. + f_besj0()    
  2410. + {
  2411. + struct value a;
  2412. + double x;
  2413. +     (void) pop(&a);
  2414. +     if (imag(&a) > zero)
  2415. +         int_error("can only do bessel functions of reals",NO_CARET);
  2416. +     push( complex(&a,rj0(real(&a)),0.0) );
  2417. + }
  2418. + f_besj1()    
  2419. + {
  2420. + struct value a;
  2421. + double x;
  2422. +     (void) pop(&a);
  2423. +     if (imag(&a) > zero)
  2424. +         int_error("can only do bessel functions of reals",NO_CARET);
  2425. +     push( complex(&a,rj1(real(&a)),0.0) );
  2426. + }
  2427. + f_besy0()    
  2428. + {
  2429. + struct value a;
  2430. + double x;
  2431. +     (void) pop(&a);
  2432. +     if (imag(&a) > zero)
  2433. +         int_error("can only do bessel functions of reals",NO_CARET);
  2434. +     if (real(&a) > 0.0)
  2435. +         push( complex(&a,ry0(real(&a)),0.0) );
  2436. +     else {
  2437. +         push( complex(&a,0.0,0.0) );
  2438. +         undefined = TRUE ;
  2439. +     }
  2440. + }
  2441. + f_besy1()    
  2442. + {
  2443. + struct value a;
  2444. + double x;
  2445. +     (void) pop(&a);
  2446. +     if (imag(&a) > zero)
  2447. +         int_error("can only do bessel functions of reals",NO_CARET);
  2448. +     if (real(&a) > 0.0)
  2449. +         push( complex(&a,ry1(real(&a)),0.0) );
  2450. +     else {
  2451. +         push( complex(&a,0.0,0.0) );
  2452. +         undefined = TRUE ;
  2453. +     }
  2454. + }
  2455. Common subdirectories: ./term and ../patch/term
  2456. Common subdirectories: ./translate and ../patch/translate
  2457.