Makefile.am revision 3739b98927385a2042a4a5b1373cf96737db6e51
1## Process this file with automake to produce Makefile.in
2
3SUBDIRS = include . doc example
4
5INCLUDES = -I@srcdir@/include -I./include @Z_CFLAGS@ @CORBA_CFLAGS@ 
6
7noinst_PROGRAMS=testSAX testHTML testXPath testURI testDocbook testCatalog
8
9bin_PROGRAMS = xmllint
10
11bin_SCRIPTS=xml2-config
12
13lib_LTLIBRARIES = libxml2.la
14libxml2_la_LIBADD = @Z_LIBS@ -lm
15
16libxml2_la_LDFLAGS = -version-info @LIBXML_VERSION_INFO@
17
18if WITH_TRIO_SOURCES
19libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
20		parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
21		valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
22		xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
23		catalog.c strio.c trio.c
24
25else
26libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
27		parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
28		valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
29		xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
30		catalog.c
31
32endif
33
34DEPS = $(top_builddir)/libxml2.la
35LDADDS = $(top_builddir)/libxml2.la @Z_LIBS@ $(ICONV_LIBS) -lm
36
37man_MANS = xmllint.1 xml2-config.1 libxml.4
38
39m4datadir = $(datadir)/aclocal
40m4data_DATA = libxml.m4
41
42xmllint_SOURCES=xmllint.c
43xmllint_LDFLAGS = 
44xmllint_DEPENDENCIES = $(DEPS)
45xmllint_LDADD=  @RDL_LIBS@ $(LDADDS)
46
47testSAX_SOURCES=testSAX.c
48testSAX_LDFLAGS = 
49testSAX_DEPENDENCIES = $(DEPS)
50testSAX_LDADD= $(LDADDS)
51
52testHTML_SOURCES=testHTML.c
53testHTML_LDFLAGS = 
54testHTML_DEPENDENCIES = $(DEPS)
55testHTML_LDADD= $(LDADDS)
56
57testDocbook_SOURCES=testDocbook.c
58testDocbook_LDFLAGS = 
59testDocbook_DEPENDENCIES = $(DEPS)
60testDocbook_LDADD= $(LDADDS)
61
62testCatalog_SOURCES=testCatalog.c
63testCatalog_LDFLAGS = 
64testCatalog_DEPENDENCIES = $(DEPS)
65testCatalog_LDADD= $(LDADDS)
66
67testXPath_SOURCES=testXPath.c
68testXPath_LDFLAGS = 
69testXPath_DEPENDENCIES = $(DEPS)
70testXPath_LDADD= $(LDADDS)
71
72testURI_SOURCES=testURI.c
73testURI_LDFLAGS = 
74testURI_DEPENDENCIES = $(DEPS)
75testURI_LDADD= $(LDADDS)
76
77check-local: tests
78
79$(srcdir)/libxml:
80	-$(RM) -f $(srcdir)/libxml
81	ln -s $(srcdir)/. $(srcdir)/libxml
82
83install-data: $(srcdir)/libxml
84
85$(libxml2_la_SOURCES): $(srcdir)/libxml
86
87testall : tests SVGtests SAXtests
88
89tests: XMLtests XMLenttests HTMLtests Validtests URItests XPathtests XPtrtests XIncludetests
90
91HTMLtests : testHTML
92	@(echo > .memdump)
93	@echo "##"
94	@echo "## HTML regression tests"
95	@echo "##"
96	@(for i in $(srcdir)/test/HTML/* ; do \
97	  name=`basename $$i`; \
98	  if [ ! -d $$i ] ; then \
99	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
100	      echo New test file $$name ; \
101	      $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
102	  else \
103	      echo Testing $$name ; \
104	      $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
105	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
106	      diff $(srcdir)/result/HTML/$$name result.$$name ; \
107	      diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
108	      $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
109	      diff result.$$name result2.$$name ; \
110	      rm result.$$name result2.$$name error.$$name ; \
111	  fi ; fi ; done)
112	@echo "##"
113	@echo "## Push HTML regression tests"
114	@echo "##"
115	@(for i in $(srcdir)/test/HTML/* ; do \
116	  name=`basename $$i`; \
117	  if [ ! -d $$i ] ; then \
118	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
119	      echo New test file $$name ; \
120	      $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
121	  else \
122	      echo Testing $$name ; \
123	      $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
124	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
125	      diff $(srcdir)/result/HTML/$$name result.$$name ; \
126	      cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
127	      cut -b 1-15 error.$$name > errorcut2.$$name; \
128	      diff -b errorcut.$$name errorcut2.$$name ; \
129	      $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
130	      diff result.$$name result2.$$name ; \
131	      rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
132	  fi ; fi ; done)
133	@echo "##"
134	@echo "## HTML SAX regression tests"
135	@echo "##"
136	@(for i in $(srcdir)/test/HTML/* ; do \
137	  name=`basename $$i`; \
138	  if [ ! -d $$i ] ; then \
139	  if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
140	      echo New test file $$name ; \
141	      $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
142	  else \
143	      echo Testing $$name ; \
144	      $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
145	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
146	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \
147	      rm result.$$name.sax ; \
148	  fi ; fi ; done)
149	@echo "##"
150	@echo "## Push HTML SAX regression tests"
151	@echo "##"
152	@(for i in $(srcdir)/test/HTML/* ; do \
153	  name=`basename $$i`; \
154	  if [ ! -d $$i ] ; then \
155	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
156	      echo New test file $$name ; \
157	      $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
158	  else \
159	      echo Testing $$name ; \
160	      $(top_builddir)/testHTML --push --sax $$i > result.$$name.sax ; \
161	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
162	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \
163	      rm result.$$name.sax ; \
164	  fi ; fi ; done)
165
166
167XMLtests : xmllint
168	@(echo > .memdump)
169	@echo "##"
170	@echo "## XML regression tests"
171	@echo "##"
172	@echo "## You should see one warning on entity 'title.xml' for ent2"
173	@echo "##"
174	@(for i in $(srcdir)/test/* ; do \
175	  name=`basename $$i`; \
176	  if [ ! -d $$i ] ; then \
177	  if [ ! -f $(srcdir)/result/$$name ] ; then \
178	      echo New test file $$name ; \
179	      $(top_builddir)/xmllint $$i > $(srcdir)/result/$$name ; \
180	  else \
181	      echo Testing $$name ; \
182	      $(top_builddir)/xmllint $$i > result.$$name ; \
183	      diff $(srcdir)/result/$$name result.$$name ; \
184	      $(top_builddir)/xmllint result.$$name > result2.$$name ; \
185	      diff result.$$name result2.$$name ; \
186	      rm result.$$name result2.$$name ; \
187	  fi ; fi ; done)
188	@echo "##"
189	@echo "## XML regression tests on memory"
190	@echo "##"
191	@echo "## You should see two warnings on entity 'title.xml' for ent2"
192	@echo "##"
193	@(for i in $(srcdir)/test/* ; do \
194	  name=`basename $$i`; \
195	  if [ ! -d $$i ] ; then \
196	  if [ ! -f $(srcdir)/result/$$name ] ; then \
197	      echo New test file $$name ; \
198	      $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \
199	  else \
200	      echo Testing $$name ; \
201	      $(top_builddir)/xmllint --memory $$i > result.$$name ; \
202	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
203	      diff $(srcdir)/result/$$name result.$$name ; \
204	      $(top_builddir)/xmllint --memory result.$$name > result2.$$name ; \
205	      diff result.$$name result2.$$name ; \
206	      rm result.$$name result2.$$name ; \
207	  fi ; fi ; done)
208
209XMLenttests : xmllint
210	@(echo > .memdump)
211	@echo "##"
212	@echo "## XML entity subst regression tests"
213	@echo "##"
214	@(for i in $(srcdir)/test/* ; do \
215	  name=`basename $$i`; \
216	  if [ ! -d $$i ] ; then \
217	  if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
218	      echo New test file $$name ; \
219	      $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \
220	  else \
221	      echo Testing $$name ; \
222	      $(top_builddir)/xmllint --noent $$i > result.$$name ; \
223	      diff $(srcdir)/result/noent/$$name result.$$name ; \
224	      $(top_builddir)/xmllint --noent result.$$name > result2.$$name ; \
225	      diff result.$$name result2.$$name ; \
226	      rm result.$$name result2.$$name ; \
227	  fi ; fi ; done)
228
229URItests : testURI
230	@(echo > .memdump)
231	@echo "##"
232	@echo "## URI module regression tests"
233	@echo "##"
234	@(for i in $(srcdir)/test/URI/*.data ; do \
235	  name=`basename $$i`; \
236	  if [ ! -d $$i ] ; then \
237	  if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
238	      echo New test file $$name ; \
239	      $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \
240	  else \
241	      echo Testing $$name ; \
242	      $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > result.$$name ; \
243	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
244	      diff $(srcdir)/result/URI/$$name result.$$name ; \
245	      rm result.$$name ; \
246	  fi ; fi ; done)
247	@(for i in $(srcdir)/test/URI/*.uri ; do \
248	  name=`basename $$i`; \
249	  if [ ! -d $$i ] ; then \
250	  if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
251	      echo New test file $$name ; \
252	      $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \
253	  else \
254	      echo Testing $$name ; \
255	      $(top_builddir)/testURI < $$i > result.$$name ; \
256	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
257	      diff $(srcdir)/result/URI/$$name result.$$name ; \
258	      rm result.$$name ; \
259	  fi ; fi ; done)
260
261XPathtests : testXPath
262	@(echo > .memdump)
263	@echo "##"
264	@echo "## XPath regression tests"
265	@echo "##"
266	@(for i in $(srcdir)/test/XPath/expr/* ; do \
267	  name=`basename $$i`; \
268	  if [ ! -d $$i ] ; then \
269	  if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
270	      echo New test file $$name ; \
271	      $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
272	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
273	  else \
274	      echo Testing $$name ; \
275	      $(top_builddir)/testXPath -f --expr $$i > result.$$name ; \
276	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
277	      diff $(srcdir)/result/XPath/expr/$$name result.$$name ; \
278	      rm result.$$name ; \
279	  fi ; fi ; done)
280	@(for i in $(srcdir)/test/XPath/docs/* ; do \
281	  if [ ! -d $$i ] ; then \
282	  doc=`basename $$i`; \
283	  for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
284	  if [ ! -f $$j ] ; then continue ; fi ; \
285	  name=`basename $$j`; \
286	  if [ ! -d $$j ] ; then \
287	  if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
288	      echo New test file $$name ; \
289	      $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
290	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
291	  else \
292	      echo Testing $$name ; \
293	      $(top_builddir)/testXPath -f -i $$i $$j > result.$$name ; \
294	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
295	      diff $(srcdir)/result/XPath/tests/$$name result.$$name ; \
296	      rm result.$$name ; \
297	  fi ; fi ; done ; fi ; done)
298
299XPtrtests : testXPath
300	@(echo > .memdump)
301	@echo "##"
302	@echo "## XPointer regression tests"
303	@echo "##"
304	@(for i in $(srcdir)/test/XPath/docs/* ; do \
305	  if [ ! -d $$i ] ; then \
306	  doc=`basename $$i`; \
307	  for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \
308	  if [ ! -f $$j ] ; then continue ; fi ; \
309	  name=`basename $$j`; \
310	  if [ ! -d $$j ] ; then \
311	  if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
312	      echo New test file $$name ; \
313	      ./testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
314	  else \
315	      echo Testing $$name ; \
316	      ./testXPath -xptr -f -i $$i $$j > result.$$name ; \
317	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
318	      diff $(srcdir)/result/XPath/xptr/$$name result.$$name ; \
319	      rm result.$$name ; \
320	  fi ; fi ; done ; fi ; done)
321
322XIncludetests : xmllint
323	@(echo > .memdump)
324	@echo "##"
325	@echo "## XInclude regression tests"
326	@echo "##"
327	@(for i in $(srcdir)/test/XInclude/docs/* ; do \
328	  name=`basename $$i`; \
329	  if [ ! -d $$i ] ; then \
330	  if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
331	      echo New test file $$name ; \
332	      $(top_builddir)/xmllint --xinclude $$i > $(srcdir)/result/XInclude/$$name ; \
333	  else \
334	      echo Testing $$name ; \
335	      $(top_builddir)/xmllint --xinclude $$i > result.$$name ; \
336	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
337	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
338	      rm result.$$name ; \
339	  fi ; fi ; done)
340
341SVGtests : xmllint
342	@echo "##"
343	@echo "## SVG parsing regression tests"
344	@echo "##"
345	@(for i in $(srcdir)/test/SVG/* ; do \
346	  name=`basename $$i`; \
347	  if [ ! -d $$i ] ; then \
348	  if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
349	      echo New test file $$name ; \
350	      $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \
351	  else \
352	      echo Testing $$name ; \
353	      $(top_builddir)/xmllint $$i > result.$$name ; \
354	      diff $(srcdir)/result/SVG/$$name result.$$name ; \
355	      $(top_builddir)/xmllint result.$$name > result2.$$name ; \
356	      diff result.$$name result2.$$name ; \
357	      rm result.$$name result2.$$name ; \
358	  fi ; fi ; done)
359
360SAXtests : testSAX
361	@(echo > .memdump)
362	@echo "##"
363	@echo "## SAX callbacks regression tests"
364	@echo "##"
365	@(for i in $(srcdir)/test/* ; do \
366	  name=`basename $$i`; \
367	  if [ ! -d $$i ] ; then \
368	  if [ ! -f $(srcdir)/SAXresult/$$name ] ; then \
369	      echo New test file $$name ; \
370	      $(top_builddir)/testSAX $$i > $(srcdir)/SAXresult/$$name ; \
371	  else \
372	      echo Testing $$name ; \
373	      $(top_builddir)/testSAX $$i > result.$$name ; \
374	      diff $(srcdir)/SAXresult/$$name result.$$name ; \
375	      rm result.$$name ; \
376	  fi ; fi ; done)
377
378
379Validtests : xmllint
380	@(echo > .memdump)
381	@echo "##"
382	@echo "## Valid documents regression tests"
383	@echo "##"
384	@(for i in $(srcdir)/test/VCM/* ; do \
385	  name=`basename $$i`; \
386	  if [ ! -d $$i ] ; then \
387	      echo Testing $$name ; \
388	      $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
389	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
390	  fi ; done ; exit 0)
391	@echo "##"
392	@echo "## Validity checking regression tests"
393	@echo "##"
394	@(for i in $(srcdir)/test/VC/* ; do \
395	  name=`basename $$i`; \
396	  if [ ! -d $$i ] ; then \
397	  if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
398	      echo New test file $$name ; \
399	      $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
400	  else \
401	      echo Testing $$name ; \
402	      $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
403	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
404	      diff $(srcdir)/result/VC/$$name result.$$name ; \
405	      rm result.$$name ; \
406	  fi ; fi ; done)
407	@echo "##"
408	@echo "## General documents valid regression tests"
409	@echo "##"
410	@(for i in $(srcdir)/test/valid/* ; do \
411	  name=`basename $$i`; \
412	  if [ ! -d $$i ] ; then \
413	  if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
414	      echo New test file $$name ; \
415	      $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \
416	  else \
417	      echo Testing $$name ; \
418	      $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \
419	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
420	      diff $(srcdir)/result/valid/$$name result.$$name ; \
421	      diff $(srcdir)/result/valid/$$name.err error.$$name ; \
422	      rm result.$$name error.$$name ; \
423	  fi ; fi ; done)
424
425dist-hook: libxml.spec
426	-cp libxml.spec $(distdir)
427	(cd $(srcdir) ; tar -cf - --exclude CVS test result SAXresult ) | (cd $(distdir); tar xf -)
428
429cleantar:
430	@(rm -f libxslt*.tar.gz)
431
432rpm: cleantar distcheck
433	rpm -ta $(distdir).tar.gz
434
435## We create xml2Conf.sh here and not from configure because we want
436## to get the paths expanded correctly.  Macros like srcdir are given
437## the value NONE in configure if the user doesn't specify them (this
438## is an autoconf feature, not a bug).
439
440confexecdir=$(libdir)
441confexec_DATA = xml2Conf.sh
442
443CLEANFILES=xml2Conf.sh
444
445confexecdir=$(libdir)
446confexec_DATA = xml2Conf.sh
447EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml.spec \
448             libxml.m4 \
449             example/Makefile.am example/gjobread.c example/gjobs.xml \
450	     $(man_MANS) libxml-2.0.pc.in xmlversion.h.in \
451	     win32/README.MSDev win32/Makefile.mingw \
452	     win32/libxml2/libxml2.dsp win32/libxml2/libxml2_so.dsp \
453	     win32/libxml2/libxml2_a.dsp win32/libxml2/xmllint.dsp \
454	     win32/libxml2/libxml2.def.src \
455	     vms/build_libxml.com vms/config.vms \
456	     strio.c strio.h trio.c trio.h triop.h libxml.h
457
458pkgconfigdir = $(libdir)/pkgconfig
459pkgconfig_DATA = libxml-2.0.pc
460
461#xml2Conf.sh: xml2Conf.sh.in Makefile
462### Use sed and then mv to avoid problems if the user interrupts.
463#	sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
464#	    -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \
465#	    -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \
466#	    -e 's?\@VERSION\@?$(VERSION)?g' \
467#	      < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \
468#	  && mv xml2Conf.tmp xml2Conf.sh
469