README for GRACE on VMS --  8-Mar-1999

Rolf Niepraschk (niepraschk@ptb.de)
John Hasstedt (John.Hasstedt@sunysb.edu)

1. Introduction

 We have compiled grace with the following combinations:
    VMS VAX V6.2      DECC V5.6     Motif 1.2-4   (John)
    VMS VAX V7.1      DECC V5.7     Motif 1.2-4   (John)
    VMS Alpha V6.2    DECC V5.7     Motif 1.2-4   (John)
    VMS Alpha V7.1    DECC V5.7     Motif 1.2-4   (John)
 We have compiled xmgr with the following combinations:
    VMS VAX V5.5      DECC V5.2                   (Rolf)
    VMS Alpha V6.2    DECC V5.0                   (Rolf)
    VMS Alpha V7.1    DECC V5.7                   (Rolf)
    VMS VAX V6.2      DECC V5.6     Motif 1.2-4   (John)
    VMS Alpha V6.2    DECC V5.6     Motif 1.2-4   (John)
 We have received a report that xmgr compiled with
    VMS Alpha V6.1    DECC V5.7     Motif 1.2-3

 Grace will not compile with Motif 1.1.  Below is Evgeny's answer to the
 problem report in case there is a guru lurking:
  >>
  >>  I have apply your patch for Tab.c and I get the next problems:
  >>
  >>          XFontSet *font_set;
  >>          ^
  >>  %CC-E-UNDECLARED, In this statement, "XFontSet" is not declared.
  >> ...
  >
  >I see. It seems that all problems are related to the font stuff. Since no
  >advanced features like localization etc are really needed for xmgr, I'm
  >sure it can be solved. However, I have no experience with backward porting
  >to X11R4 and Motif-1.1 :). Probably, there is a guru lurking around you
  >(I mean who is using the same OS). Such a guy would definitly be familiar
  >with the issue.

