[libxml2] Description of work needed to compile on zOS



commit 1056e82e649d99cbe46648d99ddc00e6154de826
Author: Stéphane Michaut <smichaut axway com>
Date:   Mon Aug 28 14:45:19 2017 +0200

    Description of work needed to compile on zOS
    
    building on zOS requires Makefile surgery that we cannot
    carrry in the common branch, this documents the changes
    needed to compile on that platform

 README.zOS |  212 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 212 insertions(+), 0 deletions(-)
---
diff --git a/README.zOS b/README.zOS
new file mode 100644
index 0000000..6b6669a
--- /dev/null
+++ b/README.zOS
@@ -0,0 +1,212 @@
+Notes for compiling on zOS:
+
+- since testapi.c file is huge (over 52000 lines), it's compilation
+  fails: I skipped the problem by removing all references to testapi in the
+  Makefile.in, but it would be neater if one can build without test files
+  (I didn't find an option in configure...)
+
+- since the name of files (or qualifier) in PDS are limited to 8 I had to
+  rename xmlschemas.c and xmlschemastypes.c in (resp.) xmlsche.c xmlschet.c
+  (and I had to modify all occurences of these files accordingly in the
+  rest of the Makefile !!!).
+
+- in order to copy objects to PDS, I had the cp command at line 860
+  of Makefile.in
+
+libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES)
+        $(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
+        # Copy objects to PDS
+        @list='$(libxml2_OBJECTS)' ; for p in $$list; do \
+          cp -ACMv $$p "//'<PDS NAME>'"; \
+        done
+
+       with <PDS NAME> stands for the name of my PDS and
+       
+libxml2_OBJECTS = SAX.o entities.o encoding.o error.o \
+       parserInternals.o parser.o tree.o hash.o list.o xmlIO.o \
+       xmlmemory.o uri.o valid.o xlink.o HTMLparser.o \
+       HTMLtree.o debugXML.o xpath.o xpointer.o xinclude.o \
+       nanohttp.o nanoftp.o triostr.o trio.o catalog.o globals.o \
+       threads.o c14n.o xmlstring.o buf.o xmlregexp.o \
+       xmlsche.o xmlschet.o xmlunicode.o \
+       xmlreader.o relaxng.o dict.o SAX2.o \
+       xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
+       xmlmodule.o schematron.o xzlib.o 
+
+In order to handle the support of zOS without breaking the existing
+Makefile maybe a new option/flag zOs would copy xmlschemas.c and
+xmlschemastypes.c files and use specifics targets rather than existing
+ones with the longer names... A variable to handle the PDS name has to
+be provided also...
+
+See patch below for set of changes to Makefile.in
+
+Stéphane Michaut <smichaut axway com>
+July 2017
+
+
+--- Makefile.in        2017-08-01 08:17:15.000000000 +0200
++++ Makefile-new.in    2017-08-01 08:07:26.000000000 +0200
+@@ -41,7 +41,7 @@
+       testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \
+       testURI$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \
+       testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT) \
+-      testapi$(EXEEXT) testModule$(EXEEXT) runtest$(EXEEXT) \
++      testModule$(EXEEXT) runtest$(EXEEXT) \
+       runsuite$(EXEEXT) testchar$(EXEEXT) testdict$(EXEEXT) \
+       runxmlconf$(EXEEXT) testrecurse$(EXEEXT) testlimits$(EXEEXT)
+ bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
+@@ -106,6 +106,7 @@
+       debugXML.c xpath.c xpointer.c xinclude.c nanohttp.c nanoftp.c \
+       DOCBparser.c catalog.c globals.c threads.c c14n.c xmlstring.c \
+       buf.c xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
++        xmlsche.c xmlschet.c \
+       triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c \
+       xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c xmlmodule.c \
+       schematron.c xzlib.c
+@@ -118,10 +119,24 @@
+       nanohttp.lo nanoftp.lo $(am__objects_1) catalog.lo globals.lo \
+       threads.lo c14n.lo xmlstring.lo buf.lo xmlregexp.lo \
+       xmlschemas.lo xmlschemastypes.lo xmlunicode.lo \
++        xmlsche.lo xmlschet.lo \
+       $(am__objects_2) xmlreader.lo relaxng.lo dict.lo SAX2.lo \
+       xmlwriter.lo legacy.lo chvalid.lo pattern.lo xmlsave.lo \
+       xmlmodule.lo schematron.lo xzlib.lo
+ libxml2_la_OBJECTS = $(am_libxml2_la_OBJECTS)
++
++libxml2_OBJECTS = SAX.o entities.o encoding.o error.o \
++      parserInternals.o parser.o tree.o hash.o list.o xmlIO.o \
++      xmlmemory.o uri.o valid.o xlink.o HTMLparser.o \
++      HTMLtree.o debugXML.o xpath.o xpointer.o xinclude.o \
++      nanohttp.o nanoftp.o triostr.o trio.o catalog.o globals.o \
++      threads.o c14n.o xmlstring.o buf.o xmlregexp.o \
++      xmlschemas.o xmlschemastypes.o xmlunicode.o \
++      xmlsche.o xmlschemast.o \
++      xmlreader.o relaxng.o dict.o SAX2.o \
++      xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
++      xmlmodule.o schematron.o xzlib.o
++
+ AM_V_lt = $(am__v_lt_$(V))
+ am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+ am__v_lt_0 = --silent
+@@ -216,11 +231,6 @@
+ testXPath_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(testXPath_LDFLAGS) $(LDFLAGS) -o $@
+-am_testapi_OBJECTS = testapi.$(OBJEXT)
+-testapi_OBJECTS = $(am_testapi_OBJECTS)
+-testapi_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+-      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+-      $(testapi_LDFLAGS) $(LDFLAGS) -o $@
+ am_testchar_OBJECTS = testchar.$(OBJEXT)
+ testchar_OBJECTS = $(am_testchar_OBJECTS)
+ testchar_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+@@ -285,7 +295,7 @@
+       $(testReader_SOURCES) $(testRegexp_SOURCES) \
+       $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
+       $(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) \
+-      $(testapi_SOURCES) $(testchar_SOURCES) $(testdict_SOURCES) \
++      $(testchar_SOURCES) $(testdict_SOURCES) \
+       $(testlimits_SOURCES) $(testrecurse_SOURCES) \
+       $(xmlcatalog_SOURCES) $(xmllint_SOURCES)
+ DIST_SOURCES = $(am__libxml2_la_SOURCES_DIST) $(testdso_la_SOURCES) \
+@@ -295,7 +305,7 @@
+       $(testReader_SOURCES) $(testRegexp_SOURCES) \
+       $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
+       $(am__testThreads_SOURCES_DIST) $(testURI_SOURCES) \
+-      $(testXPath_SOURCES) $(testapi_SOURCES) $(testchar_SOURCES) \
++      $(testXPath_SOURCES) $(testchar_SOURCES) \
+       $(testdict_SOURCES) $(testlimits_SOURCES) \
+       $(testrecurse_SOURCES) $(xmlcatalog_SOURCES) \
+       $(xmllint_SOURCES)
+@@ -700,11 +710,6 @@
+ noinst_LTLIBRARIES = testdso.la
+ testdso_la_SOURCES = testdso.c
+ testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
+-BUILT_SOURCES = testapi.c
+-testapi_SOURCES = testapi.c
+-testapi_LDFLAGS = 
+-testapi_DEPENDENCIES = $(DEPS)
+-testapi_LDADD = $(LDADDS)
+ runxmlconf_SOURCES = runxmlconf.c
+ runxmlconf_LDFLAGS = 
+ runxmlconf_DEPENDENCIES = $(DEPS)
+@@ -854,6 +859,12 @@
+       done
+ libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
++        # Copie des obj
++      @list='$(libxml2_OBJECTS)' ; for p in $$list; do \
++        echo "copy to PDS: $$p"; \
++        cp -ACMv $$p "//'A009153.XRDEV230.FIC.OBJLIB.LIBXML'"; \
++      done 
++
+ testdso.la: $(testdso_la_OBJECTS) $(testdso_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(testdso_la_LINK)  $(testdso_la_OBJECTS) $(testdso_la_LIBADD) $(LIBS)
+ install-binPROGRAMS: $(bin_PROGRAMS)
+@@ -953,9 +964,6 @@
+ testXPath$(EXEEXT): $(testXPath_OBJECTS) $(testXPath_DEPENDENCIES) 
+       @rm -f testXPath$(EXEEXT)
+       $(AM_V_CCLD)$(testXPath_LINK) $(testXPath_OBJECTS) $(testXPath_LDADD) $(LIBS)
+-testapi$(EXEEXT): $(testapi_OBJECTS) $(testapi_DEPENDENCIES) 
+-      @rm -f testapi$(EXEEXT)
+-      $(AM_V_CCLD)$(testapi_LINK) $(testapi_OBJECTS) $(testapi_LDADD) $(LIBS)
+ testchar$(EXEEXT): $(testchar_OBJECTS) $(testchar_DEPENDENCIES) 
+       @rm -f testchar$(EXEEXT)
+       $(AM_V_CCLD)$(testchar_LINK) $(testchar_OBJECTS) $(testchar_LDADD) $(LIBS)
+@@ -1056,7 +1064,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testThreadsWin32.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testURI.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testXPath.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testapi.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testchar.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testdict.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testdso.Plo@am__quote@
+@@ -1755,18 +1762,6 @@
+       uninstall-local uninstall-m4dataDATA uninstall-man \
+       uninstall-man1 uninstall-man3 uninstall-pkgconfigDATA
+ 
+-
+-# that one forces the rebuild when "make rebuild" is run on doc/
+-rebuild_testapi:
+-      -@(if [ "$(PYTHON)" != "" ] ; then \
+-          $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
+-
+-# that one is just to make sure it is rebuilt if missing
+-# but adding the dependances generate mess
+-testapi.c: $(srcdir)/gentest.py
+-      -@(if [ "$(PYTHON)" != "" ] ; then \
+-          $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
+-
+ #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
+ #testOOM_LDFLAGS = 
+ #testOOM_DEPENDENCIES = $(DEPS)
+@@ -1775,7 +1770,7 @@
+ runtests:
+       [ -d test   ] || $(LN_S) $(srcdir)/test   .
+       [ -d result ] || $(LN_S) $(srcdir)/result .
+-      $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && 
$(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
++      $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) && $(CHECKER) 
./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
+       @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
+           $(MAKE) tests ; fi)
+ 
+@@ -1797,10 +1792,6 @@
+           $(MAKE) tests ; fi)
+       @(cd doc/examples ; $(MAKE) tests)
+ 
+-APItests: testapi$(EXEEXT)
+-      @echo "## Running the API regression tests this may take a little while"
+-      -@($(CHECKER) $(top_builddir)/testapi -q)
+-
+ HTMLtests : testHTML$(EXEEXT)
+       @(echo > .memdump)
+       @echo "## HTML regression tests"
+@@ -2746,7 +2737,7 @@
+ dist-test: distdir
+       (mkdir -p $(distdir))
+       (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn --exclude .git xstc/Tests) | (cd $(distdir); 
tar xf -)
+-      tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests  $(distdir)/Makefile.tests 
$(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/testapi.c $(distdir)/runtest.c 
$(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
++      tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests  $(distdir)/Makefile.tests 
$(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/runtest.c $(distdir)/runsuite.c | 
GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
+       @(rm -rf $(distdir)/xstc/Test)
+ 
+ cleantar:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]