$==>$ Uptodate ???
From July 1990 onwards only Aegis SR 10 and later system releases will be supported. Aegis SR 9.7 library versions are obtainable, but will not be updated. Aegis SR 10 is compatible with UNIX, and so simplifies support. However, this affects file formats and access control, as well as the case sensitivity of file names. Although earlier versions of AEGIS were insensitive to the case of file names, this is no longer true from for SR 10.0 onwards. Thus, for example, the program statement:
INCLUDE '/CERN/GKS/PRO/UTL/GKS_GTSDEV'will not work with SR 10.0. The path name within quotes must be in lower case. Other points to watch for are that a '/' character is used after the tilde when accessing files via the naming directory, and that when using UNIX shells every command creates a new process, so care must be taken when using scripts to set variables that they run in the context of the current process. For example, by typing source my_script under the C shell, or . my_script under the Bourne shell.
Apart from the Appendix E metafile and PostScript drivers, the standard CERN APOLLO libraries include drivers for both the GPR and GSR graphics interfaces. For machines such as the DN590, with GSR hardware support, the GSR driver will produce improved performance. This driver also allows a single process to open multiple GKS workstations, each corresponding to a new APOLLO window. The next release of this driver is scheduled to support level C input, as well as a display surface size which may be changed dynamically. To use multiple GSR windows from a single graphics process it is necessary to call GOPWK once to open each workstation with a different value in the series of GSR workstation types.
At run time GKS reads in the files defining the software fonts (which are
used by all drivers). These are accessed via an environment variable
'GKS_FONTS' which may be created by a command in the
startup or .login files.
At CERN, this environment variable points to the cernlib directory
/cern/gks/pro/dat (or .../new/dat or .../old/dat,
depending on the version
required). The fonts are distributed in the directory
$gkshome/gks/fonts.
(In addition to the software fonts used by all drivers, the GSR driver
can use also the hardware fonts described below.)
For use of the GPR interface, the user's home directory should contain a
file (or link) called gks_characteristic which contains set-up
information describing the display. An example of this file may be found in:
/cern/gks/pro/dat/gks_characteristicIf the user does not have a link from the naming directory to a private copy of
gks_characteristic, then GKSGRAL will attempt to read a
default version which should be made available by creating the
following link:
crl /dev/gks_characteristic @
/cern/gks/pro/dat/gks_characteristic
(As /dev is protected, this must be done from a privileged account.)
A private copy of the file may be edited to give the
desired window size. As an example, the Workstation Type 10002
corresponds to the second line of the file.
The standard versions of this file is distributed in
$gkshome/gks/drivers/adgpr.
The GSR driver requires access to two configuration files, one called
gks_workstations.config which is similar to the GPR
gks_characteristic file containing set-up information describing
the display, and one called gks_fonts.config which lists
the available hardware fonts.
Copies of these files, modified as necessary,
may be stored in (or pointed to by links from) the user's home directory,
or default versions should be made available by creating the links:
crl /sys/node_data/gks_workstations.config @
/cern/gks/pro/dat/gks_workstations.config
and
crl /sys/node_data/gks_fonts.config @
/cern/gks/pro/dat/gks_fonts.config
The standard versions of these files are distributed in
$gkshome/gks/drivers/adgsr.
As for other UNIX machines, the libraries are stored either in
$gkshome/gks/libs or /cern/gks/pro/lib, and it is easiest to access
them via environment variables:
setenv gkslib /cern/gks/pro/lib/gkslib_3000.a setenv gksdriv /cern/gks/pro/lib/gksdriv_3000.a setenv gks3dlib /cern/gks/pro/lib/gks3d_3000.aWhere the '3000' refers to the compiler option used to produce executable modules targeted at the DN3000 style machines with a Motorola 68020/30/40. One can replace '3000' by '10000' for the DN10000 library versions.
To compile and link directly to the libraries use:
/com/ftn myprog.ftn -indexl /com/bind myprog.bin $gkslib $gksdriv -b myprog.exewhere the parameter '-indexl' is optional but recommended. The parameter -save may also be used for safety if variables which must be available on re-entry to a routine have not been stored in a COMMON BLOCK. However, use of -save is very detrimental to code optimization, especially on the DN10000. The Aegis versions of the Fortran compiler must be used to ensure that the external global symbols use the same naming conventions as for the libraries (i.e. lower case names with no trailing underscore).
The include files used when compiling graphics programs which
define the Workstation Types and GKS Parameters (Enumerated Types)
are to be found in the directory '/cern/gks/pro/utl'.
(Distributed in $gkshome/utl.)
They may be accessed from a Fortran program as follows:
INCLUDE '/cern/gks/pro/utl/gks_gtsdev'
and
INCLUDE '/cern/gks/pro/utl/gks_enum'
(Under SR 10.2 the Fortran compiler accepts VMS syntax for the
INCLUDE statement.)
As linking to INLIB (shared) versions of the libraries takes up much less space, and is much faster, INLIB libraries are defined as follows:
setenv gkslib_inlib /cern/gks/pro/lib/gkslib_3000.inlib setenv gks3dlib_inlib /cern/gks/pro/lib/gks3d_3000.inlibThese may be linked using the command:
/com/bind myprog.o -b myprog.exe -inlib $gkslib_inlib
or
/com/bind myprog.o -b myprog.exe -inlib $gks3dlib_inlib
The example programs listed in the appendix of the GKS/GKS-3D Primer may be found in:
/cern/gks/pro/dmo/gksexN.ftn (N = 1,6)They are distributed in
$gkshome/dmo.
APOLLO nodes exit with various CPU options. The latest machine, the DN10000, will only work with libraries compiled specifically for this hardware. All other recent APOLLO models use the standard M68020 instruction set, on which can be run libraries compiled with the '3000' option. Note that CERN no longer produces libraries compiled with the 'any' switch.
The following consists of a list of the workstation types for
the GTS-GRAL workstation drivers installed on Apollo.
The full list may be consulted in gks_gtsdev, or in
Appendix on Page
.