2. Compilation

 In the top directory, do

    @[.arch.vms]configure [options]

 Then do one of the following:

    mmk   
    mms /ignore=warning
    @[.arch.vms]build

 mmk is MadGoat's make utility; you can get it from

     ftp://ftp.madgoat.com/madgoat/mmk.zip

 mms is Compaq's make utility; the /ignore=warning is necessary with
 mms to get the t1 library to build.

 If you don't have either make utility, the build.com command file will
 compile and link it.

 Configure accepts options as parameters on the command line.  Separate
 multiple options with spaces.  Note that you CANNOT put spaces around the
 equal sign.  Configure accepts the following options:

    DPML -- Use the DPML if it exists.  This option allows you to override
      a NODPML specified in a save file.  DPML is the Digital Portable Math
      Library; it contains hyperbolic trig and other functions.  It does not
      exist on the VAX.  Grace uses the routines in the cephes library if
      you don't have the DPML.

    NODPML -- Do not use the DPML even if the system has it.

    OPTIMIZE -- Use the optimizer when you compile code.  This is the default.
      This option allows you to override a NOOPTIMIZE specified in a save file.

    NOOPTIMIZE -- Compile the code with /NOOPTIMIZE.

    D_FLOAT, G_FLOAT, IEEE -- Specify the type of floating point; the
      default is G on VAX and IEEE on Alpha.  IEEE is not available on
      VAX.  You will get errors about overflow and underflow of some
      constants in [.t1lib.type1]token.c from the T1 library if you use
      D_FLOAT.  However, grace still works (you should use
      mms/ignore=warning to compile if you select D_FLOAT).

    HOME="/dev/dir" -- Specify the home directory for grace; it must be
      in Unix format.  You can override this directory when running grace
      by defining the logical name GRACE_HOME.  The default is "", and
      you have to define the logical name.

    PRINT="print cmd" -- Specify the default print command.  If you don't
      specify a print command, configure will use
        print/name="from Grace"/delete/queue=<queue>
      where <queue> is specified with the QUEUE option.  You should not
      double the quotes in the string: PRINT="print/name="from Grace"..."

    QUEUE="queue" -- This option is ignored if you include the PRINT
      option.  The default is decw$printer_format_ps.  Note that the
      string you specify is appended to the string given above, so you
      can add other print qualifiers.  For example,
        QUEUE="psqueue/form=ps"

    HELP="browser" -- Specify the html browser used for help; you can
      override the browser specfied here by defining the GRACE_HELPVIEWER
      logical name.  The default is mosaic.  A %s indicates where the URL
      should be added; if you omit it, " %s" will be added to the end.
      There is a command file, [.arch.vms]netscape.com, that you can use
      with netscape.  When you select help, this command file will start
      netscape if it is not already running; otherwise, it will display
      the new help using the existing netscape process.  To use it, you
      need to specify HELP="@dev:[dir]netscape.com %s"; you cannot use
      GRACE_HOME: instead of the device and directory because GRACE_HOME
      is defined in Unix format.

    NETCDF=<header>=<libraries> -- Include the netcdf library.  <header>
      is the directory containing the netcdf.h header file (which may be
      omitted if you copy netcdf.h to the [.src] directory).  <libraries>
      is a list of the netcdf object libraries, separated by commas.   You
      can find the NETCDF package at ftp://ftp.ncsa.uiuc.edu/HDF/, including
      precompiled binaries for VAX and Alpha.

    COPY -- Copy the build files from [.arch.vms] to the other directories
      even if the files already exist in the other directories.  This option
      is used when debugging the build procedures to make sure the version in
      the other directories is the same as the version in [.arch.vms].

    SAVE -- Save the command line parameters in SAVED.DAT.  If this file
      exists when you execute configure.com, configure.com reads the file
      and processes the parameters in it before processing the command line
      parameters.  If you specify SAVE and SAVED.DAT exists, the new command
      line parameters are appended to the file; if you specify a parameter
      that is already in the save file, the original parameter will remain
      in the file, but the new parameter will override it.  For example, if
      you run configure with parameters QUEUE="psprinter" and SAVE, in future
      runs of configure.com, QUEUE will default to psprinter.  However, any
      value for QUEUE on the command line will override this, and if you
      specify QUEUE and SAVE on a later run, the new value of QUEUE will
      override the old one.  You can also edit SAVED.DAT to add or delete
      parameters.  The file is just the parameters you specify on the
      command line, one on each line of the file.

 If you get an error on linking about gethostname being undefined, edit
 config.h and #undef HAVE_GETHOSTNAME.  I am not sure when gethostname
 was added to the run time library, so there is no check for it in
 configure.com; we can add a check if someone lets us know when it was
 added.

3. Installation

 To run, you need the files in [.doc] and [.fonts...], and
 [.templates]default.agr.  You probably want the files in [.examples].
 These directories should be subdirectories of the home directory.

 Define a symbol for the executable:

  $ xmgrace :== $disk:[path]xmgrace

 Define the following logicals if necessary:

  $ define GRACE_HOME "/disk/dir1/dir2/grace"
  ! The path to the directory containing [.doc], [.fonts], and [.templates]
  ! in Unix format.  See the description of the HOME= option above.

  $ define GRACE_HELPVIEWER "www-browser %s"
  ! See the description of the HELP= option above.

 X-resources:

  The file [.SRC]XMGRACE.AD contains the x resources.  You may want to
  copy this file to XMGRACE.DAT in either DECW$SYSTEM_DEFAULTS and/or
  DECW$USER_DEFAULTS to customize the program.

4. Testing

  $ set default [.examples]
  $ @dotest

 Click exit after each test except slideshow.d (the last one) to display
 the next test.

5. Bugs

 Send questions about building on VMS to John.Hasstedt@sunysb.edu.  Send
 questions about use or bug reports to the grace mailing list.

