0.1 Dinotrace Installation
==========================

version: 9.4c

   This file describes how to install Dinotrace on your local system.
After obtaining and installing on your particular system, see the
Dinotrace manual for configuration options.

0.2 Obtaining Distribution
==========================

  1. The latest version of Dinotrace is available at
     `http://www.veripool.org/dinotrace'.  Download the latest package
     from that site, and decompress.  `gunzip dinotrace_version.tar.gz
     ; tar xvf dinotrace_version.tar'

  2. Dinotrace requires the Motif Widget set.  If your system doesn't
     include Motif, or OpenMotif, a public domain version, LessTif, is
     available at `ftp://ftp.lesstif.org'.  Version 0.93.36 was known
     to work for this release.  Be sure to also have the LessTif and X11
     development files (header files) installed.

  3. For best results, you should have perl installed on the system.
     This will enable the documentation to be included in the
     executable.  Perl is available from `http://www.perl.org'

  4. This kit includes a optional interface for GNU Emacs.  For this
     package, get at least GNU Emacs 19.35, and preferably GNU Emacs
     21.1 from `ftp://prep.ai.mit.edu'.  You will also want the most
     recent verilog-mode from `http://www.veripool.org'.

0.3 Supported Systems
=====================

This version of Dinotrace has been built and tested on:

   * sparc-sun-solaris2.5.1

   * i386-pc-linux

   * i386-pc-cygwin32	(under Windows-2000 & Windows-XP)

   * x86_64-suse-linux

   Previous versions of Dinotrace were once built, and probably will
still build on:

   * alpha-dec-osf4.0

   * alpha-dec-vms6.0 (see the special section on VMS installation.)

   * mips-dec-ultrix

   * sparc-sun-sunos4.1.4

   * vax-dec-vms6.0 (see the special section on VMS installation.)

0.4 Unix Installation
=====================

Dinotrace uses the GNU `autoconf' program.

0.4.1 Trivial Installation
--------------------------

If you are using one of a handful of supported systems, look in the
`bin' directory for the appropriate executable.  If it exists, and
runs, put it into your search path.  You will also need Motif or
LessTif, and also may want to do a install on the lisp directory.

0.4.2 Basic Installation
------------------------

The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a `Makefile' in each directory of Dinotrace.  It
also creates `config.h' containing system-dependent definitions.
Finally, it creates a shell script `config.status' that you can run in
the future to recreate the current configuration, a file `config.cache'
that saves the results of its tests to speed up reconfiguring, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').

The simplest way to compile Dinotrace is:

  1. `cd' to the directory containing this INSTALL notice.
     `./configure' to configure Dinotrace for your system.  If you're
     using `csh' on an old version of System V, you might need to type
     `sh ./configure' instead to prevent `csh' from trying to execute
     `configure' itself.

     Running `configure' takes awhile.  While running, it prints some
     messages telling which features it is checking for.

  2. Type `make' to compile Dinotrace.  This program requires X11 with
     the Motif Widget set.  If Motif didn't come with your system, a
     public domain version, LessTif, is available at
     `ftp://ftp.lesstif.org'.

  3. Set your X11 Display.  If your machine is local use `setenv DISPLAY
     "localhost:0.0"' for csh or `DISPLAY="localhost:0.0" ; export
     DISPLAY' for sh or bash.

  4. Try out the executable with `src/dinotrace'.

  5. Type `make install' to install the programs and any data files and
     documentation.

  6. You can remove the program binaries and object files from the
     source code directory by typing `make clean'.  To also remove the
     files that `configure' created (so you can compile Dinotrace for a
     different kind of computer), type `make distclean'.

  7. Finally, see the Dinotrace manual for configuring Dinotrace for
     your site.


0.4.3 Compilers and Options
---------------------------

Some systems require unusual options for compilation or linking that
the `configure' script does not know about.  You can give `configure'
initial values for variables by setting them in the environment.  Using
a Bourne-compatible shell, you can do that on the command line like
this:
     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure

Or on systems that have the `env' program, you can do it like this:
     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure

0.4.4 Compiling For Multiple Architectures
------------------------------------------

You can compile Dinotrace for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory.  To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'.  `cd' to the
directory where you want the object files and executables to go and run
the `configure' script.  `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.

   If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile Dinotrace for one architecture at a time
