30.14 Installation of CONGEN on UNIX
The installation of CONGEN on UNIX is a very straightforward process.
The files are organized so that CONGEN can be installed by either a
system manager or an individual user without privilege. There are only a
few steps to be taken:
- CONGEN is provided as a single gzip'ped tar file (you can get gzip from
the Free Software Foundation (ftp to prep.ai.mit.edu or other
mirrors). Restore the tapes while preserving the directory structure
into a directory of your own choosing, e.g.
zcat congen.tar.gz | tar xvfo -
You will need about 600000 blocks to restore the tar file.
- Modify the files, ./congen/cgdefs and ./congen/cgprofile,
to reflect your own directory
structure and machine usage.
The files, cgdefs and cgprofile, contain
some special code for the definition
of CGROOT which is used at our site to allow us to have two copies
of CONGEN on different machines, and to switch based on the machines' availability.
You can remove all the conditionals, and simply give it a definition.
The machine designation is more complicated. The program, ./congen/setcgplatform,
will determine what machine you are running on. For most machines, there is only one
possible machine, but on the Silicon Graphics computers, there are many possibilities
based on the type of processor, operating system, compiler, instruction set
architecture, and application binary interface. The SGI machine string
is encoded as sgi_rchip_iO.S_ccompiler_marchitecture_aabi.
The choices for each part are
Most distributions of CONGEN contain only the most compatible version
which is found under the machine directory,
sgi_r3k_i5.3_c5.3_m1_a32. See the section on rebuilding CONGEN,
Making CONGEN, for a description on how to build other versions of
CONGEN which will give better performance on the newer architectures.
- 3k, 4k, 5k, 8k, 10k
- 5.3, 6.1, 6.2, 6.3, 6.4
- 5.3, 6.1, 6.2, 7.0, 7.1, 7.2
- 1, 2, 3, 4, 5
- 32, n32, 64
The environment variable, CGPLATFORM, specifies which machine directory
to use. The Perl program, ./congen/matchdir, finds the closest compatible
machine directory for the environment you are running on. You can override
the automatic selections by setting CGPLATFORM prior to the execution
of cgdefs or at the beginning of cgdefs.
- Change either the system wide profile or .cshrc file or
your own profile or .cshrc file to source cgdefs or cgprofile.
cgdefs, is for the C shell, and the file,
cgprofile, is for the Bourne or Korn shells. Once these files are
executed, all of the commands will work.
- Change your default directory to $CGT,
and run two tests as follows:
make test.dif congen.dif
Examine those two files. The only differences you should see are file names,
version numbers, dates, allocations in the heap, and execution times.
- You may wish to delete rarely used files such as the bulk of the test
cases or source code object files.
- Copy the INFO files (congen, congen-*, flecsdoc,
and flecsdoc-*) in $CGD into the
GNU Emacs manual directory and modify the INFO directory file
so GNU Emacs can access the CONGEN documentation.
- It is helpful if TeX is installed. This will allow you to modify the