diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2001-10-29 20:21:47 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2001-10-29 20:21:47 +0000 |
commit | acf7ff0a658ad8c213cc87763f4ab48124459587 (patch) | |
tree | 65c9d70fe874afb47b827716e53bee31e3b6ed4b /vms | |
parent | 635ef72a94db9f647dcff11d33f50115564ce091 (diff) | |
download | android_external_libxml2-acf7ff0a658ad8c213cc87763f4ab48124459587.tar.gz android_external_libxml2-acf7ff0a658ad8c213cc87763f4ab48124459587.tar.bz2 android_external_libxml2-acf7ff0a658ad8c213cc87763f4ab48124459587.zip |
a few VMS updates from John A Fotheringham added
* vms/readme.vms vms/build_libxml.com nanoftp.c
include/libxml/xmlversion.h.in: a few VMS updates from
John A Fotheringham
* include/libxml/xmlIO.h xmlIO.c: added xmlCleanupInputCallbacks()
and xmlCleanupOutputCallbacks() for the Perl binding people.
Daniel
Diffstat (limited to 'vms')
-rwxr-xr-x | vms/build_libxml.com | 264 |
1 files changed, 204 insertions, 60 deletions
diff --git a/vms/build_libxml.com b/vms/build_libxml.com index 0c7622aa..28f69c91 100755 --- a/vms/build_libxml.com +++ b/vms/build_libxml.com @@ -1,60 +1,204 @@ -$! BUILD_LIBXML.COM
-$!
-$! Build the LIBXML object library
-$!
-$! Ensure the logical name LIBXML is defined to point to the LIBXML source
-$! directory. This procedure creates an object library LIBXML.OLB in the LIBXML
-$! directory. After the library is built, you can link LIBXML routines into
-$! your code with the command $ LINK your_modules,LIBXML:LIBXML.OLB/LIBRARY
-$!
-$!
-$!------------------------------------------------------------------------------
-$ cc_command = "CC/DEBUG/NOOPT"
-$ lib_command = "LIBRARY/REPLACE LIBXML.OLB"
-$!
-$ exit_status = 1
-$ saved_default = f$environment("default")
-$ on error then goto ERROR_OUT
-$ set def libxml
-$ if f$search("DEBUG.DIR").eqs."" then create/dir [.DEBUG]
-$ if f$search("LIBXML.OLB").eqs."" then library/create LIBXML.OLB
-$!
-$ call COMPILE DEBUGXML.C
-$ call COMPILE ENCODING.C
-$ call COMPILE ENTITIES.C
-$ call COMPILE ERROR.C
-$ call COMPILE HTMLPARSER.C
-$ call COMPILE HTMLTREE.C
-$ call COMPILE NANOFTP.C
-$ call COMPILE NANOHTTP.C
-$ call COMPILE PARSER.C
-$ call COMPILE SAX.C
-$ call COMPILE TREE.C
-$ call COMPILE URI.C
-$ call COMPILE VALID.C
-$ call COMPILE XLINK.C
-$ call COMPILE XMLIO.C
-$ call COMPILE XMLLINT.C
-$ call COMPILE XMLMEMORY.C
-$ call COMPILE XPATH.C
-$!
-$EXIT_OUT:
-$ set def 'saved_default
-$ exit 'exit_status
-$!
-$
-$ERROR_OUT:
-$ exit_status = $status
-$ write sys$output 'f$message(exit_status)'
-$ goto EXIT_OUT
-$!
-$COMPILE: subroutine
-$ on warning then goto EXIT_COMPILE
-$ source_file = p1
-$ name = f$element(0,".",source_file)
-$ object_file = f$fao("[.debug]!AS.OBJ",name)
-$ cc_command /object='object_file 'source_file'
-$ lib_command 'object_file'
-$EXIT_COMPILE:
-$ exit $status
-$endsubroutine
+$! BUILD_LIBXML.COM +$! +$! Build the LIBXML object library +$! +$! Ensure the logical name LIBXML is defined to point to the LIBXML source +$! directory. This procedure creates an object library LIBXML.OLB in the LIBXML +$! directory. After the library is built, you can link LIBXML routines into +$! your code with the command $ LINK your_modules,LIBXML:LIBXML.OLB/LIBRARY +$! +$!- configuration ------------------------------------------------------------- +$! +$!- compile command. If p1="nowarn" suppress the expected warning types +$! +$ cc_command = "CC/DEBUG/NOOPT" +$ 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. +$! +$ 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" +$! +$!- for VMS, we add in trio support +$! +$ sources = sources + " trio.c strio.c" +$! +$!- list of main modules to compile and link. Compare this list to the +$! definition of bin_PROGRAMS in MAKEFILE. +$! +$ bin_progs = "xmllint xmlcatalog" +$! +$!- 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" +$! +$!- set up build logicals -----------------------------------------------------\ +$! +$ if f$trnlnm("xml_srcdir").eqs."" +$ then +$ globfile = f$search("[...]globals.c") +$ if globfile.eqs."" +$ then +$ write sys$output "Can't locate globals.c. You need to define a XML_SRCDIR logical" +$ else +$ srcdir = f$element(0,"]",globfile)+ "]" +$ define/process xml_srcdir "''srcdir'" +$ write sys$output "Defining xml_srcdir as ""''srcdir'""" +$ endif +$ endif +$! +$ if f$trnlnm("libxml").eqs."" +$ then +$ globfile = f$search("[...]globals.h") +$ if globfile.nes."" +$ then +$ write sys$output "Can't locate globals.h. You need to define a LIBXML logical" +$ exit +$ else +$ includedir = f$element(0,"]",globfile)+ "]" +$ define/process libxml "''includedir'" +$ write sys$output "Defining libxml as ""''includedir'""" +$ endif +$ endif +$! +$!- set up error handling (such as it is) ------------------------------------- +$! +$ exit_status = 1 +$ saved_default = f$environment("default") +$ on error then goto ERROR_OUT +$ on control_y then goto ERROR_OUT +$! +$!- move to the source directory and create any necessary subdirs and the +$! object library +$! +$ set def xml_srcdir +$ if f$search("DEBUG.DIR").eqs."" then create/dir [.DEBUG] +$ if f$search("LIBXML.OLB").eqs."" then library/create LIBXML.OLB +$! +$ goto start_here +$ start_here: ! move this line to debug/rerun parts of this command file +$! +$!- compile modules into the library ------------------------------------------ +$! +$ lib_command = "LIBRARY/REPLACE LIBXML.OLB" +$ link_command = "" +$! +$ write sys$output "" +$ write sys$output "Building modules into the LIBXML object library" +$ write sys$output "" +$! +$ s_no = 0 +$ sources = f$edit(sources,"COMPRESS") +$! +$ source_loop: +$! +$ next_source = f$element (S_no," ",sources) +$ if next_source.nes."" .and. next_source.nes." " +$ then +$! +$ if next_source.eqs."xpath.c" +$ then +$ call build 'next_source' /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE +$ else +$ call build 'next_source' +$ endif +$ s_no = s_no + 1 +$ goto source_loop +$! +$ endif +$! +$!- now build self-test programs ---------------------------------------------- +$! +$! these pograms are built as ordinary modules into 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" +$! +$ 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 +$! +$!- now build main and test programs ------------------------------------------ +$! +$! +$ lib_command = "" +$ link_command = "LINK" +$! +$ write sys$output "" +$ write sys$output "Building main programs and test programs" +$ write sys$output "" +$! +$ p_no = 0 +$ all_progs = bin_progs + " " + test_progs +$ all_progs = f$edit(all_progs,"COMPRESS") +$! +$ prog_loop: +$! +$ next_prog = f$element (p_no," ",all_progs) +$ if next_prog.nes."" .and. next_prog.nes." " +$ then +$! +$ call build 'next_prog'.c /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE +$ p_no = p_no + 1 +$ goto prog_loop +$! +$ endif +$! +$!- Th-th-th-th-th-that's all folks! ------------------------------------------ +$! +$ exit +$ goto exit_out +$! +$! +$EXIT_OUT: +$! +$ purge/nolog [.debug] +$ set def 'saved_default +$ exit 'exit_status +$! +$ +$ERROR_OUT: +$ exit_status = $status +$ write sys$output "''f$message(exit_status)'" +$ goto EXIT_OUT +$! +$!- the BUILD subroutine. Compile then insert into library or link as required +$! +$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) +$! +$!- compile +$ write sys$output "Compiling ",p1,p2,"..." +$ cc_command /object='object_file 'source_file' 'p2' +$! +$!- insert into library if command defined +$ if lib_command.nes."" then lib_command 'object_file' +$! +$!- link module if command defined +$ if link_command.nes."" +$ then +$ text = f$element(0,".",p1) ! lose the ".c" +$ write sys$output "Linking ",text,"..." +$ link_command 'object_file',- + []libxml.olb/library +$ endif +$! +$EXIT_BUILD: +$ exit $status +$! +$endsubroutine |