Xaw3d/Xmu, Languages, Xaw3d/Xmu libraries

Note: All the hard work in porting these libraries has been done by Johannes 
      Plass serveral years back in conjunction with the development of GV.
      I only maintain and support the libraries in the sense that I do make
      sure the sources compile cleanly with the latest and greatest versions
      of OpenVMS/CC/Motif.
--------------------------------------------------------------------------------
Building

The Xaw3d/Xmu libraries were ported by Johannes Plass as part of his 
Ghostview project on OpenVMS. This is also reflected in the filestructure on 
the original server. Since both libraries are required for many other programs 
as well I've created a new archive containing all the necessary files to 
recreate the libraries. To build using this version execute the following 
commands:

$  unzip -o xawxmu.zip
$  @[.command]setup distrib compile
$  xmake xmu,xaw3d

This should built the libraries without error and further interaction.

Installation

Shareable Images

The result of the built are two shareable images, one for Xaw3d and one for 
Xmu. Although one can give a full path for a shareable image at link time, 
OpenVMS does expect to find the file in sys$share at runtime. OTOH for various 
reasons one might not want/be able to place the files in this location. To 
solve this problem just define a logical with the same name as the shareable 
image and point with this to the location of the image in the filesystem, 
e.g. on my system I have:

$ sh log xmulibshr
   "XMULIBSHR" = "PUBBIN:XMULIBSHR" (LNM$PROCESS_TABLE)
$ sh log xaw3dlibshr
   "XAW3DLIBSHR" = "PUBBIN:XAW3DLIBSHR" (LNM$PROCESS_TABLE)

Header files

Source files ported from a Unix system often contain include statements like 
this #include <X11/Xmu/file.h>, which reflects the organization of these files 
on this OS, i.e. the header files for Xmu/Xaw(3d)/... are located in a 
sub-directory of the one containing the X11 header files. To be able to work 
with syntax like this on an OpenVMS system one has to tweak the usual 
definition of the logical X11 a bit ;-).
One thing is that one has to make X11 a rooted logical, so that a path like 
x11:[xmu] (which is what the above translates to on OpenVMS) makes sense. The 
second is that once again one might want to separate the header files 
delivered by Digital from the ones coming with this package. To do this create 
a toplevel directory as the home for non-DEC header files and add to this 
subdirectories named xmu and xaw. Copy the header-files from the distribution 
to these new directories.

As an example the definition on my system looks like this:

$ sh log x11
   "X11" = "X11ADD" (LNM$PROCESS_TABLE)
        = "X11ADD:[XPM.LIB]"
        = "DECW$INCLUDE"
        = "PUBBIN"
1  "X11ADD" = "DKA300:[PUBLIC.XTOOLS.LIBS.]" (LNM$PROCESS_TABLE)
1  "DECW$INCLUDE" = "SYS$SYSROOT:[DECW$INCLUDE]" (DECW$LOGICAL_NAMES)
        = "SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS]"
1  "PUBBIN" = "PUBLIC$ROOT:[AEXE]" (LNM$PROCESS_TABLE)
   "X11" = "DECW$INCLUDE" (DECW$LOGICAL_NAMES)
1  "DECW$INCLUDE" = "SYS$SYSROOT:[DECW$INCLUDE]" (DECW$LOGICAL_NAMES)
        = "SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS]"

x11add
    Rooted logicals have to be first in the list (in this case x11add), also 
    note that a rooted logical may not contain another rooted logical in its 
    definition. 
x11add:[xpm.lib]
    Location of the X Pixmap Library header files. On Unix they are stored 
    directly in the X11 directory. 
decw$include
    Also get the standard header files ;-) 
pubbin
    Actually not the location of header files, but rather the place where I 
    keep my libraries. In some circumstances usefull for linking purposes. 

Programs depending on the Xaw3d/Xmu library

Asclock
    AfterStep Clock 
Emiclock
    Hyper animated face analog clock 
GV (Ghostview)
    GV is a viewer application for Postscript files interpreted by 
    Ghostscript. This application was the reason via Johannes ported the 
    package to OpenVMS. 
Mapedit
    Program to create imagemaps 
Spider
    Patience game 
T1lib
    The example application for T1lib needs Xaw 
Xeyes
    Big X is watching you ... ;-) 
xfd
    Select and display X fonts     

The latest version of the OpenVMS port of Xaw3d/Xmu should always be
accessible via

http://zinser.no-ip.info/vms/sw/xaw.htmlx
