Notes for compiling on zOS:

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) \

+ 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) \

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) \

+ $(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) $(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)

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:

- -# that one is just to make sure it is rebuilt if missing -# but adding the dependances generate mess -testapi.c: $(srcdir)/gentest.py

-

#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) && $(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)

-

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)/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: