Makefile.am revision 4b3a84ffcfc9791bbb04f443ef4198f563b4e80b
1## Process this file with automake to produce Makefile.in
2#AUTOMAKE_ OPTIONS=no-dependencies
3
4SUBDIRS = include . doc example python
5
6INCLUDES = -I@srcdir@/include -I$(top_builddir)/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
7
8noinst_PROGRAMS=testSAX testHTML testXPath testURI testDocbook testThreads \
9                testC14N
10
11bin_PROGRAMS = xmllint xmlcatalog
12
13bin_SCRIPTS=xml2-config
14
15lib_LTLIBRARIES = libxml2.la
16libxml2_la_LIBADD = @Z_LIBS@ $(ICONV_LIBS) -lm
17
18libxml2_la_LDFLAGS = -version-info @LIBXML_VERSION_INFO@
19
20if WITH_TRIO_SOURCES
21libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
22		parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
23		valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
24		xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
25		catalog.c globals.c threads.c c14n.c triostr.c trio.c
26
27else
28libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
29		parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
30		valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
31		xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
32		catalog.c globals.c threads.c c14n.c
33
34endif
35
36DEPS = $(top_builddir)/libxml2.la
37LDADDS = $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm
38
39man_MANS = xml2-config.1 libxml.3
40
41m4datadir = $(datadir)/aclocal
42m4data_DATA = libxml.m4
43
44xmllint_SOURCES=xmllint.c
45xmllint_LDFLAGS = 
46xmllint_DEPENDENCIES = $(DEPS)
47xmllint_LDADD=  @RDL_LIBS@ $(LDADDS)
48
49testSAX_SOURCES=testSAX.c
50testSAX_LDFLAGS = 
51testSAX_DEPENDENCIES = $(DEPS)
52testSAX_LDADD= $(LDADDS)
53
54testHTML_SOURCES=testHTML.c
55testHTML_LDFLAGS = 
56testHTML_DEPENDENCIES = $(DEPS)
57testHTML_LDADD= $(LDADDS)
58
59testDocbook_SOURCES=testDocbook.c
60testDocbook_LDFLAGS = 
61testDocbook_DEPENDENCIES = $(DEPS)
62testDocbook_LDADD= $(LDADDS)
63
64xmlcatalog_SOURCES=xmlcatalog.c
65xmlcatalog_LDFLAGS = 
66xmlcatalog_DEPENDENCIES = $(DEPS)
67xmlcatalog_LDADD= @RDL_LIBS@ $(LDADDS)
68
69testXPath_SOURCES=testXPath.c
70testXPath_LDFLAGS = 
71testXPath_DEPENDENCIES = $(DEPS)
72testXPath_LDADD= $(LDADDS)
73
74testC14N_SOURCES=testC14N.c
75testC14N_LDFLAGS = 
76testC14N_DEPENDENCIES = $(DEPS)
77testC14N_LDADD= $(LDADDS)
78
79testThreads_SOURCES=testThreads.c
80testThreads_LDFLAGS = 
81testThreads_DEPENDENCIES = $(DEPS)
82testThreads_LDADD= $(LDADDS)
83
84testURI_SOURCES=testURI.c
85testURI_LDFLAGS = 
86testURI_DEPENDENCIES = $(DEPS)
87testURI_LDADD= $(LDADDS)
88
89check-local: tests
90
91testall : tests SVGtests SAXtests
92
93tests: XMLtests XMLenttests HTMLtests Validtests URItests XPathtests XPtrtests XIncludetests Scripttests Catatests @TEST_THREADS@
94	@(cd python ; $(MAKE) tests)
95
96valgrind:
97	@echo '## Running the regression tests under Valgrind'
98	@echo '## Go get a cup of coffee it is gonna take a while ...'
99	$(MAKE) CHECKER='valgrind -q' tests
100
101HTMLtests : testHTML$(EXEEXT)
102	@(echo > .memdump)
103	@echo "##"
104	@echo "## HTML regression tests"
105	@echo "##"
106	-@(for i in $(srcdir)/test/HTML/* ; do \
107	  name=`basename $$i`; \
108	  if [ ! -d $$i ] ; then \
109	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
110	      echo New test file $$name ; \
111	      $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
112	  else \
113	      echo Testing $$name ; \
114	      $(CHECKER) $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
115	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
116	      diff $(srcdir)/result/HTML/$$name result.$$name ; \
117	      diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
118	      $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
119	      diff result.$$name result2.$$name ; \
120	      rm result.$$name result2.$$name error.$$name ; \
121	  fi ; fi ; done)
122	@echo "##"
123	@echo "## Push HTML regression tests"
124	@echo "##"
125	-@(for i in $(srcdir)/test/HTML/* ; do \
126	  name=`basename $$i`; \
127	  if [ ! -d $$i ] ; then \
128	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
129	      echo New test file $$name ; \
130	      $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
131	  else \
132	      echo Testing $$name ; \
133	      $(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
134	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
135	      diff $(srcdir)/result/HTML/$$name result.$$name ; \
136	      cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
137	      cut -b 1-15 error.$$name > errorcut2.$$name; \
138	      diff -b errorcut.$$name errorcut2.$$name ; \
139	      $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
140	      diff result.$$name result2.$$name ; \
141	      rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
142	  fi ; fi ; done)
143	@echo "##"
144	@echo "## HTML SAX regression tests"
145	@echo "##"
146	-@(for i in $(srcdir)/test/HTML/* ; do \
147	  name=`basename $$i`; \
148	  if [ ! -d $$i ] ; then \
149	  if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
150	      echo New test file $$name ; \
151	      $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
152	  else \
153	      echo Testing $$name ; \
154	      $(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
155	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
156	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \
157	      rm result.$$name.sax ; \
158	  fi ; fi ; done)
159	@echo "##"
160	@echo "## Push HTML SAX regression tests"
161	@echo "##"
162	-@(for i in $(srcdir)/test/HTML/* ; do \
163	  name=`basename $$i`; \
164	  if [ ! -d $$i ] ; then \
165	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
166	      echo New test file $$name ; \
167	      $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
168	  else \
169	      echo Testing $$name ; \
170	      $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > result.$$name.sax ; \
171	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
172	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \
173	      rm result.$$name.sax ; \
174	  fi ; fi ; done)
175
176
177XMLtests : xmllint$(EXEEXT)
178	@(echo > .memdump)
179	@echo "##"
180	@echo "## XML regression tests"
181	@echo "##"
182	@echo "## You should see one warning on entity 'title.xml' for ent2"
183	@echo "##"
184	-@(for i in $(srcdir)/test/* ; do \
185	  name=`basename $$i`; \
186	  if [ ! -d $$i ] ; then \
187	  if [ ! -f $(srcdir)/result/$$name ] ; then \
188	      echo New test file $$name ; \
189	      $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/$$name ; \
190	  else \
191	      echo Testing $$name ; \
192	      $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \
193	      diff $(srcdir)/result/$$name result.$$name ; \
194	      $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \
195	      diff result.$$name result2.$$name ; \
196	      rm result.$$name result2.$$name ; \
197	  fi ; fi ; done)
198	@(echo > .memdump)
199	@echo "##"
200	@echo "## XML push regression tests"
201	@echo "##"
202	@echo "## You should see one warning on entity 'title.xml' for ent2"
203	@echo "##"
204	-@(for i in $(srcdir)/test/* ; do \
205	  name=`basename $$i`; \
206	  if [ ! -d $$i ] ; then \
207	  if [ ! -f $(srcdir)/result/$$name ] ; then \
208	      echo New test file $$name ; \
209	      $(CHECKER) $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \
210	  else \
211	      echo Testing $$name ; \
212	      $(CHECKER) $(top_builddir)/xmllint --push $$i > result.$$name ; \
213	      diff $(srcdir)/result/$$name result.$$name ; \
214	      $(CHECKER) $(top_builddir)/xmllint --push result.$$name > result2.$$name ; \
215	      diff result.$$name result2.$$name ; \
216	      rm result.$$name result2.$$name ; \
217	  fi ; fi ; done)
218	@echo "##"
219	@echo "## XML regression tests on memory"
220	@echo "##"
221	@echo "## You should see two warnings on entity 'title.xml' for ent2"
222	@echo "##"
223	-@(for i in $(srcdir)/test/* ; do \
224	  name=`basename $$i`; \
225	  if [ ! -d $$i ] ; then \
226	  if [ ! -f $(srcdir)/result/$$name ] ; then \
227	      echo New test file $$name ; \
228	      $(CHECKER) $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \
229	  else \
230	      echo Testing $$name ; \
231	      $(CHECKER) $(top_builddir)/xmllint --memory $$i > result.$$name ; \
232	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
233	      diff $(srcdir)/result/$$name result.$$name ; \
234	      $(CHECKER) $(top_builddir)/xmllint --memory result.$$name > result2.$$name ; \
235	      diff result.$$name result2.$$name ; \
236	      rm result.$$name result2.$$name ; \
237	  fi ; fi ; done)
238
239Docbtests : xmllint$(EXEEXT)
240	@(echo > .memdump)
241	@echo "##"
242	@echo "## SGML DocBook regression tests"
243	@echo "##"
244	-@(for i in $(srcdir)/test/DocBook/*.sgm ; do \
245	  name=`basename $$i .sgm`; \
246	  if [ ! -d $$i ] ; then \
247	  if [ ! -f $(srcdir)/result/DocBook/$$name.xml ] ; then \
248	      echo New test file $$name ; \
249	      $(CHECKER) $(top_builddir)/xmllint --sgml $$i > $(srcdir)/result/DocBook/$$name.xml ; \
250	      $(CHECKER) $(top_builddir)/xmllint --valid --noout $(srcdir)/result/DocBook/$$name.xml ; \
251	  else \
252	      echo Testing $$name ; \
253	      $(CHECKER) $(top_builddir)/xmllint --sgml $$i > result.$$name ; \
254	      diff $(srcdir)/result/DocBook/$$name.xml result.$$name ; \
255	      $(CHECKER) $(top_builddir)/xmllint --valid --noout result.$$name ; \
256	      rm result.$$name ; \
257	  fi ; fi ; done)
258
259XMLenttests : xmllint$(EXEEXT)
260	@(echo > .memdump)
261	@echo "##"
262	@echo "## XML entity subst regression tests"
263	@echo "##"
264	-@(for i in $(srcdir)/test/* ; do \
265	  name=`basename $$i`; \
266	  if [ ! -d $$i ] ; then \
267	  if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
268	      echo New test file $$name ; \
269	      $(CHECKER) $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \
270	  else \
271	      echo Testing $$name ; \
272	      $(CHECKER) $(top_builddir)/xmllint --noent $$i > result.$$name ; \
273	      diff $(srcdir)/result/noent/$$name result.$$name ; \
274	      $(CHECKER) $(top_builddir)/xmllint --noent result.$$name > result2.$$name ; \
275	      diff result.$$name result2.$$name ; \
276	      rm result.$$name result2.$$name ; \
277	  fi ; fi ; done)
278
279URItests : testURI$(EXEEXT)
280	@(echo > .memdump)
281	@echo "##"
282	@echo "## URI module regression tests"
283	@echo "##"
284	-@(for i in $(srcdir)/test/URI/*.data ; do \
285	  name=`basename $$i`; \
286	  if [ ! -d $$i ] ; then \
287	  if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
288	      echo New test file $$name ; \
289	      $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \
290	  else \
291	      echo Testing $$name ; \
292	      $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > result.$$name ; \
293	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
294	      diff $(srcdir)/result/URI/$$name result.$$name ; \
295	      rm result.$$name ; \
296	  fi ; fi ; done)
297	-@(for i in $(srcdir)/test/URI/*.uri ; do \
298	  name=`basename $$i`; \
299	  if [ ! -d $$i ] ; then \
300	  if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
301	      echo New test file $$name ; \
302	      $(CHECKER) $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \
303	  else \
304	      echo Testing $$name ; \
305	      $(CHECKER) $(top_builddir)/testURI < $$i > result.$$name ; \
306	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
307	      diff $(srcdir)/result/URI/$$name result.$$name ; \
308	      rm result.$$name ; \
309	  fi ; fi ; done)
310
311XPathtests : testXPath$(EXEEXT)
312	@(echo > .memdump)
313	@echo "##"
314	@echo "## XPath regression tests"
315	@echo "##"
316	-@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
317	  then echo Skipping debug not compiled in ; exit 0 ; fi ; \
318	  for i in $(srcdir)/test/XPath/expr/* ; do \
319	  name=`basename $$i`; \
320	  if [ ! -d $$i ] ; then \
321	  if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
322	      echo New test file $$name ; \
323	      $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
324	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
325	  else \
326	      echo Testing $$name ; \
327	      $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > result.$$name ; \
328	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
329	      diff $(srcdir)/result/XPath/expr/$$name result.$$name ; \
330	      rm result.$$name ; \
331	  fi ; fi ; done ; \
332	  for i in $(srcdir)/test/XPath/docs/* ; do \
333	  if [ ! -d $$i ] ; then \
334	  doc=`basename $$i`; \
335	  for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
336	  if [ ! -f $$j ] ; then continue ; fi ; \
337	  name=`basename $$j`; \
338	  if [ ! -d $$j ] ; then \
339	  if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
340	      echo New test file $$name ; \
341	      $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
342	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
343	  else \
344	      echo Testing $$name ; \
345	      $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > result.$$name ; \
346	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
347	      diff $(srcdir)/result/XPath/tests/$$name result.$$name ; \
348	      rm result.$$name ; \
349	  fi ; fi ; done ; fi ; done)
350
351XPtrtests : testXPath$(EXEEXT)
352	@(echo > .memdump)
353	@echo "##"
354	@echo "## XPointer regression tests"
355	@echo "##"
356	-@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
357	  then echo Skipping debug not compiled in ; exit 0 ; fi ; \
358	  for i in $(srcdir)/test/XPath/docs/* ; do \
359	  if [ ! -d $$i ] ; then \
360	  doc=`basename $$i`; \
361	  for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \
362	  if [ ! -f $$j ] ; then continue ; fi ; \
363	  name=`basename $$j`; \
364	  if [ ! -d $$j ] ; then \
365	  if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
366	      echo New test file $$name ; \
367	      ./testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
368	  else \
369	      echo Testing $$name ; \
370	      ./testXPath -xptr -f -i $$i $$j > result.$$name ; \
371	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
372	      diff $(srcdir)/result/XPath/xptr/$$name result.$$name ; \
373	      rm result.$$name ; \
374	  fi ; fi ; done ; fi ; done)
375
376XIncludetests : xmllint$(EXEEXT)
377	@(echo > .memdump)
378	@echo "##"
379	@echo "## XInclude regression tests"
380	@echo "##"
381	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
382	  name=`basename $$i`; \
383	  if [ ! -d $$i ] ; then \
384	  if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
385	      echo New test file $$name ; \
386	      $(CHECKER) $(top_builddir)/xmllint --xinclude $$i > $(srcdir)/result/XInclude/$$name ; \
387	  else \
388	      echo Testing $$name ; \
389	      $(CHECKER) $(top_builddir)/xmllint --xinclude $$i > result.$$name ; \
390	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
391	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
392	      rm result.$$name ; \
393	  fi ; fi ; done)
394
395Scripttests : xmllint$(EXEEXT)
396	@(echo > .memdump)
397	@echo "##"
398	@echo "## Scripts regression tests"
399	@echo "## Some of the base computations may be different if srcdir != ."
400	@echo "##"
401	-@(for i in $(srcdir)/test/scripts/*.script ; do \
402	  name=`basename $$i .script`; \
403	  xml=$(srcdir)/test/scripts/`basename $$i .script`.xml; \
404	  if [ -f $$xml ] ; then \
405	  if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \
406	      echo New test file $$name ; \
407	      $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name ; \
408	  else \
409	      echo Testing $$name ; \
410	      $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name ; \
411	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
412	      diff $(srcdir)/result/scripts/$$name result.$$name ; \
413	      rm result.$$name ; \
414	  fi ; fi ; done)
415
416Catatests : xmlcatalog$(EXEEXT)
417	@(echo > .memdump)
418	@echo "##"
419	@echo "## Catalog regression tests"
420	@echo "##"
421	-@(for i in $(srcdir)/test/catalogs/*.script ; do \
422	  name=`basename $$i .script`; \
423	  xml=$(srcdir)/test/catalogs/`basename $$i .script`.xml; \
424	  if [ -f $$xml ] ; then \
425	  if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
426	      echo New test file $$name ; \
427	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i > $(srcdir)/result/catalogs/$$name ; \
428	  else \
429	      echo Testing $$name ; \
430	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i > result.$$name ; \
431	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
432	      diff $(srcdir)/result/catalogs/$$name result.$$name ; \
433	      rm result.$$name ; \
434	  fi ; fi ; done)
435	-@(for i in $(srcdir)/test/catalogs/*.script ; do \
436	  name=`basename $$i .script`; \
437	  sgml=$(srcdir)/test/catalogs/`basename $$i .script`.sgml; \
438	  if [ -f $$sgml ] ; then \
439	  if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
440	      echo New test file $$name ; \
441	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > $(srcdir)/result/catalogs/$$name ; \
442	  else \
443	      echo Testing $$name ; \
444	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \
445	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
446	      diff $(srcdir)/result/catalogs/$$name result.$$name ; \
447	      rm result.$$name ; \
448	  fi ; fi ; done)
449	@echo "Add and del operations on XML Catalogs"
450	-@($(CHECKER) $(top_builddir)/xmlcatalog --create --noout result/catalogs/mycatalog; \
451	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
452	$(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid sysid result/catalogs/mycatalog; \
453	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
454	$(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid2 sysid2 result/catalogs/mycatalog; \
455	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
456	$(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid3 sysid3 result/catalogs/mycatalog; \
457	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
458	diff result/catalogs/mycatalog.full result/catalogs/mycatalog; \
459	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
460	$(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid result/catalogs/mycatalog; \
461	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
462	$(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid3 result/catalogs/mycatalog; \
463	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
464	$(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid2 result/catalogs/mycatalog; \
465	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
466	diff result/catalogs/mycatalog.empty result/catalogs/mycatalog; \
467	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
468	rm -f result/catalogs/mycatalog)
469
470SVGtests : xmllint$(EXEEXT)
471	@echo "##"
472	@echo "## SVG parsing regression tests"
473	@echo "##"
474	-@(for i in $(srcdir)/test/SVG/* ; do \
475	  name=`basename $$i`; \
476	  if [ ! -d $$i ] ; then \
477	  if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
478	      echo New test file $$name ; \
479	      $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \
480	  else \
481	      echo Testing $$name ; \
482	      $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \
483	      diff $(srcdir)/result/SVG/$$name result.$$name ; \
484	      $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \
485	      diff result.$$name result2.$$name ; \
486	      rm result.$$name result2.$$name ; \
487	  fi ; fi ; done)
488
489Threadtests : testThreads$(EXEEXT)
490	@echo "##"
491	@echo "## Threaded regression tests"
492	@echo "##"
493	$(CHECKER) $(top_builddir)/testThreads
494
495SAXtests : testSAX$(EXEEXT)
496	@(echo > .memdump)
497	@echo "##"
498	@echo "## SAX callbacks regression tests"
499	@echo "##"
500	-@(for i in $(srcdir)/test/* ; do \
501	  name=`basename $$i`; \
502	  if [ ! -d $$i ] ; then \
503	  if [ ! -f $(srcdir)/SAXresult/$$name ] ; then \
504	      echo New test file $$name ; \
505	      $(CHECKER) $(top_builddir)/testSAX $$i > $(srcdir)/SAXresult/$$name ; \
506	  else \
507	      echo Testing $$name ; \
508	      $(CHECKER) $(top_builddir)/testSAX $$i > result.$$name ; \
509	      diff $(srcdir)/SAXresult/$$name result.$$name ; \
510	      rm result.$$name ; \
511	  fi ; fi ; done)
512
513
514Validtests : xmllint$(EXEEXT)
515	@(echo > .memdump)
516	@echo "##"
517	@echo "## Valid documents regression tests"
518	@echo "##"
519	-@(for i in $(srcdir)/test/VCM/* ; do \
520	  name=`basename $$i`; \
521	  if [ ! -d $$i ] ; then \
522	      echo Testing $$name ; \
523	      $(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
524	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
525	  fi ; done ; exit 0)
526	@echo "##"
527	@echo "## Validity checking regression tests"
528	@echo "##"
529	-@(for i in $(srcdir)/test/VC/* ; do \
530	  name=`basename $$i`; \
531	  if [ ! -d $$i ] ; then \
532	  if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
533	      echo New test file $$name ; \
534	      $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
535	  else \
536	      echo Testing $$name ; \
537	      $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
538	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
539	      diff $(srcdir)/result/VC/$$name result.$$name ; \
540	      rm result.$$name ; \
541	  fi ; fi ; done)
542	@echo "##"
543	@echo "## General documents valid regression tests"
544	@echo "##"
545	-@(for i in $(srcdir)/test/valid/* ; do \
546	  name=`basename $$i`; \
547	  if [ ! -d $$i ] ; then \
548	  if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
549	      echo New test file $$name ; \
550	      $(CHECKER) $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \
551	  else \
552	      echo Testing $$name ; \
553	      $(CHECKER) $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \
554	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
555	      diff $(srcdir)/result/valid/$$name result.$$name ; \
556	      diff $(srcdir)/result/valid/$$name.err error.$$name ; \
557	      rm result.$$name error.$$name ; \
558	  fi ; fi ; done)
559
560dist-hook: libxml.spec
561	-cp libxml.spec $(distdir)
562	(cd $(srcdir) ; tar -cf - --exclude CVS win32 macos vms test result SAXresult ) | (cd $(distdir); tar xf -)
563
564cleantar:
565	@(rm -f libxml*.tar.gz COPYING.LIB)
566
567rpm: cleantar
568	@(unset CDPATH ; $(MAKE) dist && rpm -ta $(distdir).tar.gz)
569
570## We create xml2Conf.sh here and not from configure because we want
571## to get the paths expanded correctly.  Macros like srcdir are given
572## the value NONE in configure if the user doesn't specify them (this
573## is an autoconf feature, not a bug).
574
575CLEANFILES=xml2Conf.sh
576
577confexecdir=$(libdir)
578confexec_DATA = xml2Conf.sh
579EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml.spec \
580             libxml.m4 Copyright check-xml-test-suite.py \
581             example/Makefile.am example/gjobread.c example/gjobs.xml \
582	     $(man_MANS) libxml-2.0.pc.in \
583	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
584	     triop.h triodef.h libxml.h \
585	     testThreadsWin32.c
586
587pkgconfigdir = $(libdir)/pkgconfig
588pkgconfig_DATA = libxml-2.0.pc
589
590#
591# Instll the tests program sources as examples 
592#
593BASE_DIR=@HTML_DIR@
594DOC_MODULE=libxml2-$(VERSION)
595EXAMPLES_DIR=$(BASE_DIR)/$(DOC_MODULE)/examples
596
597install-data-local: 
598	$(mkinstalldirs) $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
599	-@INSTALL@ -m 0644 $(srcdir)/Copyright $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
600	$(mkinstalldirs) $(DESTDIR)$(EXAMPLES_DIR)
601	-@INSTALL@ -m 0644 $(srcdir)/xmllint.c $(DESTDIR)$(EXAMPLES_DIR)
602	-@INSTALL@ -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
603	-@INSTALL@ -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
604	-@INSTALL@ -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
605