## Process this file with automake to produce Makefile.in

xmlincdir = $(includedir)/libxml2/libxml

xmlinc_HEADERS = \
		SAX.h \
		entities.h \
		encoding.h \
		parser.h \
		parserInternals.h \
		xmlerror.h \
		HTMLparser.h \
		HTMLtree.h \
		debugXML.h \
		tree.h \
		list.h \
		hash.h \
		xpath.h \
		xpathInternals.h \
		xpointer.h \
		xinclude.h \
		xmlIO.h \
		xmlmemory.h \
		nanohttp.h \
		nanoftp.h \
		uri.h \
		valid.h \
		xlink.h \
		catalog.h \
		threads.h \
		globals.h \
		c14n.h \
		xmlautomata.h \
		xmlregexp.h \
		xmlmodule.h \
		xmlschemas.h \
		schemasInternals.h \
		xmlschemastypes.h \
		xmlstring.h \
		xmlunicode.h \
		xmlreader.h \
		relaxng.h \
		dict.h \
		SAX2.h \
		xmlexports.h \
		xmlwriter.h \
		chvalid.h \
		pattern.h \
		xmlsave.h \
		schematron.h

nodist_xmlinc_HEADERS = xmlversion.h

EXTRA_DIST = xmlversion.h.in
