1Notes for compiling on zOS:
2
3- since testapi.c file is huge (over 52000 lines), it's compilation
4  fails: I skipped the problem by removing all references to testapi in the
5  Makefile.in, but it would be neater if one can build without test files
6  (I didn't find an option in configure...)
7
8- since the name of files (or qualifier) in PDS are limited to 8 I had to
9  rename xmlschemas.c and xmlschemastypes.c in (resp.) xmlsche.c xmlschet.c
10  (and I had to modify all occurrences of these files accordingly in the
11  rest of the Makefile !!!).
12
13- in order to copy objects to PDS, I had the cp command at line 860
14  of Makefile.in
15
16libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES)
17        $(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
18        # Copy objects to PDS
19        @list='$(libxml2_OBJECTS)' ; for p in $$list; do \
20          cp -ACMv $$p "//'<PDS NAME>'"; \
21        done
22
23	with <PDS NAME> stands for the name of my PDS and
24
25libxml2_OBJECTS = SAX.o entities.o encoding.o error.o \
26	parserInternals.o parser.o tree.o hash.o list.o xmlIO.o \
27	xmlmemory.o uri.o valid.o xlink.o HTMLparser.o \
28	HTMLtree.o debugXML.o xpath.o xpointer.o xinclude.o \
29	nanohttp.o nanoftp.o triostr.o trio.o catalog.o globals.o \
30	threads.o c14n.o xmlstring.o buf.o xmlregexp.o \
31	xmlsche.o xmlschet.o xmlunicode.o \
32	xmlreader.o relaxng.o dict.o SAX2.o \
33	xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
34	xmlmodule.o schematron.o xzlib.o
35
36In order to handle the support of zOS without breaking the existing
37Makefile maybe a new option/flag zOs would copy xmlschemas.c and
38xmlschemastypes.c files and use specifics targets rather than existing
39ones with the longer names... A variable to handle the PDS name has to
40be provided also...
41
42See patch below for set of changes to Makefile.in
43
44Stéphane Michaut <smichaut@axway.com>
45July 2017
46
47
48--- Makefile.in	2017-08-01 08:17:15.000000000 +0200
49+++ Makefile-new.in	2017-08-01 08:07:26.000000000 +0200
50@@ -41,7 +41,7 @@
51 	testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \
52 	testURI$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \
53 	testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT) \
54-	testapi$(EXEEXT) testModule$(EXEEXT) runtest$(EXEEXT) \
55+	testModule$(EXEEXT) runtest$(EXEEXT) \
56 	runsuite$(EXEEXT) testchar$(EXEEXT) testdict$(EXEEXT) \
57 	runxmlconf$(EXEEXT) testrecurse$(EXEEXT) testlimits$(EXEEXT)
58 bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
59@@ -106,6 +106,7 @@
60 	debugXML.c xpath.c xpointer.c xinclude.c nanohttp.c nanoftp.c \
61 	DOCBparser.c catalog.c globals.c threads.c c14n.c xmlstring.c \
62 	buf.c xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
63+        xmlsche.c xmlschet.c \
64 	triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c \
65 	xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c xmlmodule.c \
66 	schematron.c xzlib.c
67@@ -118,10 +119,24 @@
68 	nanohttp.lo nanoftp.lo $(am__objects_1) catalog.lo globals.lo \
69 	threads.lo c14n.lo xmlstring.lo buf.lo xmlregexp.lo \
70 	xmlschemas.lo xmlschemastypes.lo xmlunicode.lo \
71+        xmlsche.lo xmlschet.lo \
72 	$(am__objects_2) xmlreader.lo relaxng.lo dict.lo SAX2.lo \
73 	xmlwriter.lo legacy.lo chvalid.lo pattern.lo xmlsave.lo \
74 	xmlmodule.lo schematron.lo xzlib.lo
75 libxml2_la_OBJECTS = $(am_libxml2_la_OBJECTS)
76+
77+libxml2_OBJECTS = SAX.o entities.o encoding.o error.o \
78+	parserInternals.o parser.o tree.o hash.o list.o xmlIO.o \
79+	xmlmemory.o uri.o valid.o xlink.o HTMLparser.o \
80+	HTMLtree.o debugXML.o xpath.o xpointer.o xinclude.o \
81+	nanohttp.o nanoftp.o triostr.o trio.o catalog.o globals.o \
82+	threads.o c14n.o xmlstring.o buf.o xmlregexp.o \
83+	xmlschemas.o xmlschemastypes.o xmlunicode.o \
84+	xmlsche.o xmlschemast.o \
85+	xmlreader.o relaxng.o dict.o SAX2.o \
86+	xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
87+	xmlmodule.o schematron.o xzlib.o
88+
89 AM_V_lt = $(am__v_lt_$(V))
90 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
91 am__v_lt_0 = --silent
92@@ -216,11 +231,6 @@
93 testXPath_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
94 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
95 	$(testXPath_LDFLAGS) $(LDFLAGS) -o $@
96-am_testapi_OBJECTS = testapi.$(OBJEXT)
97-testapi_OBJECTS = $(am_testapi_OBJECTS)
98-testapi_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
99-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
100-	$(testapi_LDFLAGS) $(LDFLAGS) -o $@
101 am_testchar_OBJECTS = testchar.$(OBJEXT)
102 testchar_OBJECTS = $(am_testchar_OBJECTS)
103 testchar_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
104@@ -285,7 +295,7 @@
105 	$(testReader_SOURCES) $(testRegexp_SOURCES) \
106 	$(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
107 	$(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) \
108-	$(testapi_SOURCES) $(testchar_SOURCES) $(testdict_SOURCES) \
109+	$(testchar_SOURCES) $(testdict_SOURCES) \
110 	$(testlimits_SOURCES) $(testrecurse_SOURCES) \
111 	$(xmlcatalog_SOURCES) $(xmllint_SOURCES)
112 DIST_SOURCES = $(am__libxml2_la_SOURCES_DIST) $(testdso_la_SOURCES) \
113@@ -295,7 +305,7 @@
114 	$(testReader_SOURCES) $(testRegexp_SOURCES) \
115 	$(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
116 	$(am__testThreads_SOURCES_DIST) $(testURI_SOURCES) \
117-	$(testXPath_SOURCES) $(testapi_SOURCES) $(testchar_SOURCES) \
118+	$(testXPath_SOURCES) $(testchar_SOURCES) \
119 	$(testdict_SOURCES) $(testlimits_SOURCES) \
120 	$(testrecurse_SOURCES) $(xmlcatalog_SOURCES) \
121 	$(xmllint_SOURCES)
122@@ -700,11 +710,6 @@
123 noinst_LTLIBRARIES = testdso.la
124 testdso_la_SOURCES = testdso.c
125 testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
126-BUILT_SOURCES = testapi.c
127-testapi_SOURCES = testapi.c
128-testapi_LDFLAGS =
129-testapi_DEPENDENCIES = $(DEPS)
130-testapi_LDADD = $(LDADDS)
131 runxmlconf_SOURCES = runxmlconf.c
132 runxmlconf_LDFLAGS =
133 runxmlconf_DEPENDENCIES = $(DEPS)
134@@ -854,6 +859,12 @@
135 	done
136 libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES)
137 	$(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
138+        # Copie des obj
139+	@list='$(libxml2_OBJECTS)' ; for p in $$list; do \
140+	  echo "copy to PDS: $$p"; \
141+	  cp -ACMv $$p "//'A009153.XRDEV230.FIC.OBJLIB.LIBXML'"; \
142+	done
143+
144 testdso.la: $(testdso_la_OBJECTS) $(testdso_la_DEPENDENCIES)
145 	$(AM_V_CCLD)$(testdso_la_LINK)  $(testdso_la_OBJECTS) $(testdso_la_LIBADD) $(LIBS)
146 install-binPROGRAMS: $(bin_PROGRAMS)
147@@ -953,9 +964,6 @@
148 testXPath$(EXEEXT): $(testXPath_OBJECTS) $(testXPath_DEPENDENCIES)
149 	@rm -f testXPath$(EXEEXT)
150 	$(AM_V_CCLD)$(testXPath_LINK) $(testXPath_OBJECTS) $(testXPath_LDADD) $(LIBS)
151-testapi$(EXEEXT): $(testapi_OBJECTS) $(testapi_DEPENDENCIES)
152-	@rm -f testapi$(EXEEXT)
153-	$(AM_V_CCLD)$(testapi_LINK) $(testapi_OBJECTS) $(testapi_LDADD) $(LIBS)
154 testchar$(EXEEXT): $(testchar_OBJECTS) $(testchar_DEPENDENCIES)
155 	@rm -f testchar$(EXEEXT)
156 	$(AM_V_CCLD)$(testchar_LINK) $(testchar_OBJECTS) $(testchar_LDADD) $(LIBS)
157@@ -1056,7 +1064,6 @@
158 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testThreadsWin32.Po@am__quote@
159 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testURI.Po@am__quote@
160 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testXPath.Po@am__quote@
161-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testapi.Po@am__quote@
162 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testchar.Po@am__quote@
163 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testdict.Po@am__quote@
164 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testdso.Plo@am__quote@
165@@ -1755,18 +1762,6 @@
166 	uninstall-local uninstall-m4dataDATA uninstall-man \
167 	uninstall-man1 uninstall-man3 uninstall-pkgconfigDATA
168
169-
170-# that one forces the rebuild when "make rebuild" is run on doc/
171-rebuild_testapi:
172-	-@(if [ "$(PYTHON)" != "" ] ; then \
173-	    $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
174-
175-# that one is just to make sure it is rebuilt if missing
176-# but adding the dependances generate mess
177-testapi.c: $(srcdir)/gentest.py
178-	-@(if [ "$(PYTHON)" != "" ] ; then \
179-	    $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
180-
181 #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
182 #testOOM_LDFLAGS =
183 #testOOM_DEPENDENCIES = $(DEPS)
184@@ -1775,7 +1770,7 @@
185 runtests:
186 	[ -d test   ] || $(LN_S) $(srcdir)/test   .
187 	[ -d result ] || $(LN_S) $(srcdir)/result .
188-	$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
189+	$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
190 	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
191 	    $(MAKE) tests ; fi)
192
193@@ -1797,10 +1792,6 @@
194 	    $(MAKE) tests ; fi)
195 	@(cd doc/examples ; $(MAKE) tests)
196
197-APItests: testapi$(EXEEXT)
198-	@echo "## Running the API regression tests this may take a little while"
199-	-@($(CHECKER) $(top_builddir)/testapi -q)
200-
201 HTMLtests : testHTML$(EXEEXT)
202 	@(echo > .memdump)
203 	@echo "## HTML regression tests"
204@@ -2746,7 +2737,7 @@
205 dist-test: distdir
206 	(mkdir -p $(distdir))
207 	(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn --exclude .git xstc/Tests) | (cd $(distdir); tar xf -)
208-	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
209+	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
210 	@(rm -rf $(distdir)/xstc/Test)
211
212 cleantar:
213