diff options
Diffstat (limited to 'vms')
-rwxr-xr-x | vms/build_libxml.com | 109 | ||||
-rwxr-xr-x | vms/config.vms | 348 | ||||
-rw-r--r-- | vms/readme.vms | 71 |
3 files changed, 266 insertions, 262 deletions
diff --git a/vms/build_libxml.com b/vms/build_libxml.com index 57a46e4c..21e554d3 100755 --- a/vms/build_libxml.com +++ b/vms/build_libxml.com @@ -4,34 +4,35 @@ $! Build the LIBXML library $! $! Arguments: $! -$! "NOWARN" - suppress known/expected warnings -$! "DEBUG" - build everythign in debug +$! "DEBUG" - build everything in debug $! -$! This procedure creates an object library XMLOLB:LIBXML.OLB directory. +$! This procedure creates an object library XML_LIBDIR:LIBXML.OLB directory. $! After the library is built, you can link LIBXML routines into $! your code with the command $! -$! $ LINK your_modules,XMLOLB:LIBXML.OLB/LIBRARY +$! $ LINK your_modules,XML_LIBDIR:LIBXML.OLB/LIBRARY $! $! Change History $! -------------- $! Command file author : John A Fotheringham (jaf@jafsoft.com) -$! Last update : 2 Nov 2001 +$! Last update : 28 September 2002 Craig Berry (craigberry@mac.com) +$! updated to work with current sources +$! miscellaneous enhancements to build process $! $!- configuration ------------------------------------------------------------- $! $!- compile command. If p1="nowarn" suppress the expected warning types $! +$ cc_opts = "/NAMES=(SHORTENED)/FLOAT=IEEE/IEEE_MODE=DENORM_RESULTS" +$! $ if p1.eqs."DEBUG" .or. p2.eqs."DEBUG" $ then $ debug = "Y" -$ cc_command = "CC/DEBUG/NOOPT" +$ cc_command = "CC''cc_opts'/DEBUG/NOOPTIMIZE/LIST/SHOW=ALL" $ else $ debug = "N" -$ cc_command = "CC" +$ cc_command = "CC''cc_opts'" $ endif -$ if p1.eqs."NOWARN" then - - cc_command = cc_command + "/WARN=DISABLE=(FLOATOVERFL,NOMAINUFLO)" $! $!- list of sources to be built into the LIBXML library. Compare this list $! to the definition of "libxml2_la_SOURCES" in the file MAKEFILE.IN. @@ -41,8 +42,9 @@ $ sources = "SAX.c entities.c encoding.c error.c parserInternals.c parser.c" $ sources = sources + " tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c valid.c" $ sources = sources + " xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c " $ sources = sources + " xpointer.c xinclude.c nanohttp.c nanoftp.c " -$ sources = sources + " DOCBparser.c catalog.c globals.c threads.c" -$ sources = sources + " trio.c strio.c" +$ sources = sources + " DOCBparser.c catalog.c globals.c threads.c c14n.c " +$ sources = sources + " xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c " +$ sources = sources + " triostr.c trio.c" $! $!- list of main modules to compile and link. Compare this list to the $! definition of bin_PROGRAMS in MAKEFILE.IN @@ -52,23 +54,30 @@ $! $!- list of test modules to compile and link. Compare this list to the $! definition of noinst_PROGRAMS in MAKEFILE. $! -$ test_progs = "testSAX testHTML testXPath testURI testDocbook testThreads" +$ noinst_PROGRAMS = "testSchemas testSAX testHTML testXPath testURI testDocbook " - + + "testThreads testC14N testAutomata testRegexp" $! $!- set up build logicals -----------------------------------------------------\ $! -$ if f$trnlnm("XMLOLB").eqs."" +$! +$!- start from where the procedure is in case it's submitted in batch ----------\ +$! +$ whoami = f$parse(f$environment("PROCEDURE"),,,,"NO_CONCEAL") +$ procdir = f$parse(whoami,,,"DEVICE") + f$parse(whoami,,,"DIRECTORY") +$ set default 'procdir' +$! +$ if f$trnlnm("XML_LIBDIR").eqs."" $ then -$ write sys$output "" -$ write sys$output " You need to define a XMLOLB logical directory to" -$ write sys$output " point to the directory containing your CMS object" -$ write sys$output " libraries. This should already contain LIBXML.OLB" -$ write sys$output " from the libxml package, and will be the directory" -$ write sys$output " the new LIBXSLT.OLB library will be placed in" -$ write sys$output "" -$ exit +$ if f$search("[-]lib.dir") .eqs. "" +$ then +$ create/directory/log [-.lib] +$ endif +$ xml_libdir = f$parse("[-.lib]",,,"DEVICE") + f$parse("[-.lib]",,,"DIRECTORY") +$ define/process XML_LIBDIR 'xml_libdir' +$ write sys$output "Defining XML_LIBDIR as """ + f$trnlnm("XML_LIBDIR") + """ $ endif $! -$ if f$trnlnm("xml_srcdir").eqs."" +$ if f$trnlnm("XML_SRCDIR").eqs."" $ then $ globfile = f$search("[-...]globals.c") $ if globfile.eqs."" @@ -76,12 +85,14 @@ $ then $ write sys$output "Can't locate globals.c. You need to manually define a XML_SRCDIR logical" $ exit $ else -$ srcdir = f$element(0,"]",globfile)+ "]" -$ define/process xml_srcdir "''srcdir'" -$ write sys$output "Defining xml_srcdir as ""''srcdir'""" +$ srcdir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY") +$ define/process XML_SRCDIR "''srcdir'" +$ write sys$output "Defining XML_SRCDIR as ""''srcdir'""" $ endif $ endif $! +$ copy/log config.vms xml_srcdir:config.h +$! $ if f$trnlnm("libxml").eqs."" $ then $ globfile = f$search("[-...]globals.h") @@ -90,7 +101,7 @@ $ then $ write sys$output "Can't locate globals.h. You need to manually define a LIBXML logical" $ exit $ else -$ includedir = f$element(0,"]",globfile)+ "]" +$ includedir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY") $ define/process libxml "''includedir'" $ write sys$output "Defining libxml as ""''includedir'""" $ endif @@ -106,12 +117,12 @@ $! $!- move to the source directory and create any necessary subdirs and the $! object library $! -$ set def xml_srcdir +$ set default xml_srcdir $ if f$search("DEBUG.DIR").eqs."" then create/dir [.DEBUG] -$ if f$search("XMLOLB:LIBXML.OLB").eqs."" +$ if f$search("XML_LIBDIR:LIBXML.OLB").eqs."" $ then -$ write sys$output "Creating new object library XMLOLB:LIBXML.OLB" -$ library/create XMLOLB:LIBXML.OLB +$ write sys$output "Creating new object library XML_LIBDIR:LIBXML.OLB" +$ library/create XML_LIBDIR:LIBXML.OLB $ endif $! $ goto start_here @@ -119,7 +130,7 @@ $ start_here: ! move this line to debug/rerun parts of this command file $! $!- compile modules into the library ------------------------------------------ $! -$ lib_command = "LIBRARY/REPLACE XMLOLB:LIBXML.OLB" +$ lib_command = "LIBRARY/REPLACE/LOG XML_LIBDIR:LIBXML.OLB" $ link_command = "" $! $ write sys$output "" @@ -137,17 +148,7 @@ $ then $! $ on error then goto ERROR_OUT $ on control_y then goto ERROR_OUT -$ if next_source.eqs."xpath.c" -$ then -$ call build 'next_source' /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE -$ else -$ if next_source.eqs."trio.c" -$ then -$ call build 'next_source' /WARN=DISABLE=UNINIT1 -$ else -$ call build 'next_source' -$ endif -$ endif +$ call build 'next_source' $ s_no = s_no + 1 $ goto source_loop $! @@ -155,20 +156,23 @@ $ endif $! $!- now build self-test programs ---------------------------------------------- $! -$! these pograms are built as ordinary modules into XMLOLB:LIBXML.OLB. Here they +$! these programs are built as ordinary modules into XML_LIBDIR:LIBXML.OLB. Here they $! are built a second time with /DEFINE=(STANDALONE) in which case a main() $! is also compiled into the module $ $ lib_command = "" $ link_command = "LINK" $! +$ library/compress XML_LIBDIR:LIBXML.OLB +$ purge XML_LIBDIR:LIBXML.OLB +$! $ write sys$output "" $ write sys$output "Building STANDALONE self-test programs" $ write sys$output "" $! $ call build NANOFTP.C /DEFINE=(STANDALONE) $ call build NANOHTTP.C /DEFINE=(STANDALONE) -$ call build TRIONAN.C /DEFINE=(STANDALONE)/IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE +$ call build TRIONAN.C /DEFINE=(STANDALONE) $! $!- now build main and test programs ------------------------------------------ $! @@ -181,7 +185,7 @@ $ write sys$output "Building main programs and test programs" $ write sys$output "" $! $ p_no = 0 -$ all_progs = bin_progs + " " + test_progs +$ all_progs = bin_progs + " " + noinst_PROGRAMS $ all_progs = f$edit(all_progs,"COMPRESS") $! $ prog_loop: @@ -192,7 +196,7 @@ $ then $! $ on error then goto ERROR_OUT $ on control_y then goto ERROR_OUT -$ call build 'next_prog'.c /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE +$ call build 'next_prog'.c $ p_no = p_no + 1 $ goto prog_loop $! @@ -210,7 +214,7 @@ $! $EXIT_OUT: $! $ purge/nolog [.debug] -$ set def 'saved_default +$ set default 'saved_default $ exit 'exit_status $! $ @@ -224,12 +228,12 @@ $! $BUILD: subroutine $ on warning then goto EXIT_BUILD $ source_file = p1 -$ name = f$element(0,".",source_file) -$ object_file = f$fao("[.debug]!AS.OBJ",name) +$ name = f$parse(source_file,,,"NAME") +$ object_file = f$parse("[.debug].OBJ",name,,,"SYNTAX_ONLY") $! $!- compile $! -$ write sys$output "Compiling ",p1," ",p2,"..." +$ write sys$output "''cc_command'''p2'/object=''object_file' ''source_file'" $ cc_command'p2' /object='object_file 'source_file' $! $!- insert into library if command defined @@ -239,12 +243,11 @@ $! $!- link module if command defined $ if link_command.nes."" $ then -$ text = f$element(0,".",p1) ! lose the ".c" -$ write sys$output "Linking ",text,"..." $ opts = "" $ if debug then opts = "/DEBUG" +$ write sys$output "''link_command'''opts' ''object_file',XML_LIBDIR:libxml.olb/library" $ link_command'opts' 'object_file',- - XMLOLB:libxml.olb/library + XML_LIBDIR:libxml.olb/library $ endif $! $EXIT_BUILD: diff --git a/vms/config.vms b/vms/config.vms index 2bf40936..e5f3c086 100755 --- a/vms/config.vms +++ b/vms/config.vms @@ -1,148 +1,200 @@ -/* config.h */
-
-#define VMS 1
-
-/* Define if you have the strftime function. */
-#define HAVE_STRFTIME 1
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-#undef PACKAGE
-#undef VERSION
-#undef HAVE_LIBZ
-#undef HAVE_LIBM
-#undef HAVE_ISINF
-#undef HAVE_ISNAN
-#undef HAVE_LIBHISTORY
-#undef HAVE_LIBREADLINE
-
-/* Define if you have the class function. */
-#undef HAVE_CLASS
-
-/* Define if you have the finite function. */
-#undef HAVE_FINITE
-
-/* Define if you have the fp_class function. */
-#define HAVE_FP_CLASS 1
-
-/* Define if you have the fpclass function. */
-#undef HAVE_FPCLASS
-
-/* Define if you have the isnand function. */
-#undef HAVE_ISNAND
-
-/* Define if you have the localtime function. */
-#define HAVE_LOCALTIME 1
-
-/* Define if you have the snprintf function. */
-#undef HAVE_SNPRINTF
-
-/* Define if you have the strdup function. */
-#define HAVE_STRDUP 1
-
-/* Define if you have the strerror function. */
-#define HAVE_STRERROR 1
-
-/* Define if you have the strftime function. */
-#define HAVE_STRFTIME 1
-
-/* Define if you have the strndup function. */
-#undef HAVE_STRNDUP
-
-/* Define if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define if you have the <ctype.h> header file. */
-#define HAVE_CTYPE_H 1
-
-/* Define if you have the <dirent.h> header file. */
-#define HAVE_DIRENT_H 1
-
-/* Define if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <float.h> header file. */
-#define HAVE_FLOAT_H 1
-
-/* Define if you have the <fp_class.h> header file. */
-#define HAVE_FP_CLASS_H 1
-
-/* Define if you have the <ieeefp.h> header file. */
-#undef HAVE_IEEEFP_H
-
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define if you have the <math.h> header file. */
-#define HAVE_MATH_H 1
-
-/* Define if you have the <nan.h> header file. */
-#undef HAVE_NAN_H
-
-/* Define if you have the <ndir.h> header file. */
-#undef HAVE_NDIR_H
-
-/* Define if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H 1
-
-/* Define if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define if you have the <sys/dir.h> header file. */
-#undef HAVE_SYS_DIR_H
-
-/* Define if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define if you have the <sys/ndir.h> header file. */
-#undef HAVE_SYS_NDIR_H
-
-/* Define if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the <zlib.h> header file. */
-#undef HAVE_ZLIB_H
-
-/* Define if you have the inet library (-linet). */
-#undef HAVE_LIBINET
-
-/* Define if you have the nsl library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define if you have the socket library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
+/* config.h */ + +#define VMS 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +#undef PACKAGE +#undef VERSION +#undef HAVE_LIBZ +#undef HAVE_LIBM +#undef HAVE_ISINF +#if defined(_IEEE_FP) && (__CRTL_VER >= 60200000) +# define HAVE_ISNAN 1 +#endif +#undef HAVE_LIBHISTORY +#undef HAVE_LIBREADLINE + +/* Define if you have the class function. */ +#undef HAVE_CLASS + +/* Define if you have the finite function. */ +#undef HAVE_FINITE + +/* Define if you have the fp_class function. */ +#define HAVE_FP_CLASS 1 + +/* Define if you have the fpclass function. */ +#undef HAVE_FPCLASS + +/* Define if you have the isnand function. */ +#undef HAVE_ISNAND + +/* Define if you have the localtime function. */ +#define HAVE_LOCALTIME 1 + +/* Define if you have the snprintf function. */ +#undef HAVE_SNPRINTF + +/* Define if you have the strdup function. */ +#define HAVE_STRDUP 1 + +/* Define if you have the strerror function. */ +#define HAVE_STRERROR 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have the strndup function. */ +#undef HAVE_STRNDUP + +/* Define if you have the <arpa/inet.h> header file. */ +#undef HAVE_ARPA_INET_H + +/* Define if you have the <ctype.h> header file. */ +#define HAVE_CTYPE_H 1 + +/* Define if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the <float.h> header file. */ +#define HAVE_FLOAT_H 1 + +/* Define if you have the <fp_class.h> header file. */ +#define HAVE_FP_CLASS_H 1 + +/* Define if you have the <ieeefp.h> header file. */ +#undef HAVE_IEEEFP_H + +/* Define if you have the <malloc.h> header file. */ +#undef HAVE_MALLOC_H + +/* Define if you have the <math.h> header file. */ +#define HAVE_MATH_H 1 + +/* Define if you have the <nan.h> header file. */ +#undef HAVE_NAN_H + +/* Define if you have the <ndir.h> header file. */ +#undef HAVE_NDIR_H + +/* Define if you have the <netdb.h> header file. */ +#define HAVE_NETDB_H 1 + +/* Define if you have the <netinet/in.h> header file. */ +#undef HAVE_NETINET_IN_H + +/* Define if you have the <stdarg.h> header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have the <sys/dir.h> header file. */ +#undef HAVE_SYS_DIR_H + +/* Define if you have the <sys/mman.h> header file. */ +#undef HAVE_SYS_MMAN_H + +/* Define if you have the <sys/ndir.h> header file. */ +#undef HAVE_SYS_NDIR_H + +/* Define if you have the <sys/select.h> header file. */ +#undef HAVE_SYS_SELECT_H + +/* Define if you have the <sys/socket.h> header file. */ +#undef HAVE_SYS_SOCKET_H + +/* Define if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define if you have the <sys/time.h> header file. */ +#undef HAVE_SYS_TIME_H + +/* Define if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define if you have the <time.h> header file. */ +#define HAVE_TIME_H 1 + +/* Define if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if you have the <zlib.h> header file. */ +#undef HAVE_ZLIB_H + +/* Define if you have the inet library (-linet). */ +#undef HAVE_LIBINET + +/* Define if you have the nsl library (-lnsl). */ +#undef HAVE_LIBNSL + +/* Define if you have the socket library (-lsocket). */ +#undef HAVE_LIBSOCKET + +/* Name of package */ +#undef PACKAGE + +/* Version number of package */ +#undef VERSION + +/* Up to this point this is just a hard-wired version of + * config.h. After this will be anything else we need + * that is VMS-specific. + */ + +/* For best results, compile with /NAMES=(SHORTENED), which requires + * DEC C 5.7 or later. For older compilers, the shortened names below + * are the same ones the mangler generates in C 5.7 and later. These may + * work, though there will probably be some conflicts with redefinitions + * in globals.h. + */ + +#if __DECC_VER < 57000000 +/* 0 1 2 3 0 1 2 3 + * 123456789012345678901234567890123456789 1234567890123456789012345678901 + */ +#define __xmlDoValidityCheckingDefaultValue __xmlDoValidityChecking3qad3pq$ +#define __xmlSubstituteEntitiesDefaultValue __xmlSubstituteEntities0pij13u$ +#define trio_locale_set_thousand_separator trio_locale_set_thousan259ikkk$ +#define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDe1bcsei4$ +#define xmlParseBalancedChunkMemoryRecover xmlParseBalancedChunkMe1lu1e86$ +#define xmlParseElementChildrenContentDecl xmlParseElementChildren1mp6pcb$ +#define xmlParserInputBufferCreateFilename xmlParserInputBufferCre36lujn2$ +#define xmlRegisterDefaultInputCallbacks xmlRegisterDefaultInput3vin0cp$ +#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefaultOutpu0q443dd$ +#define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDe28k2c80$ +#define xmlUCSIsAlphabeticPresentationForms xmlUCSIsAlphabeticPrese2qr24s3$ +#define xmlUCSIsArabicPresentationFormsB xmlUCSIsArabicPresentat1gajvg8$ +#define xmlUCSIsArabicPresentationFormsA xmlUCSIsArabicPresentat3sq1bti$ +#define xmlUCSIsCJKCompatibilityIdeographsSupplement xmlUCSIsCJKCompatibilit0or40ki$ +#define xmlUCSIsCJKCompatibilityIdeographs xmlUCSIsCJKCompatibilit2nodmc5$ +#define xmlUCSIsCJKSymbolsandPunctuation xmlUCSIsCJKSymbolsandPu0a3i7ra$ +#define xmlUCSIsCJKUnifiedIdeographsExtensionA xmlUCSIsCJKUnifiedIdeog11ig3fd$ +#define xmlUCSIsCJKUnifiedIdeographsExtensionB xmlUCSIsCJKUnifiedIdeog3d22n2n$ +#define xmlUCSIsCombiningDiacriticalMarks xmlUCSIsCombiningDiacri3tj3nl8$ +#define xmlUCSIsCombiningMarksforSymbols xmlUCSIsCombiningMarksf3ftqd7s$ +#define xmlUCSIsEnclosedCJKLettersandMonths xmlUCSIsEnclosedCJKLett0nq67g4$ +#define xmlUCSIsHalfwidthandFullwidthForms xmlUCSIsHalfwidthandFul047l0a1$ +#define xmlUCSIsHighPrivateUseSurrogates xmlUCSIsHighPrivateUseS071kh83$ +#define xmlUCSIsIdeographicDescriptionCharacters xmlUCSIsIdeographicDesc1rovf8g$ +#define xmlUCSIsMathematicalAlphanumericSymbols xmlUCSIsMathematicalAlp2ag8r44$ +#define xmlUCSIsOpticalCharacterRecognition xmlUCSIsOpticalCharacte1juuh06$ +#define xmlUCSIsSuperscriptsandSubscripts xmlUCSIsSuperscriptsand3fi4eup$ +#define xmlUCSIsUnifiedCanadianAboriginalSyllabics xmlUCSIsUnifiedCanadian0lbvi9b$ +#define xmlValidCtxtNormalizeAttributeValue xmlValidCtxtNormalizeAt0q11n5f$ +#define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVaria1uvs4uc$ + +#endif + +#define xmlBufferWriteChar xmlBufferWriteChar2 diff --git a/vms/readme.vms b/vms/readme.vms index 9fe045b0..91dddeb9 100644 --- a/vms/readme.vms +++ b/vms/readme.vms @@ -13,6 +13,7 @@ That's it. Good luck! John A Fotheringham (jaf@jafsoft.com) October 2001 +Updated October 2002 by Craig A Berry (craigberry@mac.com) Installation kit ---------------- @@ -39,19 +40,17 @@ Installation kit - 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 @@ The TRIO package 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 @@ Compiler and linker errors 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 @@ Changes made to the codebase 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. |