Hexcalc, Utilities, Multi-Radix Calculator


Building

  To build the Hexcalc application simply execute the supplied make.com. This
  should create the executable without further input.
  The program does need a copy of the Xaw library to be available on the system.
  In case make.com complains about this please check below for notes how to
  setup  the library for general use (check esp. the definition of the X11
  logical name).


Installation of Xaw3d/Xmu

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. 

The latest version of the OpenVMS port of Hexcalc should always be 
accessible via 

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