in the source code directory.  After you have installed Dinotrace for
one architecture, use `make distclean' before reconfiguring for another
architecture.

0.4.5 Installation Names
------------------------

By default, `make install' will install Dinotrace's files in
`/usr/local/bin', `/usr/local/man', etc.  You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.

   You can specify separate installation prefixes for
architecture-specific files and architecture-independent files.  If you
give `configure' the option `--exec-prefix=PATH', Dinotrace will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.

   In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files.  Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.

   If Dinotrace supports it, you can cause programs to be installed with
an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.

0.4.6 Specifying the System Type
--------------------------------

There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host Dinotrace
will run on.  Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option.  TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
     CPU-COMPANY-SYSTEM
   See the file `config.sub' for the possible values of each field.

0.4.7 Operation Controls
------------------------

`configure' recognizes the following options to control how it operates.

`--cache-file=FILE'
     Use and save the results of the tests in FILE instead of
     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
     debugging `configure'.

`--help'
     Print a summary of the options to `configure', and exit.

`--quiet'
`--silent'
`-q'
     Do not print messages saying which checks are being made.  To
     suppress all normal output, redirect it to `/dev/null' (any error
     messages will still be shown).

`--srcdir=DIR'
     Look for Dinotrace's source code in directory DIR.  Usually
     `configure' can determine that directory automatically.


`configure' also accepts some other, not widely useful, options.

0.5 NT Installation
===================

Dinotrace can be built for Windows under the Cygwin32 environment.

0.5.1 Binary Installation
-------------------------

Dinotrace is still a X11 program, even under Windows-NT.  Thus you must
add several packages to Cygwin.

  1. Install Cygwin32, a shareware package that provides the BASH shell
     and Unix utilities.  It is available at
     `http://sourceware.cygnus.com/cygwin/'.

     You'll need the gcc-g++, lesstif, and make packages.  Generally
     these aren't installed by default, use the cygwin setup executable
     to get them.

       1. After downloading, click on the executable and install.

       2. Cygwin now comes with XFree86 and LessTif as options, you'll
          want to select both, along with their development versions.
          Also select the XFree86-prog (headers) package.

  2. Obtain a X11 server.  You can use XFree86 that came with cygwin.
     Another alternative is the commercial *eXcursion* or *exceed*
     programs.  If using XFree86, you can start the server with `xwin
     -multiwindow'.

  3. Download the Dinotrace kit, if not done previously.

  4. Set your X11 Display.  If you'll only be using it locally, use the
     Control Panel/System/Environment requester to add a DISPLAY
     environment variable with the value :0

     Or, in the cygwin shell before each run of Dinotrace do
          DISPLAY=:0
          export DISPLAY

  5. Reboot or restart the shells to pick up the new environment
     variables.

  6. Make and install dinotrace.
          cd `where_you_put_dinotrace'
          ./configure
          make
          make install

  7. There are known problems in LessTif from looking at network drives
     in the Dinotrace File Open requestor.  You may want to specify
     trace files on the command line instead of using the requestor.

  8. Finally, see the Dinotrace manual for configuring Dinotrace for
     your site.


0.6 VMS Installation
====================

The `configure' program does not support Dinotrace, thus several
command files are supplied to build Dinotrace.

  1. Change to the download directory of dinotrace.
          $ set default WHERE_DOWNLOADED

  2. Build Dinotrace with the make.com file.
          $ @make.com

  3. If all was successful, you should be able to invoke the Dinotrace
     executable.
          $ run dinotrace.exe

  4. Create a logical to point to Dinotrace, and make a symbol to invoke
     Dinotrace into the background.  To do this, put in your group's
     login.com: (Substituting in the appropriate directory for
     somedisk$.)

          $!
          $! Dinotrace
          $ define/group/nolog DINODISK somedisk$:[DINOTRACE]
          $ arch_bin_v == "_VV"
          $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH" then arch_bin_v == "_VA"
          $ Dinotraceexe :== "$dinodisk:dinotrace''arch_bin_v'"
          $ Dinotrace :== "spawn/nowait/nolog/input=nl:/output=nl: dinotraceexe"

     Note a hazard with this definition of dinotrace: The display, etc.
     must be set correctly for Dinotrace to start up.  When running
     under VMS, if Dinotrace has an error message when starting, it
     will not be seen due to the spawn.  To see error messages, users
     should be told to type:

          $ dinotraceexe

  5. Finally, see the Dinotrace manual for configuring Dinotrace for
     your site.


