Applied the VMS update patch from Craig A. Berry update Daniel
* vms/build_libxml.com vms/config.vms vms/readme.vms
include/libxml/parser.h include/libxml/parserInternals.h
include/libxml/tree.h include/libxml/xmlIO.h
HTMLparser.c catalog.c debugXML.c parser.c parserInternals.c
tree.c triodef.h trionan.c uri.c xmlIO.c xpath.c:
Applied the VMS update patch from Craig A. Berry
* doc/*.html: update
Daniel
diff --git a/vms/readme.vms b/vms/readme.vms
index 9fe045b..91dddeb 100644
--- a/vms/readme.vms
+++ b/vms/readme.vms
@@ -13,6 +13,7 @@
John A Fotheringham (jaf@jafsoft.com)
October 2001
+Updated October 2002 by Craig A Berry (craigberry@mac.com)
Installation kit
----------------
@@ -39,19 +40,17 @@
- Don't execute BUILD_LIBXML.COM until you've done all the following
- read these notes
- - copied CONFIG.VMS to CONFIG.H
- reviewed the configuration section of BUILD_LIBXML.COM, and in particular
updated the module lists in line with MAKEFILE
- - edited XMLVERSION.H so that WITH_TRIO is defined
- identified the location of the include files, so that you can manually
set the LIBXML logical if need be.
- re-read these notes :-p
instructions for all these steps are below.
-- the file [.vms]config.vms should be used to replace config.h. This file
- contains a number of define statements that identify the software options
- required under VMS
+- the file [.vms]config.vms is used in lieu of a Configure-generated config.h.
+ This file contains a number of define statements that identify the software
+ options required under VMS
- The include files are in a [.INCLUDE.LIBXML] subdirectory. You need
a logical "libxml" to point to this so that include statements of the
@@ -104,12 +103,12 @@
that uses this functionality. BUILD_LIBXML.COM should do this for you.
- to build in trio support you need the define WITH_TRIO to be set. This
- is done by editing xmlversion.h
+ is done by default for VMS in xmlversion.h
Compiler and linker errors
--------------------------
-- the DEC C compiler will produce a number of warnings when compiling the
+- the DEC C compiler may produce a number of warnings when compiling the
C code. These include
- Implicit function warnings. These indicate functions whose type is
@@ -117,37 +116,9 @@
configuration is not correct (e.g. for "snprintf" if you haven't
edited xmlversion.h to set WITH_TRIO
- These messages also occur for "read" and "write" when compiling trio.c
-
- uninitialised variables. Not usually a problem. You can solve this
by editing the code to initialise the variables affected
- and with respect to the trionan code
-
- - no main module for UNDERFLOW_TO_ZERO
- - float overflow when compiling trionan.c STANDALONE
-
- You can suppress these "expected" messages by using the compile command
-
- $ CC /WARN=DISABLE=(FLOATOVERFL,NOMAINUFLO)
-
- This can be achieved by specifying "NOWARN" as the first command
- parameter to BUILD_LIBXML as follows
-
- $ @BUILD_LIBXML NOWARN
-
-- the Linker will report the following error
-
- %LINK-W-MULDEF, symbol DECC$STRERROR multiply defined
- in module DECC$SHR file SYS$COMMON:[SYSLIB]DECC$SHR.EXE;5
-
- This is complaining that DECC$STRERROR is multiply defined, which in turn
- is because this system symbol is getting added to LIBXML.OLB when strio.c
- is compiled.
-
- I'm not sure what the solution for this is, but this is a fairly benign error.
-
-
Changes made to the codebase
----------------------------
- I changed all dummy declarations in trio.c to be
@@ -165,30 +136,8 @@
This matches similar lines already added to nanohttp.c
- Several variables and function names exceed the 31 character limit
- used in VMS. This leads to compiler warnings. The solution adopted
- has been
-
- a) where variables or functions are defined, set up an ifdef on VMS
- to define a variable/function of a shorter name. This may need to
- be done in the .h file, and in the implementation .c file
-
- b) use define statements to map the long name onto a shorter name. That
- way all future code can refer to the function/variable by the long name,
- reducing the need to add VMS-specific code everywhere.
-
- In the current distro, I had to do this for the following names
-
- in globals.c, parserinternals.c, globals.h, parser.h
- xmlSubstituteEntitiesDefaultValue
- xmlDoValidityCheckingDefaultValue
-
- in globals.c, globals.h
- __xmlDoValidityCheckingDefaultValue
-
- in xmlio.c, xmlio.h
- xmlRegisterDefaultInputCallbacks
- xmlRegisterDefaultOutputCallbacks
-
- in xpath.c and xpathinternals.h
- xmlXPathRegisteredVariablesCleanup
+ of the VMS linker. The solution adopted has been to use the
+ /NAMES=SHORTENED compiler option, which requires DEC/Compaq C 5.7
+ or later. For a complete list of the names that needed shortening
+ and the short names generated by the compiler, see [.vms]config.vms.