"Fossies" - the Fresh Open Source Software Archive

Member "SAOImageDS9/libxml2/vms/readme.vms" (13 Nov 2019, 5358 Bytes) of package /linux/misc/ds9.8.1.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Issues in porting libxml to VMS
    2 ===============================
    3 
    4 Here's a summary of the issues I encountered when building LIBXML under
    5 VMS.  There was some VMS support in the version I got, but it was a little
    6 out of date with the result that some newer files had problems.
    7 
    8 I present this list "as is" to hopefully act as a guide to anyone having
    9 problems in the future.
   10 
   11 That's it.  Good luck!
   12 
   13 John A Fotheringham (jaf@jafsoft.com)
   14 October 2001
   15 
   16 Updated October 2002 by Craig A Berry (craigberry@mac.com)
   17 
   18 Installation kit
   19 ----------------
   20 
   21 - File attributes.  Having downloaded essentially a Unix distribution, some
   22   of the file attributes weren't correct... especially those in the [.VMS]
   23   subdirectory.  In EDT you could see line feeds and carriage returns as
   24   <LF><CR> etc.  To correct this use the command
   25 
   26 	$ set file <filespec> /attr=rfm=stm
   27 
   28   This sets the record format to be "stream".  Other variants may be used
   29   instead depending on how you got the files onto your system.  Files will 
   30   look okay in an EDT editor once the attributes are set.  Without
   31   this the command file may not run correctly, since it may be interpreted
   32   as a single line.
   33 
   34 - VMS-specific files are in a [.VMS] directory.  If you've found this file
   35   then you already know this :-)  This directory contains
   36 
   37       BUILD_LIBXML.COM	- a build command file, which I've radically re-worked
   38       CONFIG.VMS	- a configuration file to replace config.h
   39 
   40 - Don't execute BUILD_LIBXML.COM until you've done all the following
   41 
   42   - read these notes
   43   - reviewed the configuration section of BUILD_LIBXML.COM, and in particular
   44     updated the module lists in line with MAKEFILE
   45   - identified the location of the include files, so that you can manually
   46     set the LIBXML logical if need be.
   47   - re-read these notes :-p
   48 
   49   instructions for all these steps are below.
   50 
   51 - the file [.vms]config.vms is used in lieu of a Configure-generated config.h.  
   52   This file contains a number of define statements that identify the software 
   53   options required under VMS
   54 
   55 - The include files are in a [.INCLUDE.LIBXML] subdirectory.  You need
   56   a logical "libxml" to point to this so that include statements of the
   57   form
   58 
   59 	#include <libxml/parser.h>
   60 
   61   will work correctly.  The source files are mostly two levels above this
   62   directory, although there are some .h files there as well.
   63 
   64 - The command file BUILD_LIBXML.COM will do the following
   65 
   66   - setup some logicals
   67   - set def to the source directory
   68   - compile modules and place them into a LIBXML.OLB library
   69   - compile and link a number of self-test programs
   70   - compile and link a number of utilities and test programs
   71   - set def back to the original directory (i.e. if it fails you might not be
   72     where you started :-)
   73 
   74   before running this command file review the configuration segment at
   75   the top.  In particular compare the lists of modules with those in the
   76   most recent version of the Unix MAKEFILE.  Instructions are contained
   77   in the command file itself.
   78 
   79   The command file will attempt to set two logicals
   80 
   81   - xml_srcdir.  The directory containing the source files
   82   - libxml.  The include file directory.
   83 
   84   It attempts this by looking for modules globals.c and globals.h in
   85   nearby directories.  If this logic fails, you'll need to manually define
   86   these logicals.
   87 
   88 
   89 The TRIO package
   90 ----------------
   91 - A sub-package TRIO is used to provide some functions not naturally available
   92   under VMS.  These include support for infinite and undefined numbers,
   93   and specialised print functions like "snprintf"
   94 
   95   I had to make several changes to trionan.c in discussion with the author
   96   (hopefully these are now included in the distro, so I won't list them here)
   97 
   98   To build this software we need to add
   99 
  100 	/IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE 
  101 
  102   to the compile command for xpath.c and trio.c, and to any main program
  103   that uses this functionality.  BUILD_LIBXML.COM should do this for you.
  104 
  105 - to build in trio support you need the define WITH_TRIO to be set.  This
  106   is done by default for VMS in xmlversion.h 
  107 
  108 
  109 Compiler and linker errors
  110 --------------------------
  111 - the DEC C compiler may produce a number of warnings when compiling the
  112   C code.  These include
  113 
  114     - Implicit function warnings.  These indicate functions whose type is
  115       not defined in a .h file.  This will probably only happen if your
  116       configuration is not correct (e.g. for "snprintf" if you haven't
  117       edited xmlversion.h to set WITH_TRIO
  118 
  119     - uninitialised variables.  Not usually a problem.  You can solve this
  120       by editing the code to initialise the variables affected
  121 
  122 Changes made to the codebase
  123 ----------------------------
  124 - I changed all dummy declarations in trio.c to be 
  125 
  126     va_list dummy = NULL;
  127 
  128   to prevent compiler whinge in TRIO.C about uninitialised variables
  129 
  130 - I had to add the following to nanoftp.c
  131 
  132     #if defined(VMS) || defined(__VMS)
  133       #define SOCKLEN_T unsigned int
  134     #endif
  135 
  136   This matches similar lines already added to nanohttp.c
  137 
  138 - Several variables and function names exceed the 31 character limit 
  139   of the VMS linker. The solution adopted has been to use the
  140   /NAMES=SHORTENED compiler option, which requires DEC/Compaq C 5.7
  141   or later.  For a complete list of the names that needed shortening
  142   and the short names generated by the compiler, see [.vms]config.vms.
  143